This commit was manufactured by cvs2svn to create tag 'R1_0_0'.
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/.cvsignore b/bundles/org.eclipse.jst.ws.axis.consumption.core/.cvsignore
index 862f49c..8dab060 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 wsc-axis.jar
+@dot
+src.zip
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 3d09370..3b26f5b 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,12 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.consumption.core; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.jst.ws.internal.axis.consumption.core.plugin.WebServiceAxisConsumptionCorePlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.ws.axis.consumption.core,
+Export-Package: org.eclipse.jst.ws.internal.axis.consumption.core,
  org.eclipse.jst.ws.internal.axis.consumption.core.command,
- org.eclipse.jst.ws.internal.axis.consumption.core.common
+ org.eclipse.jst.ws.internal.axis.consumption.core.common,
+ org.eclipse.jst.ws.internal.axis.consumption.core.plugin
 Require-Bundle: org.apache.ant,
  org.eclipse.core.resources,
  org.eclipse.core.runtime,
@@ -16,4 +18,9 @@
  org.eclipse.jst.ws.consumption,
  org.eclipse.jst.j2ee.web,
  org.apache.axis,
- org.eclipse.wst.common.modulecore
+ org.eclipse.wst.common.modulecore,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.core.commands,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.command.env
+Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/axis/consumption/core/consumption.properties b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/axis/consumption/core/consumption.properties
deleted file mode 100644
index 0038ec5..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/axis/consumption/core/consumption.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# Messages for AxisDeployCommand
-#
-MSG_ERROR_PROJECT_URL_PARAM_NOT_SET=IWAB0054E Web project URL for deployment of Web service is not set in AxisDeployCommand
-MSG_ERROR_DEPLOY_FILE_PARAM_NOT_SET=IWAB0488E Location of Axis deployment file is not set in AxisDeployCommand
-MSG_ERROR_AXIS_DEPLOY=IWAB0489E Error when deploying Web service to Axis runtime
-MSG_AXIS_DEPLOY=Deploying Web service to Axis run-time environment
-MSG_AXIS_DEPLOY_OK=Web service successfuly deployed to Axis run-time environment
-
-TASK_LABEL_WSDL_JAVA_COMMAND=WSDL2JavaCommand
-TASK_DESC_WSDL_JAVA_COMMAND=Calls to AXIS WSDL2JavaCommand.
-#
-# Messages for Java2WSDLCommand
-#
-TASK_LABEL_JAVA_WSDL_COMMAND=Java2WSDLCommand
-TASK_DESC_JAVA_WSDL_COMMAND=Calls to AXIS Java2WSDLCommand.
-MSG_GENERATE_WSDL=Generating WSDL file: {0}
-MSG_ERROR_JAVA_WSDL_GENERATE=IWAB0398E Error in generating WSDL from Java
-
-#
-# Messages for WSDL2JavaCommand
-#
-TASK_LABEL_WSDL_JAVA_COMMAND=WSDL2JavaCommand
-TASK_DESC_WSDL_JAVA_COMMAND=Calls to AXIS WSDL2JavaCommand.
-MSG_PARSING_WSDL=Parsing WSDL file: {0}
-MSG_ERROR_WSDL_JAVA_GENERATE=IWAB0399E Error in generating Java from WSDL
-
-#
-# Messages common for all
-#
-MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET=IWAB0397E JavaWSDLParam not set
-
-#
-# Messages common for Java2WSDLCommand and  WSDL2JavaCommand
-#
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
new file mode 100644
index 0000000..0fba3eb
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCore.properties
@@ -0,0 +1,37 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Messages for AxisDeployCommand
+#
+MSG_ERROR_PROJECT_URL_PARAM_NOT_SET=IWAB0054E Web project URL for deployment of Web service is not set in AxisDeployCommand
+MSG_ERROR_DEPLOY_FILE_PARAM_NOT_SET=IWAB0488E Location of Axis deployment file is not set in AxisDeployCommand
+MSG_ERROR_AXIS_DEPLOY=IWAB0489E Error when deploying Web service to Axis runtime
+MSG_AXIS_DEPLOY=Deploying Web service to Axis run-time environment
+
+#
+# Messages for Java2WSDLCommand
+#
+MSG_GENERATE_WSDL=Generating WSDL file: {0}
+MSG_ERROR_JAVA_WSDL_GENERATE=IWAB0398E Error in generating WSDL from Java
+
+#
+# Messages for WSDL2JavaCommand
+#
+MSG_PARSING_WSDL=Parsing WSDL file: {0}
+MSG_ERROR_WSDL_JAVA_GENERATE=IWAB0399E Error in generating Java from WSDL
+MSG_ERROR_MOVE_RESOURCE=IWAB0523E Error moving resource: {0}
+MSG_ERROR_CREATE_TEMP_DIR=Error creating temporary directory
+
+#
+# Messages common for all
+#
+MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET=IWAB0397E JavaWSDLParam not set
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
new file mode 100644
index 0000000..c43b740
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCoreMessages.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.axis.consumption.core;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class AxisConsumptionCoreMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCore";//$NON-NLS-1$
+
+	private AxisConsumptionCoreMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_PROJECT_URL_PARAM_NOT_SET;
+	public static String MSG_ERROR_DEPLOY_FILE_PARAM_NOT_SET;
+	public static String MSG_ERROR_AXIS_DEPLOY;
+	public static String MSG_AXIS_DEPLOY;
+	public static String MSG_GENERATE_WSDL;
+	public static String MSG_ERROR_JAVA_WSDL_GENERATE;
+	public static String MSG_PARSING_WSDL;
+	public static String MSG_ERROR_WSDL_JAVA_GENERATE;
+	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;
+
+	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/command/AxisDeployCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/AxisDeployCommand.java
index d84134d..602f83d 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/AxisDeployCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/AxisDeployCommand.java
@@ -12,29 +12,31 @@
 
 
 import java.io.File;
-import java.util.ResourceBundle;
 
 import org.apache.axis.tools.ant.axis.AdminClientTask;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Target;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 /**
  * Commands are executable, undoable, redoable objects. Every Command has a name and a description.
  */
 
-public class AxisDeployCommand extends SimpleCommand
+public class AxisDeployCommand extends AbstractDataModelOperation
 {
   protected static final String SERVICE_EXT = "/services/AdminService"; //$NON-NLS-1$
 
   private JavaWSDLParameter javaWSDLParam;
-  private ResourceBundle resource = ResourceBundle.getBundle("org.eclipse.jst.ws.axis.consumption.core.consumption"); //$NON-NLS-1$
-
+  
   /**
    * Constructor for AxisDeployCommand.
    * @param String description
@@ -43,32 +45,29 @@
    */
   public AxisDeployCommand()
   {
-    super("org.eclipse.jst.ws.internal.axis.consumption.core.command.AxisDeployCommand", "org.eclipse.jst.ws.internal.axis.consumption.core.command.AxisDeployCommand");
   }
 
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment environment = getEnvironment();
     if (javaWSDLParam == null)
-    {
-      return new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
+    {     
+      return StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
     }
 
     if (javaWSDLParam.getProjectURL() == null || javaWSDLParam.getProjectURL().equals(""))
     { //$NON-NLS-1$
-      return new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_PROJECT_URL_PARAM_NOT_SET"), Status.ERROR);
+      return StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_PROJECT_URL_PARAM_NOT_SET);
     }
 
     if (javaWSDLParam.getDeploymentFiles() == null || javaWSDLParam.getDeploymentFiles().length == 0)
     {
-      return new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_DEPLOY_FILE_PARAM_NOT_SET"), Status.ERROR);
+      return StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_DEPLOY_FILE_PARAM_NOT_SET);
     }
 
-    environment.getProgressMonitor().report(getMessage("MSG_AXIS_DEPLOY"));
+    ProgressUtils.report(monitor, AxisConsumptionCoreMessages.MSG_AXIS_DEPLOY);
 
-    Status status = executeAntTask();
+    IStatus status = executeAntTask();
     if (status.getSeverity() == Status.ERROR)
     {
     	environment.getStatusHandler().reportError(status);
@@ -77,17 +76,17 @@
     return status;
   }
 
-  protected Status executeAntTask()
+  protected IStatus executeAntTask()
   {
     final class DeployTask extends AdminClientTask
     {
       public DeployTask()
       {
-        project = new Project();
-        project.init();
-        taskType = "axis"; //$NON-NLS-1$
-        taskName = "axis-admin"; //$NON-NLS-1$
-        target = new Target();
+		super.setProject(new Project());
+		super.getProject().init();
+		super.setTaskType("axis"); //$NON-NLS-1$
+		super.setTaskName("axis-admin"); //$NON-NLS-1$
+		super.setOwningTarget(new Target());
       }
     }
 
@@ -138,24 +137,11 @@
         message = e.getCause().toString();
       }
       
-      Status[] childStatus = new Status[1];
-      childStatus[0] = new SimpleStatus("AxisDeployCommand", message, Status.ERROR);
-      return new SimpleStatus("AxisDeployCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_AXIS_DEPLOY"), childStatus);
+      IStatus[] childStatus = new Status[1];
+      childStatus[0] = StatusUtils.errorStatus( message);
+      return StatusUtils.multiStatus(AxisConsumptionCoreMessages.MSG_ERROR_AXIS_DEPLOY, childStatus);
     }
-    return new SimpleStatus("AxisDeployCommand", //$NON-NLS-1$
-    getMessage("MSG_AXIS_DEPLOY_OK"), Status.OK);
-
-  }
-
-  /**
-   * Returns the message string identified by the given key from plugin.properties.
-   * 
-   * @return The String message.
-   */
-  public String getMessage(String key)
-  {
-    return resource.getString(key);
+    return Status.OK_STATUS; 
   }
 
   /**
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/GeronimoAxisDeployCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/GeronimoAxisDeployCommand.java
index 99e4238..55abee2 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/GeronimoAxisDeployCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/GeronimoAxisDeployCommand.java
@@ -14,7 +14,6 @@
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.InputStream;
-import java.util.ResourceBundle;
 
 import org.apache.axis.AxisEngine;
 import org.apache.axis.server.AxisServer;
@@ -26,72 +25,67 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
  * Commands are executable, undoable, redoable objects. Every Command has a name and a description.
  */
 
-public class GeronimoAxisDeployCommand extends SimpleCommand
+public class GeronimoAxisDeployCommand extends AbstractDataModelOperation
 {
 
   private JavaWSDLParameter javaWSDLParam;
-  private ResourceBundle resource = ResourceBundle.getBundle("org.eclipse.jst.ws.axis.consumption.core.consumption"); //$NON-NLS-1$
 
   private String projectName_;
-  private String componentName_;
-  
   private static final String AXIS_SERVER_CONFIG_FILE = "axis.ServerConfigFile";
   
   IFolder outputRoot;
   
   /**
    * Constructor for GeronimoAxisDeployCommand.
-   * @param String projectName
-   * @param String componentName
+ * @param String projectName
    * 
    */
-  public GeronimoAxisDeployCommand(String projectName, String componentName)
+  public GeronimoAxisDeployCommand(String projectName)
   {
-    super("org.eclipse.jst.ws.internal.axis.consumption.core.command.GeronimoAxisDeployCommand", "org.eclipse.jst.ws.internal.axis.consumption.core.command.GeronimoAxisDeployCommand");
-    this.projectName_ = projectName;
-    this.componentName_ = componentName;
   }
   
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    
+	IEnvironment environment = getEnvironment();
     if (javaWSDLParam == null)
     {
-      return new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
+      return StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
     }
 
     if (javaWSDLParam.getProjectURL() == null || javaWSDLParam.getProjectURL().equals(""))
     { //$NON-NLS-1$
-      return new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_PROJECT_URL_PARAM_NOT_SET"), Status.ERROR);
+      return StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_PROJECT_URL_PARAM_NOT_SET);
     }
 
     if (javaWSDLParam.getDeploymentFiles() == null || javaWSDLParam.getDeploymentFiles().length == 0)
     {
-      return new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_DEPLOY_FILE_PARAM_NOT_SET"), Status.ERROR);
+      return StatusUtils.errorStatus(
+      AxisConsumptionCoreMessages.MSG_ERROR_DEPLOY_FILE_PARAM_NOT_SET);
     }
 
-    environment.getProgressMonitor().report(getMessage("MSG_AXIS_DEPLOY"));
+    ProgressUtils.report(monitor, AxisConsumptionCoreMessages.MSG_AXIS_DEPLOY);
 
-    Status status = executeAdminTask();
+    IStatus status = executeAdminTask();
     if (status.getSeverity() == Status.ERROR)
     {
         environment.getStatusHandler().reportError(status);
@@ -105,17 +99,17 @@
     return status;
   }
   
-  protected Status executeAntTask()
+  protected IStatus executeAntTask()
   {
     final class DeployTask extends AdminClientTask
     {
       public DeployTask()
       {
-        project = new Project();
-        project.init();
-        taskType = "axis"; //$NON-NLS-1$
-        taskName = "axis-admin"; //$NON-NLS-1$
-        target = new Target();
+        super.setProject(new Project());
+		super.getProject().init();
+		super.setTaskType("axis"); //$NON-NLS-1$
+		super.setTaskName("axis-admin"); //$NON-NLS-1$
+		super.setOwningTarget(new Target());
       }
     }
 
@@ -166,22 +160,20 @@
         message = e.getCause().toString();
       }
       
-      Status[] childStatus = new Status[1];
-      childStatus[0] = new SimpleStatus("AxisDeployCommand", message, Status.ERROR);
-      return new SimpleStatus("AxisDeployCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_AXIS_DEPLOY"), childStatus);
+      IStatus[] childStatus = new Status[1];
+      childStatus[0] = StatusUtils.errorStatus( message);
+      return StatusUtils.multiStatus(AxisConsumptionCoreMessages.MSG_ERROR_AXIS_DEPLOY, childStatus);
     }
-    return new SimpleStatus("AxisDeployCommand", //$NON-NLS-1$
-    getMessage("MSG_AXIS_DEPLOY_OK"), Status.OK);
+    return Status.OK_STATUS; 
 
   }
   
-  protected Status executeAdminTask(){
+  protected IStatus executeAdminTask(){
     
-    Status status = new SimpleStatus("");
+    IStatus status = Status.OK_STATUS;
     // check if server-config.wsdd exists
-    IVirtualComponent component = J2EEUtils.getVirtualComponent( projectName_, componentName_ );
-    outputRoot = StructureEdit.getOutputContainerRoot( component );
+    IVirtualComponent component = J2EEUtils.getVirtualComponent( projectName_ );
+    outputRoot = J2EEUtils.getOutputContainerRoot( component );
     IPath path = new Path( "WEB-INF" ).append( "server-config.wsdd" );    
     IFile descriptorFile = outputRoot.getFile( path );
     
@@ -233,10 +225,9 @@
         message = e.getCause().toString();
       }
       
-      Status[] childStatus = new Status[1];
-      childStatus[0] = new SimpleStatus("AxisDeployCommand", message, Status.ERROR);
-      return new SimpleStatus("AxisDeployCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_AXIS_DEPLOY"), childStatus);
+      IStatus[] childStatus = new Status[1];
+      childStatus[0] = StatusUtils.errorStatus( message);
+      return StatusUtils.multiStatus(AxisConsumptionCoreMessages.MSG_ERROR_AXIS_DEPLOY, childStatus);
     }
     
     return status;
@@ -246,7 +237,7 @@
    * Creates the initial server-config.wsdd file from a template in Axis
    * @return
    */
-  private Status createServerConfigFile(){
+  private IStatus createServerConfigFile(){
     try{
 
       // server-config.wsdd file
@@ -260,7 +251,7 @@
       ResourceUtils.copyStream(is, fos);
       fos.close();
       
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
     }
     catch(Exception e){
       e.printStackTrace();
@@ -269,22 +260,12 @@
       {
         message = e.getCause().toString();
       }
-      
-      Status[] childStatus = new Status[1];
-      childStatus[0] = new SimpleStatus("AxisDeployCommand", message, Status.ERROR);
-      return new SimpleStatus("AxisDeployCommand", //$NON-NLS-1$
-      getMessage("MSG_ERROR_AXIS_DEPLOY"), childStatus);      
-    }
-  }
 
-  /**
-   * Returns the message string identified by the given key from plugin.properties.
-   * 
-   * @return The String message.
-   */
-  public String getMessage(String key)
-  {
-    return resource.getString(key);
+      IStatus[] childStatus = new Status[1];
+      childStatus[0] = StatusUtils.errorStatus( message);
+      return StatusUtils.multiStatus(AxisConsumptionCoreMessages.MSG_ERROR_AXIS_DEPLOY, childStatus);
+
+    }
   }
 
   /**
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/Java2WSDLCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/Java2WSDLCommand.java
index cdf8cf5..135917d 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/Java2WSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/Java2WSDLCommand.java
@@ -12,117 +12,136 @@
 
 
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
 import java.net.MalformedURLException;
-import java.text.MessageFormat;
 import java.util.HashMap;
 import java.util.Iterator;
-import java.util.ResourceBundle;
 
 import org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask;
 import org.apache.axis.tools.ant.wsdl.NamespaceMapping;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Target;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
+import org.eclipse.jst.ws.internal.axis.consumption.core.plugin.WebServiceAxisConsumptionCorePlugin;
+import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
  * Commands are executable, undoable, redoable objects.
  * Every Command has a name and a description.
  */
 
-public class Java2WSDLCommand extends SimpleCommand {
+public class Java2WSDLCommand extends AbstractDataModelOperation
+{
 
 	private JavaWSDLParameter javaWSDLParam_;
-	private ResourceBundle resource = ResourceBundle.getBundle("org.eclipse.jst.ws.axis.consumption.core.consumption"); //$NON-NLS-1$
-	
-	private String LABEL = "TASK_LABEL_JAVA_WSDL_COMMAND";
-	private String DESCRIPTION = "TASK_DESC_JAVA_WSDL_COMMAND";
+	private File tempOutputWsdlFile;
+	private final String TEMP = "temp"; //$NON-NLS-1$
+	private final String WSDL_EXT = ".wsdl"; //$NON-NLS-1$
 
 	public Java2WSDLCommand() {
-		super();
-	    setName (getMessage(LABEL));
-		setDescription(getMessage(DESCRIPTION));
 	}	
 	/**
 	 * Constructor for Java2WSDLCommand.
 	 */
 	public Java2WSDLCommand(JavaWSDLParameter javaWSDLParam) {
 		super();
-	    setName (getMessage(LABEL));
-		setDescription(getMessage(DESCRIPTION));
 		this.javaWSDLParam_ = javaWSDLParam;
 	}
 
-	public Status execute(Environment environment) {
-		Status status;
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
+		IStatus status;
 		if (javaWSDLParam_ == null) {
-			status = new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-			getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
+			status = StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
 			environment.getStatusHandler().reportError(status);
 			return status;
 		}
 
 		if (javaWSDLParam_.getBeanName() == null) {
-			status = new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-			getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
+			status = StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
 			environment.getStatusHandler().reportError(status);
 			return status;
 		}
 
-		environment.getProgressMonitor().report(
-			getMessage("MSG_GENERATE_WSDL", javaWSDLParam_.getBeanName() ) );
+		ProgressUtils.report(monitor, NLS.bind(AxisConsumptionCoreMessages.MSG_GENERATE_WSDL, javaWSDLParam_.getBeanName() ));
 
-		return executeAntTask(environment);
+		return executeAntTask(environment, monitor);
 	}
 
-	protected Status executeAntTask(Environment environment) {
+	protected IStatus executeAntTask(IEnvironment environment, IProgressMonitor monitor) {
 
 		final class Emitter extends Java2WsdlAntTask {
 			public Emitter() {
-				project = new Project();
-				project.init();
-				taskType = "axis"; //$NON-NLS-1$
-				taskName = "axis-java2wsdl"; //$NON-NLS-1$
-				target = new Target();
+				super.setProject(new Project());
+				super.getProject().init();
+				super.setTaskType("axis"); //$NON-NLS-1$
+				super.setTaskName("axis-java2wsdl"); //$NON-NLS-1$
+				super.setOwningTarget(new Target());
 			}
 		}
 
+		IStatus status = Status.OK_STATUS;
 		Emitter emitter = new Emitter();
 		emitter.createClasspath().setPath(javaWSDLParam_.getClasspath());
-		environment.getLog().log(Log.INFO, 5008, this, "executeAntTask", "Class Path = "+ javaWSDLParam_.getClasspath());
+		environment.getLog().log(ILog.INFO, 5008, this, "executeAntTask", "Class Path = "+ javaWSDLParam_.getClasspath());
 		
 		emitter.setPortTypeName(javaWSDLParam_.getPortTypeName());
-		environment.getLog().log(Log.INFO, 5009, this, "executeAntTask", "Port Type Name = "+ javaWSDLParam_.getPortTypeName());
+		environment.getLog().log(ILog.INFO, 5009, this, "executeAntTask", "Port Type Name = "+ javaWSDLParam_.getPortTypeName());
 		
 		emitter.setServiceElementName(javaWSDLParam_.getServiceName());
-		environment.getLog().log(Log.INFO, 5010, this, "executeAntTask", "Service Name = "+ javaWSDLParam_.getServiceName());
+		environment.getLog().log(ILog.INFO, 5010, this, "executeAntTask", "Service Name = "+ javaWSDLParam_.getServiceName());
 		
 		emitter.setLocation(javaWSDLParam_.getUrlLocation());
-		environment.getLog().log(Log.INFO, 5011, this, "executeAntTask", "URL Location = "+ javaWSDLParam_.getUrlLocation());
+		environment.getLog().log(ILog.INFO, 5011, this, "executeAntTask", "URL Location = "+ javaWSDLParam_.getUrlLocation());
 		
 		emitter.setMethods(javaWSDLParam_.getMethodString());
-		environment.getLog().log(Log.INFO, 5012, this, "executeAntTask", "Methods = "+ javaWSDLParam_.getMethodString());
+		environment.getLog().log(ILog.INFO, 5012, this, "executeAntTask", "Methods = "+ javaWSDLParam_.getMethodString());
 		
 		emitter.setStyle(javaWSDLParam_.getStyle());
-		environment.getLog().log(Log.INFO, 5013, this, "executeAntTask", "Style = "+ javaWSDLParam_.getStyle());
+		environment.getLog().log(ILog.INFO, 5013, this, "executeAntTask", "Style = "+ javaWSDLParam_.getStyle());
 		
 		emitter.setUse(javaWSDLParam_.getUse());
-		environment.getLog().log(Log.INFO, 5014, this, "executeAntTask", "Use = "+ javaWSDLParam_.getUse());
+		environment.getLog().log(ILog.INFO, 5014, this, "executeAntTask", "Use = "+ javaWSDLParam_.getUse());
+				
+		// create temporary directory to use as output directory for java2wsdl
+		IPath pluginStateLoc = WebServiceAxisConsumptionCorePlugin.getInstance().getStateLocation();
+		File tempDir = new File(pluginStateLoc.toString());
+		File newTempFile = null;
+		try {
+			newTempFile = File.createTempFile(TEMP, WSDL_EXT, tempDir);
+			tempOutputWsdlFile = newTempFile;
+		} catch (Exception e) {
+			tempOutputWsdlFile = new File (pluginStateLoc.append(TEMP+WSDL_EXT).toString());
+		}
+
+		emitter.setOutput(tempOutputWsdlFile);
 		
-		emitter.setOutput(new File(javaWSDLParam_.getOutputWsdlLocation()));
-		environment.getLog().log(Log.INFO, 5015, this, "executeAntTask", "WSDL Location = "+ javaWSDLParam_.getOutputWsdlLocation());
+		environment.getLog().log(ILog.INFO, 5015, this, "executeAntTask", "WSDL Location = "+ javaWSDLParam_.getOutputWsdlLocation());
 		
 		emitter.setNamespace(javaWSDLParam_.getNamespace());
-		environment.getLog().log(Log.INFO, 5016, this, "executeAntTask", "Name Space = "+ javaWSDLParam_.getNamespace());
+		environment.getLog().log(ILog.INFO, 5016, this, "executeAntTask", "Name Space = "+ javaWSDLParam_.getNamespace());
 		
 		emitter.setClassName(javaWSDLParam_.getBeanName());
-		environment.getLog().log(Log.INFO, 5017, this, "executeAntTask", "Bean name = "+ javaWSDLParam_.getBeanName());
+		environment.getLog().log(ILog.INFO, 5017, this, "executeAntTask", "Bean name = "+ javaWSDLParam_.getBeanName());
 		
 		emitter.setImplClass(javaWSDLParam_.getBeanName());
 		
@@ -142,23 +161,60 @@
 	
 		try {
 			emitter.execute();
+			status = moveGeneratedWSDL(environment, monitor);
 		} catch (BuildException e) {
-			environment.getLog().log(Log.ERROR, 5018, this, "executeAntTask", e);
-			Status status = new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-			getMessage("MSG_ERROR_JAVA_WSDL_GENERATE") + " " //$NON-NLS-1$
-			+e.getCause().toString(), Status.ERROR);
+			environment.getLog().log(ILog.ERROR, 5018, this, "executeAntTask", e);
+			status = StatusUtils.errorStatus(
+			AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_GENERATE + " " //$NON-NLS-1$
+			+e.getCause().toString());
 			environment.getStatusHandler().reportError(status);
 			return status;
+	} finally {
+		if (tempOutputWsdlFile.exists()) {
+			tempOutputWsdlFile.delete();
 		}
-		return new SimpleStatus( "" );
+	}
+		return status;
 
 	}
 	
-	public Status undo(Environment environment) {
+	public IStatus moveGeneratedWSDL(IEnvironment environment,
+			IProgressMonitor monitor) {
+		IStatus status = Status.OK_STATUS;
+		FileInputStream finStream = null;
+		
+		ResourceContext context = WebServicePlugin.getInstance().getResourceContext();
+		IStatusHandler statusHandler = environment.getStatusHandler();
+		
+		String outputWsdlLocation = javaWSDLParam_.getOutputWsdlLocation();
+		IPath targetPath = FileResourceUtils
+		.getWorkspaceRootRelativePath(new Path(outputWsdlLocation));
+		try {
+			finStream = new FileInputStream(tempOutputWsdlFile);
+			if (finStream != null) {
+				FileResourceUtils.createFile(context, targetPath.makeAbsolute(), finStream,
+						monitor, statusHandler);
+				finStream.close();
+			}
+		} catch (Exception e) {
+			status = StatusUtils.errorStatus(NLS.bind(AxisConsumptionCoreMessages.MSG_ERROR_MOVE_RESOURCE,new String[]{e.getLocalizedMessage()}), e);
+			environment.getStatusHandler().reportError(status);
+		} finally {
+			try {
+				if (finStream != null) {
+					finStream.close();
+				}
+			} catch (IOException e) {
+			}
+		}
+		return status;
+	}
+	
+	public Status undo(IEnvironment environment) {
 		return null;
 	}
 
-	public Status redo(Environment environment) {
+	public Status redo(IEnvironment environment) {
 		return null;
 	}
 
@@ -170,20 +226,6 @@
 		return javaWSDLParam_;
 	}
 
-	private String getMessage(String messageId, String parm1) {
-		String message = resource.getString(messageId);
-		return MessageFormat.format(message, new String[] { parm1 });
-	}
-
-	/**
-	* Returns the message string identified by the given key from
-	* plugin.properties.
-	* @return The String message.
-	*/
-	public String getMessage(String key) {
-		return resource.getString(key);
-	}
-
 	public void setJavaWSDLParam(JavaWSDLParameter javaWSDLParm) {
 		this.javaWSDLParam_ = javaWSDLParm;
 	}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/WSDL2JavaCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/WSDL2JavaCommand.java
index a7b7abd..6a74608 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/WSDL2JavaCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/command/WSDL2JavaCommand.java
@@ -10,51 +10,65 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.consumption.core.command;
 
-import java.text.MessageFormat;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.ResourceBundle;
 
 import org.apache.axis.wsdl.toJava.Emitter;
 import org.apache.axis.wsdl.toJava.GeneratedFileInfo;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.plugin.WebServiceAxisConsumptionCorePlugin;
+import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class WSDL2JavaCommand extends SimpleCommand {
+public class WSDL2JavaCommand extends AbstractDataModelOperation {
 
 	private final String DEPLOY_TYPE = "deploy"; //$NON-NLS-1$
 	private final String UNDEPLOY_TYPE = "undeploy"; //$NON-NLS-1$
+	private final String TEMP = "temp"; //$NON-NLS-1$
 	private JavaWSDLParameter javaWSDLParam;
 	private String wsdlURI;
 	private String httpBasicAuthUsername;
 	private String httpBasicAuthPassword;
-	private ResourceBundle resource = ResourceBundle.getBundle("org.eclipse.jst.ws.axis.consumption.core.consumption"); //$NON-NLS-1$
-	private String LABEL = "TASK_LABEL_WSDL_JAVA_COMMAND";
-	private String DESCRIPTION = "TASK_DESC_WSDL_JAVA_COMMAND";
-	
+	private List deployFiles;
+	private List javaFiles;
+	private File tempOutputFile;
 
 	public WSDL2JavaCommand() {
-		super();
-		setName(getMessage(LABEL));
-		setDescription(getMessage(DESCRIPTION));
 	}
 
-	public Status execute(Environment environment) {
-		Status status;
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+	{
+		IEnvironment environment = getEnvironment();
+		IStatus status;
 		if (javaWSDLParam == null) {
-			status = new SimpleStatus("WSDL2JavaCommand", //$NON-NLS-1$
-					getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
+			status = StatusUtils.errorStatus(
+					AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
 			environment.getStatusHandler().reportError(status);
 			return status;
 		}
-
+		
 		if (wsdlURI != null) //bottom up case has already has the correct WSDL on javaWSDLParam
 		{
 			javaWSDLParam.setInputWsdlLocation(wsdlURI);
@@ -73,74 +87,235 @@
 		if (serverSide) {
 			wsdl2Java.setSkeletonWanted(javaWSDLParam.isSkeletonDeploy());
 		}
-		if (javaWSDLParam.isMetaInfOnly()) {
-			// for the case Java2WSDL-WSDL2Java
-			wsdl2Java.setOutputDir(removeFileProtocol(javaWSDLParam.getOutput()));
-			HashMap pck2nsMap = javaWSDLParam.getMappings();
-			if (pck2nsMap != null) {
-				HashMap ns2pckMap = new HashMap();
-				Iterator keys = pck2nsMap.keySet().iterator();
-				while (keys.hasNext()) {
-					String pakage = (String) keys.next();
-					String namespace = (String) pck2nsMap.get(pakage);
-					ns2pckMap.put(namespace, pakage);
-				}
-				wsdl2Java.setNamespaceMap(ns2pckMap);
-			}
-		} else {
-			//  for the case WSDL2Java
-			wsdl2Java.setOutputDir(removeFileProtocol(javaWSDLParam.getJavaOutput()));
-			if (javaWSDLParam.getMappings() != null) {
-				wsdl2Java.setNamespaceMap(javaWSDLParam.getMappings());
-			}
-		}
-		environment.getLog().log(Log.INFO, 5019, this, "execute", "Java output = " + javaWSDLParam.getJavaOutput());
-		if (javaWSDLParam.getHTTPPassword() != null) {
-			wsdl2Java.setPassword(javaWSDLParam.getHTTPPassword());
-			environment.getLog().log(Log.INFO, 5081, this, "execute", "password: " + javaWSDLParam.getHTTPPassword());
-		}
-		if (javaWSDLParam.getHTTPUsername() != null) {
-			wsdl2Java.setUsername(javaWSDLParam.getHTTPUsername());
-			environment.getLog().log(Log.INFO, 5082, this, "execute", "username: " + javaWSDLParam.getHTTPUsername());
-		}
-		environment.getLog().log(Log.INFO, 5020, this, "execute", "WSDL Location = " + javaWSDLParam.getInputWsdlLocation());
-		environment.getProgressMonitor().report(getMessage("MSG_PARSING_WSDL", javaWSDLParam.getInputWsdlLocation() ) );
+		
+		// create temporary directory to use as output directory for wsdl2java
+		tempOutputFile = createTempDir();
+		wsdl2Java.setOutputDir(tempOutputFile.toString());
+		
 		try {
+			if (javaWSDLParam.isMetaInfOnly()) {
+				// for the case Java2WSDL-WSDL2Java
+				HashMap pck2nsMap = javaWSDLParam.getMappings();
+				if (pck2nsMap != null) {
+					HashMap ns2pckMap = new HashMap();
+					Iterator keys = pck2nsMap.keySet().iterator();
+					while (keys.hasNext()) {
+						String pakage = (String) keys.next();
+						String namespace = (String) pck2nsMap.get(pakage);
+						ns2pckMap.put(namespace, pakage);
+					}
+					wsdl2Java.setNamespaceMap(ns2pckMap);
+				}
+			} else {
+				//  for the case WSDL2Java			
+				if (javaWSDLParam.getMappings() != null) {
+					wsdl2Java.setNamespaceMap(javaWSDLParam.getMappings());
+				}
+			}
+			environment.getLog().log(ILog.INFO, 5019, this, "execute", "Java output = " + javaWSDLParam.getJavaOutput());
+			if (javaWSDLParam.getHTTPPassword() != null) {
+				wsdl2Java.setPassword(javaWSDLParam.getHTTPPassword());
+				environment.getLog().log(ILog.INFO, 5081, this, "execute", "password: " + javaWSDLParam.getHTTPPassword());
+			}
+			if (javaWSDLParam.getHTTPUsername() != null) {
+				wsdl2Java.setUsername(javaWSDLParam.getHTTPUsername());
+				environment.getLog().log(ILog.INFO, 5082, this, "execute", "username: " + javaWSDLParam.getHTTPUsername());
+			}
+			environment.getLog().log(ILog.INFO, 5020, this, "execute", "WSDL Location = " + javaWSDLParam.getInputWsdlLocation());
+			
+			// If timeout is not set, the default timeout for wsdl2java is 45 seconds.  
+			// The user can change the timeout value by setting 
+			// "-DAxisWsdl2JavaTimeout=<timeout_value_in_milliseconds>" as VM argument
+			// when starting the Eclipse workbench.
+			//
+			// For example, enter the following command to start the Eclipse workbench 
+			// in order to set the Axis WSDL to Java emitter timeout to 60 seconds:
+			//
+			// 		eclipse -vmargs "-DAxisWsdl2JavaTimeout=60000"
+			//
+			
+			String wsdl2JavaTimeoutProperty = System.getProperty("AxisWsdl2JavaTimeout");
+			if (wsdl2JavaTimeoutProperty != null) {
+				long timeout;
+				timeout = new Integer(wsdl2JavaTimeoutProperty).longValue();
+				wsdl2Java.setTimeout(timeout);
+				environment.getLog().log(ILog.INFO, 5091, this, "execute", "Timeout = " + timeout);
+			}
+			
+			ProgressUtils.report(monitor, NLS.bind(AxisConsumptionCoreMessages.MSG_PARSING_WSDL, javaWSDLParam.getInputWsdlLocation() ) );
+			
+
+			
 			wsdl2Java.run(javaWSDLParam.getInputWsdlLocation());
+			
+			javaFiles = wsdl2Java.getGeneratedFileNames();
+			
+			deployFiles = new ArrayList();
 			if (serverSide) {
 				// set deployment files
 				List deploymentFiles1 = wsdl2Java.getGeneratedFileInfo().findType(DEPLOY_TYPE);
 				List deploymentFiles2 = wsdl2Java.getGeneratedFileInfo().findType(UNDEPLOY_TYPE);
-				ArrayList deplFiles = new ArrayList();
 				if (deploymentFiles1 != null && deploymentFiles2 != null) {
 					deploymentFiles1.addAll(deploymentFiles2);
 					for (int i = 0; i < deploymentFiles1.size(); i++) {
 						GeneratedFileInfo.Entry entry = (GeneratedFileInfo.Entry) deploymentFiles1.get(i);
-						deplFiles.add(entry.fileName);
+						deployFiles.add(entry.fileName);
 					}
-					String[] deplFilesArray = new String[deplFiles.size()];
-					deplFiles.toArray(deplFilesArray);
-					javaWSDLParam.setDeploymentFiles(deplFilesArray);
-				}
-				// set java files
-				List javaFiles = wsdl2Java.getGeneratedFileNames();
-				javaFiles.removeAll(deplFiles);
-				String[] javaFileNames = new String[javaFiles.size()];
-				javaFiles.toArray(javaFileNames);
-				javaWSDLParam.setJavaFiles(javaFileNames);
+				}	
+				javaFiles.removeAll(deployFiles);
 			}
 			
+			status = moveGeneratedFiles(environment, monitor);
+			
 		} catch (Exception e) {
-			environment.getLog().log(Log.ERROR, 5021, this, "execute", e);
-			status = new SimpleStatus("Java2WSDLCommand", //$NON-NLS-1$
-					getMessage("MSG_ERROR_WSDL_JAVA_GENERATE") + " " //$NON-NLS-1$
-							+ e.toString(), Status.ERROR);
+			environment.getLog().log(ILog.ERROR, 5021, this, "execute", e);
+			status = StatusUtils.errorStatus(
+					AxisConsumptionCoreMessages.MSG_ERROR_WSDL_JAVA_GENERATE + " " //$NON-NLS-1$
+					+ e.toString());
 			environment.getStatusHandler().reportError(status);
-			return status;
+		} finally {
+			deleteDir(tempOutputFile); 			
 		}
-		return new SimpleStatus("");
+		return status;	
+	}
+	  
+	public IStatus moveGeneratedFiles( IEnvironment environment, IProgressMonitor monitor ) 
+	{
+		IStatus status = Status.OK_STATUS;
+		
+		FileInputStream finStream = null;
+		
+		try {
+			String outputDir, javaOutput;
+			outputDir = removeFileProtocol(javaWSDLParam.getOutput());
+			javaOutput = removeFileProtocol(javaWSDLParam.getJavaOutput());
+			ResourceContext context = WebServicePlugin.getInstance().getResourceContext();				
+			
+			IPath outputPath = new Path (outputDir);
+			outputPath = FileResourceUtils.getWorkspaceRootRelativePath(outputPath);
+			
+			String fileName;
+			IPath targetPath=null;
+			IStatusHandler statusHandler = environment.getStatusHandler();
+			String deployFile;
+			Iterator iterator;
+			
+			String tempOutputDir = tempOutputFile.toString();
+			String [] movedDeployFiles = new String [deployFiles.size()];
+			iterator = deployFiles.iterator();
+			int i = 0;
+			while (iterator.hasNext()) {
+				deployFile = (String) iterator.next();
+				File source = new File(deployFile);
+				finStream = new FileInputStream(source);
+				if (finStream != null) {
+					if (deployFile.startsWith(tempOutputDir)) {
+						fileName = deployFile.substring(tempOutputDir.length());
+						targetPath = outputPath.append(fileName).makeAbsolute();
+						FileResourceUtils.createFile(context,  
+								targetPath,
+								finStream,
+								monitor,
+								statusHandler);
+						movedDeployFiles[i++]= ResourceUtils.findResource(targetPath).getLocation().toString();
+					}
+					finStream.close();
+				}
+			}
+			
+			javaWSDLParam.setDeploymentFiles(movedDeployFiles);
+			
+			IPath javaOutputPath = new Path (javaOutput);
+			javaOutputPath = FileResourceUtils.getWorkspaceRootRelativePath(javaOutputPath);
+			
+			String javaFile;
+			String fullClassName = null;
+			String [] movedJavaFiles =  new String [javaFiles.size()];
+			iterator = javaFiles.iterator();
+			i = 0;
+			while (iterator.hasNext()) {
+				javaFile = (String) iterator.next();
+				File source = new File(javaFile);
+				finStream = new FileInputStream(source);
+				if (finStream != null) {
+					// for the case Java2WSDL-WSDL2Java, no need to move Java files, just delete them
+					if (!javaWSDLParam.isMetaInfOnly()) {
+						// for the case WSDL2Java, move Java files to Java output directory
+						if (javaFile.startsWith(tempOutputDir)) {
+							fullClassName = javaFile.substring(tempOutputDir.length());
+							targetPath = javaOutputPath.append(fullClassName).makeAbsolute();
+							FileResourceUtils.createFile(context,  
+									targetPath,
+									finStream,
+									monitor,
+									statusHandler);
+							movedJavaFiles[i++]= ResourceUtils.findResource(targetPath).getLocation().toString();
+						}
+					}
+					
+					finStream.close();
+				}
+			}
+			javaWSDLParam.setJavaFiles(movedJavaFiles);
+			
+		} catch (Exception e) {
+			status = StatusUtils.errorStatus(NLS.bind(AxisConsumptionCoreMessages.MSG_ERROR_MOVE_RESOURCE,new String[]{e.getLocalizedMessage()}), e);
+			environment.getStatusHandler().reportError(status);
+			
+		} finally {
+			if (finStream != null) {
+				try {
+					finStream.close();
+				} catch (IOException e) {
+				}
+			}			
+		}
+		
+		return status;
 	}
 
+	/**
+	 * Deletes all files and subdirectories under dir. 
+	 * Just ignore and keep going if delete is not successful
+	 * 
+	 * @param dir directory to delete
+	 */
+	public void deleteDir(File dir) {
+		if (dir.isDirectory()) {
+			String[] children = dir.list();
+			for (int i = 0; i < children.length; i++) {
+				deleteDir(new File(dir, children[i]));
+			}
+		}
+		// The directory is now empty so delete it
+		dir.delete();
+	}
+	
+	/**
+	 * Creates a temporary directory under the plugin's state location (i.e.
+	 * .metadata/.plugin directory)
+	 * 
+	 * @return File
+	 */
+	private File createTempDir() {
+		String pluginTempDir = WebServiceAxisConsumptionCorePlugin
+		.getInstance().getStateLocation().toString();
+		File tempDir = new File(pluginTempDir);
+		File newTempDir = null;
+		try {
+			newTempDir = File.createTempFile(TEMP, "", tempDir);
+			// delete the temp file and create a temp directory instead
+			if (newTempDir.delete()) {
+				if (newTempDir.mkdir()) {
+					tempDir = newTempDir;
+				}
+			}
+			return tempDir;
+		} catch (Exception e) {
+			return tempDir;
+		}
+	}
+		
 	/*
 	 * Hack: Axis doesn't like file URLs
 	 */
@@ -161,29 +336,14 @@
 		return s;
 	}
 
-	public Status undo(Environment environment) {
+	public Status undo(IEnvironment environment) {
 		return null;
 	}
 
-	public Status redo(Environment environment) {
+	public Status redo(IEnvironment environment) {
 		return null;
 	}
 
-	private String getMessage(String messageId, String parm1) {
-		String message = resource.getString(messageId);
-		return MessageFormat.format(message, new String[]{parm1});
-	}
-
-	/**
-	 * Returns the message string identified by the given key from
-	 * plugin.properties.
-	 * 
-	 * @return The String message.
-	 */
-	public String getMessage(String key) {
-		return resource.getString(key);
-	}
-
 	public void setJavaWSDLParam(JavaWSDLParameter javaWSDLParam) {
 		this.javaWSDLParam = javaWSDLParam;
 	}
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
new file mode 100644
index 0000000..8e7e98f
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParamModifier.java
@@ -0,0 +1,80 @@
+package org.eclipse.jst.ws.internal.axis.consumption.core.common;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.command.internal.env.core.data.BeanModifier;
+
+public class JavaWSDLParamModifier implements BeanModifier {
+
+	public void modify(Object bean, Object propertyHolder)
+	{
+		JavaWSDLParameter javaWSDLParam;
+		if (bean != null)
+		{
+			javaWSDLParam = (JavaWSDLParameter)bean;	
+		}
+		else
+		{
+			javaWSDLParam = new JavaWSDLParameter();
+		}
+		 
+		//look for each known key in the map & if there, convert the properties and set on javaWSDLParam
+		if (propertyHolder instanceof Map)
+		{	
+			Map propertyMap = (Map)propertyHolder;
+			
+			if (propertyMap.containsKey("Use"))
+			{				
+			   javaWSDLParam.setUse((String)propertyMap.get("Use"));	
+			}
+			if (propertyMap.containsKey("Style"))
+			{
+				javaWSDLParam.setStyle((String)propertyMap.get("Style"));
+			}
+			if (propertyMap.containsKey("JavaOutput"))
+			{				 
+				javaWSDLParam.setJavaOutput((String)propertyMap.get("JavaOutput"));
+			}
+			if (propertyMap.containsKey("Methods"))
+			{
+				//get Method list from the map
+				String methodList = (String)propertyMap.get("Methods");
+				javaWSDLParam.setMethodString(methodList);				
+			}
+			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);
+			}
+		}
+	}
+	
+	private HashMap readMappingsFromFile(String filename)
+	  {
+		HashMap hashmap = new HashMap();
+		IFile resource = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filename));
+		
+		if (resource != null )
+		{
+		  try
+		  {
+			Properties props = new Properties();
+			props.load(resource.getContents());			
+			hashmap.putAll(props);						
+		  }
+		  catch (Exception e)
+		  {
+		    // TODO Report some error here.
+		  }
+		}	
+		return hashmap;
+	  }
+}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParameter.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParameter.java
index c3da781..3ee34ec 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParameter.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParameter.java
@@ -40,6 +40,8 @@
 	// The input location of the WSDL file
 	private String urlLocation = null; // The URL location of the web service
 	private Hashtable methods = null; // The array of method names
+	private String methodString_ = ""; //$NON-NLS-1$
+	 //The string representation of the method array
 	private String style = null;
 	// The style (RPC | DOCUMENT | WRAPPED) attribute for the generated WSDL
 	private String use = null;
@@ -124,23 +126,33 @@
 	 * @return String
 	 */
 	public String getMethodString() {
-		String methodString = ""; //$NON-NLS-1$
-		Enumeration e = methods.keys();
- 		for (int i=0; e.hasMoreElements(); i++)
-    	{
-
-			String signature = (String) e.nextElement();
-			if (((Boolean) methods.get(signature)).booleanValue()){
-							int index = signature.indexOf('(');
-							String name = signature.substring(0, index);
-							methodString += name;
-			}
-	    	if (i != methods.size() -1) // this is not the last array item	
-			{
-				methodString += ",";
+		if (methodString_.equals(""))
+		{		
+			Enumeration e = methods.keys();
+	 		for (int i=0; e.hasMoreElements(); i++)
+	    	{
+	
+				String signature = (String) e.nextElement();
+				if (((Boolean) methods.get(signature)).booleanValue()){
+								int index = signature.indexOf('(');
+								String name = signature.substring(0, index);
+								methodString_ += name;
+				}
+		    	if (i != methods.size() -1) // this is not the last array item	
+				{
+					methodString_ += ",";
+				}
 			}
 		}
-		return methodString;
+		return methodString_;
+	}
+	
+	/**
+	 * Sets a comma separated string of methods	 *
+	 */
+	public void setMethodString(String methods)
+	{
+		methodString_ = methods;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/NameMappingUtils.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/NameMappingUtils.java
new file mode 100644
index 0000000..061fdac
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/NameMappingUtils.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+
+package org.eclipse.jst.ws.internal.axis.consumption.core.common;
+
+import java.util.Map;
+
+import org.apache.axis.utils.JavaUtils;
+import org.apache.axis.wsdl.toJava.Utils;
+
+public class NameMappingUtils {
+
+  private NameMappingUtils() {
+  }
+
+  public static String getPackageName(String namespace, Map ns2pkgMap)
+  {
+    if (namespace != null)
+    {
+      if (ns2pkgMap != null)
+      {
+        Object pkg = ns2pkgMap.get(namespace);
+        if (pkg != null)
+          return (String)pkg;
+      }
+      return namespaceURI2PackageName(namespace);
+    }
+    else
+      return "";
+  }
+
+  /**
+   * namespaceURI2PackageName
+   * @param namespaceURI
+   * @return package name based on namespace
+   */
+  public static String namespaceURI2PackageName(String namespaceURI)
+  {
+  	return Utils.makePackageName(namespaceURI);
+  }
+  
+  /**
+   * xmlNameToJavaClass
+   * @param xmlname
+   * @return Java class name
+   */
+  public static String xmlNameToJavaClass(String xmlname)
+  {
+  	return Utils.xmlNameToJavaClass(xmlname);
+  }
+  
+  /**
+   * getPortName
+   * @param partName
+   * @return port name used by the Axis emitter
+   */
+  public static String getPortName(String portName) 
+  {
+  	if (!JavaUtils.isJavaId(portName)) 
+        portName = xmlNameToJavaClass(portName);
+  	return portName;
+  }
+  
+}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/plugin/WebServiceAxisConsumptionCorePlugin.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/plugin/WebServiceAxisConsumptionCorePlugin.java
new file mode 100644
index 0000000..695f7a8
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/plugin/WebServiceAxisConsumptionCorePlugin.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.axis.consumption.core.plugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
+import org.osgi.framework.BundleContext;
+
+
+/**
+* This is the plugin class for the Web Services plugin.
+* <p>
+* This plugin contains the graphic user interface to the
+* Web Services runtime found in org.eclipse.jst.ws.
+*/
+public class WebServiceAxisConsumptionCorePlugin extends Plugin
+{
+
+	/**
+	* The identifier of the descriptor of this plugin in plugin.xml.
+	*/
+	public static final String ID =
+		"org.eclipse.jst.ws.axis.consumption.core";
+
+	/**
+	* The reference to the singleton instance of this plugin.
+	*/
+	private static WebServiceAxisConsumptionCorePlugin instance_;
+	private ILog log_;
+
+	/**
+	* Constructs a runtime plugin object for this plugin.
+	* The "plugin" element in plugin.xml should include the attribute
+	* class = "org.eclipse.jst.ws.axis.consumption.core".
+	* @param descriptor The descriptor of this plugin.
+	*/
+	public WebServiceAxisConsumptionCorePlugin() {
+		super();
+		if (instance_ == null) {
+			instance_ = this;
+		}
+		log_ = EnvironmentService.getEclipseLog();
+
+	}
+
+  // This method is needed to keep the logging from blowing up.
+  public String toString()
+  {
+    return ID;  
+  }
+  
+	/**
+	* Returns the singleton instance of this plugin. Equivalent to calling
+	* (WebServiceWasConsumptionPlugin)Platform.getPlugin("org.eclipse.jst.ws.was.v5.tp");
+	* @return The WebServiceAxisConsumptionCorePlugin singleton.
+	*/
+	static public WebServiceAxisConsumptionCorePlugin getInstance() {
+		return instance_;
+	}
+
+	/**
+	* Called once by the platform when this plugin is first loaded.
+	* @throws CoreException If this plugin fails to start.
+	*/
+	public void start( BundleContext bundle ) throws CoreException {
+		log_.log(ILog.INFO, 5087, this, "start", "Starting plugin org.eclipse.jst.ws.axis.consumption.core");
+    
+    try
+    {
+		  super.start( bundle );
+    }
+    catch( Exception exc )
+    {
+      log_.log( ILog.ERROR, 5088, this, "start", exc );
+    }
+	}
+
+	/**
+	* Called once by the platform when this plugin is unloaded.
+	* @throws CoreException If this plugin fails to shutdown.
+	*/
+	public void stop( BundleContext context ) throws CoreException {
+		log_.log(ILog.INFO, 5089, this, "shutdown", "Shutting plugin org.eclipse.jst.ws.axis.consumption.core");
+    
+    try
+    {
+		  super.stop( context );
+    }
+    catch( Exception exc )
+    {
+      log_.log( ILog.ERROR, 5090, this, "stop", exc );      
+    }
+	}
+}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/.cvsignore b/bundles/org.eclipse.jst.ws.axis.consumption.ui/.cvsignore
index a21e9e0..3620766 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 wsc-axis-ui.jar
+@dot
+src.zip
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 be045d7..3be1683 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,19 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.consumption.ui; singleton:=true
-Bundle-Version: 0.7.1
-Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.jst.ws.internal.axis.consumption.ui.plugin.WebServiceAxisConsumptionUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.ws.axis.consumption.ui,
+Export-Package: org.eclipse.jst.ws.internal.axis.consumption.ui,
  org.eclipse.jst.ws.internal.axis.consumption.ui.command,
- org.eclipse.jst.ws.internal.axis.consumption.ui.env,
  org.eclipse.jst.ws.internal.axis.consumption.ui.plugin,
  org.eclipse.jst.ws.internal.axis.consumption.ui.task,
  org.eclipse.jst.ws.internal.axis.consumption.ui.util,
  org.eclipse.jst.ws.internal.axis.consumption.ui.widgets,
  org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client,
- org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.test,
  org.eclipse.jst.ws.internal.axis.consumption.ui.wsrt
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.resources,
@@ -41,6 +39,8 @@
  org.eclipse.wst.ws,
  org.eclipse.wst.common.modulecore,
  org.wsdl4j,
- org.apache.axis
+ org.apache.axis,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.wst.common.environment
 Eclipse-AutoStart: true
 Plugin-Class: org.eclipse.jst.ws.internal.axis.consumption.ui.plugin.WebServiceAxisConsumptionUIPlugin
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 9bfda1a..50ab9c8 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/plugin.xml
@@ -2,97 +2,6 @@
 <?eclipse version="3.0"?>
 
 <plugin>
-
-     <!-- Web Service Client Types -->
-
-   <extension
-         point="org.eclipse.jst.ws.consumption.ui.webServiceClientType">
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.32"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.32.runtime"
-            id="SERVER_ID_TOMCAT32_LOCAL">
-      </webServiceServer>
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.40"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.40.runtime"
-            id="SERVER_ID_TOMCAT40_LOCAL">
-      </webServiceServer>
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.41"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.41.runtime"
-            id="SERVER_ID_TOMCAT41_LOCAL">
-      </webServiceServer>
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.50"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.50.runtime"
-            id="SERVER_ID_TOMCAT50_LOCAL">
-      </webServiceServer>
-
-      <webServiceRuntime
-            label="%LABEL_RUNTIME_AXIS_11"
-            description="%DESC_RUNTIME_AXIS_11"
-            isDefault="false"
-            j2eeversion="13 14"
-            id="org.eclipse.jst.ws.runtime.axis11">
-      </webServiceRuntime>
-
-      <webServiceClientType
-            name="%WEBSERVICECLIENTTYPE_NAME_JAVA_AXIS"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            clientType="org.eclipse.jst.ws.client.type.java"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType"
-            server="SERVER_ID_TOMCAT32_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType.axis11.Tomcat32Local">
-      </webServiceClientType>
-
-      <webServiceClientType
-            name="%WEBSERVICECLIENTTYPE_NAME_JAVA_AXIS"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            clientType="org.eclipse.jst.ws.client.type.java"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType"
-            server="SERVER_ID_TOMCAT40_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType.axis11.Tomcat40Local">
-      </webServiceClientType>
-
-      <webServiceClientType
-            name="%WEBSERVICECLIENTTYPE_NAME_JAVA_AXIS"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            clientType="org.eclipse.jst.ws.client.type.java"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType"
-            server="SERVER_ID_TOMCAT41_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType.axis11.Tomcat41Local">
-      </webServiceClientType>
-
-      <webServiceClientType
-            name="%WEBSERVICECLIENTTYPE_NAME_JAVA_AXIS"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            clientType="org.eclipse.jst.ws.client.type.java"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType"
-            server="SERVER_ID_TOMCAT50_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType.axis11.Tomcat50Local">
-      </webServiceClientType>
-
-   </extension>
-
-   <!-- J2EE Service Reference Generator -->
-      
-   <extension
-         point="org.eclipse.jst.j2ee.WebServiceClientGenerator">
-     <generator
-           className="org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientGenerator">
-        <runtime
-              serverTarget="Generic J2EE Container">
-        </runtime>         
-     </generator>
-   </extension>
    
 	<extension point="org.eclipse.wst.command.env.ui.widgetRegistry">
        <widgetFactory   
@@ -100,5 +9,36 @@
              insertBeforeCommandId="org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand"
              class="org.eclipse.jst.ws.internal.axis.consumption.ui.wsrt.AxisClientConfigWidgetFactory"/>
     </extension> 
-
+          <extension
+           point="org.eclipse.wst.command.env.antDataMapping">
+        <map
+              key="ClientProjectName"
+              operation="org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientDefaultingCommand"
+              property="ClientProject"
+              transform="org.eclipse.jst.ws.internal.common.String2IProjectTransformer"/>
+        <map
+              key="CustomizeClientMappings"
+              operation="org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientDefaultingCommand"
+              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"
+              property="JavaWSDLParam"
+              transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
+  </extension> 
 </plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/axis/consumption/ui/plugin.properties b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/axis/consumption/ui/plugin.properties
deleted file mode 100644
index 5a9b0bb..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/axis/consumption/ui/plugin.properties
+++ /dev/null
@@ -1,118 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-
-MSG_ERROR_DEFAULT_BEAN=IWAB0491E Error encountered while setting up default values for Java bean
-MSG_ERROR_READ_WSDL=IWAB0494E Error in reading WSDL file {0}
-MSG_ERROR_WSDL_NO_DEFINITION=IWAB0495E WSDL file at {0} has no definition element
-MSG_ERROR_WSDL_NO_PORT=IWAB0496E WSDL file at {0} has no port element
-MSG_ERROR_WRITE_WSDL=IWAB0497E Error in writing WSDL file {0}
-
-
-
-#
-# Messages for CopyClientWSDLTask
-#
-MSG_ERROR_IMPORT_WSDL=IWAB0531E Error in resolving WSDL file {0}, import WSDL file must have absolute URL or relative URL in the same directory
-
-
-#
-#DefaultsForClientJavaWSDLCommand
-#
-TASK_LABEL_CLIENT_JAVA_WSDL_DEFAULTS=DefaultsForClientJavaWSDL
-TASK_DESC_CLIENT_JAVA_WSDL_DEFAULTS=Builds the JavaWSDLParameter for client side.
-MSG_ERROR_WSDL_LOCATION_NOT_SET=IWAB0501E WSDL location not set.
-
-#
-#AddJarsToProjectBuildPathTask
-#
-TASK_LABEL_JARS_TO_PROJECT=AddJarsToProjectBuildPathTask
-TASK_DESC_JARS_TO_PROJECT=Add Jars to project build path.
-MSG_WARN_NO_JAVA_NATURE=IWAB0502W The project is not a Java project.
-MSG_ERROR_BAD_BUILDPATH=IWAB0503E Unable to update Java build path. Please check your system environment.
-
-#
-#CopyAxisJarCommand
-#
-TASK_DESC_COPY_JARS_TO_PROJECT=CopyAxisJarCommand
-TASK_LABEL_COPY_JARS_TO_PROJECT=Copy required Axis runtime jars from plugin to web project.
-PROGRESS_INFO_COPY_AXIS_CFG=IWAB0505I Copying Axis jar files to web project.
-MSG_ERROR_FILECOPY=IWAB0506E Error when copying Axis jar files to web project
-
-#
-#RefreshProjectTask
-#
-TASK_LABEL_REFESH_PROJECT=RefreshProjectTask
-TASK_DESC_REFESH_PROJECT=Refresh the files on the project with the local file system.
-MSG_ERROR_REFRESH_PROJECT=IWAB0508E Unable to refresh project.
-
-
-#
-#WebServiceAxisProxyFragment
-#
-
-#
-#WebServiceAxisProxyPage
-#
-TOOLTIP_PWJB_PAGE=Page
-TOOLTIP_PWJB_TEXT_FOLDER=Folder for proxy to be generated for the selected binding.
-TOOLTIP_PWJB_CHECKBOX_GENPROXY=Check to enable/disable the generation of a proxy.
-
-PAGE_TITLE_WS_AXIS_PROXY=Web Service Proxy Page
-PAGE_DESC_WS_AXIS_PROXY=Select generate proxy if you want to generate proxy for your service.
-CHECKBOX_GENPROXY=Generate proxy
-LABEL_FOLDER_NAME=Output folder
-
-#
-# CheckAxisDeploymentDescriptorsTask
-#
-CHECK_WS_DD_TASK_DESCRIPTION=CheckAxisDeploymentDescriptorsTask
-CHECK_WS_DD_TASK_LABEL=CheckAxisDeploymentDescriptorsTask
-
-#
-#ClasspathUtils
-#
-MSG_ERROR_CLASSPATH_UTILS_IOEXCEPTION=IWAB0509E IOException in ClasspathUtils
-
-#
-# Messages for WebSerivceAxisMappingsPage
-#
-PAGE_TITLE_WS_BEAN2XML=Web Service package to namespace mapping
-PAGE_TITLE_WS_XML2PROXY=Web Service Client namespace to package mapping
-PAGE_DESC_P2N_MAPPINGS=Define custom mapping for package to namespace.
-LABEL_MAPPING_PAIRS=Mapping pairs
-TABLE_COLUMN_LABEL_PACKAGE=package
-TABLE_COLUMN_LABEL_NAMESPACE=namespace
-LABEL_EXPLORE_MAPPINGS_XML2BEAN=Define custom mapping for namespace to package.
-TOOLTIP_N2P_SHOW_MAPPINGS=Define namespace to package mapping for customization.
-
-#
-# Messages for CheckAxisDeploymentDescriptorsTask
-#
-MSG_ERROR_XML_FILE_OVERWRITE_DISABLED=IWAB0532E Do you want to overwrite the Apache Axis deployment descriptor?
-
-#
-#Messages for CopyClientWSDLCommand
-#
-TASK_DESC_COPY_CLIENT_WSDL=Copies WSDL to Client project
-TASK_LABEL_COPY_CLIENT_WSDL=Copy WSDL to Client project
-
-#
-#AxisClientInputCommand and AxisClientOutputCommand
-#
-
-TASK_LABEL_AXIS_CLIENT_INPUT=Axis client input commmand
-TASK_DESC_AXIS_CLIENT_INPUT=Axis client input commmand
-TASK_LABEL_AXIS_CLIENT_OUTPUT=Axis client output commmand
-TASK_DESC_AXIS_CLIENT_OUTPUT=Axis client output commmand
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/AxisConsumptionUI.properties b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/AxisConsumptionUI.properties
new file mode 100644
index 0000000..0e6925d
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/AxisConsumptionUI.properties
@@ -0,0 +1,80 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Messages in plugin.xml.
+#
+
+MSG_ERROR_DEFAULT_BEAN=IWAB0491E Error encountered while setting up default values for Java bean
+MSG_ERROR_WSDL_NO_DEFINITION=IWAB0495E WSDL file at {0} has no definition element
+MSG_ERROR_WSDL_NO_PORT=IWAB0496E WSDL file at {0} has no port element
+MSG_ERROR_WRITE_WSDL=IWAB0497E Error in writing WSDL file {0}
+
+#
+# Messages for CopyClientWSDLTask
+#
+MSG_ERROR_IMPORT_WSDL=IWAB0531E Error in resolving WSDL file {0}, import WSDL file must have absolute URL or relative URL in the same directory
+
+
+#
+#DefaultsForClientJavaWSDLCommand
+#
+MSG_ERROR_WSDL_LOCATION_NOT_SET=IWAB0501E WSDL location not set.
+
+#
+#AddJarsToProjectBuildPathTask
+#
+MSG_WARN_NO_JAVA_NATURE=IWAB0502W The project is not a Java project.
+MSG_ERROR_BAD_BUILDPATH=IWAB0503E Unable to update Java build path. Please check your system environment.
+
+#
+#CopyAxisJarCommand
+#
+PROGRESS_INFO_COPY_AXIS_CFG=IWAB0505I Copying Axis jar files to web project.
+MSG_ERROR_FILECOPY=IWAB0506E Error when copying Axis jar files to web project
+
+#
+#RefreshProjectTask
+#
+MSG_ERROR_REFRESH_PROJECT=IWAB0508E Unable to refresh project.
+
+#
+#WebServiceAxisProxyPage
+#
+TOOLTIP_PWJB_PAGE=Page
+TOOLTIP_PWJB_TEXT_FOLDER=Folder for proxy to be generated for the selected binding.
+TOOLTIP_PWJB_CHECKBOX_GENPROXY=Check to enable/disable the generation of a proxy.
+
+PAGE_TITLE_WS_AXIS_PROXY=Web Service Proxy Page
+PAGE_DESC_WS_AXIS_PROXY=Select generate proxy if you want to generate proxy for your service.
+CHECKBOX_GENPROXY=Generate proxy
+LABEL_FOLDER_NAME=Output folder
+
+#
+# Messages for WebSerivceAxisMappingsPage
+#
+PAGE_TITLE_WS_BEAN2XML=Web Service package to namespace mapping
+PAGE_TITLE_WS_XML2PROXY=Web Service Client namespace to package mapping
+PAGE_DESC_P2N_MAPPINGS=Define custom mapping for package to namespace.
+
+
+LABEL_MAPPING_PAIRS=Mapping pairs
+TABLE_COLUMN_LABEL_PACKAGE=package
+TABLE_COLUMN_LABEL_NAMESPACE=namespace
+LABEL_EXPLORE_MAPPINGS_XML2BEAN=Define custom mapping for namespace to package.
+TOOLTIP_N2P_SHOW_MAPPINGS=Define namespace to package mapping for customization.
+
+#
+# Messages for CheckAxisDeploymentDescriptorsTask
+#
+MSG_ERROR_XML_FILE_OVERWRITE_DISABLED=IWAB0532E Do you want to overwrite the Apache Axis deployment descriptor?
+
+
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/AxisConsumptionUIMessages.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/AxisConsumptionUIMessages.java
new file mode 100644
index 0000000..471a450
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/AxisConsumptionUIMessages.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.axis.consumption.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class AxisConsumptionUIMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUI";//$NON-NLS-1$
+
+	private AxisConsumptionUIMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_DEFAULT_BEAN;
+	public static String MSG_ERROR_WSDL_NO_DEFINITION;
+	public static String MSG_ERROR_WSDL_NO_PORT;
+	public static String MSG_ERROR_WRITE_WSDL;
+	public static String MSG_ERROR_IMPORT_WSDL;
+	public static String MSG_ERROR_WSDL_LOCATION_NOT_SET;
+	public static String MSG_WARN_NO_JAVA_NATURE;
+	public static String MSG_ERROR_BAD_BUILDPATH;
+	public static String PROGRESS_INFO_COPY_AXIS_CFG;
+	public static String MSG_ERROR_FILECOPY;
+	public static String MSG_ERROR_REFRESH_PROJECT;
+	public static String TOOLTIP_PWJB_PAGE;
+	public static String TOOLTIP_PWJB_TEXT_FOLDER;
+	public static String TOOLTIP_PWJB_CHECKBOX_GENPROXY;
+	public static String PAGE_TITLE_WS_AXIS_PROXY;
+	public static String PAGE_DESC_WS_AXIS_PROXY;
+	public static String CHECKBOX_GENPROXY;
+	public static String LABEL_FOLDER_NAME;
+	public static String PAGE_TITLE_WS_BEAN2XML;
+	public static String PAGE_TITLE_WS_XML2PROXY;
+	public static String PAGE_DESC_P2N_MAPPINGS;
+	public static String LABEL_MAPPING_PAIRS;
+	public static String TABLE_COLUMN_LABEL_PACKAGE;
+	public static String TABLE_COLUMN_LABEL_NAMESPACE;
+	public static String LABEL_EXPLORE_MAPPINGS_XML2BEAN;
+	public static String TOOLTIP_N2P_SHOW_MAPPINGS;
+	public static String MSG_ERROR_XML_FILE_OVERWRITE_DISABLED;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, AxisConsumptionUIMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AddAxisJARToBuildPathCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AddAxisJARToBuildPathCommand.java
deleted file mode 100644
index bdb7756..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AddAxisJARToBuildPathCommand.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/*
- * Command to add axis.jar to the build path of a project as an external variable
- */
-package org.eclipse.jst.ws.internal.axis.consumption.ui.command;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-
-/**
- * @author rsinha
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class AddAxisJARToBuildPathCommand extends SimpleCommand
-{
-  private String pluginId_ = "org.eclipse.jst.ws.axis.consumption.ui";
-  private MessageUtils msgUtils;
-  private String jarPluginId = "org.apache.axis";
-  private String jarPluginRelPath = "lib";
-  private String jarName = "axis.jar";
-  private IProject project;
-  
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.core.Command#execute(org.eclipse.wst.command.internal.provisional.env.core.common.Environment)
-   */
-  public Status execute(Environment environment)
-  {
-    msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    Status status = new SimpleStatus("");
-
-    //Add JARs to the classpath
-    IClasspathEntry[] oldClasspath;
-    IClasspathEntry[] newClasspath;
-    IJavaProject javaProject;
-    
-    //Get the old classpath
-    try
-    {    
-      javaProject = JavaCore.create(project);    
-      if (javaProject == null)
-      {
-        Status wStatus = new SimpleStatus("", msgUtils.getMessage("MSG_WARNING_NOT_COMPILE"), Status.WARNING);
-        return wStatus;
-      }
-
-      oldClasspath = javaProject.getRawClasspath();
-    }
-    catch (JavaModelException e)
-    {
-      Status wStatus = new SimpleStatus("", msgUtils.getMessage("MSG_WARNING_NOT_COMPILE"), Status.WARNING);
-      return wStatus;
-    }
-    
-    //Check if the axis.jar is already on the build path
-    boolean found = false;
-	for (int i=0; i<oldClasspath.length; i++)
-	{
-	  found = found || oldClasspath[i].getPath().toString().toLowerCase().endsWith(jarName.toLowerCase());
-    }
-
-	if (found) 
-	{
-	  return status;
-	}    
-    
-	//Add axis.jar to the build path
-	newClasspath = new IClasspathEntry[oldClasspath.length + 1];
-    int i = 0;
-    for (i=0 ; i < oldClasspath.length; i++)
-    {
-      newClasspath[i] = oldClasspath[i];
-    }
-    
-    IClasspathEntry newEntry = getClasspathEntry();
-    if (newEntry==null)
-    {
-      Status wStatus = new SimpleStatus("", msgUtils.getMessage("MSG_WARNING_NOT_COMPILE"), Status.WARNING);
-      return wStatus;
-    }
-    newClasspath[i] = newEntry;
-    
-    try
-    {
-      javaProject.setRawClasspath(newClasspath,null);
-    }
-    catch (JavaModelException e)
-    {
-      Status wStatus = new SimpleStatus("", msgUtils.getMessage("MSG_WARNING_NOT_COMPILE"), Status.WARNING);
-      return wStatus;
-    }
-    
-    
-    return status;
-    
-  }
-  
-  private IClasspathEntry getClasspathEntry()
-  {
-    try
-    {
-      IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-      IPluginDescriptor pluginDescriptor = pluginRegistry.getPluginDescriptor(jarPluginId);
-
-      StringBuffer theJar = new StringBuffer();
-      theJar.append(jarPluginRelPath);
-
-      if (jarPluginRelPath.length()>0)
-        theJar.append(IPath.SEPARATOR);
-
-      theJar.append(jarName);
-      
-      URL localURL = Platform.asLocalURL(new URL(pluginDescriptor.getInstallURL(),theJar.toString()));
-      Path jarPath =  new Path(localURL.getFile());
-      IClasspathEntry cpEntry = JavaCore.newLibraryEntry(jarPath, null, null);
-      return cpEntry;
-    }
-    catch (MalformedURLException e)
-    {
-      return null;
-    }
-    catch (IOException e)
-    {
-      return null;
-    }
-
-  }
- 
-  
-  /**
-   * @param project The project to set.
-   */
-  public void setProject(IProject project)
-  {
-    this.project = project;
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientDefaultingCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientDefaultingCommand.java
index 0dbdba1..959002a 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientDefaultingCommand.java
@@ -10,16 +10,15 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.consumption.ui.command;
 
-import java.util.Vector;
-
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.common.WSDLParserFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
@@ -29,7 +28,7 @@
  * AxisClientDefaultingCommand
  *  
  */
-public class AxisClientDefaultingCommand extends SimpleCommand 
+public class AxisClientDefaultingCommand extends AbstractDataModelOperation 
 {
     private boolean isClientScenario_  = true;
 	private boolean customizeMappings_ = false;
@@ -42,32 +41,24 @@
 	private boolean testProxySelected_;
 	private IServer clientExistingServer_;
 	private String clientServer_;
-	private String clientServerTypeId_;
 	private boolean clientIsExistingServer_;
 	private String proxyProjectFolder_;
 	private WebServicesParser webServicesParser_;
-	private String            moduleName_;
-	
-	
-	public AxisClientDefaultingCommand( String moduleName ) 
+	public AxisClientDefaultingCommand( ) 
 	{
-	  moduleName_ = moduleName;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.command.env.core.Command#execute(org.eclipse.wst.command.internal.provisional.env.core.common.Environment)
-	 */
-	public Status execute(Environment environment) {
-		Status status = new SimpleStatus("");
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IStatus status = Status.OK_STATUS;
 		
 		clientExistingServer_ = getServerFromServerLabel();
-		if (clientExistingServer_ != null) {
-			clientServerTypeId_ = clientExistingServer_.getServerType().getId();
-		} else {
-			//TODO get the factory id for the type.
-		}
+//		if (clientExistingServer_ != null) {
+//			//TODO The following line should no longer be necessary.
+//			clientExistingServer_.getServerType().getId();
+//		} else {
+//			//TODO get the factory id for the type.
+//		}
 		//javaWSDLParam
 		javaWSDLParam_ = new JavaWSDLParameter();
 		
@@ -195,7 +186,6 @@
 		// rsk revisit if (clientIsExistingServer_)
 		{
 			// Maybe this should be in WebServiceServerRuntimeTypeRegistry
-			Vector serverIds = new Vector();
 			{
 				IServer[] servers = ServerCore.getServers();
 				if (servers != null && servers.length!=0) {
@@ -217,7 +207,7 @@
 	 */
 	public String getProxyProjectFolder() {
 		if (proxyProject_!=null) {
-			proxyProjectFolder_ = ResourceUtils.getJavaSourceLocation(proxyProject_, moduleName_ ).toString();
+			proxyProjectFolder_ = ResourceUtils.getJavaSourceLocation(proxyProject_ ).toString();
 		}		
 		return proxyProjectFolder_;  
 	}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientGenerator.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientGenerator.java
deleted file mode 100644
index f1d53ac..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientGenerator.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.command;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.xml.namespace.QName;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.j2ee.internal.webservices.WebServiceClientGenerator;
-import org.eclipse.jst.j2ee.internal.webservices.WebServicesClientDataHelper;
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.env.J2EEEnvironment;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.AddJarsToProjectBuildPathTask;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CopyAxisJarCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.RefreshProjectCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.Stub2BeanCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.util.WSDLUtils;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
-import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-
-/**
- * 
- */
-public class AxisClientGenerator extends WebServiceClientGenerator 
-{
-  private String pluginId_ = "org.eclipse.jst.ws.axis.consumption.ui";
-  
-  public IStatus genWebServiceClientArtifacts(WebServicesClientDataHelper dataModel)
-  {
-  	//get info from the model
-  	String wsdlURL = dataModel.getWSDLUrl();
-    String project = dataModel.getProjectName();
-    String outputWSDLFilePathName = dataModel.getOutputWSDLFileName();
-    String serviceQName = dataModel.getServiceQName();
-    boolean shouldDeploy = dataModel.shouldDeploy();
-    
-    
-    //Generate the artifacts
-    Status status = new SimpleStatus("");
-    //AxisClientDefaultingCommand
-    AxisClientDefaultingCommand axisClientDefaultingCommand = new AxisClientDefaultingCommand("");
-    axisClientDefaultingCommand.setWsdlURL(wsdlURL);
-    axisClientDefaultingCommand.setWebServicesParser(new WebServicesParserExt());
-    axisClientDefaultingCommand.setClientProject(ProjectUtilities.getProject(project));
-    axisClientDefaultingCommand.setTestProxySelected(false);
-    axisClientDefaultingCommand.setIsClientScenario(true);
-    axisClientDefaultingCommand.setGenerateProxy(true);
-    J2EEEnvironment j2eeEnvironment = new J2EEEnvironment();
-    status = axisClientDefaultingCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }
-    
-//  Figure out if this is a Web, EJB, or AppClient project
-    boolean isWebProject = ResourceUtils.isWebProject(axisClientDefaultingCommand.getClientProject());
-    
-    //DefaultsForHTTPBasicAuthCommand
-    DefaultsForHTTPBasicAuthCommand httpCommand = new DefaultsForHTTPBasicAuthCommand();
-    httpCommand.setJavaWSDLParam(axisClientDefaultingCommand.getJavaWSDLParam());
-    httpCommand.setWsdlServiceURL(axisClientDefaultingCommand.getWsdlURL());
-    httpCommand.setWebServicesParser(axisClientDefaultingCommand.getWebServicesParser());
-    status = httpCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }
-    
-    //CopyAxisJarCommand
-    //The code generated by the Axis WSDL2Java emitter requires axis.jar in order to compile.
-    //In the case of a Web project, we add it to the lib directory.
-    //In the case of an EJB or App Client project, we add it as an external JAR. This breaks
-    //the team environment scenario. We will have to think of a better way to deal with this 
-    //in the future.
-    if (isWebProject)
-    {
-	    CopyAxisJarCommand axjCommand = new CopyAxisJarCommand("");
-	    axjCommand.setProject(axisClientDefaultingCommand.getClientProject());
-	    status = axjCommand.execute(j2eeEnvironment);
-	    if (status.getSeverity()!=Status.OK)
-	    {
-	      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-	    }
-    }
-    else 
-    {
-      AddAxisJARToBuildPathCommand addAxisCommand = new AddAxisJARToBuildPathCommand();
-      addAxisCommand.setProject(axisClientDefaultingCommand.getClientProject());
-      status = addAxisCommand.execute(j2eeEnvironment);
-	  if (status.getSeverity() != Status.OK)
-      {
-        return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-      }      
-    }
-    
-    //AddJarsToProjectBuildPathTask
-    AddJarsToProjectBuildPathTask addJarsCommand = new AddJarsToProjectBuildPathTask();
-    addJarsCommand.setProject(axisClientDefaultingCommand.getClientProject());
-    status = addJarsCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }    
-    
-    //DefaultsForClientJavaWSDLCommand
-    DefaultsForClientJavaWSDLCommand defClientCommand = new DefaultsForClientJavaWSDLCommand("");
-    defClientCommand.setJavaWSDLParam(axisClientDefaultingCommand.getJavaWSDLParam());
-    defClientCommand.setProxyProject(axisClientDefaultingCommand.getClientProject());
-    defClientCommand.setWSDLServiceURL(axisClientDefaultingCommand.getWsdlURL());
-    status = defClientCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }        
-    
-    //ValidateWSDLCommand
-    ValidateWSDLCommand valWSDLCommand = new ValidateWSDLCommand();
-    valWSDLCommand.setWsdlURI(axisClientDefaultingCommand.getWsdlURL());
-    valWSDLCommand.setWebServicesParser(axisClientDefaultingCommand.getWebServicesParser());
-    status = valWSDLCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }    
-    
-    //WSDL2JavaCommand
-    WSDL2JavaCommand w2jCommand = new WSDL2JavaCommand();
-    w2jCommand.setJavaWSDLParam(axisClientDefaultingCommand.getJavaWSDLParam());
-    w2jCommand.setWsdlURI(axisClientDefaultingCommand.getWsdlURL());
-    status = w2jCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }    
-
-    //RefreshProjectCommand
-    RefreshProjectCommand refreshCommand = new RefreshProjectCommand();
-    refreshCommand.setProject(axisClientDefaultingCommand.getClientProject());
-    status = refreshCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }    
-    
-    Stub2BeanCommand s2bCommand = new Stub2BeanCommand();
-    s2bCommand.setJavaWSDLParam(axisClientDefaultingCommand.getJavaWSDLParam());
-    s2bCommand.setWebServicesParser(axisClientDefaultingCommand.getWebServicesParser());
-    s2bCommand.setClientProject(axisClientDefaultingCommand.getClientProject());
-    status = s2bCommand.execute(j2eeEnvironment); 
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }
-
-    //CopyClientWSDLCommand
-    CopyClientWSDLCommand copyCommand = new CopyClientWSDLCommand();
-    copyCommand.setWsdlURL(axisClientDefaultingCommand.getWsdlURL());
-    copyCommand.setClientWSDLPathName(outputWSDLFilePathName);
-    copyCommand.setWsParser(axisClientDefaultingCommand.getWebServicesParser());
-    status = copyCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }    
-    
-    
-    //BuildProjectCommand
-    BuildProjectCommand buildCommand = new BuildProjectCommand();
-    buildCommand.setProject(axisClientDefaultingCommand.getClientProject());
-    buildCommand.setForceBuild(true);
-    status = buildCommand.execute(j2eeEnvironment);
-    if (status.getSeverity()!=Status.OK)
-    {
-      return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-    }    
-        
-    //Calculate the service interface and service endpoint interface names
-    InterfaceNames interfaceNames = calculateSIandSEIName(axisClientDefaultingCommand.getWsdlURL(), serviceQName, axisClientDefaultingCommand.getWebServicesParser());
-    String siName = interfaceNames.getSiName(); 
-    String[] seiNames = interfaceNames.getSeiNames();
-    if (siName==null || siName.length()==0 || seiNames==null || seiNames.length==0)
-    {
-      return new org.eclipse.core.runtime.Status(IStatus.ERROR,pluginId_,0,"Problems!!",null);
-    }
-    
-    //Set info on the dataModel
-    dataModel.setServiceInterfaceName(siName);
-    dataModel.setServiceEndpointInterfaceNames(seiNames);
-    dataModel.setDidGenDescriptors(false);
-    
-    return EnvironmentUtils.convertStatusToIStatus(status, pluginId_);
-  }
-  
-  private InterfaceNames calculateSIandSEIName(String wsdlURL, String serviceQName, WebServicesParser wsParser)
-  {
-    InterfaceNames iNames = new InterfaceNames();
-    String serviceLocalPart = serviceQName.substring(serviceQName.lastIndexOf(':')+1);
-    Map pkg2nsMapping = null;
-    Definition def = wsParser.getWSDLDefinition(wsdlURL);
- 
-    Map services = def.getServices();
-    Service service = null;
-    for (Iterator it = services.values().iterator(); it.hasNext();)
-    {
-      service = (Service)it.next();
-      if (serviceLocalPart.equals(service.getQName().getLocalPart()))
-        break;
-    }        
-      
-    if (service!=null)
-    {
-      String servicePkgName = WSDLUtils.getPackageName(service, pkg2nsMapping);
-      String serviceClassName = service.getQName().getLocalPart();
-      String jndiName = serviceClassName;
-      Map ports = service.getPorts();
-      for (Iterator it2 = ports.values().iterator(); it2.hasNext();)
-      {
-        if (serviceClassName.equals(((Port)it2.next()).getBinding().getPortType().getQName().getLocalPart()))
-        {
-          serviceClassName = serviceClassName + "_Service";
-          break;
-        }
-      }
-      ArrayList seiNames = new ArrayList();
-      for (Iterator it2 = ports.values().iterator(); it2.hasNext();)
-      {
-        Port port = (Port)it2.next();
-        SOAPAddress soapAddress = null;
-        List extensibilityElements = port.getExtensibilityElements();
-        if (extensibilityElements != null)
-        {
-          for (Iterator it3 = extensibilityElements.iterator(); it3.hasNext();)
-          {
-            Object object = it3.next();
-            if (object instanceof SOAPAddress)
-            {
-              soapAddress = (SOAPAddress)object;
-              break;
-            }
-          }
-        }
-        if (soapAddress != null)
-        {
-          PortType portType = port.getBinding().getPortType();
-          QName portTypeQName = portType.getQName();
-          String portTypePkgName = WSDLUtils.getPackageName(portType, pkg2nsMapping);
-          String portTypeClassName = portTypeQName.getLocalPart();
-          if (jndiName.equals(portTypeClassName))
-              portTypeClassName = portTypeClassName + "_Port";
-          seiNames.add(portTypePkgName+"."+portTypeClassName); 
-        }
-      }
-      iNames.setSiName(servicePkgName+"."+serviceClassName);
-      iNames.setSEINames(convertToStringArray(seiNames.toArray()));
-    }    
-    return iNames;
-  }
-  
-  private String[] convertToStringArray(Object[] a)
-  {
-  	if (a==null) return new String[0];
-  	
-  	int length = a.length;
-  	String[] sa = new String[length];
-  	for (int i=0; i<length; i++)
-  	{
-  		Object obj = a[i];
-  		if (obj instanceof String)
-  		{
-  			sa[i] = (String)obj;
-  		}
-  	}
-  	return sa;
-  }  
-  private class InterfaceNames
-  {
-    private String siName_;
-    private String[] seiNames_;
-    
-    public String getSiName()
-    {
-      return siName_;
-    }
-
-    public String[] getSeiNames()
-    {
-      return seiNames_;
-    }
-    
-    
-    public void setSiName(String siName)
-    {
-      siName_ = siName;
-    }
-    
-    public void setSEINames(String[] seiNames)
-    {
-      seiNames_ = seiNames;
-    }
-    
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientInputCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientInputCommand.java
index dd77be0..7c9edf1 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientInputCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientInputCommand.java
@@ -11,70 +11,42 @@
 package org.eclipse.jst.ws.internal.axis.consumption.ui.command;
 
 
-import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.server.core.IServer;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
 
-public class AxisClientInputCommand extends SimpleCommand {
-
-	private static String LABEL = "TASK_LABEL_AXIS_CLIENT_INPUT";
-	private static String DESCRIPTION = "TASK_DESC_AXIS_CLIENT_INPUT";
+public class AxisClientInputCommand extends AbstractDataModelOperation {
 	
 	private IWebServiceClient wsc_;
-	private String serverProject_; 
-	private String serverModule_;
-	private IContext context_;
 
-	  private String serviceServerTypeID_;
-	  
-		private boolean generateProxy_ = true;
-		private JavaWSDLParameter javaWSDLParam_;
 		private String clientProject_ = null;
-		private String clientModule_ = null;
 		private String wsdlURL_;
-		private IServer clientExistingServer_;
 		private String clientServer_;
 		private WebServicesParser webServicesParser_;
-		
-	  private MessageUtils msgUtils_;
 	  
 		/**
 		* Default CTOR
 		*/
 		public AxisClientInputCommand() {
-			String       pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
 		}
 		
-		public AxisClientInputCommand(IWebServiceClient wsc, IContext context, String project, String module) {
-			String       pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
+		public AxisClientInputCommand(IWebServiceClient wsc, IContext context, String project) {
 			wsc_ = wsc;
-			context_ = context;
 			clientProject_ = project; 
-			clientModule_ = module;
 		}
 		
-	  public Status execute(Environment env)
-	  {
-	    
-		generateProxy_ = context_.getClient();
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{	    
 		wsdlURL_ = wsc_.getWebServiceClientInfo().getWsdlURL();
 		clientServer_ = wsc_.getWebServiceClientInfo().getServerInstanceId();
 		
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	  }
 
 	public String getClientServer() {
@@ -92,10 +64,6 @@
 	public String getWsdlURL() {
 		return wsdlURL_;
 	}
-
-	public String getClientModule() {
-		return clientModule_;
-	}
 	  
 		
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientOutputCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientOutputCommand.java
index 12b9ac1..1f21ce5 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/AxisClientOutputCommand.java
@@ -11,47 +11,34 @@
 package org.eclipse.jst.ws.internal.axis.consumption.ui.command;
 
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
 
-public class AxisClientOutputCommand extends SimpleCommand {
-
-	private static String LABEL = "TASK_LABEL_AXIS_CLIENT_OUTPUT";
-	private static String DESCRIPTION = "TASK_DESC_AXIS_CLIENT_OUTPUT";
+public class AxisClientOutputCommand extends AbstractDataModelOperation {
 	
 	private IWebServiceClient wsc_;
 	private String proxyBean_;
-		
-	  private MessageUtils msgUtils_;
 	  
 		/**
 		* Default CTOR
 		*/
 		public AxisClientOutputCommand() {
-			String       pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
 		}
 		
-		public AxisClientOutputCommand(IWebServiceClient wsc, IContext context, String module) {
-			String       pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
+		public AxisClientOutputCommand(IWebServiceClient wsc, IContext context) {
 			wsc_ = wsc;
 		}
 		
-	  public Status execute(Environment env)
-	  {		
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{	
 		wsc_.getWebServiceClientInfo().setImplURL(proxyBean_);
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	  }
 
 	public void setProxyBean(String proxyBean) {
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/CopyClientWSDLCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/CopyClientWSDLCommand.java
index 4515739..df06894 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/CopyClientWSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/CopyClientWSDLCommand.java
@@ -22,62 +22,63 @@
 import javax.wsdl.xml.WSDLWriter;
 
 import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
 /**
  *
  */
-public class CopyClientWSDLCommand extends SimpleCommand
+public class CopyClientWSDLCommand extends AbstractDataModelOperation
 {
-  private String DESCRIPTION = "TASK_DESC_COPY_CLIENT_WSDL";
-  private String LABEL = "TASK_LABEL_COPY_CLIENT_WSDL";
-  private String pluginId_ = "org.eclipse.jst.ws.axis.consumption.ui";
-  private MessageUtils msgUtils_;  
+  
   private String wsdlURL_;
   private String clientWSDLPathName_;
   private WebServicesParser wsParser_;
   
   public CopyClientWSDLCommand()
   {
-    msgUtils_ = new MessageUtils(pluginId_ + ".plugin", this);
-    setDescription(msgUtils_.getMessage(DESCRIPTION));
-    setName(msgUtils_.getMessage(LABEL));    
+   
   }
   
-  public Status execute(Environment env)
-  {
-    Status status = new SimpleStatus("");
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
     Definition def = wsParser_.getWSDLDefinition(wsdlURL_);
     if(def==null)
     {
-      status = new SimpleStatus(pluginId_, msgUtils_.getMessage("MSG_ERROR_WSDL_NO_DEFINITION",new String[]{wsdlURL_}),Status.ERROR);
+      status = StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_WSDL_NO_DEFINITION, new String[]{wsdlURL_}));
       env.getStatusHandler().reportError(status);
       return status;
     }
     IPath clientWSDLPath = new Path(clientWSDLPathName_);
     IWorkspaceRoot workspaceRoot = FileResourceUtils.getWorkspaceRoot();
-    status = resolveWSDL(workspaceRoot, def, clientWSDLPath,env);
+    status = resolveWSDL(workspaceRoot, def, clientWSDLPath, env, monitor);
     return status;
   }
 
-	private Status resolveWSDL(
+	private IStatus resolveWSDL(
 		IWorkspaceRoot workspace,
 		Definition wsdlDef,
 		IPath wsdlPath,
-		Environment env) {
+		IEnvironment env, 
+		IProgressMonitor monitor) {
 		try {
-			writeWSDLFile(workspace, wsdlDef, wsdlPath, env);
+			writeWSDLFile(workspace, wsdlDef, wsdlPath, env, monitor);
 			Map importDefs = wsdlDef.getImports();
 			Set keysSet = importDefs.keySet();
 			for (Iterator e = keysSet.iterator(); e.hasNext();) {
@@ -91,11 +92,11 @@
 							0,
 							wsdlPath.toString().lastIndexOf("/") + 1);	 //$NON-NLS-1$
 					if (isInvalidImportWSDL(importDef.getLocationURI())) {
-					    return new SimpleStatus(pluginId_, msgUtils_.getMessage("MSG_ERROR_IMPORT_WSDL",new String[]{importDef.getLocationURI()}), Status.ERROR);
+					    return StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_IMPORT_WSDL,new String[]{importDef.getLocationURI()}));
 					}
 					IPath newPath =
 						new Path(newPathString + importDef.getLocationURI());
-					Status status = resolveWSDL(workspace, def, newPath, env);
+					IStatus status = resolveWSDL(workspace, def, newPath, env, monitor);
 					if (status != null
 						&& status.getSeverity() == Status.ERROR) {
 						return status;
@@ -103,9 +104,9 @@
 				}
 			}
 		} catch (Exception e) {
-		    return new SimpleStatus(pluginId_, msgUtils_.getMessage("MSG_ERROR_WRITE_WSDL",new String[] { wsdlPath.toString() }), Status.ERROR, e);
+		    return StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_WRITE_WSDL,new String[] { wsdlPath.toString() }), e);
 		}
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	}
 
 	private boolean isInvalidImportWSDL(String wsdlPath) {
@@ -127,7 +128,8 @@
 		IWorkspaceRoot workspace,
 		Definition wsdlDef,
 		IPath wsdlPath,
-		Environment env)
+		IEnvironment env, 
+		IProgressMonitor monitor)
 		throws Exception {
 
 		ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -144,7 +146,7 @@
 			context,
 			wsdlPath.makeAbsolute(),
 			bais,
-			env.getProgressMonitor(),
+			monitor,
 			env.getStatusHandler());
 
 		baos.close();
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/DefaultsForClientJavaWSDLCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/DefaultsForClientJavaWSDLCommand.java
index 04a24f4..93d3f54 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/DefaultsForClientJavaWSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/command/DefaultsForClientJavaWSDLCommand.java
@@ -14,66 +14,41 @@
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.PlatformUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class DefaultsForClientJavaWSDLCommand extends SimpleCommand {
+public class DefaultsForClientJavaWSDLCommand extends AbstractDataModelOperation {
 
 	private JavaWSDLParameter javaWSDLParam_;
 	private IProject proxyProject_;
 	private String WSDLServiceURL_;
 	private String WSDLServicePathname_;
-	private MessageUtils msgUtils_;
-	private MessageUtils coreMsgUtils_;
-	private String moduleName_;
 	
-	private String LABEL = "TASK_LABEL_CLIENT_JAVA_WSDL_DEFAULTS";
-	private String DESCRIPTION = "TASK_DESC_CLIENT_JAVA_WSDL_DEFAULTS";
-
-	public DefaultsForClientJavaWSDLCommand( String moduleName ) {
-		String       pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));		
-		
-		moduleName_ = moduleName;
+	public DefaultsForClientJavaWSDLCommand( ) {
 	}
 	
-	/**
-	 * Constructor for DefaultsForClientJavaWSDLCommand.
-	 */
-	public DefaultsForClientJavaWSDLCommand(
-		JavaWSDLParameter javaWSDLParam,
-		Model model) {
-		//super();
-		String       pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));
-		this.javaWSDLParam_ = javaWSDLParam;
-	}
-
-	public Status execute(Environment environment) {
-		Status status;
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
+		IStatus status;
 		if (javaWSDLParam_ == null) {
-			status = new SimpleStatus("DefaultsForClientJavaWSDLCommand", //$NON-NLS-1$
-					coreMsgUtils_.getMessage(
-				"MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"),
-				Status.ERROR);
+			status = StatusUtils.errorStatus(
+					AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
 			environment.getStatusHandler().reportError(status);
 			return status;
 		}
@@ -84,14 +59,14 @@
 	    ModuleCoreNature mn = ModuleCoreNature.getModuleCoreNature(proxyProject_);
 	    if (mn!=null)
 	    {
-			IPath webModuleServerRoot = ResourceUtils.getJavaSourceLocation(proxyProject_, moduleName_ );
+			IPath webModuleServerRoot = ResourceUtils.getJavaSourceLocation(proxyProject_ );
 			//String output = PlatformUtils.getPlatformURL(webModuleServerRoot);
 			String output =	ResourceUtils.findResource(webModuleServerRoot).getLocation().toString();
 //			String output = ResourceUtils.getWorkspaceRoot().getFolder(webModuleServerRoot).getLocation().toString();
 			javaWSDLParam_.setJavaOutput(output);
 
 
-			IFolder webModuleContainer = ResourceUtils.getWebComponentServerRoot(proxyProject_, moduleName_);
+			IFolder webModuleContainer = ResourceUtils.getWebComponentServerRoot(proxyProject_);
 			if (webModuleContainer !=null)
 			{
 			  IPath webModulePath = webModuleContainer.getFullPath();
@@ -119,7 +94,7 @@
 	 		 else
 	 		 {
 	 			 //Not familiar with this kind of project
-	 	 		 status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_NO_JAVA_NATURE"), Status.ERROR);	
+	 	 		 status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_WARN_NO_JAVA_NATURE);	
 	 	 		 environment.getStatusHandler().reportError(status);
 	 	 		 return status;
 	 			 
@@ -131,10 +106,8 @@
 		if (WSDLServicePathname_ == null) {
 			
 			if (WSDLServiceURL_ == null) {
-				status = new SimpleStatus("DefaultsForClientJavaWSDLCommand", //$NON-NLS-1$
-						msgUtils_.getMessage(
-					"MSG_ERROR_WSDL_LOCATION_NOT_SET"),
-					Status.ERROR);
+				status = StatusUtils.errorStatus(
+						AxisConsumptionUIMessages.MSG_ERROR_WSDL_LOCATION_NOT_SET);
 				environment.getStatusHandler().reportError(status);
 				return status;
 			}
@@ -144,7 +117,7 @@
 
 		javaWSDLParam_.setInputWsdlLocation(WSDLServiceURL_);
 
-		return new SimpleStatus( "" );
+		return Status.OK_STATUS;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EECommandManager.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EECommandManager.java
deleted file mode 100644
index 63e0ff4..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EECommandManager.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.env;
-
-import org.eclipse.wst.command.internal.provisional.env.core.CommandManager;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-
-/**
- * 
- */
-public class J2EECommandManager implements CommandManager
-{
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.core.CommandManager#isUndoEnabled()
-   */
-  public boolean isUndoEnabled()
-  {
-    return false;
-  }
-
-public DataMappingRegistry getMappingRegistry() {
-	return null;
-}
-  
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEEnvironment.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEEnvironment.java
deleted file mode 100644
index d0536f4..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEEnvironment.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.env;
-
-import org.eclipse.wst.command.internal.provisional.env.core.CommandManager;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.JavaCompiler;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.SimpleURIFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIFactory;
-
-
-/**
-*
-*/
-public class J2EEEnvironment implements Environment
-{
-  J2EELog j2eeLog_;
-  J2EEProgressMonitor j2eeProgressMonitor_;
-  J2EEStatusHandler j2eeStatusHandler_;
-  SimpleURIFactory simpleURIFactory_;
-  J2EECommandManager j2eeCommandManager_;
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getLog()
-   */
-  public Log getLog()
-  {
-    if (j2eeLog_ == null)
-    {
-      j2eeLog_ = new J2EELog();
-    }
-    return j2eeLog_;
-    
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getProgressMonitor()
-   */
-  public ProgressMonitor getProgressMonitor()
-  {
-    if (j2eeProgressMonitor_==null)
-    {
-      j2eeProgressMonitor_ = new J2EEProgressMonitor();
-      
-    }
-    return j2eeProgressMonitor_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getStatusHandler()
-   */
-  public StatusHandler getStatusHandler()
-  {
-    if (j2eeStatusHandler_==null)
-    {
-      j2eeStatusHandler_ = new J2EEStatusHandler();
-    }
-    return j2eeStatusHandler_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getURIFactory()
-   */
-  public URIFactory getURIFactory()
-  {
-    if (simpleURIFactory_ == null)
-    { 
-      simpleURIFactory_ = new SimpleURIFactory();
-    }
-    return simpleURIFactory_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getJavaCompiler()
-   */
-  public JavaCompiler getJavaCompiler()
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getCommandManager()
-   */
-  public CommandManager getCommandManager()
-  {
-    if(j2eeCommandManager_ == null)
-    {
-      j2eeCommandManager_ = new J2EECommandManager(); 
-    }
-    return j2eeCommandManager_;
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EELog.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EELog.java
deleted file mode 100644
index cbe455d..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EELog.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.env;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-/**
-*
-*/
-public class J2EELog implements Log
-{
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#isEnabled()
-	 */
-	public boolean isEnabled() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#isEnabled(java.lang.String)
-	 */
-	public boolean isEnabled(String option) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, int, java.lang.Object, java.lang.String, java.lang.Object)
-	 */
-	public void log(int severity, int messageNum, Object caller, String method,
-			Object object) {
-		// TODO Auto-generated method stub
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, int, java.lang.Object, java.lang.String, org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-	 */
-	public void log(int severity, int messageNum, Object caller, String method,
-			Status status) {
-		// TODO Auto-generated method stub
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, int, java.lang.Object, java.lang.String, java.lang.Throwable)
-	 */
-	public void log(int severity, int messageNum, Object caller, String method,
-			Throwable throwable) {
-		// TODO Auto-generated method stub
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, java.lang.String, int, java.lang.Object, java.lang.String, java.lang.Object)
-	 */
-	public void log(int severity, String option, int messageNum, Object caller,
-			String method, Object object) {
-		// TODO Auto-generated method stub
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, java.lang.String, int, java.lang.Object, java.lang.String, org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-	 */
-	public void log(int severity, String option, int messageNum, Object caller,
-			String method, Status status) {
-		// TODO Auto-generated method stub
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, java.lang.String, int, java.lang.Object, java.lang.String, java.lang.Throwable)
-	 */
-	public void log(int severity, String option, int messageNum, Object caller,
-			String method, Throwable throwable) {
-		// TODO Auto-generated method stub
-	}
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEProgressMonitor.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEProgressMonitor.java
deleted file mode 100644
index fec15b9..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEProgressMonitor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.env;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-
-/**
- * @author rsinha
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class J2EEProgressMonitor implements ProgressMonitor
-{
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor#report(java.lang.String)
-   */
-  public void report(String progress)
-  {
-    // TODO Auto-generated method stub
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor#getChildProgressMonitor()
-   */
-  public ProgressMonitor getChildProgressMonitor()
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor#isCancelRequested()
-   */
-  public boolean isCancelRequested()
-  {
-    // TODO Auto-generated method stub
-    return false;
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEStatusHandler.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEStatusHandler.java
deleted file mode 100644
index 9a891ab..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/env/J2EEStatusHandler.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.env;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-
-/**
- * 
- */
-public class J2EEStatusHandler implements StatusHandler
-{
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#report(org.eclipse.wst.command.internal.provisional.env.core.common.Status, org.eclipse.wst.command.internal.provisional.env.core.common.Choice[])
-   */
-  public Choice report(Status status, Choice[] choices)
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#report(org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-   */
-  public void report(Status status) throws StatusException
-  {
-    // TODO Auto-generated method stub
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#reportError(org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-   */
-  public void reportError(Status status)
-  {
-    // TODO Auto-generated method stub
-  }
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#reportInfo(org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-   */
-  public void reportInfo(Status status)
-  {
-    // TODO Auto-generated method stub
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/plugin/WebServiceAxisConsumptionUIPlugin.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/plugin/WebServiceAxisConsumptionUIPlugin.java
index 233ba12..d7eb402 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/plugin/WebServiceAxisConsumptionUIPlugin.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/plugin/WebServiceAxisConsumptionUIPlugin.java
@@ -11,13 +11,11 @@
 
 package org.eclipse.jst.ws.internal.axis.consumption.ui.plugin;
 
-import java.text.MessageFormat;
-
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
+import org.osgi.framework.BundleContext;
 
 
 /**
@@ -39,7 +37,7 @@
 	* The reference to the singleton instance of this plugin.
 	*/
 	private static WebServiceAxisConsumptionUIPlugin instance_;
-	private Log log_;
+	private ILog log_;
 
 	/**
 	* Constructs a runtime plugin object for this plugin.
@@ -47,15 +45,21 @@
 	* class = "org.eclipse.jst.ws.internal.ui.plugin.WebServicePlugin".
 	* @param descriptor The descriptor of this plugin.
 	*/
-	public WebServiceAxisConsumptionUIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
+	public WebServiceAxisConsumptionUIPlugin() {
+		super();
 		if (instance_ == null) {
 			instance_ = this;
 		}
-		log_ = new EclipseLog();
+		log_ = EnvironmentService.getEclipseLog();
 
 	}
 
+  // This method is needed to keep the logging from blowing up.
+  public String toString()
+  {
+    return ID;  
+  }
+  
 	/**
 	* Returns the singleton instance of this plugin. Equivalent to calling
 	* (WebServiceWasConsumptionPlugin)Platform.getPlugin("org.eclipse.jst.ws.was.v5.tp");
@@ -69,51 +73,33 @@
 	* Called once by the platform when this plugin is first loaded.
 	* @throws CoreException If this plugin fails to start.
 	*/
-	public void startup() throws CoreException {
-		log_.log(Log.INFO, 5066, this, "startup", "Starting plugin org.eclipse.jst.ws.axis.consumption.ui");
-		super.startup();
+	public void start( BundleContext bundle ) throws CoreException {
+		log_.log(ILog.INFO, 5066, this, "start", "Starting plugin org.eclipse.jst.ws.axis.consumption.ui");
+    
+    try
+    {
+		  super.start( bundle );
+    }
+    catch( Exception exc )
+    {
+      log_.log( ILog.ERROR, 5066, this, "start", exc );
+    }
 	}
 
 	/**
 	* Called once by the platform when this plugin is unloaded.
 	* @throws CoreException If this plugin fails to shutdown.
 	*/
-	public void shutdown() throws CoreException {
-		log_.log(Log.INFO, 5067, this, "shutdown", "Shutting plugin org.eclipse.jst.ws.axis.consumption.ui");
-		super.shutdown();
+	public void stop( BundleContext context ) throws CoreException {
+		log_.log(ILog.INFO, 5067, this, "shutdown", "Shutting plugin org.eclipse.jst.ws.axis.consumption.ui");
+    
+    try
+    {
+		  super.stop( context );
+    }
+    catch( Exception exc )
+    {
+      log_.log( ILog.ERROR, 5066, this, "stop", exc );      
+    }
 	}
-
-	/**
-	* Returns the message string identified by the given key from
-	* the plugin.properties file for the appropriate locale.
-	* @param key The message key string prefixed by a "%" symbol.
-	* That is, the string passed in must be of the form "%KEY"
-	* where the plugin.properties file contains a line of the
-	* form: "KEY = value".
-	* @return The locale-specific message.
-	*/
-	public static String getMessage(String key) {
-		return instance_.getDescriptor().getResourceString(key);
-	}
-
-	/**
-	* Returns the message string identified by the given key from
-	* the plugin.properties file for the appropriate locale.
-	* Substitution sequences in the message string
-	* are replaced by the given array of substitution objects (which
-	* are most frequently strings). See java.text.MessageFormat for
-	* further details on substitution.
-	* @param key The message key string prefixed by a "%" symbol.
-	* That is, the string passed in must be of the form "%KEY"
-	* where the plugin.properties file contains a line of the
-	* form: "KEY = value".
-	* @param args The substitution values for the message
-	* as required by the message in plugin.properties and
-	* by the rules of class java.text.MessageFormat.
-	* @return The locale-specific message.
-	*/
-	public static String getMessage(String key, Object[] args) {
-		return MessageFormat.format(getMessage(key), args);
-	}
-
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/AddJarsToProjectBuildPathTask.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/AddJarsToProjectBuildPathTask.java
deleted file mode 100644
index b4eeff8..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/AddJarsToProjectBuildPathTask.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.task;
-
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.plugin.WebServiceAxisConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-public class AddJarsToProjectBuildPathTask extends SimpleCommand {
-
-	private String DESCRIPTION = "TASK_DESC_JARS_TO_PROJECT";
-	private String LABEL = "TASK_LABEL_JARS_TO_PROJECT";
-
-	private IJavaProject javaProject_;
-	private IClasspathEntry[] oldClasspath_;
-	private IClasspathEntry[] newClasspath_;
-	private JavaWSDLParameter javaWSDLParam_;
-	private boolean isJ2EE_13 = true;
-	private MessageUtils msgUtils_;
-	
-	private IProject project;
-	private String module_;
-
-	public AddJarsToProjectBuildPathTask()
-	  {
-			String pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-			msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-			setDescription(msgUtils_.getMessage(DESCRIPTION));
-			setName(msgUtils_.getMessage(LABEL));
-			module_ = J2EEUtils.getFirstWebModuleName(project);
-		}
-	
-	public AddJarsToProjectBuildPathTask(String module)
-  {
-		String pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-		msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-		setDescription(msgUtils_.getMessage(DESCRIPTION));
-		setName(msgUtils_.getMessage(LABEL));
-		module_ = module;
-	}
-
-	/**
-	* Execute AddJarsToProjectBuildPathTask
-	*/
-	public Status execute(Environment env) {
-//		try {
-//			if (project.hasNature(IWebNatureConstants.J2EE_NATURE_ID)) {
-//				J2EEWebNatureRuntime webNatureRuntime =
-//					(J2EEWebNatureRuntime) project.getNature(
-//						IWebNatureConstants.J2EE_NATURE_ID);
-//				isJ2EE_13 = webNatureRuntime.isJ2EE1_3();
-//			}
-//		} catch (Exception e) {
-//		}
-//    Status status = new SimpleStatus("");
-//		if (!isJ2EE_13)
-//		{
-//		//	AddJar(project, null, "XERCES_API_JAR", status, environment);
-//		}
-//		return status;
-		
-		Status status = new SimpleStatus("");
-//		 TODO: workaround for 90515 
-		//
-		   // Get the current classpath.
-		   //
-		   javaProject_ = null;
-		   oldClasspath_ = null;
-		   try
-		   {    
-			 javaProject_ = JavaCore.create(project);    
-			 if (javaProject_ != null)
-			 {
-			   oldClasspath_ = javaProject_.getRawClasspath();
-			 }
-			 else
-			 {
-			   status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_NO_JAVA_NATURE"), Status.ERROR);	
-			   env.getStatusHandler().reportError(status);
-			   return status;
-			 }
-		   }
-		   catch (JavaModelException e)
-		   {
-			   status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_NO_JAVA_NATURE"), Status.ERROR);
-			   env.getStatusHandler().reportError(status);
-			   return status;	   	
-		   }
-
-
-			try {
-				
-				ArrayList aList = new ArrayList();
-				String classpathEntry = null;
-				IVirtualComponent component = ComponentCore.createComponent(project, module_);
-				if (component != null) {
-					
-					IVirtualFolder webInfLib = component.getRootFolder().getFolder(new Path(
-							"/WEB-INF/lib"));
-					if (webInfLib != null) {
-						IVirtualResource[] resources = webInfLib.members();
-						IResource aResource = null;
-						
-						for (int i = 0; i < resources.length; i++) {
-							aResource = resources[i].getUnderlyingResource();
-							classpathEntry = aResource.getLocation().toString();
-							if (!FoundClasspathEntry(classpathEntry)) {
-								aList.add(classpathEntry);
-							}
-						}
-					}
-				}
-				
-				int newListSize = aList.size();
-				
-				if (newListSize == 0) {
-					return status;
-				}
-				
-				// Update classpath
-				newClasspath_ = new IClasspathEntry[oldClasspath_.length + newListSize];
-				Iterator iter = aList.iterator();
-		
-				int j=0;
-				while (iter.hasNext()) {
-					newClasspath_[j] = JavaCore.newLibraryEntry(new Path((String)iter.next()), null, null);
-					j++;
-				}
-				for (int i=0; i<oldClasspath_.length; i++) {
-					newClasspath_[j+i] = oldClasspath_[i];
-				}
- 
-			   	 ProgressMonitor monitor = env.getProgressMonitor();
-			   	 IProgressMonitor eclipseMonitor = null;
-			   	 if (monitor instanceof EclipseProgressMonitor)
-			   	 {
-			   	 	eclipseMonitor = ((EclipseProgressMonitor)monitor).getMonitor();
-			   	 }
-				 javaProject_.setRawClasspath(newClasspath_,eclipseMonitor);
-			}
-			   catch (JavaModelException e)
-			   {
-				 status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_BUILDPATH"), Status.WARNING, e);
-				 try
-				 {
-				 	env.getStatusHandler().report(status);	
-				 }
-				 catch(StatusException se)
-				 {
-				 	status = new SimpleStatus("", "User aborted", Status.ERROR);
-				 }
-			   }
-			 catch (CoreException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-//			 end of workaround
-			return status;
-		}  
-		   
-
-		private boolean FoundClasspathEntry(String classpathEntry)  {
-			   
-
-			   boolean found = false;
-			   for (int i=0; i<oldClasspath_.length && !found; i++)
-			   {
-				 if (oldClasspath_[i].getPath().toString().toLowerCase().equals(classpathEntry.toLowerCase())) {
-					 found=true;
-				 }
-			   }
-		   	 return found;
-		}
-
-	private void AddJar(IProject webProject, String pluginId, String jarName, Status status, Environment env)  {
-	   //
-	   // Get the current classpath.
-	   //
-	   javaProject_ = null;
-	   oldClasspath_ = null;
-	   try
-	   {    
-		 javaProject_ = JavaCore.create(webProject);    
-		 if (javaProject_ != null)
-		 {
-		   oldClasspath_ = javaProject_.getRawClasspath();
-		 }
-		 else
-		 {
-		   status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_NO_JAVA_NATURE"), Status.ERROR);	
-		   env.getStatusHandler().reportError(status);
-		   return;
-		 }
-	   }
-	   catch (JavaModelException e)
-	   {
-		   status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_NO_JAVA_NATURE"), Status.ERROR);
-		   env.getStatusHandler().reportError(status);
-		   return;	   	
-	   }
-
-	   boolean found = false;
-	   for (int i=0; i<oldClasspath_.length; i++)
-	   {
-		 found = found || oldClasspath_[i].getPath().toString().toLowerCase().endsWith(jarName.toLowerCase());
-	   }
-
-	   if (found) 
-	   {
-		 return;
-	   }
-
-	   newClasspath_ = new IClasspathEntry[oldClasspath_.length + 1];
-	   int i=0;
-	   while (i<oldClasspath_.length)
-	   {
-		 newClasspath_[i] = oldClasspath_[i];
-		 i++;
-	   }
-
-	   try
-	   {
-		 if(pluginId!=null)
-		 {
-		   newClasspath_[i++] = JavaCore.newLibraryEntry(getTheJarPath(pluginId,jarName), null, null);
-		 }
-		 else
-		 {
-		   newClasspath_[i++] = JavaCore.newVariableEntry(getTheJarPath(pluginId,jarName), null, null);
-		 }
-	   }
-	   catch (CoreException e)
-	   {
-		 status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_BUILDPATH"), Status.WARNING, e);
-		 try
-		 {
-		 	env.getStatusHandler().report(status);
-		 }
-		 catch(StatusException se)
-		 {
-		 	status = new SimpleStatus("","User aborted",Status.ERROR);
-		 }
-		 return;
-	   }
-
-	   //
-	   // Then update the project classpath.
-	   //
-	   try
-	   {
-	   	 ProgressMonitor monitor = env.getProgressMonitor();
-	   	 IProgressMonitor eclipseMonitor = null;
-	   	 if (monitor instanceof EclipseProgressMonitor)
-	   	 {
-	   	 	eclipseMonitor = ((EclipseProgressMonitor)monitor).getMonitor();
-	   	 }
-		 javaProject_.setRawClasspath(newClasspath_,eclipseMonitor);
-	   }
-	   catch (JavaModelException e)
-	   {
-		 status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_BUILDPATH"), Status.WARNING, e);
-		 try
-		 {
-		 	env.getStatusHandler().report(status);	
-		 }
-		 catch(StatusException se)
-		 {
-		 	status = new SimpleStatus("", "User aborted", Status.ERROR);
-		 }
-		 return;
-	   }
-	 }
-
-	//
-	// Returns the local native pathname of the jar.
-	//
-	private IPath getTheJarPath(String pluginId, String theJar)
-		throws CoreException {
-		try {
-			if (pluginId != null) {
-				IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-				IPluginDescriptor pluginDescriptor =
-					pluginRegistry.getPluginDescriptor(pluginId);
-				URL localURL =
-					Platform.asLocalURL(
-						new URL(pluginDescriptor.getInstallURL(), theJar));
-				return new Path(localURL.getFile());
-			} else {
-				return new Path(theJar);
-			}
-		} catch (MalformedURLException e) {
-			throw new CoreException(
-				new org.eclipse.core.runtime.Status(
-					IStatus.WARNING,
-					WebServiceAxisConsumptionUIPlugin.ID,
-					0,
-					msgUtils_.getMessage("MSG_BAD_AXIS_JAR_URL"),
-					e));
-		} catch (IOException e) {
-			throw new CoreException(
-				new org.eclipse.core.runtime.Status(
-					IStatus.WARNING,
-					WebServiceAxisConsumptionUIPlugin.ID,
-					0,
-					msgUtils_.getMessage("MSG_BAD_AXIS_JAR_URL"),
-					e));
-		}
-	}
-
-	public void setProject(IProject project)
-	{
-	  this.project = project;
-	}
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CheckAxisDeploymentDescriptorsTask.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CheckAxisDeploymentDescriptorsTask.java
index 7edd10a..3c87e51 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CheckAxisDeploymentDescriptorsTask.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CheckAxisDeploymentDescriptorsTask.java
@@ -13,36 +13,32 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.ui.eclipse.EnvironmentUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
-public class CheckAxisDeploymentDescriptorsTask extends SimpleCommand {
+public class CheckAxisDeploymentDescriptorsTask extends AbstractDataModelOperation {
 	
-	private MessageUtils msgUtils_;
-	private MessageUtils coreMsgUtils_;
 	private IProject serverProject;
-	private String   moduleName_;
     
-  public CheckAxisDeploymentDescriptorsTask( String moduleName )
+  public CheckAxisDeploymentDescriptorsTask( )
   {
-    String pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-    setDescription(msgUtils_.getMessage("CHECK_WS_DD_TASK_DESCRIPTION"));
-    setName(msgUtils_.getMessage("CHECK_WS_DD_TASK_LABEL"));
-	
-	moduleName_ = moduleName;
   }
 	
-	public Status execute(Environment env) {
-		Status status = new SimpleStatus( "" );
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment env = getEnvironment();
+		IStatus status = Status.OK_STATUS;
 		if(EnvironmentUtils.getResourceContext(env).isOverwriteFilesEnabled()) {
       return status;
 		}
@@ -51,26 +47,26 @@
       IProject project = serverProject;
 	  	  
 
-      filePath = J2EEUtils.getWebInfPath( project, moduleName_ );
+      filePath = J2EEUtils.getWebInfPath( project );
       filePath = filePath.append("/server-config.wsdd");
 
 	  if(filePath==null || filePath.isEmpty())
 		{
-			status = new SimpleStatus("", coreMsgUtils_.getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
+			status = StatusUtils.errorStatus( AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
 			env.getStatusHandler().reportError(status);
 			return status;			
 		}
 
 		IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(filePath);
 		if (file.exists() && !EnvironmentUtils.getResourceContext(env).isOverwriteFilesEnabled())   {
-			status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_XML_FILE_OVERWRITE_DISABLED"), Status.WARNING);
+			status = StatusUtils.warningStatus( AxisConsumptionUIMessages.MSG_ERROR_XML_FILE_OVERWRITE_DISABLED);
 			try
 			{
 				env.getStatusHandler().report(status);
 			}
 			catch(StatusException se)
 			{
-				status = new SimpleStatus("", "User aborted",Status.ERROR);
+				status = StatusUtils.errorStatus( "User aborted");
 			}
 			
 			return status;
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java
index 4e8ea5a..768fb91 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/CopyAxisJarCommand.java
@@ -19,35 +19,33 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.plugin.WebServiceAxisConsumptionUIPlugin;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.common.BundleUtils;
 
 
-public class CopyAxisJarCommand extends SimpleCommand {
+public class CopyAxisJarCommand extends AbstractDataModelOperation {
 
   public static String AXIS_RUNTIME_PLUGIN_ID = "org.apache.axis"; //$NON-NLS-1$
   public static String[] JARLIST = new String[] {
@@ -60,49 +58,34 @@
   };
   public static String PATH_TO_JARS_IN_PLUGIN = "lib/";
 
-  private String DESCRIPTION = "TASK_DESC_COPY_JARS_TO_PROJECT";
-  private String LABEL = "TASK_LABEL_COPY_JARS_TO_PROJECT";
-
-  private MessageUtils msgUtils_;
-  private MessageUtils baseConMsgUtils_;
   private IProject project;
   private Boolean projectRestartRequired_ = Boolean.FALSE;
-  private String  moduleName_;
-
+  
   /**
    * Default CTOR;
    */
-  public CopyAxisJarCommand( String moduleName ) {
-    String pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    baseConMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.consumption.plugin", this );
-    setDescription(msgUtils_.getMessage(DESCRIPTION));
-    setName(msgUtils_.getMessage(LABEL));
-	
-	moduleName_ = moduleName;
+  public CopyAxisJarCommand( ) {
   }
 
   /**
    * Execute the command
    */
-  public Status execute(Environment env) {
-    Status status = new SimpleStatus("");
-    env.getProgressMonitor().report(msgUtils_.getMessage("PROGRESS_INFO_COPY_AXIS_CFG"));
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
+    ProgressUtils.report(monitor, AxisConsumptionUIMessages.PROGRESS_INFO_COPY_AXIS_CFG);
     
-    ModuleCoreNature mn = ModuleCoreNature.getModuleCoreNature(project);
-    if (mn!=null)
+    if (J2EEUtils.isWebComponent(project))
     {
-    	copyAxisJarsToProject(project, status, env);	
+    	copyAxisJarsToProject(project, status, env, monitor);	
     }
     else
     {
     	//Check if it's a plain old Java project
-    	IJavaProject javaProject = null;
-  
- 		 javaProject = JavaCore.create(project);    
- 		 if (javaProject != null)
+ 		 if (J2EEUtils.isJavaComponent(project))
  		 {
- 			status = addAxisJarsToBuildPath(project, env);
+ 			status = addAxisJarsToBuildPath(project, env, monitor);
  			if (status.getSeverity()==Status.ERROR)
  			{
  				env.getStatusHandler().reportError(status);
@@ -111,7 +94,7 @@
  		 }
  		 else
  		 {
- 		   status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_NO_JAVA_NATURE"), Status.ERROR);	
+ 		   status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_WARN_NO_JAVA_NATURE);	
  		   env.getStatusHandler().reportError(status);
  		   return status;
  		 }
@@ -122,17 +105,17 @@
 
   }
 
-  private void copyAxisJarsToProject(IProject project, Status status, Environment env) {
+  private void copyAxisJarsToProject(IProject project, IStatus status, IEnvironment env, IProgressMonitor monitor) {
 //    IPath webModulePath = ResourceUtils.getWebModuleServerRoot(project).getFullPath();
-	IPath webModulePath = J2EEUtils.getWebContentPath( project, moduleName_ );
+	IPath webModulePath = J2EEUtils.getWebContentPath( project );
     if (webModulePath == null) {
-      status = new SimpleStatus("", baseConMsgUtils_.getMessage("MSG_ERROR_PROJECT_NOT_FOUND"), Status.ERROR);
+      status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_PROJECT_NOT_FOUND);
       env.getStatusHandler().reportError(status);
       return;
     }
 	
 	for (int i=0; i<JARLIST.length; ) {
-		copyIFile("lib/"+JARLIST[i], webModulePath, "WEB-INF/lib/"+JARLIST[i++], status, env); 
+		copyIFile("lib/"+JARLIST[i], webModulePath, "WEB-INF/lib/"+JARLIST[i++], status, env, monitor); 
 	    if (status.getSeverity() == Status.ERROR)
 	      return;
 	}
@@ -142,22 +125,20 @@
   /**
    *  
    */
-  private void copyIFile(String source, IPath targetPath, String targetFile, Status status, Environment env) {
+  private void copyIFile(String source, IPath targetPath, String targetFile, IStatus status, IEnvironment env, IProgressMonitor monitor) {
     IPath target = targetPath.append(new Path(targetFile));
-    env.getProgressMonitor().report(baseConMsgUtils_.getMessage("PROGRESS_INFO_COPYING_FILE"));
+    ProgressUtils.report(monitor,ConsumptionMessages.PROGRESS_INFO_COPYING_FILE);
 
     try {
       ResourceContext context = new TransientResourceContext();
       context.setOverwriteFilesEnabled(true);
       context.setCreateFoldersEnabled(true);
       context.setCheckoutFilesEnabled(true);
-      IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-      IPluginDescriptor pluginDescriptor = pluginRegistry.getPluginDescriptor(AXIS_RUNTIME_PLUGIN_ID);
-      Plugin axisrt_plugin = pluginDescriptor.getPlugin();
+      URL sourceURL = BundleUtils.getURLFromBundle( AXIS_RUNTIME_PLUGIN_ID, source );
       IFile resource = ResourceUtils.getWorkspaceRoot().getFile(target);
       if (!resource.exists()) {
-        IFile file = FileResourceUtils.createFile(context, target, axisrt_plugin.openStream(new Path(source)), env.getProgressMonitor(), env
-            .getStatusHandler());
+        IFile file = FileResourceUtils.createFile(context, target, sourceURL.openStream(), monitor, 
+            env.getStatusHandler());
         if (projectRestartRequired_.booleanValue() == false && file.exists()) {
           projectRestartRequired_ = Boolean.TRUE;
         }
@@ -165,13 +146,13 @@
       }
     }
     catch (Exception e) {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_FILECOPY"), Status.ERROR, e);
+      status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_ERROR_FILECOPY, e);
       env.getStatusHandler().reportError(status);
 
     }
   }
 
-  public Status addAxisJarsToBuildPath(IProject p, Environment env)
+  public IStatus addAxisJarsToBuildPath(IProject p, IEnvironment env, IProgressMonitor monitor)
   {
 	  String[] jarNames = new String[JARLIST.length];
 	  for (int i=0; i<JARLIST.length; i++)
@@ -183,19 +164,19 @@
 		  jarNames[i] = jarName;
 	  }
 	  
-	  Status status = addJar(p, AXIS_RUNTIME_PLUGIN_ID, jarNames, env);
+	  IStatus status = addJar(p, AXIS_RUNTIME_PLUGIN_ID, jarNames, env, monitor);
 	  if (status.getSeverity()==Status.ERROR)
 	  {			  
 		  return status;
 	  }
-	  return new SimpleStatus("");
+	  return Status.OK_STATUS;
   }
 
   
-  private Status addJar(IProject webProject, String pluginId, String[] jarNames, Environment env)
+  private IStatus addJar(IProject webProject, String pluginId, String[] jarNames, IEnvironment env, IProgressMonitor monitor)
   {
 
-    Status status = new SimpleStatus("");
+    IStatus status = Status.OK_STATUS;
     //
     // Get the current classpath.
     //
@@ -207,7 +188,7 @@
       oldClasspath = javaProject_.getRawClasspath();
     } catch (JavaModelException jme)
     {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_BUILDPATH"), Status.ERROR, jme);
+      status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_ERROR_BAD_BUILDPATH, jme);
       // env.getStatusHandler().reportError(status);
       return status;
     }
@@ -255,7 +236,7 @@
         }
       } catch (CoreException e)
       {
-        status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_BUILDPATH"), Status.ERROR, e);
+        status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_ERROR_BAD_BUILDPATH, e);
         return status;
       }
 
@@ -264,16 +245,10 @@
       //
       try
       {
-        ProgressMonitor monitor = env.getProgressMonitor();
-        IProgressMonitor eclipseMonitor = null;
-        if (monitor instanceof EclipseProgressMonitor)
-        {
-          eclipseMonitor = ((EclipseProgressMonitor) monitor).getMonitor();
-        }
-        javaProject_.setRawClasspath(newClasspath, eclipseMonitor);
+        javaProject_.setRawClasspath(newClasspath, monitor);
       } catch (JavaModelException e)
       {
-        status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_BUILDPATH"), Status.ERROR, e);
+        status = StatusUtils.errorStatus(AxisConsumptionUIMessages.MSG_ERROR_BAD_BUILDPATH, e);
         return status;
       }
     }
@@ -289,12 +264,7 @@
 			throws CoreException {
 			try {
 				if (pluginId != null) {
-					IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-					IPluginDescriptor pluginDescriptor =
-						pluginRegistry.getPluginDescriptor(pluginId);
-					URL localURL =
-						Platform.asLocalURL(
-							new URL(pluginDescriptor.getInstallURL(), theJar));
+					URL localURL =	Platform.asLocalURL(BundleUtils.getURLFromBundle( pluginId, theJar ) );
 					return new Path(localURL.getFile());
 				} else {
 					return new Path(theJar);
@@ -305,7 +275,7 @@
 						IStatus.WARNING,
 						WebServiceAxisConsumptionUIPlugin.ID,
 						0,
-						msgUtils_.getMessage("MSG_BAD_AXIS_JAR_URL"),
+						AxisConsumptionUIMessages.MSG_ERROR_BAD_BUILDPATH,
 						e));
 			} catch (IOException e) {
 				throw new CoreException(
@@ -313,7 +283,7 @@
 						IStatus.WARNING,
 						WebServiceAxisConsumptionUIPlugin.ID,
 						0,
-						msgUtils_.getMessage("MSG_BAD_AXIS_JAR_URL"),
+						AxisConsumptionUIMessages.MSG_ERROR_BAD_BUILDPATH,
 						e));
 			}
 		}  
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/DefaultsForHTTPBasicAuthCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/DefaultsForHTTPBasicAuthCommand.java
index 1ffb7d0..0a6c00e 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/DefaultsForHTTPBasicAuthCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/DefaultsForHTTPBasicAuthCommand.java
@@ -10,14 +10,14 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.consumption.ui.task;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
 import org.eclipse.jst.ws.internal.consumption.ui.wsil.DialogWWWAuthentication;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WWWAuthenticationException;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServiceEntity;
@@ -25,26 +25,19 @@
 
 
 
-public class DefaultsForHTTPBasicAuthCommand extends SimpleCommand
+public class DefaultsForHTTPBasicAuthCommand extends AbstractDataModelOperation
 {
   private WebServicesParser webServicesParser;
   private String wsdlServiceURL;
   private JavaWSDLParameter javaWSDLParam;
-  private Model model;
 
   public DefaultsForHTTPBasicAuthCommand()
   {
-    super("org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand", "org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand");
+    super();
   }
   
-  public Status execute(Environment env)
-  {
-    //WebServiceElement wse = WebServiceElement.getWebServiceElement(model);
-    //setWebServicesParser((WebServicesParser)wse.getWSParser());
-    //setWsdlServiceURL(wse.getWSDLServiceURL());
-    //if (wsdlServiceURL == null || wsdlServiceURL.length() <= 0)
-    //  setWsdlServiceURL((new Utils()).toFileSystemURI(wse.getWSDLServicePathname()));
-    
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{   
     if (wsdlServiceURL != null && wsdlServiceURL.length() > 0)
     {
       if (webServicesParser == null)
@@ -97,7 +90,7 @@
         }
       }
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   /**
    * @param javaWSDLParam The javaWSDLParam to set.
@@ -107,13 +100,6 @@
   }
 
   /**
-   * @param model The model to set.
-   */
-  public void setModel(Model model) {
-    this.model = model;
-  }
-
-  /**
    * @param wsdlServiceURL The wsdlServiceURL to set.
    */
   public void setWsdlServiceURL(String wsdlServiceURL) {
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/RefreshProjectCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/RefreshProjectCommand.java
index ae95c0f..cd0bdf3 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/RefreshProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/RefreshProjectCommand.java
@@ -13,36 +13,32 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.plugin.WebServiceAxisConsumptionUIPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 
-public class RefreshProjectCommand extends SimpleCommand
+public class RefreshProjectCommand extends AbstractDataModelOperation
 {
-	private static final String LABEL = "TASK_LABEL_REFESH_PROJECT";
-	private static final String DESCRIPTION = "TASK_DESC_REFESH_PROJECT";
-	
 	private IProject project;
-	private MessageUtils msgUtils_;
 
 	public RefreshProjectCommand()
 	{
-		msgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.ui.plugin", this );
-		setName( msgUtils_.getMessage( LABEL ) );
-		setDescription( msgUtils_.getMessage( DESCRIPTION ));
 	}
 
 	/**
 	* Execute RefreshProjectTask
 	*/
-	public Status execute(Environment env)
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
 	{
+		IEnvironment env = getEnvironment();
 		try
 		{
 			if (project!=null)
@@ -50,11 +46,11 @@
 		}
 		catch (CoreException e)
 		{
-		  Status status = new SimpleStatus(WebServiceAxisConsumptionUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_REFRESH_PROJECT"), Status.ERROR, e);
+		  IStatus status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_ERROR_REFRESH_PROJECT, e);
 		  env.getStatusHandler().reportError(status);
 		  return status;
 		}
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	}
 
 	public IProject getProject() {
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanCommand.java
index 534b532..68b9a78 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanCommand.java
@@ -28,21 +28,23 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.util.WSDLUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.common.NameMappingUtils;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
-public class Stub2BeanCommand extends SimpleCommand
+public class Stub2BeanCommand extends AbstractDataModelOperation
 {
   private WebServicesParser webServicesParser;
   private JavaWSDLParameter javaWSDLParam_;
@@ -50,34 +52,19 @@
   private Vector portTypes_;
   private String proxyBean_;
   
-  private String module_ = "";
-  
   private IProject clientProject_;
   
-  private MessageUtils msgUtils_;
-
-  public Stub2BeanCommand()
-  {
-    super("org.eclipse.jst.ws.was.creation.ui.task.Stub2BeanCommand", "org.eclipse.jst.ws.was.creation.ui.task.Stub2BeanCommand");
-    portTypes_ = new Vector();
-    String pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);    
-    //setRunInWorkspaceModifyOperation(false);
-  }
-  
-  public Stub2BeanCommand(String moduleName){
-	  super("org.eclipse.jst.ws.was.creation.ui.task.Stub2BeanCommand", "org.eclipse.jst.ws.was.creation.ui.task.Stub2BeanCommand");
+  public Stub2BeanCommand(){
+	  super();
 	  portTypes_ = new Vector();	  
-	  module_ = moduleName;
-	  String pluginId = "org.eclipse.jst.ws.axis.consumption.ui";
-	  msgUtils_ = new MessageUtils(pluginId + ".plugin", this);	  
   }
 
   /**
   * Execute
   */
-  public Status execute(Environment env)
-  {        
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();       
     String inputWsdlLocation = javaWSDLParam_.getInputWsdlLocation();
     Definition def = webServicesParser.getWSDLDefinition(inputWsdlLocation);
     /*
@@ -108,8 +95,8 @@
 		javaProject = JavaCore.create(clientProject_);    
 		if (javaProject == null)
 		{
-	 		   Status status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_NO_JAVA_NATURE"), Status.ERROR);	
-	 		   env.getStatusHandler().reportError(status);
+	 		   IStatus status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_WARN_NO_JAVA_NATURE);	
+	 		   environment.getStatusHandler().reportError(status);
 	 		   return status;
 		}    	
     }
@@ -119,7 +106,7 @@
     for (Iterator it = services.values().iterator(); it.hasNext();)
     {
       Service service = (Service)it.next();
-      String servicePkgName = WSDLUtils.getPackageName(service, pkg2nsMapping);
+      String servicePkgName = NameMappingUtils.getPackageName(service.getQName().getNamespaceURI(), pkg2nsMapping);
       String serviceClassName = computeClassName(service.getQName().getLocalPart());
       String jndiName = serviceClassName;
       Map ports = service.getPorts();
@@ -163,22 +150,21 @@
             portTypes_.add(portTypeID.toString());
             Stub2BeanInfo stub2BeanInfo = new Stub2BeanInfo();
             stub2BeanInfo.setClientProject(clientProject_);
-            stub2BeanInfo.setClientModuleName(module_);
-            String portTypePkgName = WSDLUtils.getPackageName(portType, pkg2nsMapping);
+            String portTypePkgName = NameMappingUtils.getPackageName(portType.getQName().getNamespaceURI(), pkg2nsMapping);
             String portTypeClassName = computeClassName(portTypeQName.getLocalPart());
             stub2BeanInfo.setPackage(portTypePkgName);
             stub2BeanInfo.setClass(portTypeClassName + "Proxy");
             proxyBean_ = portTypePkgName+"."+portTypeClassName+"Proxy";
             if (jndiName.equals(portTypeClassName))
               portTypeClassName = portTypeClassName + "_PortType";
-            stub2BeanInfo.addSEI(portTypePkgName, portTypeClassName, servicePkgName, serviceClassName, jndiName, port.getName());
+            stub2BeanInfo.addSEI(portTypePkgName, portTypeClassName, servicePkgName, serviceClassName, jndiName, NameMappingUtils.getPortName(port.getName()));
             try
             {              
-              stub2BeanInfo.write( env.getProgressMonitor(), env.getStatusHandler() );
+              stub2BeanInfo.write( monitor, environment.getStatusHandler() );
               if (discoveredWsdlPortElementName != null)
               {
                 // The discovered port was processed. Ignore all other ports and services.
-                return new SimpleStatus("");
+                return Status.OK_STATUS;
               }
             }
             catch (CoreException ce)
@@ -191,48 +177,12 @@
         }
       }
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
-  
-  private final char UNDERSCORE = '_';
 
   private String computeClassName(String className)
   {
-    String classNameCopy = className;
-    int i = classNameCopy.indexOf(UNDERSCORE);
-    while (i != -1)
-    {
-      char c = classNameCopy.charAt(i+1);
-      if (Character.isLowerCase(c))
-      {
-        StringBuffer sb = new StringBuffer();
-        sb.append(classNameCopy.substring(0, i+1));
-        sb.append(Character.toUpperCase(c));
-        sb.append(classNameCopy.substring(i+2, classNameCopy.length()));
-        classNameCopy = sb.toString();
-      }
-      i = classNameCopy.indexOf(UNDERSCORE, i+1);
-    }
-    char[] cArray = new char[classNameCopy.length()];
-    boolean foundDigit = false;
-    for (int j = 0; j < cArray.length; j++)
-    {
-      char c = classNameCopy.charAt(j);
-      if (Character.isDigit(c))
-      {
-        cArray[j] = c;
-        foundDigit = true;
-      }
-      else
-      {
-        if (foundDigit)
-          cArray[j] = Character.toUpperCase(c);
-        else
-          cArray[j] = c;
-        foundDigit = false;
-      }
-    }
-    return new String(cArray);
+	  return NameMappingUtils.xmlNameToJavaClass(className);
   }
 
   /**
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanInfo.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanInfo.java
index 1bca2ea..a48da86 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanInfo.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/Stub2BeanInfo.java
@@ -25,23 +25,20 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jem.java.JavaHelpers;
 import org.eclipse.jem.java.JavaParameter;
 import org.eclipse.jem.java.JavaVisibilityKind;
 import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.util.WSDLUtils;
+import org.eclipse.jst.ws.internal.common.JavaMOFUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
+import org.eclipse.wst.common.environment.IStatusHandler;
 
 public class Stub2BeanInfo
 {
@@ -59,7 +56,6 @@
   private Vector usedNames;
   
   private IProject clientProject_;
-  private String moduleName_;
   
   public Stub2BeanInfo()
   {
@@ -78,14 +74,9 @@
   	this.clientProject_ =  clientProject;
   }
   
-  public void setClientModuleName(String moduleName) {
-	  this.moduleName_ = moduleName;
-  }
-
   public void setPackage(String pkgName)
   {
-    if (pkgName != null && pkgName.length() > 0)
-      package_ = manglePackageName(pkgName);
+	  package_ = pkgName;
   }
 
   public void addImports(String pkgName, String className)
@@ -113,16 +104,15 @@
 
   public void setClass(String className)
   {
-    if (className != null && className.length() > 0)
-      class_ = mangleClassName(className);
+	  class_ = className;
   }
 
   private String toFullyQualifiedClassName(String pkgName, String className)
   {
     StringBuffer sb = new StringBuffer();
-    sb.append(manglePackageName(pkgName));
+    sb.append(pkgName);
     sb.append(".");
-    sb.append(mangleClassName(className));
+    sb.append(className);
     return sb.toString();
   }
 
@@ -144,36 +134,6 @@
       return qname;
   }
 
-  private String manglePackageName(String s)
-  {
-    return replaceInvalidJavaChars(s);
-  }
-
-  private String mangleClassName(String s)
-  {
-    s = firstCharToUpperCase(WSDLUtils.resolveDotInPortName(s));
-    return replaceInvalidJavaChars(s);
-  }
-
-  private String replaceInvalidJavaChars(String s)
-  {
-    char[] c = s.toCharArray();
-    for (int i = 0; i < c.length; i++)
-    {
-      if (!Character.isJavaIdentifierPart(c[i]))
-        c[i] = '.';
-    }
-    return new String(c);
-  }
-
-  private String firstCharToUpperCase(String s)
-  {
-    StringBuffer sb = new StringBuffer();
-    sb.append(s.substring(0, 1).toUpperCase());
-    sb.append(s.substring(1, s.length()));
-    return sb.toString();
-  }
-
   private String firstCharToLowerCase(String s)
   {
     StringBuffer sb = new StringBuffer();
@@ -182,15 +142,6 @@
     return sb.toString();
   }
 
-  private String trimArraySymbol(String s)
-  {
-    int index = s.indexOf("[");
-    if (index != -1)
-      return s.substring(0, index);
-    else
-      return s;
-  }
-
   private String getFullyQualifiedName(JavaHelpers javaHelpers)
   {
     if (javaHelpers.isPrimitive())
@@ -199,7 +150,7 @@
       return javaHelpers.getQualifiedName();
   }
 
-  public void write(ProgressMonitor progressMonitor, StatusHandler statusMonitor) throws CoreException, IOException
+  public void write(IProgressMonitor progressMonitor, IStatusHandler statusMonitor) throws CoreException, IOException
   {
     StringWriter sw = new StringWriter(2048);
     writePackage(sw);
@@ -217,22 +168,20 @@
     sb = new StringBuffer(sb.toString().replace('.', '/'));
     sb.append(".java");
 
-    JavaEMFNature javaMOF = (JavaEMFNature)JavaEMFNature.createRuntime(clientProject_);
     ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
     IPath sourceFolderPath = null;
     IPath filePath = null;
     ModuleCoreNature mn = ModuleCoreNature.getModuleCoreNature(clientProject_);
     if (mn!=null)
     {
-    	sourceFolderPath = ResourceUtils.getJavaSourceLocation(clientProject_, moduleName_);
+    	sourceFolderPath = ResourceUtils.getJavaSourceLocation(clientProject_);
         IFolder sourceFolder = (IFolder)ResourceUtils.findResource(sourceFolderPath);
         filePath = sourceFolder.getFile(new Path(sb.toString())).getFullPath();    	
     }
     else
     {
         // It's a plain old Java project
-    	IJavaProject javaProject = null;    	  
-		javaProject = JavaCore.create(clientProject_);
+    	JavaCore.create(clientProject_);
 
 		sourceFolderPath = ResourceUtils.getJavaSourceLocation(clientProject_);
 		IResource sourceFolderResource = ResourceUtils.findResource(sourceFolderPath);
@@ -371,7 +320,7 @@
     */
     StringTokenizer st = new StringTokenizer(seis_.toString(), ";");
     StringTokenizer serviceTokens = new StringTokenizer(services_.toString(), ";");
-    StringTokenizer jndiNameTokens = new StringTokenizer(jndiNames_.toString(), ";");
+    //StringTokenizer jndiNameTokens = new StringTokenizer(jndiNames_.toString(), ";");
     StringTokenizer portTokens = new StringTokenizer(ports_.toString(), ";");
     /*
     if (st.hasMoreTokens())
@@ -409,7 +358,7 @@
       w.write(" = (new ");
       w.write(serviceTokens.nextToken());
       w.write("Locator()).get");
-      w.write(replaceInvalidJavaChars(WSDLUtils.resolveDotInPortName(portTokens.nextToken())));
+      w.write(portTokens.nextToken());
       w.write("();");
       newLine(w);
       w.write("if (");
@@ -476,27 +425,7 @@
     }
   }
 
-  private void writeUseJNDI(Writer w) throws IOException
-  {
-    newLine(w);
-    w.write("public void useJNDI(boolean useJNDI) {");
-    incrementIndent();
-    newLine(w);
-    w.write("_useJNDI = useJNDI;");
-    newLine(w);
-    StringTokenizer st = new StringTokenizer(seis_.toString(), ";");
-    while (st.hasMoreTokens())
-    {
-      w.write(firstCharToLowerCase(getClassName(st.nextToken())));
-      w.write(" = null;");
-      newLine(w);
-    }
-    decrementIndent();
-    newLine(w);
-    w.write("}");
-    newLine(w);
-  }
-
+ 
   private void writeSEIGetters(Writer w) throws IOException
   {
     StringTokenizer st = new StringTokenizer(seis_.toString(), ";");
@@ -538,12 +467,11 @@
     newLine(w);
     //WebServiceElement wse = WebServiceElement.getWebServiceElement(model_);
     if (clientProject_ == null) return;//wse.getProxyProject();
-    JavaEMFNature javaMOF = (JavaEMFNature)JavaEMFNature.createRuntime(clientProject_);
     StringTokenizer st = new StringTokenizer(seis_.toString(), ";");
     while (st.hasMoreTokens())
     {
       String sei = st.nextToken();
-      JavaClass javaClass = (JavaClass)JavaClassImpl.reflect(getPackageName(sei), getClassName(sei), javaMOF.getResourceSet());
+      JavaClass javaClass = JavaMOFUtils.getJavaClass(getPackageName(sei), getClassName(sei), clientProject_);
       if (javaClass != null)
       {
         List methods = javaClass.getMethods();
@@ -655,20 +583,6 @@
     newLine(w);
   }
 
-  private void createParentFolder(IResource res) throws CoreException
-  {
-    IResource parent = res.getParent();
-    if (parent != null && parent != res && parent instanceof IFolder)
-    {
-      IFolder folder = (IFolder)parent;
-      if (!folder.exists())
-      {
-        createParentFolder(folder);
-        folder.create(true, true, null);
-      }
-    }
-  }
-
   private void incrementIndent()
   {
     indentCount++;
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/ValidateWSDLCommand.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/ValidateWSDLCommand.java
index 8b973b2..cbbd872 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/ValidateWSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/task/ValidateWSDLCommand.java
@@ -13,45 +13,46 @@
 
 import javax.wsdl.Definition;
 
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
 
-public class ValidateWSDLCommand extends SimpleCommand
+public class ValidateWSDLCommand extends AbstractDataModelOperation
 {
   private WebServicesParser webServicesParser;
   private String wsdlURI;
 
   public ValidateWSDLCommand()
   {
-    super("org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand", "org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand");
   }
 
-  public Status execute(Environment env)
-  {
-	MessageUtils msgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.ui.plugin", this );
-	
-    if (wsdlURI != null && wsdlURI.length() > 0)
-    {
-      Definition definition = webServicesParser.getWSDLDefinition(wsdlURI);
-      if (definition != null)
-      {
-        int numServices = definition.getServices().size();
-        if (numServices < 1)
-        {
-          Status status = new SimpleStatus(WebServiceConsumptionUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_WSDL_HAS_NO_SERVICE_ELEMENT", new Object[] {wsdlURI}), Status.ERROR, null);
-          env.getStatusHandler().reportError(status);
-          return status;
-        }
-      }
-    }
-    return new SimpleStatus("");
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
+		if (wsdlURI != null && wsdlURI.length() > 0)
+		{
+			Definition definition = webServicesParser.getWSDLDefinition(wsdlURI);
+			if (definition != null)
+			{
+				int numServices = definition.getServices().size();
+				if (numServices < 1)
+				{
+					IStatus status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_ERROR_WSDL_HAS_NO_SERVICE_ELEMENT, new Object[] {wsdlURI}), null);
+					environment.getStatusHandler().reportError(status);
+					return status;
+				}
+			}
+		}
+		return Status.OK_STATUS;
   }
 
   /**
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/ClasspathUtils.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/ClasspathUtils.java
index e87ab16..be0098c 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/ClasspathUtils.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/ClasspathUtils.java
@@ -13,9 +13,10 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.Vector;
 
-import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -24,12 +25,13 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
 import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
@@ -40,12 +42,9 @@
 	public static final String copyright = "(c) Copyright IBM Corporation 2003."; //$NON-NLS-1$
 
 	private static ClasspathUtils instance_; //$NON-NLS-1$
-	private static String DIR_CLASSES = "classes"; //$NON-NLS-1$
-	private static String DIR_LIB = "lib"; //$NON-NLS-1$
 	private static String DOT_JAR = ".jar"; //$NON-NLS-1$
 	private static String JAR = "jar"; //$NON-NLS-1$
 	private static String WEBINF_LIB = "/WEB-INF/lib"; //$NON-NLS-1$
-	private static String WEBINF = "WEB-INF"; //$NON-NLS-1$
 	
 	// workaround for Axis-2146 - lower case list of JARs that may include javax.activation.DataHandler
 	private static String[] JARLIST = new String[] {
@@ -65,9 +64,9 @@
 		return instance_;
 	}
 	
-	public String getClasspathString(IProject project, String module) {
+	public String getClasspathString(IProject project) {
 		StringBuffer classpath = new StringBuffer();
-		String[] classpathEntries = getClasspath(project, false, module);
+		String[] classpathEntries = getClasspath(project, false);
 
 		Vector classpathVector = new Vector();
 		for (int i = 0; i < classpathEntries.length; i++) {
@@ -81,74 +80,80 @@
 	}
 
 		
-	private String[] getClasspath(IProject project, boolean isDependent, String inputModule) {
-//		 inputModule is valid only if it's not a dependent project
+	private String[] getClasspath(IProject project, boolean isDependent) {
 		String[] moduleClasspath = new String[0];
 		ArrayList projectClasspath = new ArrayList();
 		boolean needJavaClasspath = false;
-		StructureEdit mc = null;
-		IFolder webModuleServerRoot = null;
-		String resourceLocation = null;
-		IFolder webModuleClasses = null;
 		
-		try {
-			String module;
-			mc = StructureEdit.getStructureEditForRead(project);
-			WorkbenchComponent[] wbcs = mc.getWorkbenchModules();
-			for (int i = 0; i < wbcs.length; i++) {
-				module = wbcs[i].getName();
-				// get the module's classpath
-				if (J2EEUtils.isEARComponent(project, module)) {
-					moduleClasspath = getClasspathForEARProject(project, module);
-				} else if (J2EEUtils.isWebComponent(project, module)) {
-					webModuleServerRoot = StructureEdit.getOutputContainerRoot(wbcs[i]);
-					if (webModuleServerRoot != null) { 
-						webModuleClasses = webModuleServerRoot.getFolder(WEBINF).getFolder(DIR_CLASSES);
-						if (webModuleClasses != null)
-							moduleClasspath = new String[] { webModuleClasses.getLocation().toOSString() };
-					}
-				} else if (J2EEUtils.isJavaComponent(project, module)) {
-					needJavaClasspath = true;
-					webModuleServerRoot = StructureEdit.getOutputContainerRoot(wbcs[i]);
-					if (webModuleServerRoot != null) { 
-						moduleClasspath = new String[] { webModuleServerRoot.getLocation().toOSString() };
-					}
-				}
-				
-				// add module classpath to project classpath
+		IVirtualComponent comp = ComponentCore.createComponent(project);
+		if (comp != null) {
+			// get the module's classpath
+			
+			if (J2EEUtils.isEARComponent(comp)) {
+				moduleClasspath = getClasspathForEARProject(project, comp.getName());
+//				 add module classpath to project classpath
 				for (int j = 0; j < moduleClasspath.length; j++) {
 					projectClasspath.add(moduleClasspath[j]);
 				}
+			} else if (J2EEUtils.isWebComponent(comp) || J2EEUtils.isJavaComponent(comp)) {
+				needJavaClasspath = true;
+				
+				IContainer outputContainer = null;
+				IResource fragmentRoot = null;
+				IPackageFragmentRoot[] pkgFragmentRoot = ResourceUtils.getJavaPackageFragmentRoots(project);
+				ArrayList webModuleClasspath = new ArrayList();
+				try {
+					for (int i = 0; i < pkgFragmentRoot.length; i++) {
+						fragmentRoot = pkgFragmentRoot[i].getCorrespondingResource();
+						if (fragmentRoot != null
+								&& (fragmentRoot.getProject().equals(project))
+								&& (fragmentRoot.getType() != IResource.FILE)) {					
+							outputContainer = J2EEProjectUtilities.getOutputContainer(project, pkgFragmentRoot[i]);
+							if (outputContainer != null) { 
+								webModuleClasspath.add(outputContainer.getLocation().toOSString());
+							}
+						}
+					}
+				} catch (JavaModelException e) {
+				}
+				
+				// add Web module classpath to project classpath
+				Iterator iter = webModuleClasspath.iterator();
+				while (iter.hasNext()) {
+					projectClasspath.add((String) iter.next());
+				}		
 			}
+			
 			if (!isDependent) {
-				if (J2EEUtils.isWebComponent(project, inputModule)) {
+				if (J2EEUtils.isWebComponent(comp)) {
 					needJavaClasspath = true;
-					moduleClasspath = getWEBINFLib(project, inputModule);
+					moduleClasspath = getWEBINFLib(project);
 					for (int j = 0; j < moduleClasspath.length; j++) {
 						projectClasspath.add(moduleClasspath[j]);
 					}
 				}
 			}
 			
-			// If there are Web or Java module in the project, get the project's Java classpath
-			if (needJavaClasspath) {
-				String[] javaClasspath;
-				try {
-					IJavaProject javaProj = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-					if (javaProj != null) {
-						javaClasspath = getClasspathForJavaProject(javaProj);
-						for (int j = 0; j < javaClasspath.length; j++) {
-							projectClasspath.add(javaClasspath[j]);
-						}
-					}
-				} catch (CoreException e) {
-					// not able to get Java classpath, just ignore
-				}	
-			}
-		} finally {
-			if (mc != null)
-				mc.dispose();
+		} else {
+			needJavaClasspath = true;
 		}
+		
+		// If there are Web or Java module in the project, get the project's Java classpath
+		if (needJavaClasspath) {
+			String[] javaClasspath;
+			try {
+				IJavaProject javaProj = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
+				if (javaProj != null) {
+					javaClasspath = getClasspathForJavaProject(javaProj);
+					for (int j = 0; j < javaClasspath.length; j++) {
+						projectClasspath.add(javaClasspath[j]);
+					}
+				}
+			} catch (CoreException e) {
+				// not able to get Java classpath, just ignore
+			}	
+		}
+		
 		return (String[]) projectClasspath.toArray(new String[projectClasspath.size()]);
 	}
 
@@ -156,25 +161,17 @@
 	private String[] getUtilityJarClasspath(IProject project) {
 		String[] moduleClasspath = new String[0];
 		ArrayList utilityJarsClasspath = new ArrayList();
-		StructureEdit mc = null;
-		try {
-			String module;
-			mc = StructureEdit.getStructureEditForRead(project);
-			WorkbenchComponent[] wbcs = mc.getWorkbenchModules();
-			for (int i = 0; i < wbcs.length; i++) {
-				module = wbcs[i].getName();
-				if (J2EEUtils.isEARComponent(project, module)) {
-					moduleClasspath = getClasspathForEARProject(project, module);
-					for (int j = 0; j < moduleClasspath.length; j++) {
-						utilityJarsClasspath.add(moduleClasspath[j]);
-					}
-				}
+		
+		String module;
+		IVirtualComponent comp = ComponentCore.createComponent(project);
+		module = comp.getName();
+		if (J2EEUtils.isEARComponent(comp)) {
+			moduleClasspath = getClasspathForEARProject(project, module);
+			for (int j = 0; j < moduleClasspath.length; j++) {
+				utilityJarsClasspath.add(moduleClasspath[j]);
 			}
-
-		} finally {
-			if (mc != null)
-				mc.dispose();
 		}
+
 		return (String[]) utilityJarsClasspath.toArray(new String[utilityJarsClasspath.size()]);
 	}
 	
@@ -199,12 +196,11 @@
 		return jars;
 	}
 
-	private String[] getWEBINFLib(IProject project, String module) {
+	private String[] getWEBINFLib(IProject project) {
 		String[] webinfLibJars = new String[0];
 		ArrayList anArrayList = new ArrayList();
-		try {
-			String resourceLocation = null;
-					IVirtualComponent component = ComponentCore.createComponent(project, module);
+		try {			
+					IVirtualComponent component = ComponentCore.createComponent(project);
 					if (component != null) {
 						
 						IVirtualFolder webInfLib = component.getRootFolder().getFolder(new Path(
@@ -283,7 +279,7 @@
 			{			
 				return getClasspath(
 					ResourcesPlugin.getWorkspace().getRoot().getProject(
-						entry.getPath().lastSegment()), true, "");
+						entry.getPath().lastSegment()), true);
 			}
 			case IClasspathEntry.CPE_SOURCE :
 				{
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/FileUtil.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/FileUtil.java
index 68269d1..52f98d9 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/FileUtil.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/FileUtil.java
@@ -14,7 +14,6 @@
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.InputStream;
-
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.runtime.CoreException;
@@ -31,10 +30,10 @@
   {
     InputStream is = null;
     FileOutputStream fos = null;
+    
     try
     {
       is = new FileInputStream(src);
-      byte buff[] = new byte[1024];
       fos = new FileOutputStream(dest);
       int c = 0;
       byte[] array = new byte[1024];
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/PlatformUtils.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/PlatformUtils.java
index cb652a1..518496b 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/PlatformUtils.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/PlatformUtils.java
@@ -13,7 +13,6 @@
 
 import java.net.MalformedURLException;
 import java.net.URL;
-
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java
index 42afccb..8f1a0da 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java
@@ -17,7 +17,6 @@
 import java.util.Locale;
 import java.util.Map;
 import java.util.StringTokenizer;
-
 import javax.wsdl.Binding;
 import javax.wsdl.Definition;
 import javax.wsdl.Port;
@@ -27,21 +26,12 @@
 import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLReader;
 import javax.xml.namespace.QName;
-
 import org.apache.axis.wsdl.toJava.Utils;
 import org.eclipse.wst.wsdl.internal.impl.wsdl4j.WSDLFactoryImpl;
 
 public class WSDLUtils {
 
   private static final String DOT = ".";
-  private static final String SLASH = "/";
-  private static final String PROTOCOL_SUFFIX = "://";
-
-  /**
-   * Tokens in a namespace that are treated as package name part separators.
-   * Used by normalizePackageName.
-   */
-  private static final char[] pkgSeparators = { ':', '\\', '/' };
 
   /**
   * These are java keywords as specified at the following URL (sorted alphabetically).
@@ -170,7 +160,6 @@
 
     WSDLFactory wsdlFactory;
     Definition definition = null;
-    String wsdlLocation = null;
     try {
       wsdlFactory = new WSDLFactoryImpl();
       WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
@@ -493,22 +482,6 @@
 //    return normalizePackageName(sb.toString(), DOT.charAt(0));
   }
 
-  /**
-   * normalizePackageName
-   * @param pkg
-   * @param separator
-   * @return normalize a String (package name) and repalcing 
-   *         ':', '\\', '/' by separator (DOT).
-   */
-  private static String normalizePackageName(String pkg, char separator)
-  {
-	if (pkg == null) {
-		return pkg;
-	}
-	for(int i=0; i<pkgSeparators.length; i++)
-	   pkg = pkg.replace(pkgSeparators[i], separator);
-	return pkg;
-  }
   
   public static String resolveDotInPortName(String name) {
 	if(name.indexOf(".")<0)
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisClientCommandsFragment.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisClientCommandsFragment.java
deleted file mode 100644
index bf515af..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisClientCommandsFragment.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.widgets;
-
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.AddJarsToProjectBuildPathTask;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.RefreshProjectCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.Stub2BeanCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand;
-import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
-import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
-import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
-import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-
-
-public class AxisClientCommandsFragment extends BooleanFragment
-{
-  private boolean genProxy_;
-  
-  public AxisClientCommandsFragment()
-  {
-    SequenceFragment root = new SequenceFragment();
-    
-    root.add(new SimpleFragment(new DefaultsForHTTPBasicAuthCommand(), ""));
-    //root.add(new SimpleFragment(new CopyAxisJarCommand(), ""));
-    root.add(new SimpleFragment(new AddJarsToProjectBuildPathTask(), ""));
-    //root.add(new SimpleFragment(new DefaultsForClientJavaWSDLCommand(), "")); 
-    root.add(new SimpleFragment(new ValidateWSDLCommand(), ""));
-    root.add(new SimpleFragment(new WSDL2JavaCommand(), "")); 
-    root.add(new SimpleFragment(new RefreshProjectCommand(), ""));
-    root.add(new SimpleFragment(new Stub2BeanCommand(), ""));
-    root.add(new SimpleFragment(new BuildProjectCommand(), ""));
-    
-    setCondition( new Condition()
-                  {
-                    public boolean evaluate()
-                    {
-                      return genProxy_;
-                    }
-                  });
-    setTrueFragment( root );
-  }
-  
-  public void setGenerateProxy( boolean genProxy )
-  {
-    genProxy_ = genProxy;
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisClientFragment.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisClientFragment.java
deleted file mode 100644
index 7d51082..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisClientFragment.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.widgets;
-
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientDefaultingCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.command.DefaultsForClientJavaWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.AddJarsToProjectBuildPathTask;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CopyAxisJarCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.RefreshProjectCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.Stub2BeanCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand;
-import org.eclipse.jst.ws.internal.common.StringToIProjectTransformer;
-import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionOutputCommand;
-import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
-import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
-import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-
-
-public class AxisClientFragment extends SequenceFragment 
-{
-
-	public AxisClientFragment() 
-	{
-		//add(new SimpleFragment(new AxisClientDefaultingCommand(), ""));
-		add(new SimpleFragment("AxisClientStart"));
-		add(new MappingFragment());
-		add(new AxisClientCommandsFragment());
-		// TODO: Look into AddWSDLtoWSILCommand for the client scenario
-	}
-	
-	public void registerDataMappings(DataMappingRegistry registry) 
-	{
-		// AxisClientDefaultingCommand
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProject", AxisClientDefaultingCommand.class, "ClientProject",
-				new StringToIProjectTransformer());
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "ClientRuntime", AxisClientDefaultingCommand.class, "ClientRuntimeID",
-				null);
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "WebServicesParser", AxisClientDefaultingCommand.class);
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProjectEAR", AxisClientDefaultingCommand.class,
-				"ClientProjectEAR", new StringToIProjectTransformer());
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "WsdlURI", AxisClientDefaultingCommand.class, "WsdlURL", null); // URI
-																																	// to
-		// URL
-		// transformer
-		// req'd??
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "TestProxySelected", AxisClientDefaultingCommand.class,
-				"TestProxySelected", null);
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServer", AxisClientDefaultingCommand.class);
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "IsClientScenario", AxisClientDefaultingCommand.class);
-		registry.addMapping(ClientExtensionDefaultingCommand.class, "GenerateProxy", AxisClientDefaultingCommand.class);
-		// DefaultsForHTTPBasicAuthCommand()
-		registry.addMapping(AxisClientDefaultingCommand.class, "JavaWSDLParam", DefaultsForHTTPBasicAuthCommand.class); //OK
-		registry.addMapping(AxisClientDefaultingCommand.class, "WsdlURL", DefaultsForHTTPBasicAuthCommand.class, "WsdlServiceURL", null); //OK
-		registry.addMapping(AxisClientDefaultingCommand.class, "WebServicesParser", DefaultsForHTTPBasicAuthCommand.class); //OK
-	    registry.addMapping(AxisClientDefaultingCommand.class, "CustomizeClientMappings", MappingFragment.class );    
-		
-		registry.addMapping(AxisClientDefaultingCommand.class, "ClientProject", CopyAxisJarCommand.class, "Project", null);
-		// AddJarsToProjectBuildPathTask()
-		registry.addMapping(AxisClientDefaultingCommand.class, "ClientProject", AddJarsToProjectBuildPathTask.class, "Project", null);
-		// DefaultsForClientJavaWSDLCommand() // javaParam_, model_
-		registry.addMapping(AxisClientDefaultingCommand.class, "JavaWSDLParam", DefaultsForClientJavaWSDLCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "ClientProject", DefaultsForClientJavaWSDLCommand.class, "ProxyProject",
-				null);
-		//		registry.addMapping(AxisClientDefaultingCommand.class, "WsdlURL",
-		// DefaultsForClientJavaWSDLCommand.class,"WSDLServicePathname",null);
-		// //
-		// URL to URL??
-		registry.addMapping(AxisClientDefaultingCommand.class, "WsdlURL", DefaultsForClientJavaWSDLCommand.class, "WSDLServiceURL", null); // URI
-		// to
-		// URL??
-		// ValidateWSDLCommand()
-		registry.addMapping(AxisClientDefaultingCommand.class, "JavaWSDLParam", ValidateWSDLCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "WsdlServiceURL", ValidateWSDLCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "WebServicesParser", ValidateWSDLCommand.class);
-		// WSDL2JavaCommand() // javaParam_
-		registry.addMapping(AxisClientDefaultingCommand.class, "JavaWSDLParam", WSDL2JavaCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "WsdlURL", WSDL2JavaCommand.class, "WsdlURI", null); // URL
-																													// to
-																													// URI??
-		// RefreshProjectCommand()
-		registry.addMapping(AxisClientDefaultingCommand.class, "ClientProject", RefreshProjectCommand.class, "Project", null);
-		// Stub2BeanCommand()
-		registry.addMapping(AxisClientDefaultingCommand.class, "JavaWSDLParam", Stub2BeanCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "WebServicesParser", Stub2BeanCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "ClientProject", Stub2BeanCommand.class);
-		// BuildProjectCommand()
-		registry.addMapping(AxisClientDefaultingCommand.class, "ClientProject", BuildProjectCommand.class, "Project", null);
-		registry.addMapping(AxisClientDefaultingCommand.class, "ForceBuild", BuildProjectCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "ValidationManager", BuildProjectCommand.class);
-		registry.addMapping(Stub2BeanCommand.class, "ProxyBean", ClientExtensionOutputCommand.class, "ProxyBean", null);
-		registry.addMapping(AxisClientDefaultingCommand.class, "GenerateProxy", AxisClientCommandsFragment.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "GenerateProxy", ClientExtensionOutputCommand.class);
-		registry.addMapping(AxisClientDefaultingCommand.class, "SetEndpointMethod", ClientExtensionOutputCommand.class);
-	}
-
-	public class MappingFragment extends BooleanFragment {
-
-		private boolean showMappings_;
-		public MappingFragment() {
-
-			super();
-			setTrueFragment(new SimpleFragment("AxisClientBeanMapping"));
-			setCondition(new Condition() {
-
-				public boolean evaluate() {
-
-					return showMappings_;
-				}
-			});
-		}
-		public void setCustomizeClientMappings(boolean showMappings) {
-
-			showMappings_ = showMappings;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsFragment.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsFragment.java
index 2671563..b26999e 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsFragment.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsFragment.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.consumption.ui.widgets;
 
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
 
 
 public class AxisMappingsFragment extends BooleanFragment
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsWidget.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsWidget.java
index 63ae2a2..ad8f74f 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsWidget.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisMappingsWidget.java
@@ -14,7 +14,9 @@
 import java.util.HashMap;
 import java.util.List;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.TableViewerWidget;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -25,8 +27,6 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 public class AxisMappingsWidget extends SimpleWidgetDataContributor
@@ -57,28 +57,27 @@
   
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
         
     // TODO The TOOLTIP_PWJM_PAGE key doesn't seem to exist anywhere???
 	//parent.setToolTipText( msgUtils.getMessage( "TOOLTIP_PWJM_PAGE" ) );
     PlatformUI.getWorkbench().getHelpSystem().setHelp( parent, pluginId_ + "." + INFOPOP_PWJM_PAGE );
     
     Text mappingLabel = new Text( parent, SWT.READ_ONLY | SWT.WRAP );
-    mappingLabel.setText( msgUtils.getMessage( "LABEL_MAPPING_PAIRS" ) );
+    mappingLabel.setText( AxisConsumptionUIMessages.LABEL_MAPPING_PAIRS );
     mappingLabel.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
                                                
     List initValues = new ArrayList();
     
     if( mode_ == MODE_BEAN2XML || mode_ == MODE_EJB2XML) 
     {
-		String[] columns = { msgUtils.getMessage("TABLE_COLUMN_LABEL_PACKAGE"),
-		                     msgUtils.getMessage("TABLE_COLUMN_LABEL_NAMESPACE" )};
+		String[] columns = { AxisConsumptionUIMessages.TABLE_COLUMN_LABEL_PACKAGE,
+							AxisConsumptionUIMessages.TABLE_COLUMN_LABEL_NAMESPACE};
 		mappings_ = new TableViewerWidget( columns, initValues, new String[] {DEFAULT_PACKAGE, DEFAULT_NAMESPACE}, TableViewerWidget.MAP_ONE_TO_ONE); //$NON-NLS-1$
     }
 	else 
 	{
-      	String[] columns = { msgUtils.getMessage("TABLE_COLUMN_LABEL_NAMESPACE"),
-		                     msgUtils.getMessage("TABLE_COLUMN_LABEL_PACKAGE")};
+      	String[] columns = { AxisConsumptionUIMessages.TABLE_COLUMN_LABEL_NAMESPACE,
+      						AxisConsumptionUIMessages.TABLE_COLUMN_LABEL_PACKAGE};
 		mappings_ = new TableViewerWidget( columns, initValues, new String[] {DEFAULT_NAMESPACE, DEFAULT_PACKAGE }, TableViewerWidget.MAP_MANY_TO_ONE); //$NON-NLS-1$
 	}
     
@@ -87,7 +86,7 @@
     return this;
   }
   
-  public Status getStatus()
+  public IStatus getStatus()
   {
     return mappings_.getStatus();  
   }
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisProxyWidget.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisProxyWidget.java
index ffe4c67..fd7e076 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisProxyWidget.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/AxisProxyWidget.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.consumption.ui.widgets;
 
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -21,7 +22,6 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 
 public class AxisProxyWidget extends SimpleWidgetDataContributor
@@ -30,17 +30,14 @@
   
   /*CONTEXT_ID PWJB0001 for the WSDL to Java Bindings Page*/
   private final String INFOPOP_PWJB_PAGE = "PWJB0001";	//$NON-NLS-1$
-  private final String TOOLTIP_PWJB_PAGE = "TOOLTIP_PWJB_PAGE";
 		
   private Text folderText_;
   /*CONTEXT_ID PWJB0003 for the Folder field of the WSDL to Java Bindings Page*/
   private final String INFOPOP_PWJB_TEXT_FOLDER = "PWJB0003";	//$NON-NLS-1$
-  private final String TOOLTIP_PWJB_TEXT_FOLDER = "TOOLTIP_PWJB_TEXT_FOLDER";
 
   private Button genProxyCheckbox_;
   /*CONTEXT_ID PWJB0009 Indicates whether to generate a proxy or not. */
   private final String INFOPOP_PWJB_CHECKBOX_GENPROXY = "PWJB0009";	//$NON-NLS-1$
-  private final String TOOLTIP_PWJB_CHECKBOX_GENPROXY = "TOOLTIP_PWJB_CHECKBOX_GENPROXY";
 		
   private Button showMappingsCheckbox_;
   /*CONTEXT_ID PWJB0016 for the Show Mappings checkbox of the Bean Methods Page*/
@@ -48,14 +45,13 @@
   
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils, pluginId_ );
+    UIUtils      uiUtils  = new UIUtils( pluginId_ );
     
-	parent.setToolTipText( msgUtils.getMessage( TOOLTIP_PWJB_PAGE ) );
+	parent.setToolTipText( AxisConsumptionUIMessages.TOOLTIP_PWJB_PAGE );
 	PlatformUI.getWorkbench().getHelpSystem().setHelp( parent, pluginId_ + "." +  INFOPOP_PWJB_PAGE);
     
-    genProxyCheckbox_ = uiUtils.createCheckbox( parent, "CHECKBOX_GENPROXY",
-                                                TOOLTIP_PWJB_CHECKBOX_GENPROXY,
+    genProxyCheckbox_ = uiUtils.createCheckbox( parent, AxisConsumptionUIMessages.CHECKBOX_GENPROXY,
+    											AxisConsumptionUIMessages.TOOLTIP_PWJB_CHECKBOX_GENPROXY,
                                                 INFOPOP_PWJB_CHECKBOX_GENPROXY );
     genProxyCheckbox_.addListener( SWT.Selection, statusListener );
     
@@ -69,15 +65,15 @@
     
     Composite textGroup = uiUtils.createComposite( parent, 2, 5, 0 );
     
-    folderText_ = uiUtils.createText( textGroup, "LABEL_FOLDER_NAME",
-                                      TOOLTIP_PWJB_TEXT_FOLDER,
-                                      INFOPOP_PWJB_TEXT_FOLDER,
-                                      SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
+    folderText_ = uiUtils.createText( textGroup, AxisConsumptionUIMessages.LABEL_FOLDER_NAME,
+    									AxisConsumptionUIMessages.TOOLTIP_PWJB_TEXT_FOLDER,
+    									INFOPOP_PWJB_TEXT_FOLDER,
+    									SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     folderText_.addListener( SWT.Modify, statusListener );
     
-    showMappingsCheckbox_ = uiUtils.createCheckbox( parent, "LABEL_EXPLORE_MAPPINGS_XML2BEAN",
-                                                    "TOOLTIP_N2P_SHOW_MAPPINGS",
-                                                    INFOPOP_N2P_SHOW_MAPPINGS );
+    showMappingsCheckbox_ = uiUtils.createCheckbox( parent, AxisConsumptionUIMessages.LABEL_EXPLORE_MAPPINGS_XML2BEAN,
+    									AxisConsumptionUIMessages.TOOLTIP_N2P_SHOW_MAPPINGS,
+    									INFOPOP_N2P_SHOW_MAPPINGS );
     // Since this widget affects whether the next page is shown or not we
     // need to add the statusListener.
     showMappingsCheckbox_.addListener( SWT.Selection, statusListener );
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/DefaultsForClient.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/DefaultsForClient.java
deleted file mode 100644
index 05446c9..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/widgets/DefaultsForClient.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.widgets;
-
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-
-public class DefaultsForClient extends SimpleCommand
-{
-  private boolean customizeMappings_ = true;
-  
-  public boolean getCustomizeClientMappings()
-  {
-    return customizeMappings_;
-  } 
-  
-  public void setCustomizeClientMappings( boolean value )
-  {
-    customizeMappings_ = value; 
-  }
-  
-  public String getProxyFolder()
-  {
-     return "/proxyproject/myfolder";  
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/client/WebServiceClientAxisType.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/client/WebServiceClientAxisType.java
index a892c81..9d85018 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/client/WebServiceClientAxisType.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/client/WebServiceClientAxisType.java
@@ -11,25 +11,24 @@
 package org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client;
 
 import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientDefaultingCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.command.DefaultsForClientJavaWSDLCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.Stub2BeanCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisClientCommandsFragment;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisClientFragment;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisMappingsWidget;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisProxyWidget;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionOutputCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
+import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 /**
@@ -41,7 +40,7 @@
 
 	
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry) 
   {
@@ -53,8 +52,6 @@
     dataRegistry.addMapping( AxisClientDefaultingCommand.class, "JavaWSDLParam", AxisMappingsWidget.class, "JavaParameter", null);
     
     // AxisProxyWidget
-    dataRegistry.addMapping( AxisProxyWidget.class, "CustomizeClientMappings", AxisClientFragment.MappingFragment.class );
-    dataRegistry.addMapping( AxisProxyWidget.class, "GenerateProxy", AxisClientCommandsFragment.class );
     dataRegistry.addMapping( AxisProxyWidget.class, "GenerateProxy", ClientExtensionOutputCommand.class );
     
     //AxisMappingsWidget
@@ -70,14 +67,10 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry) 
   {
-    String       pluginId_     = "org.eclipse.jst.ws.consumption.ui";
-    String       axisPluginId_ = "org.eclipse.jst.ws.axis.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    MessageUtils axisMsgUtils = new MessageUtils( axisPluginId_ + ".plugin", this );
-    
+   
     widgetRegistry.add( "AxisClientStart", 
-        axisMsgUtils.getMessage("PAGE_TITLE_WS_AXIS_PROXY"),
-        axisMsgUtils.getMessage("PAGE_DESC_WS_AXIS_PROXY"),
+        AxisConsumptionUIMessages.PAGE_TITLE_WS_AXIS_PROXY,
+        AxisConsumptionUIMessages.PAGE_DESC_WS_AXIS_PROXY,
         new WidgetContributorFactory()
         {
           public WidgetContributor create()
@@ -87,8 +80,8 @@
         } );
     
     widgetRegistry.add( "AxisClientBeanMapping", 
-        axisMsgUtils.getMessage("PAGE_TITLE_WS_XML2PROXY"),
-        msgUtils.getMessage("PAGE_DESC_N2P_MAPPINGS"),
+        AxisConsumptionUIMessages.PAGE_TITLE_WS_XML2PROXY,
+        AxisConsumptionUIMessages.LABEL_EXPLORE_MAPPINGS_XML2BEAN,
         new WidgetContributorFactory()
         {
           public WidgetContributor create()
@@ -107,7 +100,8 @@
            {
              public CommandFragment create()
              {
-               return new AxisClientFragment(); 
+               //dead code - doesn't matter what gets returned here.
+               return new SimpleFragment();
              }
            };
   }
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/test/TestWizardPage.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/test/TestWizardPage.java
deleted file mode 100644
index fb2a5e2..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/test/TestWizardPage.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.test;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.j2ee.internal.webservices.WebServicesClientDataHelper;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientGenerator;
-import org.eclipse.jst.ws.internal.ui.common.UIUtils;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-
-/*
- * Add the stuff below to the properties file to make this work. 
-#
-#Test only - do not commit
-#
-wsdlURI=wsdlURI
-clientProject=clientProject
-serviceQName=serviceQName
-outputWSDLpath=outputWSDLpath
-GO=GO
-pop1=pop1
-pop2=pop2
-*/
-public class TestWizardPage extends WizardPage
-{
-  private String pluginId_= "org.eclipse.jst.ws.axis.consumption.ui";
-  private MessageUtils msgUtils_;
-  
-  private Text wsdlURIText_;
-  private Text clientProjectText_;
-  private Text serviceQNameText_;
-  private Text outputWSDLPathText_;
-  private Button goButton_;
-  private Button pop1Button_;
-  private Button pop2Button_;
-  
-  public TestWizardPage(String name)
-  {
-    super(name);
-    setTitle("Test Page");
-    setDescription("Test page description");
-  }
-  
-  public void createControl(Composite parent)
-  {
-    Composite page = new Composite(parent, SWT.NONE);
-    GridLayout gl = new GridLayout();
-    page.setLayout(gl);
-    GridData gd = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
-    page.setLayoutData(gd);
-    page.setSize(500,500);
-
-   
-	//Composite outerGroup_ = new Composite(page,SWT.H_SCROLL | SWT.V_SCROLL);
-	Composite outerGroup_ = new Composite(page,SWT.NONE);
-	GridLayout gl2 = new GridLayout();
-	gl2.numColumns = 2;
-	gl2.marginHeight = 0;
-	gl2.marginWidth = 0;
-	outerGroup_.setLayout(gl2);
-	//GridData gd2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-	GridData gd2 = new GridData(GridData.FILL_BOTH);
-	outerGroup_.setLayoutData(gd2);
-	
-	msgUtils_ = new MessageUtils(pluginId_ + ".plugin", this);
-    UIUtils uiUtils = new UIUtils(msgUtils_, pluginId_);
-    
-    wsdlURIText_ = uiUtils.createText(outerGroup_,"wsdlURI","wsdlURI","wsdlURI",SWT.SINGLE|SWT.BORDER);
-    clientProjectText_ = uiUtils.createText(outerGroup_,"clientProject","clientProject","clientProject",SWT.SINGLE|SWT.BORDER);
-    serviceQNameText_ = uiUtils.createText(outerGroup_,"serviceQName","serviceQName","",SWT.SINGLE|SWT.BORDER);
-    outputWSDLPathText_ = uiUtils.createText(outerGroup_,"outputWSDLpath","outputWSDLpath","",SWT.SINGLE|SWT.BORDER);
-    goButton_ = uiUtils.createButton(SWT.PUSH,outerGroup_,"GO","GO","");
-    goButton_.addSelectionListener(new SelectionListener()
-        {
-          public void widgetSelected(SelectionEvent e)
-          {
-            handleGOPushed();
-          }
-          public void widgetDefaultSelected(SelectionEvent e)
-          {
-            handleGOPushed();
-        }
-        });
-    pop1Button_ = uiUtils.createButton(SWT.PUSH,outerGroup_,"pop1","pop1","");
-    pop1Button_.addSelectionListener(new SelectionListener()
-        {
-          public void widgetSelected(SelectionEvent e)
-          {
-            handlePop1Pushed();
-          }
-          public void widgetDefaultSelected(SelectionEvent e)
-          {
-            handlePop1Pushed();
-        }
-        });    
-    pop2Button_ = uiUtils.createButton(SWT.PUSH,outerGroup_,"pop2","pop2","");
-    pop2Button_.addSelectionListener(new SelectionListener()
-        {
-          public void widgetSelected(SelectionEvent e)
-          {
-            handlePop2Pushed();
-          }
-          public void widgetDefaultSelected(SelectionEvent e)
-          {
-            handlePop2Pushed();
-        }
-        });    
- 
-    setControl(page);
-  }
-  
-  private void handlePop1Pushed()
-  {
-    wsdlURIText_.setText("http://www.xmethods.net/sd/2001/TemperatureService.wsdl");
-    clientProjectText_.setText("cwp");
-    serviceQNameText_.setText("http://www.xmethods.net/sd/TemperatureService.wsdl:TemperatureService");
-    outputWSDLPathText_.setText("/cwp/Web Content/WEB-INF/wsdl/TemperatureService.wsdl");
-  }
-  
-  private void handlePop2Pushed()
-  {
-    wsdlURIText_.setText("file:/D:/Eclipse/eclipse/runtime-workspace_t1/wp2/Web Content/Converters.wsdl");
-    clientProjectText_.setText("cwp2");
-    serviceQNameText_.setText("http://sample.converters:ConvertDistanceService");
-    outputWSDLPathText_.setText("/cwp2/Web Content/WEB-INF/wsdl/Converters.wsdl");
-  }
-
-  private void handleGOPushed()
-  {
-    AxisClientGenerator generator = new AxisClientGenerator();
-    TestWSCDataHelper dataModel = new TestWSCDataHelper();
-    dataModel.populate(wsdlURIText_.getText(), serviceQNameText_.getText(), clientProjectText_.getText(), outputWSDLPathText_.getText(),false);
-    
-    generator.genWebServiceClientArtifacts(dataModel);
-    System.out.println("Generated service interface= "+dataModel.getServiceInterfaceName());
-    String[] seis = dataModel.getServiceEndpointInterfaceNames();
-    System.out.println("Generated service endpoint interfaces:");
-    for (int i=0;i<seis.length;i++)
-    {
-    	System.out.println(seis[i]);
-    }
-    System.out.println("Touched descriptors? "+dataModel.shouldGenDescriptors());
-  }
-  
-  private class TestWSCDataHelper implements WebServicesClientDataHelper
-  {
-  	private String wsdlUrl_;
-  	private String serviceQName_;
-  	private String projectName_;
-  	private String outputWSDLFileName_;
-  	private String serviceInterfaceName_;
-  	private String[] serviceEndpointInterfaceNames_;
-  	private boolean shouldDeploy_;
-  	private boolean shouldGenDescriptors_;
-  	
-  	public void populate(String wsdlURL, String serviceQName, String projectName, String outputWSDLFileName, boolean shouldDeploy)
-  	{
-  		wsdlUrl_ = wsdlURL;
-  		serviceQName_ = serviceQName;
-  		projectName_ = projectName;
-  		outputWSDLFileName_ = outputWSDLFileName;
-  		shouldDeploy_ = shouldDeploy;
-  	}
-	/**
-	 * @return the URL for the associated original WSDL file referenced by the client
-	 */
-	public String getWSDLUrl()
-	{
-		return wsdlUrl_;
-	}
-	
-	/**
-	 * @return the QName for the associated web service for the client
-	 */
-	public String getServiceQName()
-	{
-		return serviceQName_;
-	}
-	
-	/**
-	 * @return the name of the target project for the web service client
-	 */
-	public String getProjectName()
-	{
-		return projectName_;
-	}
-	
-	/**
-	 * @return the fileName location for the copied WSDL file into the client project
-	 */
-	public String getOutputWSDLFileName()
-	{
-		return outputWSDLFileName_;
-	}
-	
-	/**
-	 * @return the qualified classname of the generated Service Interface
-	 */
-	public String getServiceInterfaceName()
-	{
-		return serviceInterfaceName_;
-	}
-	
-	/**
-	 * @return the qualified classname of the generated Service Endpoint Interface
-	 */
-	public String[] getServiceEndpointInterfaceNames()
-	{
-		return serviceEndpointInterfaceNames_;
-	}
-	
-	/**
-	 * @return should generate code for deployment?
-	 */
-	public boolean shouldDeploy()
-	{
-		return shouldDeploy_;
-	}
-	
-	/**
-	 * @return whether the extension generated the descriptors or not
-	 */
-	public boolean shouldGenDescriptors()
-	{
-		return shouldGenDescriptors_;
-	}
-	
-	/**
-	 * Set the SI classname for the web service client
-	 */
-	public void setServiceInterfaceName(String name)
-	{
-		serviceInterfaceName_ = name;
-	}
-
-	/**
-	 * Set the SEI classnames for the web service client
-	 */
-	public void setServiceEndpointInterfaceNames(String[] names)
-	{
-		serviceEndpointInterfaceNames_ = names;
-	}
-
-	/**
-	 * Set whether descriptors were generated
-	 */
-	public void setDidGenDescriptors(boolean b)
-	{
-		shouldGenDescriptors_ = b;
-	}
-	
-	/**
-	 * This method will invoke any operations required to set up web services client, SI, and SEI
-	 */
-	public void genWebServiceClientArtifacts(WebServicesClientDataHelper dataModel)
-	{
-		// Do nothing. This shouldn't be on the interface!
-	}
-	
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/test/WebServiceTestWizard.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/test/WebServiceTestWizard.java
deleted file mode 100644
index 551c8d2..0000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wizard/test/WebServiceTestWizard.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.test;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-public class WebServiceTestWizard extends Wizard implements INewWizard
-{
-
-  public WebServiceTestWizard()
-  {
-    super();
-
-    TestWizardPage page = new TestWizardPage("Test page");
-  }
-
-
-
-  /**
-  * Initializes this "New" wizard.
-  * @param workbench The workbench that launched this wizard.
-  * @param selection The selection context of this wizard.
-  * @return This wizard.
-  */
-  public void init ( IWorkbench workbench, IStructuredSelection selection )
-  {
-    //Do nothing
-  }
-
-
-  public void addPages()
-  {
-
-    TestWizardPage page = new TestWizardPage("Test page");
-    addPage(page);
-  }
-
-  public boolean performFinish()
-  {
-    //Always allow finish
-    return true;
-  }
-  
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisClientConfigWidgetFactory.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisClientConfigWidgetFactory.java
index dbb43b6..cdb7e9f 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisClientConfigWidgetFactory.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisClientConfigWidgetFactory.java
@@ -13,10 +13,10 @@
 
 import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisProxyWidget;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.wizard.client.WebServiceClientAxisType;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributor;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetBindingToWidgetFactoryAdapter;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributorFactory;
 
 public class AxisClientConfigWidgetFactory implements INamedWidgetContributorFactory {
 
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisWebServiceClient.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisWebServiceClient.java
index ad97ec2..1970bcd 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisWebServiceClient.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/wsrt/AxisWebServiceClient.java
@@ -1,7 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.axis.consumption.ui.wsrt;
 
 import java.util.Vector;
-
 import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientDefaultingCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.command.AxisClientInputCommand;
@@ -12,18 +22,17 @@
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.RefreshProjectCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.Stub2BeanCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisClientCommandsFragment;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisClientFragment.MappingFragment;
 import org.eclipse.jst.ws.internal.common.StringToIProjectTransformer;
 import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.ws.internal.provisional.wsrt.AbstractWebServiceClient;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceClientInfo;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.ws.internal.wsrt.AbstractWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceClientInfo;
 
 public class AxisWebServiceClient extends AbstractWebServiceClient
 {		
@@ -34,48 +43,49 @@
 		// TODO Auto-generated constructor stub
 	}
 
-	public ICommandFactory assemble(Environment env, IContext ctx,
-			ISelection sel, String project, String module, String earProject, String ear)
+	public ICommandFactory assemble(IEnvironment env, IContext ctx,
+			ISelection sel, String project, String earProject)
 	{
 		return null;
 	}
 
-	public ICommandFactory deploy(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory deploy(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
 		return null;
 	}
 
-	public ICommandFactory develop(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory develop(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
-		registerDataMappings( env.getCommandManager().getMappingRegistry());
+    EclipseEnvironment environment = (EclipseEnvironment)env;
+		registerDataMappings( environment.getCommandManager().getMappingRegistry());
 		
 		Vector commands = new Vector();
-		commands.add(new AxisClientInputCommand(this, ctx, project, module));
-		commands.add(new AxisClientDefaultingCommand(module));
+		commands.add(new AxisClientInputCommand(this, ctx, project));
+		commands.add(new AxisClientDefaultingCommand());
 //		commands.add(new SimpleFragment("AxisClientStart"));
 //		commands.add(new SimpleFragment("AxisClientBeanMapping"));
 		commands.add(new DefaultsForHTTPBasicAuthCommand());
-		commands.add(new CopyAxisJarCommand(module));
-		commands.add(new DefaultsForClientJavaWSDLCommand(module));
+		commands.add(new CopyAxisJarCommand());
+		commands.add(new DefaultsForClientJavaWSDLCommand());
 		commands.add(new ValidateWSDLCommand());
 		commands.add(new WSDL2JavaCommand());
 		commands.add(new RefreshProjectCommand());
-		commands.add(new Stub2BeanCommand(module));
-		commands.add(new AxisClientOutputCommand(this,ctx,module));
+		commands.add(new Stub2BeanCommand());
+		commands.add(new AxisClientOutputCommand(this,ctx));
 		commands.add(new BuildProjectCommand());
 		return new SimpleCommandFactory(commands);
 	}
 
-	public ICommandFactory install(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory install(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
 		return null;
 	}
 
-	public ICommandFactory run(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory run(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
 		return null;
 	}
@@ -103,8 +113,7 @@
 		// DefaultsForHTTPBasicAuthCommand()
 		registry.addMapping(AxisClientDefaultingCommand.class, "JavaWSDLParam", DefaultsForHTTPBasicAuthCommand.class); //OK
 		registry.addMapping(AxisClientDefaultingCommand.class, "WsdlURL", DefaultsForHTTPBasicAuthCommand.class, "WsdlServiceURL", null); //OK
-		registry.addMapping(AxisClientDefaultingCommand.class, "WebServicesParser", DefaultsForHTTPBasicAuthCommand.class); //OK
-	    registry.addMapping(AxisClientDefaultingCommand.class, "CustomizeClientMappings", MappingFragment.class );    
+		registry.addMapping(AxisClientDefaultingCommand.class, "WebServicesParser", DefaultsForHTTPBasicAuthCommand.class); //OK    
 		
 		registry.addMapping(AxisClientDefaultingCommand.class, "ClientProject", CopyAxisJarCommand.class, "Project", null);
 
@@ -140,7 +149,6 @@
 		registry.addMapping(AxisClientDefaultingCommand.class, "ValidationManager", BuildProjectCommand.class);
 		
 		registry.addMapping(Stub2BeanCommand.class, "ProxyBean", AxisClientOutputCommand.class, "ProxyBean", null);
-		registry.addMapping(AxisClientDefaultingCommand.class, "GenerateProxy", AxisClientCommandsFragment.class);
 //		registry.addMapping(AxisClientDefaultingCommand.class, "GenerateProxy", ClientExtensionOutputCommand.class);
 //		registry.addMapping(AxisClientDefaultingCommand.class, "SetEndpointMethod", ClientExtensionOutputCommand.class);
 	}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/.cvsignore b/bundles/org.eclipse.jst.ws.axis.creation.ui/.cvsignore
index 8bb59e1..921050a 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 wss-axis-ui.jar
+@dot
+src.zip
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 012a82d..f988d14 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,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.creation.ui; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.jst.ws.internal.axis.creation.ui.plugin.WebServiceAxisCreationUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.ws.axis.creation.ui,
+Export-Package: org.eclipse.jst.ws.internal.axis.creation.ui,
  org.eclipse.jst.ws.internal.axis.creation.ui.command,
  org.eclipse.jst.ws.internal.axis.creation.ui.plugin,
  org.eclipse.jst.ws.internal.axis.creation.ui.task,
@@ -39,6 +39,10 @@
  org.eclipse.jst.j2ee.web,
  org.wsdl4j,
  org.eclipse.jst.common.frameworks,
- org.eclipse.jem.util
+ org.eclipse.jem.util,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.wst.common.environment,
+ org.eclipse.debug.core,
+ org.eclipse.jdt.core
 Eclipse-AutoStart: true
 Plugin-Class: org.eclipse.jst.ws.internal.axis.creation.ui.plugin.WebServiceAxisCreationUIPlugin
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 8d41aad..cc90895 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/plugin.xml
@@ -2,116 +2,7 @@
 <?eclipse version="3.0"?>
 
 <plugin>
-
-     <!-- Web Service Server Types -->
-
-   <extension
-         point="org.eclipse.jst.ws.consumption.ui.webServiceServerRuntimeType">
-
-      <webServiceRuntime
-            label="%LABEL_RUNTIME_AXIS_11"
-            description="%DESC_RUNTIME_AXIS_11"
-            isDefault="false"
-            j2eeversion="13 14"
-            id="org.eclipse.jst.ws.runtime.axis11">
-      </webServiceRuntime>
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.32"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.32.runtime"
-            id="SERVER_ID_TOMCAT32_LOCAL">
-      </webServiceServer>
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.40"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.40.runtime"
-            id="SERVER_ID_TOMCAT40_LOCAL">
-      </webServiceServer>
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.41"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.41.runtime"
-            id="SERVER_ID_TOMCAT41_LOCAL">
-      </webServiceServer> 
-
-      <webServiceServer
-            factoryId="org.eclipse.jst.server.tomcat.50"
-            isDefault="false"
-            runtimeTypeIds="org.eclipse.jst.server.tomcat.50.runtime"
-            id="SERVER_ID_TOMCAT50_LOCAL">  
-      </webServiceServer>    
-
-      <webServiceServerRuntimeType
-            requireEJBModule="false"
-            requireWebModule="true"
-            name="%WS_NAME_BEANAXIS"
-            type="org.eclipse.jst.ws.type.java"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.beans.WSBeanAxisType"
-            server="SERVER_ID_TOMCAT50_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.beans.WSBeanAxisType.TOMCAT50LOCAL">
-      </webServiceServerRuntimeType>
-
-      <webServiceServerRuntimeType
-            requireEJBModule="false"
-            requireWebModule="true"
-            name="%WS_NAME_WSDLAXIS"
-            type="org.eclipse.jst.ws.type.wsdl"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl.WSWSDLAxisType"
-            server="SERVER_ID_TOMCAT50_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl.WSWSDLAxisType.TOMCAT50LOCAL">
-      </webServiceServerRuntimeType>
-
-      <webServiceServerRuntimeType
-            requireEJBModule="false"
-            requireWebModule="true"
-            name="%WS_NAME_BEANAXIS"
-            type="org.eclipse.jst.ws.type.java"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.beans.WSBeanAxisType"
-            server="SERVER_ID_TOMCAT41_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.beans.WSBeanAxisType.TOMCAT41LOCAL">
-      </webServiceServerRuntimeType>
-
-      <webServiceServerRuntimeType
-            requireEJBModule="false"
-            requireWebModule="true"
-            name="%WS_NAME_WSDLAXIS"
-            type="org.eclipse.jst.ws.type.wsdl"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl.WSWSDLAxisType"
-            server="SERVER_ID_TOMCAT41_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl.WSWSDLAxisType.TOMCAT41LOCAL">
-      </webServiceServerRuntimeType>
-
-      <webServiceServerRuntimeType
-            requireEJBModule="false"
-            requireWebModule="true"
-            name="%WS_NAME_BEANAXIS"
-            type="org.eclipse.jst.ws.type.java"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.beans.WSBeanAxisType"
-            server="SERVER_ID_TOMCAT40_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.beans.WSBeanAxisType.TOMCAT40LOCAL">
-      </webServiceServerRuntimeType>
-
-      <webServiceServerRuntimeType
-            requireEJBModule="false"
-            requireWebModule="true"
-            name="%WS_NAME_WSDLAXIS"
-            type="org.eclipse.jst.ws.type.wsdl"
-            runtime="org.eclipse.jst.ws.runtime.axis11"
-            assemblyBinding="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl.WSWSDLAxisType"
-            server="SERVER_ID_TOMCAT40_LOCAL"
-            id="org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl.WSWSDLAxisType.TOMCAT40LOCAL">
-      </webServiceServerRuntimeType>
-
-   </extension>
-
+   
    <!-- Server Defaulters -->
    
    <extension point="org.eclipse.jst.ws.consumption.serverDefaulter">
@@ -120,6 +11,7 @@
       </serverDefaulter>
    </extension>
    
+   <!--
    <extension point="org.eclipse.jst.ws.consumption.ui.webServiceRuntime">
   	<webServiceRuntime
     id="org.eclipse.jst.ws.axis.creation.axisWebServiceRT"
@@ -132,7 +24,8 @@
     class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebServiceRuntime">
   	</webServiceRuntime>
 	</extension> 
-
+   -->
+   
 	<extension point="org.eclipse.wst.command.env.ui.widgetRegistry">
        <widgetFactory   
              id="AxisBeanConfig"
@@ -146,5 +39,112 @@
              insertBeforeCommandId="org.eclipse.jst.ws.internal.axis.creation.ui.task.TDCheckAxisDeploymentDescriptors"
              class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisSkeletonConfigWidgetFactory"/>
     </extension> 
+    
+    <!-- M9 extensions -->
+    <extension point="org.eclipse.jst.ws.consumption.ui.runtimes">
+      <runtime
+        id="org.eclipse.jst.ws.axis.creation.axisWebServiceRT"
+        label="%LABEL_RUNTIME_AXIS_11"/>
+    </extension>
+
+    <!-- define support for Axis Java bean bottom up and top-down support in web projects -->
+    <extension point="org.eclipse.jst.ws.consumption.ui.serviceRuntimes">
+      <serviceRuntime
+        id="org.eclipse.jst.ws.axis.creation.java"
+        serviceImplementationTypeId="org.eclipse.jst.ws.wsImpl.java"
+        runtimeId="org.eclipse.jst.ws.axis.creation.axisWebServiceRT"
+        bottomUp="true"
+        topDown="true"
+        class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebServiceRuntime">
+
+        <required-facet-version facet="jst.web" version="2.3" allow-newer="true"/>
+
+      </serviceRuntime>
+    </extension>   
+
+    <!-- define support for Axis Java clients in Java projects -->
+    <extension point="org.eclipse.jst.ws.consumption.ui.clientRuntimes">
+      <clientRuntime
+        id="org.eclipse.jst.ws.axis.consumption.java"
+        clientImplementationTypeId="org.eclipse.jst.ws.client.type.java"
+        runtimeId="org.eclipse.jst.ws.axis.creation.axisWebServiceRT"
+        class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebServiceRuntime">
+
+        <required-facet-version facet="jst.utility" version="1.0" allow-newer="true"/>
+
+      </clientRuntime>
+    </extension>    
+    
+    <!-- define support for Axis Java clients in Web projects -->
+    <extension point="org.eclipse.jst.ws.consumption.ui.clientRuntimes">
+      <clientRuntime
+        id="org.eclipse.jst.ws.axis.consumption.web"
+        clientImplementationTypeId="org.eclipse.jst.ws.client.type.java"
+        runtimeId="org.eclipse.jst.ws.axis.creation.axisWebServiceRT"
+        class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebServiceRuntime">
+
+        <required-facet-version facet="jst.web" version="2.3" allow-newer="true"/>
+
+      </clientRuntime>
+    </extension>        
+      <extension
+           point="org.eclipse.wst.command.env.antDataMapping">
+        <map
+              key="InitialSelection"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.task.DefaultsForServerJavaWSDLCommand"
+              property="ObjectSelection"
+              transform="org.eclipse.jst.ws.internal.common.String2SelectionTransformer"/>
+        <map
+              key="JavaOutput"
+              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand"
+              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"
+              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"
+              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"
+              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"
+              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"
+              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="Methods"
+              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="Style"
+              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="Use"
+              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand"
+              property="JavaWSDLParam"
+              transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>   
+  </extension> 
 
 </plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/axis/creation/ui/plugin.properties b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/axis/creation/ui/plugin.properties
deleted file mode 100644
index 07b7fc5..0000000
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/axis/creation/ui/plugin.properties
+++ /dev/null
@@ -1,170 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-
-#
-# Error messages used in this plugin
-#
-MSG_ERROR_INTERAL=IWAB0512E Internal error
-MSG_ERROR_PROJECT_URL=IWAB0514E Unable to get URL for project {0}
-MSG_ERROR_READ_WSDL=IWAB0516E Error in reading WSDL file {0}
-MSG_ERROR_WSDL_NO_PORT=IWAB0518E WSDL file at {0} has no port element
-MSG_ERROR_CANNOT_NO_JAVA_BEAN=IWAB0015E A Java bean was not selected
-MSG_ERROR_NO_PROJECT=IWAB0016E A project was not selected
-MSG_ERROR_CANNOT_LOAD_JAVA_BEAN=IWAB0017E The Java bean, {0}, cannot be loaded from {1}
-MSG_ERROR_JAVA_MOF_REFLECT_FAILED=IWAB0521E Failed to analyze the Java bean: {0}.
-MSG_ERROR_READ_BEAN=IWAB0522E Error in reading methods from Java bean.
-MSG_ERROR_MOVE_RESOURCE=IWAB0523E Error moving resource
-MSG_ERROR_UPDATE_AXIS_WSDD=IWAB0524E Error updating Axis deploy.wsdd file
-MSG_ERROR_LITERAL_SUPPORT_MESSAGE=IWAB0536E Axis 1.1 support for Document/Literal and Document/Literal (Wrapped) is minimal, thus the generated code may contain errors. RPC/Encoded is the recommended style and encoding selection.
-MSG_ERROR_INITIAL_SELECTION=IWAB0018E Error getting initial selection.
-
-
-#
-#JavaToWSDLMethodCommand
-#
-TASK_LABEL_JAVA_TO_WSDL=Create deployment descriptor document model from Java bean.
-TASK_DESC_JAVA_TO_WSDL=Creating deployment descriptor document model from Java bean.
-MSG_ERROR_JAVA_TO_METHOD=IWAB0019E Error in getting method from Java bean.
-
-#
-#DefaultsForServerJavaWSDLTask
-#
-TASK_LABEL_SERVER_JAVA_WSDL_DEFAULTS=DefaultsForJavaWSDLServer
-TASK_DESC_SERVER_JAVA_WSDL_DEFAULTS=Builds the JavaWSDLParameter for server side.
-
-#
-#UpdateWEBXMLCommand
-#
-TASK_LABEL_UPDATE_WEB_XML=UpdateWEBXMLCommand
-TASK_DESC_UPDATE_WEB_XML=Update project's web.xml file with Axis servlets
-MSG_ERROR_UPDATE_WEB_XML=IWAB0020E Error in adding servlet in web.xml.
-
-#
-#DefaultsForWSDL2SkeletonTask
-#
-
-#
-#MoveDeploymentFilesTask
-#
-TASK_LABEL_MOVE_DEPLOYMENT_FILES=MoveDeploymentFilesTask
-TASK_DESC_MOVE_DEPLOYMENT_FILES=Move deploy.wsdd and undeploy.wsdd from Java Source to Web Content/WEB-INF
-
-#
-#MoveJavaFilesTask
-#
-TASK_LABEL_MOVE_JAVA_FILES=MoveJavaFilesTask
-TASK_DESC_MOVE_JAVA_FILES=Move server side java files
-
-#
-#Skeleton2WSDLTask
-#
-TASK_LABEL_SKELETON_WSDL=DefaultsForSkeleton2WSDLTask
-TASK_DESC_SKELETON_WSDL=Creates WSDL for a Java bean skeleton.
-
-#
-#UpdateAxisWSDDFileTask
-#
-TASK_LABEL_UPDATE_AXIS_WSDD=UpdateAxisWSDDFileTask
-TASK_DESC_UPDATE_AXIS_WSDD=Update Axis deploy.wsdd with actual service implementation class name
-MSG_PLUGIN_FILE_URL=Problem locating plugin file
-
-#
-#WebServiceWSDLAxisSelectionPage
-#
-PAGE_MSG_NO_FILE_SPECIFIED=No file specified.
-PAGE_MSG_NO_METHOD_SELECTED=No methods selected.
-
-#
-#WebServiceSkeletonAxisConfigFragment
-#
-
-#
-#WebServiceSkeletonAxisConfigPage
-#
-TOOLTIP_PBSC_PAGE=
-TOOLTIP_PBCF_TEXT_URI=The SOAP body namespace and unique identifier of the Web service.
-TOOLTIP_PBCF_TEXT_WSDL_FOLDER=The folder of the WSDL file.
-TOOLTIP_PBCF_TEXT_WSDL_FILE=The name of the WSDL file.
-LABEL_URI=Web service URI:
-LABEL_OUTPUT_FOLDER_NAME=WSDL Folder:
-LABEL_OUTPUT_FILE_NAME=WSDL File:
-
-
-#
-#WSWSDLAxisType
-#
-WS_NAME_WSDLAXIS=Skeleton Java bean Axis Web service
-WS_DESC_WSDLAXIS=Skeleton Java bean Axis Web service
-
-#
-#WSBeanAxisType
-#
-
-#
-#WebServiceAxisBeanClassFragment
-#
-
-#
-#WebServiceAxisBeanClassPage
-#
-PAGE_TITLE_WSBEAN_CLASS=Web Service Java Bean Selection
-PAGE_DESC_WSBEAN_CLASS=Select a Java bean
-LABEL_EXPLORE_MAPPINGS_BEAN2XML=Define custom mapping for package to namespace.
-TOOLTIP_P2N_SHOW_MAPPINGS=Define package to namespace mapping for customization.
-
-#
-#WebServiceAxisBeanConfigFragment
-#
-
-#
-#WebServiceAxisBeanConfigPage
-#
-TOOLTIP_PBCF_PAGE=
-TOOLTIP_PBCF_TEXT_URI=The SOAP body namespace and unique identifier of the Web service.
-TOOLTIP_PBME_TREE_METHODS=Java bean methods to include.
-PAGE_TITLE_WSBEAN_CONFIG=Web Service Java Bean Identity
-PAGE_DESC_WSBEAN_CONFIG=Configure the Java bean as a Web service.
-LABEL_STYLE_USE=Style and Use
-STYLE_RPC_LITERAL=Document/ Literal
-STYLE_DOC_LITERAL=Document/ Literal (Wrapped)
-STYLE_RPC_ENCODED=RPC/ Encoded
-
-#
-#WSDLConsumptionTaskFactory
-#
-
-#
-#CopyAxisServerConfigTask
-#
-
-TASK_LABEL_COPY_SERVER_CONFIG_FILES=Copy server-config.wsdd from the server location to the Web Project
-TASK_DESC_COPY_SERVER_CONFIG_FILES=Coping server-config.wsdd from the server location to the Web Project
-
-
-#
-#LiteralSupportMessageTask
-#
-TASK_LABEL_LITERAL_SUPPORT_MESSAGE=Axis support for Literal encoding message task
-TASK_DESC_LITERAL_SUPPORT_MESSAGE=Axis support for Literal encoding message task
-
-#
-#BUAxisInputCommand and BUAxisOutputCommand
-#
-
-TASK_LABEL_BU_AXIS_INPUT=Bottom up Axis input commmand
-TASK_DESC_BU_AXIS_INPUT=Bottom up Axis input commmand
-TASK_LABEL_BU_AXIS_OUTPUT=Bottom up Axis output commmand
-TASK_DESC_BU_AXIS_OUTPUT=Bottom up Axis output commmand
-
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/AxisCreationUI.properties b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/AxisCreationUI.properties
new file mode 100644
index 0000000..6193c0e
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/AxisCreationUI.properties
@@ -0,0 +1,88 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Messages in plugin.xml.
+#
+
+#
+# Error messages used in this plugin
+#
+MSG_ERROR_PROJECT_URL=IWAB0514E Unable to get URL for project {0}
+MSG_ERROR_CANNOT_NO_JAVA_BEAN=IWAB0015E A Java bean was not selected
+MSG_ERROR_NO_PROJECT=IWAB0016E A project was not selected
+MSG_ERROR_CANNOT_LOAD_JAVA_BEAN=IWAB0017E The Java bean, {0}, cannot be loaded from {1}
+MSG_ERROR_JAVA_MOF_REFLECT_FAILED=IWAB0521E Failed to analyze the Java bean: {0}.
+MSG_ERROR_READ_BEAN=IWAB0522E Error in reading methods from Java bean.
+MSG_ERROR_UPDATE_AXIS_WSDD=IWAB0524E Error updating Axis deploy.wsdd file
+
+#
+#JavaToWSDLMethodCommand
+#
+MSG_ERROR_JAVA_TO_METHOD=IWAB0019E Error in getting method from Java bean.
+
+#
+#UpdateWEBXMLCommand
+#
+MSG_ERROR_UPDATE_WEB_XML=IWAB0020E Error in adding servlet in web.xml.
+
+#
+#UpdateAxisWSDDFileTask
+#
+MSG_PLUGIN_FILE_URL=Problem locating plugin file
+
+#
+#WebServiceWSDLAxisSelectionPage
+#
+PAGE_MSG_NO_FILE_SPECIFIED=No file specified.
+PAGE_MSG_NO_METHOD_SELECTED=No methods selected.
+
+#
+#WebServiceSkeletonAxisConfigPage
+#
+TOOLTIP_PBSC_PAGE=
+TOOLTIP_PBCF_TEXT_URI=The SOAP body namespace and unique identifier of the Web service.
+TOOLTIP_PBCF_TEXT_WSDL_FOLDER=The folder of the WSDL file.
+TOOLTIP_PBCF_TEXT_WSDL_FILE=The name of the WSDL file.
+LABEL_URI=Web service URI:
+LABEL_OUTPUT_FOLDER_NAME=WSDL Folder:
+LABEL_OUTPUT_FILE_NAME=WSDL File:
+
+#
+#WebServiceAxisBeanClassPage
+#
+PAGE_TITLE_WSBEAN_CLASS=Web Service Java Bean Selection
+PAGE_DESC_WSBEAN_CLASS=Select a Java bean
+LABEL_EXPLORE_MAPPINGS_BEAN2XML=Define custom mapping for package to namespace.
+TOOLTIP_P2N_SHOW_MAPPINGS=Define package to namespace mapping for customization.
+
+#
+#WebServiceAxisBeanConfigPage
+#
+TOOLTIP_PBCF_PAGE=
+TOOLTIP_PBME_TREE_METHODS=Java bean methods to include.
+PAGE_TITLE_WSBEAN_CONFIG=Web Service Java Bean Identity
+PAGE_DESC_WSBEAN_CONFIG=Configure the Java bean as a Web service.
+LABEL_STYLE_USE=Style and Use
+STYLE_RPC_LITERAL=Document/ Literal
+STYLE_DOC_LITERAL=Document/ Literal (Wrapped)
+STYLE_RPC_ENCODED=RPC/ Encoded
+
+#
+# AxisCheckCompilerLevelCommand
+#
+MSG_ERROR_COMPILER_LEVEL_NOT_COMPATIBLE=The workbench is running on Java VM version {0}, however, the compiler compliance level of \
+the project "{1}" is set to Java version {2}.  \
+Generation of a Web service from Java cannot proceed because the tools will be unable to process the class file compiled within the project.  \
+To correct the problem, take one of the following actions: \
+\n1. Open project properties, select Project Facets, and use Add/Remove Project Facet to change Java version to {0} or lower.\
+\n2. Restart the workbench on a version {2} Java VM.
+
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/AxisCreationUIMessages.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/AxisCreationUIMessages.java
new file mode 100644
index 0000000..d464d3c
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/AxisCreationUIMessages.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.axis.creation.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class AxisCreationUIMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUI";//$NON-NLS-1$
+
+	private AxisCreationUIMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_PROJECT_URL;
+	public static String MSG_ERROR_CANNOT_NO_JAVA_BEAN;
+	public static String MSG_ERROR_NO_PROJECT;
+	public static String MSG_ERROR_CANNOT_LOAD_JAVA_BEAN;
+	public static String MSG_ERROR_JAVA_MOF_REFLECT_FAILED;
+	public static String MSG_ERROR_READ_BEAN;
+	public static String MSG_ERROR_UPDATE_AXIS_WSDD;
+	public static String MSG_ERROR_JAVA_TO_METHOD;
+	public static String MSG_ERROR_UPDATE_WEB_XML;
+	public static String MSG_PLUGIN_FILE_URL;
+	public static String PAGE_MSG_NO_FILE_SPECIFIED;
+	public static String PAGE_MSG_NO_METHOD_SELECTED;
+	public static String TOOLTIP_PBSC_PAGE;
+	public static String TOOLTIP_PBCF_TEXT_URI;
+	public static String TOOLTIP_PBCF_TEXT_WSDL_FOLDER;
+	public static String TOOLTIP_PBCF_TEXT_WSDL_FILE;
+	public static String LABEL_URI;
+	public static String LABEL_OUTPUT_FOLDER_NAME;
+	public static String LABEL_OUTPUT_FILE_NAME;
+	public static String PAGE_TITLE_WSBEAN_CLASS;
+	public static String PAGE_DESC_WSBEAN_CLASS;
+	public static String LABEL_EXPLORE_MAPPINGS_BEAN2XML;
+	public static String TOOLTIP_P2N_SHOW_MAPPINGS;
+	public static String TOOLTIP_PBCF_PAGE;
+	public static String TOOLTIP_PBME_TREE_METHODS;
+	public static String PAGE_TITLE_WSBEAN_CONFIG;
+	public static String PAGE_DESC_WSBEAN_CONFIG;
+	public static String LABEL_STYLE_USE;
+	public static String STYLE_RPC_LITERAL;
+	public static String STYLE_DOC_LITERAL;
+	public static String STYLE_RPC_ENCODED;
+	public static String MSG_ERROR_COMPILER_LEVEL_NOT_COMPATIBLE;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, AxisCreationUIMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisCheckCompilerLevelCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisCheckCompilerLevelCommand.java
new file mode 100644
index 0000000..28363ed
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisCheckCompilerLevelCommand.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.axis.creation.ui.command;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+/**
+ * Check to make sure that the project containing the service bean is not at a compiler compliance setting
+ * that's higher than the Java VM the workbench is launched with. 
+ */
+public class AxisCheckCompilerLevelCommand extends AbstractDataModelOperation {
+
+	private String serverProject_;
+
+	/**
+	 * Default CTOR
+	 */
+	public AxisCheckCompilerLevelCommand() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+	 */
+	public IStatus execute(IProgressMonitor monitor, IAdaptable adaptable) {
+		
+		IStatus status = Status.OK_STATUS;
+		String javaSpecVersion = System.getProperty("java.specification.version");
+		if (javaSpecVersion != null)
+		{
+			IProject project = ProjectUtilities.getProject(serverProject_);
+			IJavaProject javaProject = JavaCore.create(project);    
+			if (javaProject != null)
+			{
+				String projectCompilerLevel = javaProject.getOption("org.eclipse.jdt.core.compiler.compliance", false);
+				if (projectCompilerLevel == null)
+				{
+					projectCompilerLevel = (String)JavaCore.getDefaultOptions().get("org.eclipse.jdt.core.compiler.compliance");
+				}
+				if (projectCompilerLevel != null)
+				{
+					if (!compilerLevelsCompatible(javaSpecVersion, projectCompilerLevel)) {
+						status = StatusUtils.errorStatus( NLS.bind(AxisCreationUIMessages.MSG_ERROR_COMPILER_LEVEL_NOT_COMPATIBLE, new String[] {javaSpecVersion, serverProject_, projectCompilerLevel}));
+						getEnvironment().getStatusHandler().reportError(status);
+					}			
+				} 	
+			}
+		}
+		return status;
+	}
+
+	/**
+	 * Returns true if and only if the Java specification level
+	 * of the Eclipse JRE (<code>javaSpecVersion</code> is not
+	 * lower than the Java specification level of the compiler
+	 * (<code>projectCompilerLevel</code>. 
+	 * @param javaSpecVersion The Java Specification Version of the JRE.
+	 * @param projectCompilerLevel The Java project's compiler level.
+	 * @return True if the Java specification level of the project's
+	 * compiler does not exceed the Java specification level of the
+	 * JRE that Eclipse is running on, and false otherwise.
+	 */
+	private boolean compilerLevelsCompatible(String javaSpecVersion, String projectCompilerLevel) {
+		return (javaSpecVersion.compareTo(projectCompilerLevel) >= 0);
+	}
+
+	/**
+	 * Sets the project whose compiler level should be checked.
+	 * @param serverProject The project whose compiler level should be checked.
+	 */
+	public void setServerProject(String serverProject) {
+		serverProject_ = serverProject;
+	}
+}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisOutputCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisOutputCommand.java
index a65876c..956da3c 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisOutputCommand.java
@@ -11,51 +11,36 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.command;
 
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
 import org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebService;
 import org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebServiceInfo;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class AxisOutputCommand extends SimpleCommand {
+public class AxisOutputCommand extends AbstractDataModelOperation {
 
-	private static String LABEL = "TASK_LABEL_BU_AXIS_OUTPUT";
-	private static String DESCRIPTION = "TASK_DESC_BU_AXIS_OUTPUT";
-	
 	private AxisWebService ws_;
 	private JavaWSDLParameter javaWSDLParam_;
 
 	private String            wsdlURI_;
-	  
-	  private boolean isWebProjectStartupRequested_ = false;
-	  
-	  private MessageUtils msgUtils_;
-	  
+	  	  
 		/**
 		* Default CTOR
 		*/
 		public AxisOutputCommand() {
-			String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
 		}
 		
 		public AxisOutputCommand(AxisWebService ws) {
-			String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
 			ws_ = ws;
 		}
 		
-		public Status execute(Environment env){
-		  	
-		  	Status status = new SimpleStatus("");  	
+		public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+		{
+		  	IStatus status = Status.OK_STATUS;  	
 		  	ws_.getWebServiceInfo().setWsdlURL(wsdlURI_);
 			AxisWebServiceInfo axisWSInfo = new AxisWebServiceInfo();
 			axisWSInfo.setJavaWSDLParameter(javaWSDLParam_);
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisRunInputCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisRunInputCommand.java
index de3a515..b5d6062 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisRunInputCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/AxisRunInputCommand.java
@@ -10,52 +10,35 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.creation.ui.command;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
 import org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebService;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
-public class AxisRunInputCommand extends SimpleCommand{
-	
-	private static String LABEL = "TASK_LABEL_BU_AXIS_INPUT";
-	private static String DESCRIPTION = "TASK_DESC_BU_AXIS_INPUT";
+public class AxisRunInputCommand extends AbstractDataModelOperation{
 	
 	private AxisWebService ws_;
 	private JavaWSDLParameter javaWSDLParam_;
 	private String serverProject_; 
-	private String serverModule_;
-	  
-	private MessageUtils msgUtils_;
+	private String serverInstanceId_; 
 	
 	public AxisRunInputCommand() {
-		String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));
 	}
 	
-	public AxisRunInputCommand(AxisWebService ws, String project, String module) {
-		String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));
+	public AxisRunInputCommand(AxisWebService ws, String project) {
 		ws_ = ws;
 		serverProject_ = project; 
-		serverModule_ = module;
 	}
 	
-	 public Status execute(Environment env)
-	  {
-	    
-	  	String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    
-		javaWSDLParam_ = ws_.getAxisWebServiceInfo().getJavaWSDLParameter();
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+	 	javaWSDLParam_ = ws_.getAxisWebServiceInfo().getJavaWSDLParameter();
+	 	serverInstanceId_ = ws_.getWebServiceInfo().getServerInstanceId();
 		
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	  }
 	
 	 /**
@@ -69,6 +52,9 @@
 	public JavaWSDLParameter getJavaWSDLParam() {
 		return javaWSDLParam_;
 	}
-	
+
+	public String getServerInstanceId() {
+		return serverInstanceId_;
+	}	
 	
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/BUAxisInputCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/BUAxisInputCommand.java
index 316fa71..1ea105e 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/BUAxisInputCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/BUAxisInputCommand.java
@@ -11,55 +11,38 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.command;
 
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
 
-public class BUAxisInputCommand extends SimpleCommand {
-
-	private static String LABEL = "TASK_LABEL_BU_AXIS_INPUT";
-	private static String DESCRIPTION = "TASK_DESC_BU_AXIS_INPUT";
+public class BUAxisInputCommand extends AbstractDataModelOperation {
 	
 	private IWebService ws_;
 	private String serverProject_; 
-	private String serverModule_;
 	private String javaBeanName_;
 
 	  private String serviceServerTypeID_;
 	  
-	  private MessageUtils msgUtils_;
-	  
 		/**
 		* Default CTOR
 		*/
 		public BUAxisInputCommand() {
-			String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
 		}
 		
-		public BUAxisInputCommand(IWebService ws, String project, String module) {
-			String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
+		public BUAxisInputCommand(IWebService ws, String project) {
 			ws_ = ws;
 			serverProject_ = project; 
-			serverModule_ = module;	}
+		}
 		
-	  public Status execute(Environment env)
-	  {
-	    
-	  	String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    
+		public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+		{
+	       
 		String serverInstanceId = ws_.getWebServiceInfo().getServerInstanceId();
 		String serverFactoryId = ws_.getWebServiceInfo().getServerFactoryId();
 		javaBeanName_ = ws_.getWebServiceInfo().getImplURL();
@@ -78,7 +61,7 @@
 	    	serviceServerTypeID_ = serverFactoryId;
 	    }
 		
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	  }
 	  
 		/**
@@ -94,10 +77,6 @@
 		    return serviceServerTypeID_;
 		  }
 
-		public String getServerModule() {
-			return serverModule_;
-		}
-
 		public String getJavaBeanName() {
 			return javaBeanName_;
 		}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/ComputeAxisSkeletonBeanCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/ComputeAxisSkeletonBeanCommand.java
index 1007507..adb2718 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/ComputeAxisSkeletonBeanCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/ComputeAxisSkeletonBeanCommand.java
@@ -12,16 +12,16 @@
 
 import java.util.List;
 import java.util.Vector;
-
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
-public class ComputeAxisSkeletonBeanCommand extends SimpleCommand
+public class ComputeAxisSkeletonBeanCommand extends AbstractDataModelOperation
 {
   private List classNames;
   //private String wsdlURI;
@@ -32,8 +32,8 @@
   {
   }
 
-  public Status execute(Environment environment)
-  {
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
     classNames = new Vector();
     if (javaWSDLParameter != null)
     {
@@ -41,7 +41,7 @@
       if (beanName != null)
         classNames.add(beanName);
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   public List getClassNames()
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/CopyDeploymentFileCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/CopyDeploymentFileCommand.java
index 9032a39..6b6e4b0 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/CopyDeploymentFileCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/CopyDeploymentFileCommand.java
@@ -11,19 +11,35 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.command;
 
 
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
+import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.internal.IModulePublishHelper;
 
 /**
  * 
@@ -31,56 +47,89 @@
  * 
  */
 
-public class CopyDeploymentFileCommand extends SimpleCommand
+public class CopyDeploymentFileCommand extends AbstractDataModelOperation
 {
-  private String projectName_;
-  private String componentName_;
+	private final String WEB_INF = "WEB-INF";
+	private final String SERVER_CONFIG = "server-config.wsdd";
+    private String projectName_;
+	private String serverInstanceId_;
   
   /**
    * Constructor for CopyDeploymentFileCommand.
-   * @param String description
-   * @param String name
+ * @param String description
+ * @param String name
    * 
    */
-  public CopyDeploymentFileCommand( String projectName, String componentName )
-  {
-    super("org.eclipse.jst.ws.internal.axis.consumption.core.command.CopyDeploymentFileCommand", "org.eclipse.jst.ws.internal.axis.consumption.core.command.CopyDeploymentFileCommand");
-    
+  public CopyDeploymentFileCommand( String projectName )
+  { 
     projectName_   = projectName;
-    componentName_ = componentName;
   }
 
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
   {
-    Status            status         = new SimpleStatus("");
-    
-    try
-    {
-      IVirtualComponent component      = J2EEUtils.getVirtualComponent( projectName_, componentName_ );
-      IFolder           root           = StructureEdit.getOutputContainerRoot( component );
-      IPath             path           = new Path( "WEB-INF" ).append( "server-config.wsdd" );
-      IFile             descriptorFile = root.getFile( path );
-      IVirtualFile      newLocation    = component.getRootFolder().getFile( path );
-      IPath             targetPath     = newLocation.getWorkspaceRelativePath();
-      IFile             targetFile     = (IFile)ResourceUtils.findResource( targetPath );
-        
-      descriptorFile.refreshLocal( 0, null );
-      
-      if( targetFile != null && targetFile.exists() )
-      {
-        // The target file already exists so we will just overwrite its contents.
-    	targetFile.setContents( descriptorFile.getContents(), true, false, null );
-      }
-      else
-      {
-    	// The target file doesn't exist so we will copy it.
-        descriptorFile.copy( targetPath, true, null );
-      }
-    }
-    catch( Throwable exc )
-    {
-    }
-    
-    return status;
+	  IStatus status = Status.OK_STATUS;
+	  IEnvironment environment = getEnvironment();
+	  
+	  FileInputStream finStream = null;
+	  try
+	  {
+		  
+		  IVirtualComponent component = J2EEUtils.getVirtualComponent( projectName_ );
+		  IServer server = ServerCore.findServer( serverInstanceId_ );
+		  IProject project = ProjectUtilities.getProject(projectName_);
+		  IModule projectModule = ServerUtil.getModule(project);
+		  
+		  if (server != null && component != null && projectModule != null) {
+			  IModulePublishHelper publishHelper = (IModulePublishHelper) 
+			  	server.loadAdapter(IModulePublishHelper.class, monitor);
+			  if (publishHelper != null) {
+				  IPath publishDirPath = publishHelper.getPublishDirectory(new IModule [] {projectModule});
+				  if (publishDirPath != null) {
+					  IPath path = new Path( WEB_INF ).append( SERVER_CONFIG );
+					  IPath serverConfigPath = publishDirPath.append(path);
+					  if (serverConfigPath != null) {
+						  IVirtualFolder rootFolder = component.getRootFolder();
+						  if (rootFolder != null) {			  
+							  IVirtualFile newLocation = rootFolder.getFile(path);
+							  IPath targetPath = newLocation.getWorkspaceRelativePath();
+							  
+							  if (targetPath != null) {
+								  finStream = new FileInputStream(serverConfigPath.toString());
+								  if (finStream != null) {
+									  IStatusHandler statusHandler = environment.getStatusHandler();
+									  ResourceContext context = WebServicePlugin.getInstance().getResourceContext();
+									  FileResourceUtils.createFile(context,  
+											  targetPath,
+											  finStream,
+											  monitor,
+											  statusHandler);
+									  finStream.close();
+								  }
+							  }
+						  }
+					  }
+				  }
+			  } 	  		  
+		  }	  
+	  }
+	  catch( Throwable e )
+	  {
+		  status = StatusUtils.errorStatus(NLS.bind(AxisConsumptionCoreMessages.MSG_ERROR_MOVE_RESOURCE, new String[]{e.getLocalizedMessage()}), e);
+		  environment.getStatusHandler().reportError(status);
+	  } finally {
+		  if (finStream != null) {
+			  try {
+				  finStream.close();
+			  } catch (IOException e) {
+			  }
+		  }			
+	  }
+	  
+	  return status;
+	  
   }
+
+	public void setServerInstanceId(String serverInstanceId) {
+		this.serverInstanceId_ = serverInstanceId;
+	}
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/JavaToWSDLMethodCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/JavaToWSDLMethodCommand.java
index 7aa3ad2..6824167 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/JavaToWSDLMethodCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/JavaToWSDLMethodCommand.java
@@ -16,43 +16,37 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.impl.JavaClassImpl;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
+import org.eclipse.jst.ws.internal.common.JavaMOFUtils;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class JavaToWSDLMethodCommand extends SimpleCommand {
+public class JavaToWSDLMethodCommand extends AbstractDataModelOperation {
 
-	private static String LABEL = "TASK_LABEL_JAVA_TO_WSDL";
-	private static String DESCRIPTION = "TASK_DESC_JAVA_TO_WSDL";
 	private static String JAVA_EXTENSION = ".java"; //$NON-NLS-1$
 	private static String CLASS_EXTENSION = ".class"; //$NON-NLS-1$
 
 	private Hashtable fMethodNames;
 	private String fClassName;
-	private String fBeanName;
 	private String fbeanBaseName;
-	private IProject fProject;
 	private JavaWSDLParameter javaWSDLParam_;
 	private IProject serviceProject_;
-	private MessageUtils msgUtils_;
 
 	/**
 	* Default CTOR
 	*/
 	public JavaToWSDLMethodCommand() {
-		String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));
 	}
 	/**
 	* Default CTOR
@@ -60,10 +54,6 @@
 	public JavaToWSDLMethodCommand(
 		JavaWSDLParameter javaParameter,
 		IProject serviceProject) {
-		String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));
 		javaWSDLParam_ = javaParameter;
 		serviceProject_ = serviceProject;
 
@@ -72,10 +62,13 @@
 	/**
 	* JavaToToWSDLMethod execute
 	*/
-	public Status execute(Environment environment) {
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
+
 		fbeanBaseName = javaWSDLParam_.getBeanName();
-		environment.getLog().log(Log.INFO, 5070, this, "execute", "beanBaseName = "+fbeanBaseName);
-		Status status;
+		environment.getLog().log(ILog.INFO, 5070, this, "execute", "beanBaseName = "+fbeanBaseName);
+		IStatus status;
 		try {
 			//Get the qualified bean name; my.package.MyClass
 			fMethodNames = new Hashtable();
@@ -87,28 +80,22 @@
 				qName = qName.substring(0, qName.lastIndexOf('.'));
 			}
 
-			JavaEMFNature jMOF =
-				(JavaEMFNature) JavaEMFNature.createRuntime(
-					serviceProject_);
-			JavaClass javaClass =
-				(JavaClass) JavaClassImpl.reflect(qName, jMOF.getResourceSet());
+			JavaClass javaClass = JavaMOFUtils.getJavaClass(qName, serviceProject_);
+			
 			if (!javaClass.isExistingType()) {
-				environment.getLog().log(Log.ERROR, 5022, this, "execute", msgUtils_.getMessage(
-						"MSG_ERROR_JAVA_MOF_REFLECT_FAILED",
+				environment.getLog().log(ILog.ERROR, 5022, this, "execute", 
+						NLS.bind(AxisCreationUIMessages.MSG_ERROR_JAVA_MOF_REFLECT_FAILED,
 						new String[] { qName }));
 				
-				status = new SimpleStatus("JavaToWSDLMethodCommand", //$NON-NLS-1$
-						msgUtils_.getMessage(
-					"MSG_ERROR_JAVA_MOF_REFLECT_FAILED",
-					new String[] { qName }),
-					Status.ERROR);
+				status = StatusUtils.errorStatus(
+						NLS.bind(AxisCreationUIMessages.MSG_ERROR_JAVA_MOF_REFLECT_FAILED,
+					new String[] { qName }));
 				environment.getStatusHandler().reportError(status);
 				return status;
 			}
 
 			// Get the qualified name
 			fClassName = javaClass.getQualifiedName();
-			fBeanName = fClassName;
 			String beanName;
 			if (fClassName.lastIndexOf('.') != -1) {
 				beanName =
@@ -156,15 +143,12 @@
 			*/
 			javaWSDLParam_.setMethods(fMethodNames);
 			
-			return new SimpleStatus( "" );
+			return Status.OK_STATUS;
 
 		} catch (Exception e) {
-			environment.getLog().log(Log.ERROR, 5023, this, "execute", msgUtils_.getMessage("MSG_ERROR_READ_BEAN"));
+			environment.getLog().log(ILog.ERROR, 5023, this, "execute", AxisCreationUIMessages.MSG_ERROR_READ_BEAN);
 		
-			status = new SimpleStatus("JavaToWSDLMethodCommand", //$NON-NLS-1$
-					msgUtils_.getMessage(
-				"MSG_ERROR_JAVA_TO_METHOD"),
-				Status.ERROR, e);
+			status = StatusUtils.errorStatus(AxisCreationUIMessages.MSG_ERROR_JAVA_TO_METHOD, e);
 			environment.getStatusHandler().reportError(status);
 			return status;
 		}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/PublishServerCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/PublishServerCommand.java
new file mode 100644
index 0000000..f752283
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/PublishServerCommand.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.axis.creation.ui.command;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.internal.Server;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
+
+public class PublishServerCommand extends AbstractDataModelOperation
+{
+  private WebServiceInfo wsInfo;
+  
+  public PublishServerCommand(WebServiceInfo wsInfo)
+  {
+    this.wsInfo = wsInfo;
+  }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable adaptable) 
+  {
+    if (wsInfo != null)
+    {
+      String serverInstanceId = wsInfo.getServerInstanceId();
+      if (serverInstanceId != null)
+      {
+        IServer server = ServerCore.findServer(serverInstanceId);
+        if (server != null)
+        {
+        	if (((Server)server).shouldPublish()) {
+        		return server.publish(IServer.PUBLISH_INCREMENTAL, monitor);
+        	}
+        }
+      }
+    }
+    return Status.OK_STATUS;
+  }
+}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/TDAxisInputCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/TDAxisInputCommand.java
index 64b8975..1832238 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/TDAxisInputCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/TDAxisInputCommand.java
@@ -11,58 +11,41 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.command;
 
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
 
-public class TDAxisInputCommand extends SimpleCommand {
-
-	private static String LABEL = "TASK_LABEL_TD_AXIS_INPUT";
-	private static String DESCRIPTION = "TASK_DESC_TD_AXIS_INPUT";
+public class TDAxisInputCommand extends AbstractDataModelOperation {
 	
 	private IWebService ws_;
 	private String serverProject_; 
-	private String serverModule_;
 
 	  private String serverServer_;
+      private String serviceServerTypeID_; 
 	  private String wsdlURI_;
-	  
-	  private MessageUtils msgUtils_;
-	  
+	  	  
 		/**
 		* Default CTOR
 		*/
 		public TDAxisInputCommand() {
-			String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
 		}
 		
-		public TDAxisInputCommand(IWebService ws, String project, String module) {
-			String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-		    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-		    setName (msgUtils_.getMessage(LABEL));
-			setDescription( msgUtils_.getMessage(DESCRIPTION));
+		public TDAxisInputCommand(IWebService ws, String project) {
 			ws_ = ws;
 			serverProject_ = project;
-			serverModule_ = module;
 		}
 		
-	  public Status execute(Environment env)
-	  {
-	    
-	  	String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    
-		serverServer_ = ws_.getWebServiceInfo().getServerInstanceId();	
+		public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+		{	    
+		serverServer_ = ws_.getWebServiceInfo().getServerInstanceId();
+        serviceServerTypeID_ = ws_.getWebServiceInfo().getServerFactoryId();
 		wsdlURI_ = ws_.getWebServiceInfo().getWsdlURL();
 		
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	  }
 	  
 		/**
@@ -77,12 +60,14 @@
 		  {
 		    return serverServer_;
 		  }
+          
+          public String getServiceServerTypeID()
+          {
+            return serviceServerTypeID_;
+          }          
 
 		public String getWsdlURI() {
 			return wsdlURI_;
 		}
 
-		public String getServerModule() {
-			return serverModule_;
-		}
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/UpdateWEBXMLCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/UpdateWEBXMLCommand.java
index 8ecc02f..d45d865 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/UpdateWEBXMLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/command/UpdateWEBXMLCommand.java
@@ -11,50 +11,53 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.command;
 
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
 import org.eclipse.jst.j2ee.webapplication.Servlet;
 import org.eclipse.jst.j2ee.webapplication.ServletMapping;
 import org.eclipse.jst.j2ee.webapplication.ServletType;
 import org.eclipse.jst.j2ee.webapplication.WebApp;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
 
-public class UpdateWEBXMLCommand extends SimpleCommand {
+public class UpdateWEBXMLCommand extends AbstractDataModelOperation {
 
-	private String LABEL = "TASK_LABEL_UPDATE_WEB_XML";
-	private String DESCRIPTION = "TASK_DESC_UPDATE_WEB_XML";
-
-	private MessageUtils msgUtils_;
 	private IProject serverProject;
-	private String   moduleName_;
+    private WebServiceInfo wsInfo;
 
-  public UpdateWEBXMLCommand( String moduleName )
+  public UpdateWEBXMLCommand( )
   {
-    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-    setName (msgUtils_.getMessage(LABEL));
-    setDescription( msgUtils_.getMessage(DESCRIPTION));
-	
-	moduleName_ = moduleName;
   }
 
-	public Status execute(Environment environment) {
+  public UpdateWEBXMLCommand(WebServiceInfo wsInfo)
+  {
+    this.wsInfo = wsInfo;
+  }
+
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
 		if (serverProject != null) {
-			Status status = null;
-			status = addServlet(serverProject, moduleName_, getAxisServletDescriptor());
+			IStatus status = null;
+			status = addServlet(serverProject, getAxisServletDescriptor(), monitor, false);
 			if (status.getSeverity() == Status.ERROR) {
 				environment.getStatusHandler().reportError(status);
 				return status;
@@ -63,13 +66,13 @@
 				environment.getStatusHandler().reportError(status);
 				return status;
 			}
-			addServlet(serverProject, moduleName_, getAdmintServletDescriptor());
+			addServlet(serverProject, getAdmintServletDescriptor(), monitor, true);
 			if (status.getSeverity() == Status.ERROR) {
 				environment.getStatusHandler().reportError(status);
 				return status;
 			}
 		}
-		return new SimpleStatus( "" );
+		return Status.OK_STATUS;
 	}
 
 	private ServletDescriptor getAxisServletDescriptor() {
@@ -94,31 +97,23 @@
 		return sd;
 	}
 
-	private ServletDescriptor getSoapMonitorServletDescriptor() {
-		ServletDescriptor sd = new ServletDescriptor();
-		sd._name = "SOAPMonitorService"; //$NON-NLS-1$
-		sd._displayName = "SOAPMonitorService"; //$NON-NLS-1$
-		sd._className = "org.apache.axis.monitor.SOAPMonitorService"; //$NON-NLS-1$
-		sd._mappings = new String[] { "/SOAPMonitor" }; //$NON-NLS-1$
-		sd._loadOnStartup = new Integer(100);
-		Map params = new HashMap();
-		params.put("SOAPMonitorPort", //$NON-NLS-1$
-					 "5001");   //$NON-NLS-1$
-		sd._params = params;
-		return sd;
-	}
+    public IStatus addServlet(
+        IProject webProject,
+        ServletDescriptor servletDescriptor) {
+      return addServlet(webProject, servletDescriptor, new NullProgressMonitor(), false);
+    }
 
-	public Status addServlet(
+	private IStatus addServlet(
 		IProject webProject,
-		String   moduleName,
-		ServletDescriptor servletDescriptor) {
+		ServletDescriptor servletDescriptor,
+        IProgressMonitor monitor,
+        boolean restart) {
 
-		Object accessorKey = new Object();
 		WebArtifactEdit webEdit = null;		
 		try {
 			// 
 			WebApp webapp = null;
-      IVirtualComponent vc = ComponentCore.createComponent(webProject, moduleName);
+      IVirtualComponent vc = ComponentCore.createComponent(webProject);
       webEdit = WebArtifactEdit.getWebArtifactEditForWrite(vc);
 			if (webEdit != null)
 			{
@@ -135,7 +130,7 @@
 			   }
 
 			   if (foundServlet) {
-				  return new SimpleStatus( "" );
+				  return Status.OK_STATUS;
 			   }
 
 			   WebapplicationFactory factory = WebapplicationFactory.eINSTANCE;
@@ -169,13 +164,41 @@
 			   webEdit.save(new NullProgressMonitor());
 			}
 
-			return new SimpleStatus( "" );
+            // TODO: The following snippet of code is to restart the server
+            // after web.xml gets updated with the Axis Admin servlet.
+            // Ideally, we do NOT need this because the base framework should
+            // handle the restart for us. However, we found that the Tomcat
+            // server is over reporting whether it needs to be restarted or not.
+            // For example, if you put a .java file in a Web module, Tomcat
+            // will say, I need to be restarted. To prevent restarting of
+            // servers every time we generate a Web service, the base framewrok
+            // made the restart condition to be more restrictive. That is,
+            // not only does the server has to say it needs to be restarted, it
+            // also have to say it needs to be re-published. A side effect of the
+            // more restrictive condition is that, web.xml changes will not
+            // cause a server restart. The following piece of code is to
+            // workaround the problem reported in bug 118099. For more information, see comments
+            // in org.eclipse.jst.ws.internal.consumption.ui.command.StartServerCommand
+            if (restart && wsInfo != null)
+            {
+              String serverInstanceId = wsInfo.getServerInstanceId();
+              if (serverInstanceId != null)
+              {
+                IServer server = ServerCore.findServer(serverInstanceId);
+                if (server != null && server.getServerState() == IServer.STATE_STARTED && server.getServerRestartState())
+                {
+                  server.publish(IServer.PUBLISH_INCREMENTAL, monitor);
+                  server.synchronousRestart(ILaunchManager.RUN_MODE, monitor);
+                }
+              }
+            }
+
+			return Status.OK_STATUS;
 		} catch (Exception e) {
 
-			return new SimpleStatus(
-					"UpdateWEBXMLCommand.addServlet", //$NON-NLS-1$
-					msgUtils_.getMessage("MSG_ERROR_UPDATE_WEB_XML"),
-					Status.ERROR, e);
+			return StatusUtils.errorStatus(
+					AxisCreationUIMessages.MSG_ERROR_UPDATE_WEB_XML,
+					e);
 		}
 		finally{
 			if (webEdit != null)
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/plugin/WebServiceAxisCreationUIPlugin.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/plugin/WebServiceAxisCreationUIPlugin.java
index 3608367..17c333b 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/plugin/WebServiceAxisCreationUIPlugin.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/plugin/WebServiceAxisCreationUIPlugin.java
@@ -11,17 +11,12 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.plugin;
 
 
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
+import org.osgi.framework.BundleContext;
 
 /**
 * This is the plugin class for the Web Services plugin.
@@ -44,7 +39,7 @@
   * The reference to the singleton instance of this plugin.
   */
   private static WebServiceAxisCreationUIPlugin instance_;
-  private Log log_;
+  private ILog log_;
 
   /**
   * Constructs a runtime plugin object for this plugin.
@@ -52,17 +47,23 @@
   * class = "org.eclipse.jst.ws.internal.ui.plugin.WebServicePlugin".
   * @param descriptor The descriptor of this plugin.
   */
-  public WebServiceAxisCreationUIPlugin ( IPluginDescriptor descriptor )
+  public WebServiceAxisCreationUIPlugin()
   {
-    super(descriptor);
+    super();
     if (instance_ == null)
     {
       instance_ = this;
     }
-    log_ = new EclipseLog();
+    log_ = EnvironmentService.getEclipseLog();
 
   }
 
+  // This method is needed to keep the logging from blowing up.
+  public String toString()
+  {
+    return ID;  
+  }
+  
   /**
   * Returns the singleton instance of this plugin. Equivalent to calling
   * (WebServiceWasCreationUIPlugin)Platform.getPlugin("org.eclipse.jst.ws.was.v5.tp.ui");
@@ -77,10 +78,19 @@
   * Called once by the platform when this plugin is first loaded.
   * @throws CoreException If this plugin fails to start.
   */
-  public void startup () throws CoreException
+  public void start( BundleContext context ) throws CoreException
   {
-  	log_.log(Log.INFO, 5068, this, "startup", "Starting plugin org.eclipse.jst.ws.axis.creation.ui");
-    super.startup();
+  	log_.log(ILog.INFO, 5068, this, "start", "Starting plugin org.eclipse.jst.ws.axis.creation.ui");
+    
+    try
+    {
+      super.start( context );
+    }
+    catch( Exception exc )
+    {
+      log_.log( ILog.ERROR, 5068, this, "start", exc );  
+    }
+    
     setPreferences();
   }
 
@@ -88,10 +98,18 @@
   * Called once by the platform when this plugin is unloaded.
   * @throws CoreException If this plugin fails to shutdown.
   */
-  public void shutdown () throws CoreException
+  public void stop( BundleContext context ) throws CoreException
   {
-  	log_.log(Log.INFO, 5069, this, "shutdown", "Shutting plugin org.eclipse.jst.ws.axis.creation.ui");
-    super.shutdown();
+  	log_.log(ILog.INFO, 5069, this, "stop", "Shutting plugin org.eclipse.jst.ws.axis.creation.ui");
+    
+    try
+    {
+      super.stop( context );
+    }
+    catch( Exception exc )
+    {
+      log_.log( ILog.ERROR, 5068, this, "start", exc );        
+    }
   }
 
 
@@ -112,58 +130,4 @@
 //	ActionDialogsPreferenceHelper.initializeDefaults(preferenceStore);
   }
  
-  /**
-  * Returns the message string identified by the given key from
-  * the plugin.properties file for the appropriate locale.
-  * @param key The message key string prefixed by a "%" symbol.
-  * That is, the string passed in must be of the form "%KEY"
-  * where the plugin.properties file contains a line of the
-  * form: "KEY = value".
-  * @return The locale-specific message.
-  */
-  public static String getMessage ( String key )
-  {
-    return instance_.getDescriptor().getResourceString(key);
-  }
-
-  /**
-  * Returns the message string identified by the given key from
-  * the plugin.properties file for the appropriate locale.
-  * Substitution sequences in the message string
-  * are replaced by the given array of substitution objects (which
-  * are most frequently strings). See java.text.MessageFormat for
-  * further details on substitution.
-  * @param key The message key string prefixed by a "%" symbol.
-  * That is, the string passed in must be of the form "%KEY"
-  * where the plugin.properties file contains a line of the
-  * form: "KEY = value".
-  * @param args The substitution values for the message
-  * as required by the message in plugin.properties and
-  * by the rules of class java.text.MessageFormat.
-  * @return The locale-specific message.
-  */
-  public static String getMessage ( String key, Object[] args )
-  {
-    return MessageFormat.format(getMessage(key),args);
-  }
-
-  /**
-  * Returns an image descriptor for the named resource
-  * as relative to the plugin install location.
-  * @return An image descriptor, possibly null.
-  */
-  public static ImageDescriptor getImageDescriptor ( String name )
-  {
-    try
-    {
-      URL installURL = instance_.getDescriptor().getInstallURL();
-      URL imageURL = new URL(installURL,name);
-      return ImageDescriptor.createFromURL(imageURL);
-    }
-    catch (MalformedURLException e)
-    {
-      return null;
-    }
-  }
-
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BUCheckAxisDeploymentDescriptors.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BUCheckAxisDeploymentDescriptors.java
index 8676c3f..a58f6ce 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BUCheckAxisDeploymentDescriptors.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/BUCheckAxisDeploymentDescriptors.java
@@ -1,11 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.axis.creation.ui.task;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CheckAxisDeploymentDescriptorsTask;
 
-public class BUCheckAxisDeploymentDescriptors extends CheckAxisDeploymentDescriptorsTask 
-{
-  public BUCheckAxisDeploymentDescriptors(String moduleName) 
-  {
-	super(moduleName);
-  }
+public class BUCheckAxisDeploymentDescriptors extends
+		CheckAxisDeploymentDescriptorsTask {
+	public BUCheckAxisDeploymentDescriptors() {
+	}
+
+	/*
+	 * The execute method of this command do nothing.  It is merely an anchor point for UI page
+	 * TODO Remove this class and use another command as an anchor point for the UI
+	 */
+	public IStatus execute(IProgressMonitor monitor, IAdaptable adaptable) {
+		return Status.OK_STATUS;
+	}
+
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/DefaultsForServerJavaWSDLCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/DefaultsForServerJavaWSDLCommand.java
index 9b6b3ba..c3afaf9 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/DefaultsForServerJavaWSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/DefaultsForServerJavaWSDLCommand.java
@@ -11,94 +11,67 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.task;
 
 
-import javax.wsdl.Definition;
-
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.ClasspathUtils;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.FileUtil;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.PlatformUtils;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.WSDLUtils;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
 import org.eclipse.jst.ws.internal.consumption.ui.wsil.Utils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
-public class DefaultsForServerJavaWSDLCommand extends SimpleCommand {
+public class DefaultsForServerJavaWSDLCommand extends AbstractDataModelOperation {
 
-	private MessageUtils msgUtils_;
-	private MessageUtils coreMsgUtils_;
-	private MessageUtils conMsgUtils_;
-	
-	// rm private Model model_;
 	private JavaWSDLParameter javaWSDLParam_ = null;
 	private IProject serviceProject_;
 	private String javaBeanName_; // this needs to be set by the extension with initial selection
 	private String WSDLServiceURL_;
 	private String WSDLServicePathname_;
 	private WebServicesParser WSParser_;
-	// rm private WebServiceElement wse_; // temporary
-	private String moduleName_;
+    private String serviceServerTypeID_;
 	
-	private String LABEL = "TASK_LABEL_SERVER_JAVA_WSDL_DEFAULTS";
-	private String DESCRIPTION = "TASK_DESC_SERVER_JAVA_WSDL_DEFAULTS";
 	private final String WSDL_FOLDER = "wsdl"; //$NON-NLS-1$
 	public final String SERVICE_EXT = "/services/"; //$NON-NLS-1$
 	private final String WSDL_EXT = "wsdl"; //$NON-NLS-1$
 	public final byte MODE_BEAN = (byte) 0;
 	public final String SERVICE_NAME_EXT = "Service"; //$NON-NLS-1$
 
-	public DefaultsForServerJavaWSDLCommand( String moduleName ) 
+	public DefaultsForServerJavaWSDLCommand( ) 
 	{
-		String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    conMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.ui.plugin", this );
-		moduleName_  = moduleName;
-
-		setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));
 	}
 	
 
-	public DefaultsForServerJavaWSDLCommand(
-		JavaWSDLParameter javaWSDLParam,
-		Model model) {
-
-		String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-
-		setName (msgUtils_.getMessage(LABEL));
-		setDescription( msgUtils_.getMessage(DESCRIPTION));
-		//rm setModel(model);
-		setJavaWSDLParam(javaWSDLParam);
-	
-	}
-
 	/**
 	* Execute DefaultsForJavaToWSDLTask
 	*/
-	public Status execute( Environment env ) {
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
 
-		Status status;
+		IStatus status;
 		if (javaWSDLParam_ == null) {
-			status = new SimpleStatus( "DefaultsForServerJavaWSDLTask", coreMsgUtils_.getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR );
-			env.getStatusHandler().reportError(status);
+			status = StatusUtils.errorStatus( AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
+			environment.getStatusHandler().reportError(status);
 			return status;
 		}
 		
@@ -115,16 +88,14 @@
 		javaWSDLParam_.setSkeletonDeploy(false);
 
 		javaWSDLParam_.setBeanName(javaBeanName_);
-		String classpath = ClasspathUtils.getInstance().getClasspathString(serviceProject_, moduleName_);
+		String classpath = ClasspathUtils.getInstance().getClasspathString(serviceProject_);
 		javaWSDLParam_.setClasspath(classpath);
 
 		String simpleBeanName = javaBeanName_;
-		String beanPackageName = null;
 		if (javaBeanName_ != null) {
 			int index = javaBeanName_.lastIndexOf('.');
 			if (index != -1) {
 				simpleBeanName = javaBeanName_.substring(index + 1);
-				beanPackageName = javaBeanName_.substring(0, index);
 			}
 		}
 		String namespace = WSDLUtils.makeNamespace(javaWSDLParam_.getBeanName());
@@ -139,8 +110,8 @@
 		IPath webinfPath = serviceProject_.getFullPath();
 		try {
 			//if ( ResourceUtils.isWebProject(serviceProject_)) {
-      if (J2EEUtils.isWebComponent(serviceProject_, moduleName_)){
-				moduleServerRoot = ResourceUtils.getJavaSourceLocation(serviceProject_, moduleName_);
+      if (J2EEUtils.isWebComponent(serviceProject_)){
+				moduleServerRoot = ResourceUtils.getJavaSourceLocation(serviceProject_);
 
 				// should use ModuleCore.getSourceContainers();
 //				IContainer container = ResourceUtils.getWebModuleServerRoot(serviceProject_);
@@ -148,14 +119,14 @@
 //					moduleServerRoot = container.getFullPath();
 //				}
 				
-				modulePath = J2EEUtils.getWebContentPath(serviceProject_, moduleName_);
-				webinfPath = J2EEUtils.getWebInfPath( serviceProject_, moduleName_ );
+				modulePath = J2EEUtils.getWebContentPath(serviceProject_);
+				webinfPath = J2EEUtils.getWebInfPath( serviceProject_ );
 				
 			}
 
 		} catch (Exception e) {
-			status =  new SimpleStatus( "DefaultsForServerJavaWSDLTask", conMsgUtils_.getMessage("MSG_ERROR_DEFAULT_BEAN"), Status.ERROR, e );
-			env.getStatusHandler().reportError(status);
+			status =  StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_ERROR_DEFAULT_BEAN, e );
+			environment.getStatusHandler().reportError(status);
 			return status;
 		}
 
@@ -168,8 +139,8 @@
 		
 		}
 		catch(CoreException e){
-			status = new SimpleStatus( "DefaultsForServerJavaWSDLTask", conMsgUtils_.getMessage("MSG_ERROR_WRITE_WSDL"), Status.ERROR, e );
-			env.getStatusHandler().reportError(status);
+			status = StatusUtils.errorStatus( AxisConsumptionUIMessages.MSG_ERROR_WRITE_WSDL, e );
+			environment.getStatusHandler().reportError(status);
 			return status;
 		}
 		
@@ -189,27 +160,22 @@
 				if (res != null)
 					wsdlURL = (new Utils()).toFileSystemURI(res);
 			}
-			Definition definition = null;
 			if (wsdlURL != null && wsdlURL.length() > 0) {
 				if (WSParser_ == null) {
 					WSParser_ = new WebServicesParserExt();
 				}
-				definition = WSParser_.getWSDLDefinition(wsdlURL);
 			}
 		}
 
 		javaWSDLParam_.setStyle(JavaWSDLParameter.STYLE_WRAPPED);
 		javaWSDLParam_.setUse(JavaWSDLParameter.USE_LITERAL);
 
-		String projectURL = ServerUtils.getEncodedWebComponentURL(serviceProject_, moduleName_);
+		String projectURL = ServerUtils.getEncodedWebComponentURL(serviceProject_, serviceServerTypeID_);
 		if (projectURL == null) {
-			status = new SimpleStatus( "DefaultsForServerJavaWSDLTask", msgUtils_.getMessage("MSG_ERROR_PROJECT_URL"), Status.ERROR);
-			env.getStatusHandler().reportError(status);
+			status = StatusUtils.errorStatus( AxisCreationUIMessages.MSG_ERROR_PROJECT_URL);
+			environment.getStatusHandler().reportError(status);
 			return status;
 		}
-//		else {
-//			javaWSDLParam_.setUrlLocation("http://localhost:8080/"+moduleName_);
-//		}
 		
 		String serviceURL = projectURL + SERVICE_EXT + simpleBeanName;
 		javaWSDLParam_.setUrlLocation(serviceURL);
@@ -230,7 +196,7 @@
 		javaWSDLParam_.setJavaOutput(javaOutput);
 		javaWSDLParam_.setOutput(output);
 		
-		return new SimpleStatus( "" );
+		return Status.OK_STATUS;
 	}
 
 	/**
@@ -288,5 +254,10 @@
       if (object instanceof String)
         setJavaBeanName((String)object);
     }
-  }	
+  }
+  
+  public void setServiceServerTypeID(String id)
+  {
+    serviceServerTypeID_ = id;
+  }
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/LiteralSupportMessageTask.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/LiteralSupportMessageTask.java
deleted file mode 100644
index 6e44bb2..0000000
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/LiteralSupportMessageTask.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.creation.ui.task;
-
-
-
-import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-
-
-
-public class LiteralSupportMessageTask extends SimpleCommand {
-
-	private final String LABEL = "TASK_LABEL_LITERAL_SUPPORT_MESSAGE";
-	private final String DESCRIPTION =
-		"TASK_DESC_LITERAL_SUPPORT_MESSAGE";
-	private MessageUtils msgUtils_;
-	private MessageUtils coreMsgUtils_;
-
-	private JavaWSDLParameter javaWSDLParam_;
-
-	public LiteralSupportMessageTask() {
-	    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils(pluginId+".plugin", this);
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setDescription(msgUtils_.getMessage(DESCRIPTION));
-	    setName(msgUtils_.getMessage(LABEL));	
-	}
-	
-	public LiteralSupportMessageTask(JavaWSDLParameter javaWSDLParam) {
-	    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils(pluginId+".plugin", this);
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setDescription(msgUtils_.getMessage(DESCRIPTION));
-	    setName(msgUtils_.getMessage(LABEL));	
-		javaWSDLParam_ = javaWSDLParam;
-
-	}
-
-
-	/**
-	* Execute LiteralSupportMessageTask
-	*/
-	public Status execute(Environment env) {
-        Status status = new SimpleStatus("");
-		if (javaWSDLParam_ == null) {
-		    status = new SimpleStatus("",coreMsgUtils_.getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
-		    env.getStatusHandler().reportError(status);
-		    return status;
-		}
-
-		String use = javaWSDLParam_.getUse();
-		if(use != null && 
-			use.equals(JavaWSDLParameter.USE_LITERAL)){
-		    status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_LITERAL_SUPPORT_MESSAGE"), Status.WARNING);
-		    try
-			{
-		    	env.getStatusHandler().report(status);
-		    }
-		    catch(StatusException se)
-			{
-		    	status = new SimpleStatus("","User aborted",Status.ERROR);
-		    }
-		}
-		
-		return status;
-	}
-
-	public void setJavaWSDLParam(JavaWSDLParameter javaWSDLParam)
-	{
-		javaWSDLParam_ = javaWSDLParam;
-	}
-	
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/MoveDeploymentFilesTask.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/MoveDeploymentFilesTask.java
deleted file mode 100644
index 2fe3eaa..0000000
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/MoveDeploymentFilesTask.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.creation.ui.task;
-
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.util.FileUtil;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-public class MoveDeploymentFilesTask extends SimpleCommand {
-
-	private final String LABEL = "TASK_LABEL_MOVE_DEPLOYMENT_FILES";
-	private final String DESCRIPTION = "TASK_DESC_MOVE_DEPLOYMENT_FILES";
-	private final String WEB_INF = "WEB-INF";	//$NON-NLS-1$
-	private final String META_INF = "META-INF";	//$NON-NLS-1$
-
-	private MessageUtils msgUtils_;
-	private MessageUtils coreMsgUtils_;
-	private IProject serverProject;
-	private String   moduleName_;
-	
-    private JavaWSDLParameter javaWSDLParam_;
-	
-	public MoveDeploymentFilesTask( String moduleName )
-    {
-      String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-      msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-      coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-      setDescription(msgUtils_.getMessage(DESCRIPTION));
-      setName(msgUtils_.getMessage(LABEL));
-	  
-	  moduleName_ = moduleName;
-    }
-
-  /**
-	* Execute DefaultsForJavaToWSDLTask
-	*/
-	public Status execute(Environment env) {
-		Status status = new SimpleStatus("");
-		if (javaWSDLParam_ == null) {
-		  status = new SimpleStatus("",coreMsgUtils_.getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
-		  env.getStatusHandler().reportError(status);
-		  return status;
-		}
-
-		IProject project = serverProject;
-		//String projectURL = ResourceUtils.getEncodedWebProjectURL(project);
-		String projectURL = ServerUtils.getEncodedWebComponentURL(project, moduleName_);
-		
-		if (projectURL == null) {
-		    status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_PROJECT_URL",new String[] { project.toString()}), Status.ERROR);
-		    env.getStatusHandler().reportError(status);
-		    return status;		  
-		} else {
-			javaWSDLParam_.setProjectURL(projectURL);
-		}
-
-		try {
-//			if (!project.hasNature(IWebNatureConstants.J2EE_NATURE_ID))
-//				return status;
-//		} catch (Exception ex) {
-//		  status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_INTERAL"), Status.ERROR, ex);
-//		  env.getStatusHandler().reportError(status);
-//		  return status;		  
-//		}
-		String[] deployFiles = javaWSDLParam_.getDeploymentFiles();
-		String javaOutput = javaWSDLParam_.getJavaOutput();
-
-		if (deployFiles == null || javaOutput == null) {
-			return status;
-		}
-
-
-		IPath webinfPath = J2EEUtils.getWebInfPath(project, moduleName_ );
-
-			for (int i = 0; i < deployFiles.length; i++) {
-        File f = new File(deployFiles[i]);
-        String resourceToMove = f.getName();
-				String targetFileName = ResourceUtils.getWorkspaceRoot().getFile(webinfPath.addTrailingSeparator().append(resourceToMove)).getLocation().toString();
-				FileUtil.createTargetFile(deployFiles[i], targetFileName, true);
-				File deploymentFile = new File(deployFiles[i]);
-				deploymentFile.delete();
-				deployFiles[i] = targetFileName;
-			}
-
-		} catch (Exception e) {
-		  status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_MOVE_RESOURCE",new String[] { e.getLocalizedMessage()}), Status.ERROR, e);
-		  env.getStatusHandler().reportError(status);
-		  return status;		  
-		}
-		
-		return status;
-	}
-
-	public JavaWSDLParameter getJavaWSDLParam()
-	{
-		return javaWSDLParam_;
-	}
-	
-	public void setJavaWSDLParam(JavaWSDLParameter javaWSDLParam)
-	{
-		javaWSDLParam_ = javaWSDLParam;
-	}
-	
-	public void setServerProject(IProject serverProject)
-	{
-	  this.serverProject = serverProject;
-	}
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/MoveJavaFilesTask.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/MoveJavaFilesTask.java
deleted file mode 100644
index d513f13..0000000
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/MoveJavaFilesTask.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.creation.ui.task;
-
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-
-public class MoveJavaFilesTask extends SimpleCommand {
-
-	private final String LABEL = "TASK_LABEL_MOVE_JAVA_FILES";
-	private final String DESCRIPTION = "TASK_DESC_MOVE_JAVA_FILES";
-
-	private JavaWSDLParameter javaWSDLParam_;
-	private MessageUtils msgUtils_;
-	private MessageUtils coreMsgUtils_;
-	private IProject serviceProject_;
-	
-	private String moduleName_;
-	// rm private Model model_;
-
-	public MoveJavaFilesTask(String moduleName) {
-	    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setDescription(msgUtils_.getMessage(DESCRIPTION));
-	    setName(msgUtils_.getMessage(LABEL));
-		
-		this.moduleName_ = moduleName;
-	}
-	
-	public MoveJavaFilesTask() {
-	    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setDescription(msgUtils_.getMessage(DESCRIPTION));
-	    setName(msgUtils_.getMessage(LABEL));
-	}	
-
-	public MoveJavaFilesTask(JavaWSDLParameter javaWSDLParam) {
-	    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setDescription(msgUtils_.getMessage(DESCRIPTION));
-	    setName(msgUtils_.getMessage(LABEL));	  
-		javaWSDLParam_ = javaWSDLParam;
-
-	}
-
-	/**
-	* Execute DefaultsForJavaToWSDLTask
-	*/
-	public Status execute(Environment env) {
-	  
-	  // rm 
-	  /*
-	  //Begin Setters
-	  WebServiceElement wse =
-			WebServiceElement.getWebServiceElement(model_);
-	  setServiceProject(wse.getServiceProject());
-	  //End Setters
-	  */
-	  Status status = new SimpleStatus("");
-	  
-		if (javaWSDLParam_ == null) {
-		  status = new SimpleStatus("",coreMsgUtils_.getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
-		  env.getStatusHandler().reportError(status);
-		  return status;		  
-		}
-
-		// rm 
-		/*
-		if (model_ == null) {
-		  status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_MODEL_NOT_SET"), Status.ERROR);
-		  return status;		  
-		}
-		*/
-
-		IProject project = serviceProject_;
-		//String projectURL = ResourceUtils.getEncodedWebProjectURL(project);
-		String projectURL = ServerUtils.getEncodedWebComponentURL(project, moduleName_);
-		if (projectURL == null) {
-		    status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_PROJECT_URL",new String[] {project.toString()}), Status.ERROR);
-		    env.getStatusHandler().reportError(status);
-		    return status;		  
-
-		} else {
-			javaWSDLParam_.setProjectURL(projectURL);
-		}
-
-		String[] javaFiles = javaWSDLParam_.getJavaFiles();
-		String javaoutput = javaWSDLParam_.getJavaOutput();  // <webproject>/JavaSource
-		String output = javaWSDLParam_.getOutput();  		 // <webproject>/WebContent/META_INF
-
-		if(javaFiles == null || javaoutput == null && output == null ){
-			return status;
-		}
-		try {
-			for (int i = 0; i < javaFiles.length; i++) {
-				String resourceToMove = javaFiles[i].substring(output.length());
-				String targetFileName = javaoutput + resourceToMove;
-				File resultFile = new File(targetFileName);
-				// copy java files that without overwtriting existing ones
-//				if (!resultFile.exists()) {
-//					FileUtil.createTargetFile(
-//						javaFiles[i],
-//						javaoutput + resourceToMove);
-//				}
-				// delete java files from the output directory
-				File source = new File(javaFiles[i]);
-				source.delete();
-			}
-		} catch (Exception e) {
-		  status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_MOVE_RESOURCE",new String[]{e.getLocalizedMessage()}), Status.ERROR, e);
-		  env.getStatusHandler().reportError(status);
-		  return status;		  
-		}
-		
-		return status;
-	}
-
-	public void setJavaWSDLParam(JavaWSDLParameter javaWSDLParam)
-	{
-		javaWSDLParam_ = javaWSDLParam;
-	}
-	
-	public JavaWSDLParameter getJavaWSDLParam() {
-		return javaWSDLParam_;
-	}
-	
-	public void setServiceProject(IProject serviceProject)
-	{
-	  serviceProject_ = serviceProject;
-	}
-	
-	// rm
-	/*
-	public void setModel(Model model)
-	{
-	  model_ = model;
-	}
-	*/
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java
index 83a4a32..e7c9ddc 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/Skeleton2WSDLCommand.java
@@ -14,7 +14,6 @@
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
@@ -29,69 +28,56 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.FileUtil;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.PlatformUtils;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.WSDLUtils;
-import org.eclipse.jst.ws.internal.axis.creation.ui.plugin.WebServiceAxisCreationUIPlugin;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
 import org.eclipse.jst.ws.internal.consumption.command.common.CopyWSDLCommand;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
-public class Skeleton2WSDLCommand extends SimpleCommand
+public class Skeleton2WSDLCommand extends AbstractDataModelOperation
 {
-  private static final String LABEL = "TASK_LABEL_SKELETON_WSDL";
-  private static final String DESCRIPTION = "TASK_DESC_SKELETON_WSDL";
   private static final String IMPL = "Impl";	//$NON-NLS-1$
   private static final String SERVICE_EXT = "/services/";	//$NON-NLS-1$
   private static final String WSDL_EXT = "wsdl";	//$NON-NLS-1$
   private static final String DOT = ".";	//$NON-NLS-1$
-  private static final String SLASH = "/";	//$NON-NLS-1$
-  private static final String PROTOCOL_SUFFIX = "://";	//$NON-NLS-1$
   private final String WSDL_FOLDER = "wsdl"; //$NON-NLS-1$
   private WebServicesParser webServicesParser;
   private JavaWSDLParameter javaWSDLParam;
   private IProject serverProject;
-  private HashMap visitedLinks;
-  private MessageUtils msgUtils_;
-  private String       moduleName_;
+  private String serviceServerTypeID_;  
 
-  public Skeleton2WSDLCommand( String moduleName ) {
-    super(WebServiceAxisCreationUIPlugin.getMessage(LABEL), WebServiceAxisCreationUIPlugin.getMessage(DESCRIPTION));
-	msgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.creation.ui.plugin", this );
-    setName( LABEL );
-    setDescription( DESCRIPTION );
-	
-	moduleName_ = moduleName;
+  public Skeleton2WSDLCommand( ) {
   }
 
   /**
   * Execute Skeleton2WSDLCommand
   */
-  public Status execute(Environment env)
-  {
-    if (!(env instanceof EclipseEnvironment))
-    {
-      Status status = new SimpleStatus(WebServiceAxisCreationUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_NOT_IN_ECLIPSE_ENVIRONMENT", new String[] {"Skeleton2WSDLCommand"}), Status.ERROR, null);
-      env.getStatusHandler().reportError(status);
-      return status;
-    }
-    if (javaWSDLParam == null)
-    {
-      Status status = new SimpleStatus(WebServiceAxisCreationUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR, null);
-      env.getStatusHandler().reportError(status);
-      return status;
-    }
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
+		if (javaWSDLParam == null)
+		{
+			IStatus status = StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
+			environment.getStatusHandler().reportError(status);
+			return status;
+		}
 
   // Read WSDL
   Definition definition = null;
@@ -132,15 +118,15 @@
       }
     } 
     else {
-      Status status = new SimpleStatus(WebServiceAxisCreationUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_WSDL_NO_DEFINITION", new String[] {wsdlURL}), Status.ERROR, null);
-      env.getStatusHandler().reportError(status);
+      IStatus status = StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_WSDL_NO_DEFINITION, new String[] {wsdlURL}));
+      environment.getStatusHandler().reportError(status);
       return status;
     }
 
     // Modify WSDL endpoint
     if (port == null) {
-      Status status = new SimpleStatus(WebServiceAxisCreationUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_WSDL_NO_PORT", new String[] {wsdlURL}), Status.ERROR, null);
-      env.getStatusHandler().reportError(status);
+      IStatus status = StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_WSDL_NO_PORT, new String[] {wsdlURL}));
+      environment.getStatusHandler().reportError(status);
       return status;
     }
     Map services = definition.getServices();
@@ -155,8 +141,6 @@
       }
     }
 
-    visitedLinks = new HashMap();
-
     // Set WSDL file name: javaWSDLParam.setOutputWsdlLocation();
     IWorkspaceRoot workspace = ResourcesPlugin.getWorkspace().getRoot();
 
@@ -183,7 +167,7 @@
 //			wsdlPath = wsdlPath.append(ejbProject.getMetaFolder().getProjectRelativePath().addTrailingSeparator());
 //		}		
 // TODO:  handle EJB case
-		     wsdlPath = J2EEUtils.getWebContentPath( serverProject, moduleName_ );
+		     wsdlPath = J2EEUtils.getWebContentPath( serverProject );
 			 IPath wsdlFilePath = wsdlPath.append(WSDL_FOLDER).append(port.getName()).addFileExtension(WSDL_EXT);
 		     IFolder folder = ResourceUtils
 								.getWorkspaceRoot()
@@ -201,20 +185,21 @@
      copyWSDLCommand.setWsdlURI(wsdlURL);
      copyWSDLCommand.setDestinationURI(outputFile.getLocation().toFile().toURL().toString());
      copyWSDLCommand.setDefinition(definition);
-     Status status = copyWSDLCommand.execute(env);
+     copyWSDLCommand.setEnvironment(environment);
+     IStatus status = copyWSDLCommand.execute(null, null);
      if(status!=null && status.getSeverity()==Status.ERROR) {
        return status;
      }
     } 
     catch (Exception e) {
-      Status status = new SimpleStatus(WebServiceAxisCreationUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_WRITE_WSDL", new String[] { wsdlLocation }), Status.ERROR, e);
-      env.getStatusHandler().reportError(status);
+      IStatus status = StatusUtils.errorStatus( NLS.bind(AxisConsumptionUIMessages.MSG_ERROR_WRITE_WSDL, new String[] { wsdlLocation }), e);
+      environment.getStatusHandler().reportError(status);
       return status;
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
-  private Status modifyEndpoint(Port port)
+  private IStatus modifyEndpoint(Port port)
   {
     Iterator it = port.getExtensibilityElements().iterator();
     SOAPAddress soapAddress = null;
@@ -230,15 +215,15 @@
     if (soapAddress != null)
     {
 //      String projectURL = ResourceUtils.getEncodedWebProjectURL(serverProject);
-	  String projectURL = ServerUtils.getEncodedWebComponentURL(serverProject, moduleName_);
+	  String projectURL = ServerUtils.getEncodedWebComponentURL(serverProject, serviceServerTypeID_);
       if (projectURL == null)
-        return new SimpleStatus(WebServiceAxisCreationUIPlugin.ID, msgUtils_.getMessage("MSG_ERROR_PROJECT_URL", new String[] {serverProject.toString()}), Status.ERROR, null);
+        return StatusUtils.errorStatus( NLS.bind(AxisCreationUIMessages.MSG_ERROR_PROJECT_URL, new String[] {serverProject.toString()}));
       StringBuffer serviceURL = new StringBuffer(projectURL);
       serviceURL.append(SERVICE_EXT).append(port.getName());
       javaWSDLParam.setUrlLocation(serviceURL.toString());
       soapAddress.setLocationURI(serviceURL.toString());
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
   /**
@@ -288,5 +273,10 @@
 	  catch(MalformedURLException mue){}
 	return url;
   }
+  
+  public void setServiceServerTypeID(String id)
+  {
+    serviceServerTypeID_ = id;
+  }  
 
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/TDCheckAxisDeploymentDescriptors.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/TDCheckAxisDeploymentDescriptors.java
index d83dc37..28541b1 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/TDCheckAxisDeploymentDescriptors.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/TDCheckAxisDeploymentDescriptors.java
@@ -1,11 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.axis.creation.ui.task;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CheckAxisDeploymentDescriptorsTask;
 
 public class TDCheckAxisDeploymentDescriptors extends CheckAxisDeploymentDescriptorsTask 
 {
-  public TDCheckAxisDeploymentDescriptors(String moduleName) 
+  public TDCheckAxisDeploymentDescriptors() 
   {
-	super(moduleName);
   }
+  
+  /*
+	 * The execute method of this command do nothing.  It is merely an anchor point for UI page
+	 * TODO Remove this class and use another command as an anchor point for the UI
+	 */
+  public IStatus execute(IProgressMonitor monitor, IAdaptable adaptable) {
+		return Status.OK_STATUS;
+	}
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/UpdateAxisWSDDFileTask.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/UpdateAxisWSDDFileTask.java
index 9de2a11..8d97532 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/UpdateAxisWSDDFileTask.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/task/UpdateAxisWSDDFileTask.java
@@ -22,94 +22,61 @@
 import javax.xml.transform.stream.StreamSource;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.util.FileUtil;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
 import org.eclipse.jst.ws.internal.axis.creation.ui.plugin.WebServiceAxisCreationUIPlugin;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.common.BundleUtils;
 
-public class UpdateAxisWSDDFileTask extends SimpleCommand {
+public class UpdateAxisWSDDFileTask extends AbstractDataModelOperation {
 	
-	
-	private final String LABEL = "TASK_LABEL_UPDATE_AXIS_WSDD";	
-	private final String DESCRIPTION = "TASK_DESC_UPDATE_AXIS_WSDD";
 	private final String DEPLOY_XSL = "deploy.xsl";	//$NON-NLS-1$
 	private final String DEPLOY_BAK = "deploy.wsdd.bak";		//$NON-NLS-1$
 	private final String CLASSNAME_PARAM = "newClassName";		//$NON-NLS-1$
-    private MessageUtils msgUtils_;
-    private MessageUtils coreMsgUtils_;
 	private JavaWSDLParameter javaWSDLParam_;
 	private IProject serviceProject_;
-	// rm private Model model_;
-	
-	private String moduleName_;
+    private String serviceServerTypeID_;
 
-	public UpdateAxisWSDDFileTask( String moduleName) 
+	public UpdateAxisWSDDFileTask() 
 	{
-	    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setDescription(msgUtils_.getMessage(DESCRIPTION));
-	    setName(msgUtils_.getMessage(LABEL));	 
-		
-		moduleName_ = moduleName;
 	}
 	
-	public UpdateAxisWSDDFileTask(JavaWSDLParameter javaWSDLParam) {
-	    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-	    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	    coreMsgUtils_ = new MessageUtils( "org.eclipse.jst.ws.axis.consumption.core.consumption", this );
-	    setDescription(msgUtils_.getMessage(DESCRIPTION));
-	    setName(msgUtils_.getMessage(LABEL));	    
-		javaWSDLParam_ = javaWSDLParam;
-	}
-
 	/**
 	* Execute UpdateAxisWSDDFileTask
 	*/
-	public Status execute(Environment env) {
-	  
-	  // rm
-	  /*
-	  //Begin Setters
-	  WebServiceElement wse =
-		WebServiceElement.getWebServiceElement(model_);
-	  setServiceProject(wse.getServiceProject());
-	  //End Setters
-	  */
-	    Status status = new SimpleStatus("");		
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{    
+		IEnvironment environment = getEnvironment();
+	    IStatus status = Status.OK_STATUS;		
 		if (javaWSDLParam_ == null) {
-		  status = new SimpleStatus("",coreMsgUtils_.getMessage("MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET"), Status.ERROR);
-		  env.getStatusHandler().reportError(status);
+		  status = StatusUtils.errorStatus(AxisConsumptionCoreMessages.MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET);
+		  environment.getStatusHandler().reportError(status);
 		  return status;		  
 		}
 
-		// rm 
-		/*
-		if (model_ == null) {
-		  status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_MODEL_NOT_SET"), Status.ERROR);
-		  return status;		  
-		}
-		*/
-	
 		IProject project = serviceProject_;
 		//String projectURL = ResourceUtils.getEncodedWebProjectURL(project);
-		String projectURL = ServerUtils.getEncodedWebComponentURL(project, moduleName_);
+		String projectURL = ServerUtils.getEncodedWebComponentURL(project, serviceServerTypeID_);
 		if (projectURL == null) {
-		    status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_PROJECT_URL",new String[] {project.toString()}), Status.ERROR);
-		    env.getStatusHandler().reportError(status);
+		    status = StatusUtils.errorStatus(NLS.bind(AxisCreationUIMessages.MSG_ERROR_PROJECT_URL,new String[] {project.toString()}));
+		    environment.getStatusHandler().reportError(status);
 		    return status;		  
 		} else {
 			javaWSDLParam_.setProjectURL(projectURL);
@@ -118,27 +85,15 @@
 		if (outputLocation == null) {
 			return status;
 		}
-//		try {
-//			if (!project.hasNature(IWebNatureConstants.J2EE_NATURE_ID))
-//				return status;
-//		} catch (Exception ex) {
-//		    status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_INTERAL"), Status.ERROR, ex);
-//		    env.getStatusHandler().reportError(status);
-//		    return status;		  
-//		}
-		String[] javaFiles = javaWSDLParam_.getJavaFiles();
-		String javaoutput = javaWSDLParam_.getJavaOutput();
-		String output = javaWSDLParam_.getOutput();
 
-//		String webContentPath =	ResourceUtils.getWebModuleServerRoot(project).getLocation().toString();
-		String webContentPath =	J2EEUtils.getWebContentContainer( project, moduleName_ ).getLocation().toString();
+		String webContentPath =	J2EEUtils.getWebContentContainer( project ).getLocation().toString();
 		try {
 
 			if (javaWSDLParam_.getDeploymentFiles() != null
 				&& javaWSDLParam_.getDeploymentFiles().length > 0) {
 
 				String wsdd_deploy = javaWSDLParam_.getDeploymentFiles()[0];
-				Path deployPath = new Path(wsdd_deploy);
+				IPath deployPath = new Path(wsdd_deploy);
 				String deployBackup =
 					deployPath
 						.removeLastSegments(1)
@@ -158,32 +113,64 @@
 
 				// Use the Transformer to apply the associated Templates object to an XML document
 				// (foo.xml) and write the output to a file (foo.out).
-				transformer.transform(
-					new StreamSource(deployBackup),
-					new StreamResult(new FileOutputStream(wsdd_deploy)));
-
+        FileOutputStream wsddStream = new FileOutputStream( wsdd_deploy );
+        
+        try
+        {
+				  transformer.transform( new StreamSource(deployBackup), new StreamResult(wsddStream) );
+        }
+        finally
+        {
+          wsddStream.close();
+        }
+        
+        IPath eclipseDeployPath = findPathFromFilePath( deployPath );
+        
+        if( eclipseDeployPath != null )
+        {
+          IResource deployFile = ResourceUtils.findResource( eclipseDeployPath );
+          
+          if( deployFile != null )
+          {
+            deployFile.refreshLocal( IResource.DEPTH_ZERO, monitor );
+          }
+        }
 			}
 
 		} catch (Exception e) {
 		    String[] errorMsgStrings = new String[]{project.toString(), outputLocation.toString(), webContentPath.toString()}; 
-		    status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_UPDATE_AXIS_WSDD", errorMsgStrings), Status.ERROR, e);
-		    env.getStatusHandler().reportError(status);
+		    status = StatusUtils.errorStatus(NLS.bind(AxisCreationUIMessages.MSG_ERROR_UPDATE_AXIS_WSDD, errorMsgStrings), e);
+		    environment.getStatusHandler().reportError(status);
 		    return status;		  		  
 		}
 		
 		return status;
 	}
 
+  // This method attempts to convert a path that is relative to a file system to a path
+  // that is relative to the workspace.
+  private IPath findPathFromFilePath( IPath filePath )
+  {
+    IPath result = null;
+    
+    IPath installLocation = Platform.getLocation();
+    
+    if( installLocation.matchingFirstSegments( filePath ) == installLocation.segmentCount() )
+    {
+      filePath = filePath.removeFirstSegments( installLocation.segmentCount() );
+      result = filePath.setDevice( null );
+    }
+    
+    return result;
+  }
+  
 	private IPath getPluginFilePath(String pluginfileName)
 		throws CoreException {
 		try {
-			IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-			IPluginDescriptor pluginDescriptor =
-				pluginRegistry.getPluginDescriptor(WebServiceAxisCreationUIPlugin.ID);
 
 			URL localURL =
 				Platform.asLocalURL(
-					new URL(pluginDescriptor.getInstallURL(), pluginfileName));
+					BundleUtils.getURLFromBundle( WebServiceAxisCreationUIPlugin.ID, pluginfileName));
 			return new Path(localURL.getFile());
 		} catch (MalformedURLException e) {
 			throw new CoreException(
@@ -191,8 +178,7 @@
 					IStatus.WARNING,
 					WebServiceAxisCreationUIPlugin.ID,
 					0,
-					msgUtils_.getMessage(
-						"MSG_PLUGIN_FILE_URL"),
+					AxisCreationUIMessages.MSG_PLUGIN_FILE_URL,
 					e));
 		} catch (IOException e) {
 			throw new CoreException(
@@ -200,8 +186,7 @@
 					IStatus.WARNING,
 					WebServiceAxisCreationUIPlugin.ID,
 					0,
-					msgUtils_.getMessage(
-						"MSG_PLUGIN_FILE_URL"),
+					AxisCreationUIMessages.MSG_PLUGIN_FILE_URL,
 					e));
 		}
 	}
@@ -231,5 +216,9 @@
 	{
 	  model_ = model;
 	}
-	*/	
+	*/
+    public void setServiceServerTypeID(String id)
+    {
+      serviceServerTypeID_ = id;
+    }    
 }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/AxisBeanFragment.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/AxisBeanFragment.java
deleted file mode 100644
index 346a63b..0000000
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/AxisBeanFragment.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean;
-
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.AxisDeployCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.AddJarsToProjectBuildPathTask;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CheckAxisDeploymentDescriptorsTask;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CopyAxisJarCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.RefreshProjectCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.command.JavaToWSDLMethodCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.command.UpdateWEBXMLCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.DefaultsForServerJavaWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.LiteralSupportMessageTask;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.MoveJavaFilesTask;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.UpdateAxisWSDDFileTask;
-import org.eclipse.jst.ws.internal.common.StringToIProjectTransformer;
-import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
-import org.eclipse.jst.ws.internal.consumption.command.common.StartProjectCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.command.WSINonCompliantRuntimeCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionOutputCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand;
-import org.eclipse.wst.command.internal.env.common.WaitForAutoBuildCommand;
-import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
-import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
-import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.env.ui.widgets.SelectionCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-
-  
-public class AxisBeanFragment extends SequenceFragment
-{
- 
-  public AxisBeanFragment()
-  {
-    add( new SimpleFragment( new ValidateObjectSelectionCommand(), ""));
-    add( new SimpleFragment( new BUAxisDefaultingCommand(), "" ) );
-    add( new BUAxisCommandsFragment1());
-    add( new BUAxisCommandsFragment2());
-    add( new SimpleFragment( "BeanConfig"    ) );
-    add( new MappingFragment() );
-    add( new BUAxisCommandsFragment3());
-  }
-  
-  public void registerDataMappings(DataMappingRegistry registry) 
-  {
-    //ValidateObjectSelectionCommand
-    registry.addMapping(ObjectSelectionOutputCommand.class, "ObjectSelection", ValidateObjectSelectionCommand.class);
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", ValidateObjectSelectionCommand.class,"ServiceProjectName", null );
-    
-    //BUAxisDefaultingCommand
-    registry.addMapping(SelectionCommand.class, "InitialSelection", BUAxisDefaultingCommand.class );
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServiceTypeRuntimeServer", BUAxisDefaultingCommand.class );
-    
-    //WSINonCompliantRuntimeCommand
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", WSINonCompliantRuntimeCommand.class, "ServiceProject", new StringToIProjectTransformer());
-    
-    //BUAxisCommands2 - these run after BeanClassWidget
-    //DefaultsForServerJavaWSDLCommand
-    registry.addMapping(BUAxisDefaultingCommand.class, "JavaWSDLParam", DefaultsForServerJavaWSDLCommand.class);
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", DefaultsForServerJavaWSDLCommand.class, "ServiceProject", new StringToIProjectTransformer());
-    registry.addMapping(BUAxisDefaultingCommand.class, "JavaBeanName", DefaultsForServerJavaWSDLCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "Parser", DefaultsForServerJavaWSDLCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "CustomizeServiceMappings", AxisBeanFragment.MappingFragment.class);
-    
-    //JavaWSDLMethodCommand
-    registry.addMapping(DefaultsForServerJavaWSDLCommand.class, "JavaWSDLParam", JavaToWSDLMethodCommand.class);
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", JavaToWSDLMethodCommand.class, "ServiceProject", new StringToIProjectTransformer());
-
-    // BUAxisCommands3 - these run after BeanConfigWidget
-    //LiteralSupportMessageTask
-    registry.addMapping(JavaToWSDLMethodCommand.class, "JavaWSDLParam", LiteralSupportMessageTask.class);
-    
-    //CheckAxisDeploymentDescriptorsTask
-    //registry.addMapping(JavaToWSDLMethodCommand.class, "JavaWSDLParam", CheckAxisDeploymentDescriptorsTask.class);
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", CheckAxisDeploymentDescriptorsTask.class, "ServerProject", new StringToIProjectTransformer());
-    
-    //CopyAxisJarCommand
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", CopyAxisJarCommand.class, "Project", new StringToIProjectTransformer());
-    
-    //AddJarsToProjectBuildPathTask
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", AddJarsToProjectBuildPathTask.class, "Project", new StringToIProjectTransformer());
-    
-    //Java2WSDLCommand
-    registry.addMapping(JavaToWSDLMethodCommand.class, "JavaWSDLParam", Java2WSDLCommand.class);
-    
-    //RefreshProjectCommand
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", RefreshProjectCommand.class, "Project", new StringToIProjectTransformer());
-    
-    //WSDL2JavaCommand
-    registry.addMapping(JavaToWSDLMethodCommand.class, "JavaWSDLParam", WSDL2JavaCommand.class);
-    
-
-    //MoveJavaFilesTask
-    registry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", MoveJavaFilesTask.class);
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", MoveJavaFilesTask.class, "ServiceProject", new StringToIProjectTransformer());
-    
-    //UpdateAxisWSDDFileTask
-    registry.addMapping(MoveJavaFilesTask.class, "JavaWSDLParam", UpdateAxisWSDDFileTask.class);
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", UpdateAxisWSDDFileTask.class, "ServiceProject", new StringToIProjectTransformer());
-    
-    //UpdateWEBXMLCommand
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", UpdateWEBXMLCommand.class, "ServerProject", new StringToIProjectTransformer());
-    
-    //BuildProjectCommand
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", BuildProjectCommand.class, "Project", new StringToIProjectTransformer());
-    registry.addMapping(BUAxisDefaultingCommand.class, "ForceBuild", BuildProjectCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "ValidationManager", BuildProjectCommand.class);
-    
-    //StartProjectCommand
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", StartProjectCommand.class, "ServiceProject", new StringToIProjectTransformer());    
-    registry.addMapping(BUAxisDefaultingCommand.class, "SampleProject", StartProjectCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "ServiceServerTypeID", StartProjectCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "SampleServerTypeID", StartProjectCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "ServiceExistingServer", StartProjectCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "SampleExistingServer", StartProjectCommand.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "IsWebProjectStartupRequested",StartProjectCommand.class);
-        
-    //AxisDeployCommand
-    registry.addMapping(UpdateAxisWSDDFileTask.class, "JavaWSDLParam", AxisDeployCommand.class);
-    
-    //CopyAxisServerConfigTask
-    /*
-    registry.addMapping(UpdateAxisWSDDFileTask.class, "JavaWSDLParam", CopyAxisServerConfigTask.class);
-    registry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", CopyAxisServerConfigTask.class, "ServiceProject", new StringToIProjectTransformer());
-    registry.addMapping(BUAxisDefaultingCommand.class, "ServiceExistingServer", CopyAxisServerConfigTask.class);
-    registry.addMapping(BUAxisDefaultingCommand.class, "ServiceServerTypeID", CopyAxisServerConfigTask.class);
-    */
-    
-    // ServerExtensionOutputCommand
-    registry.addMapping(Java2WSDLCommand.class, "WsdlURI", ServerExtensionOutputCommand.class);    
-  }
-  
-  private class BUAxisCommandsFragment1 extends SequenceFragment
-  {    
-    public BUAxisCommandsFragment1()
-    {
-      add(new SimpleFragment(new WSINonCompliantRuntimeCommand(), ""));
-    }
-  }
-  
-  private class BUAxisCommandsFragment2 extends SequenceFragment
-  {
-    public BUAxisCommandsFragment2()
-    {
-      //add(new SimpleFragment(new DefaultsForServerJavaWSDLCommand(), ""));
-      add(new SimpleFragment(new JavaToWSDLMethodCommand(), ""));
-    }    
-  }
-  
-  private class BUAxisCommandsFragment3 extends SequenceFragment
-  {
-    public BUAxisCommandsFragment3()
-    {
-      add(new SimpleFragment(new LiteralSupportMessageTask(), ""));
-      //add(new SimpleFragment(new CheckAxisDeploymentDescriptorsTask(), ""));
-      //add(new SimpleFragment(new CopyAxisJarCommand(), ""));
-      add(new SimpleFragment(new AddJarsToProjectBuildPathTask(), ""));
-      add(new SimpleFragment(new WaitForAutoBuildCommand(), "" ));
-      add(new SimpleFragment(new Java2WSDLCommand(), ""));
-      add(new SimpleFragment(new RefreshProjectCommand(), ""));
-      add(new SimpleFragment(new WSDL2JavaCommand(), ""));
-      add(new SimpleFragment(new MoveJavaFilesTask(), ""));
-      //add(new SimpleFragment(new UpdateAxisWSDDFileTask(), ""));
-      //add(new SimpleFragment(new UpdateWEBXMLCommand(), ""));
-      add(new SimpleFragment(new RefreshProjectCommand(), ""));
-      add(new SimpleFragment(new BuildProjectCommand(), ""));
-      //add(new SimpleFragment(new StartProjectCommand(), ""));
-      add(new SimpleFragment(new AxisDeployCommand(), ""));
-      //add(new SimpleFragment(new CopyAxisServerConfigTask(), ""));
-      add(new SimpleFragment(new RefreshProjectCommand(), ""));
-    }       
-  }
-  
-  public class MappingFragment extends BooleanFragment
-  {
-    private boolean showMappings_;
-    
-    public MappingFragment()
-    {
-      super();
-      
-      setTrueFragment( new SimpleFragment( "AxisServiceBeanMapping" ));
-      setCondition( new Condition()
-                    {
-                      public boolean evaluate()
-                      {
-                        return showMappings_;
-                      }
-                    } );
-    }
-    
-    public void setCustomizeServiceMappings( boolean showMappings )
-    {
-      showMappings_ = showMappings;
-    }      
-  }  
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BUAxisDefaultingCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BUAxisDefaultingCommand.java
index 417e21b..ece395c 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BUAxisDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BUAxisDefaultingCommand.java
@@ -11,19 +11,16 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.common.JavaResourceFilter;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
 import org.eclipse.jst.ws.internal.consumption.datamodel.validate.ValidationManager;
-import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
@@ -31,15 +28,11 @@
 /**
  * 
  */
-public class BUAxisDefaultingCommand extends SimpleCommand
+public class BUAxisDefaultingCommand extends AbstractDataModelOperation
 {
-  //Need
-  private IStructuredSelection initialSelection_;
-  private TypeRuntimeServer serviceIds_;
   
   //Provide
   private IServer serviceExistingServer_;
-  private String serviceServerTypeID_;  // rsk revisit
   private JavaWSDLParameter javaWSDLParam_;
   private String javaBeanName_;
   private WebServicesParser parser_;
@@ -59,104 +52,31 @@
   private String sampleServerTypeID_ = null;
   private IServer sampleExistingServer_ = null;
   
-  private MessageUtils msgUtils_;
-  
-  public Status execute(Environment env)
+ 
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
   {
+	IEnvironment environment = getEnvironment();
     
-  	String       pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-    
-//    if (serviceIds_.getServerInstanceId() != null) { // server exists
-//    	serviceExistingServer_ = ServerCore.findServer(serviceIds_.getServerInstanceId());
-//    }
-//    if (serviceExistingServer_ != null)
-//    {
-//      serviceServerTypeID_ = serviceExistingServer_.getServerType().getId();
-//    }
-//    else
-//    {
-//    	serviceServerTypeID_ = serviceIds_.getServerId();
-//      // server will be created in ServerDeployableConfigurationCommand
-//    }
-    
-    //javaWSDLParam
-    javaWSDLParam_ = new JavaWSDLParameter();
-     
-//    if (initialSelection_ == null) {
-//    	Status status = new SimpleStatus("BUAxisDefaultingCommand", //$NON-NLS-1$
-//				msgUtils_.getMessage("MSG_ERROR_INITIAL_SELECTION"), Status.ERROR);
-//		env.getStatusHandler().reportError(status);
-//		return status;
-//    }
+	//javaWSDLParam
+	javaWSDLParam_ = new JavaWSDLParameter();
     
 	if (javaBeanName_ == null) {
-		Status status = new SimpleStatus("BUAxisDefaultingCommand", //$NON-NLS-1$
-				msgUtils_.getMessage("MSG_ERROR_CANNOT_NO_JAVA_BEAN"), //$NON-NLS-1$
-				Status.ERROR);
-		env.getStatusHandler().reportError(status);
+		IStatus status = StatusUtils.errorStatus(
+				AxisCreationUIMessages.MSG_ERROR_CANNOT_NO_JAVA_BEAN);
+		environment.getStatusHandler().reportError(status);
 		return status;
 	}
-//    try {
-//		
-//		javaBeanName_ = getJavaBeanFromInitialSelection(env);
-//		
-//	} catch (CoreException e) {
-//		Status status = new SimpleStatus("BUAxisDefaultingCommand", //$NON-NLS-1$
-//				msgUtils_.getMessage("MSG_ERROR_INITIAL_SELECTION") + " " //$NON-NLS-1$
-//				+e.getCause().toString(), Status.ERROR);
-//		env.getStatusHandler().reportError(status);
-//		return status;
-//	}
     
     //parser
     parser_ = new WebServicesParserExt();
     
-    
-    
     //validationManager
     validationManager_ = new ValidationManager();
     
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
-  private String getJavaBeanFromInitialSelection(Environment env) throws CoreException
-  {
-    String beanClass = "";
-    JavaResourceFilter filter = new JavaResourceFilter(); 
-    IStructuredSelection selection = initialSelection_;
-    //
-    if (selection != null)
-    {
-      Object obj = selection.getFirstElement();
-      if (obj != null)
-      {
-        // get the IResource represented by the selection
-        IResource res = null;
-        
-        res = ResourceUtils.getResourceFromSelection(obj);
-        
-        if (filter.accepts(res))
-        {
-          // get the package-qualified class name without file extensions
-          String beanPackage = ResourceUtils.getJavaResourcePackageName(res.getFullPath());
-          if (beanPackage==null)
-            beanPackage = "";
-          else
-            beanPackage = beanPackage + ".";
-
-          beanClass = beanPackage + res.getName();
-
-          if (beanClass.toLowerCase().endsWith(".java") || beanClass.toLowerCase().endsWith(".class")) {
-            beanClass = beanClass.substring(0,beanClass.lastIndexOf('.'));
-          }
-        }
-      }
-    }
-    
-    //
-    return beanClass;
-  }
+	
   /**
    * @return Returns the clientRuntimeID_.
    */
@@ -235,10 +155,6 @@
     return validationManager_;
   }
   
-  public void setInitialSelection(IStructuredSelection initialSelection)
-  {
-    initialSelection_ = initialSelection;
-  }
   /**
    * @return Returns the serviceExistingServer_.
    */
@@ -247,11 +163,7 @@
     return serviceExistingServer_;
   }
   
-//  public String getServiceServerTypeID()
-//  {
-//    return serviceServerTypeID_;
-//  }
-  
+ 
   public boolean getCustomizeServiceMappings()
   {
     return customizeServiceMappings_;
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanClassWidget.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanClassWidget.java
index 2345bc1..9758e70 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanClassWidget.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanClassWidget.java
@@ -18,6 +18,7 @@
 import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.common.JavaResourceFilter;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.jst.ws.internal.ui.dialog.DialogUtils;
 import org.eclipse.swt.SWT;
@@ -30,13 +31,11 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 
 public class BeanClassWidget extends SimpleWidgetDataContributor
 {
-  private String             pluginId_  = "org.eclipse.jst.ws.consumption.ui";
-  private String             thisPlugin = "org.eclipse.jst.ws.axis.creation.ui";
+
   private IProject           serverProject_ = null;
   private Composite          parent_ = null;
   private IWizardContainer   context_ = null;
@@ -60,23 +59,24 @@
    
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils, thisPlugin ); 
+	String       pluginId_  = "org.eclipse.jst.ws.consumption.ui";	  
+	String       thisPlugin = "org.eclipse.jst.ws.axis.creation.ui";
+    UIUtils      uiUtils  = new UIUtils( thisPlugin ); 
     
     parent_ = parent;
     
     Composite group = uiUtils.createComposite( parent, 4 );
     
-    group.setToolTipText( msgUtils.getMessage("TOOLTIP_PBCL_PAGE") );
+    group.setToolTipText( ConsumptionUIMessages.TOOLTIP_PBCL_PAGE );
     PlatformUI.getWorkbench().getHelpSystem().setHelp( group, pluginId_ + "." + INFOPOP_PBCL_PAGE );
     
-    beanClassText_ = uiUtils.createText( group, "LABEL_BEAN_CLASS_NAME",
-                                         "TOOLTIP_PBCL_TEXT_BEAN_CLASS",
+    beanClassText_ = uiUtils.createText( group, ConsumptionUIMessages.LABEL_BEAN_CLASS_NAME,
+    		ConsumptionUIMessages.TOOLTIP_PBCL_TEXT_BEAN_CLASS,
                                          INFOPOP_PBCL_TEXT_BEAN_CLASS,
                                          SWT.SINGLE | SWT.BORDER);
     
-    beanClassBrowseButton_ = uiUtils.createPushButton( group, "BUTTON_BROWSE_CLASSES",
-                                                       "TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE",
+    beanClassBrowseButton_ = uiUtils.createPushButton( group, ConsumptionUIMessages.BUTTON_BROWSE_CLASSES,
+    		ConsumptionUIMessages.TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE,
                                                        INFOPOP_PBCL_BUTTON_BEAN_CLASS_BROWSE );
     beanClassBrowseButton_.addSelectionListener( new SelectionAdapter()
                                                  {
@@ -86,8 +86,8 @@
                                                    }
                                                  } );
     
-    beanResourceBrowseButton_ = uiUtils.createPushButton( group, "BUTTON_BROWSE_FILES",
-                                                          "TOOLTIP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE",
+    beanResourceBrowseButton_ = uiUtils.createPushButton( group, ConsumptionUIMessages.BUTTON_BROWSE_FILES,
+    		ConsumptionUIMessages.TOOLTIP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE,
                                                           INFOPOP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE );
     beanResourceBrowseButton_.addSelectionListener( new SelectionAdapter()
                                                     {
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanConfigWidget.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanConfigWidget.java
index 053d100..e54abe8 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanConfigWidget.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/BeanConfigWidget.java
@@ -13,12 +13,12 @@
 import java.util.Enumeration;
 import java.util.Hashtable;
 
-import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.util.PlatformUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -27,23 +27,19 @@
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 public class BeanConfigWidget extends SimpleWidgetDataContributor 
 {
-  private String pluginId_ = "org.eclipse.jst.ws.axis.creation.ui";
-  
+
   private Button   rpcEncodedButton_;
   private Button   rpcLiteralButton_;
   private Button   docLiteralButton_;
@@ -54,37 +50,30 @@
   
   /* CONTEXT_ID PBCF0001 for the Bean Config Page */
   private final String INFOPOP_PBCF_PAGE = "PBCF0001"; //$NON-NLS-1$
-  private final String TOOLTIP_PBCF_PAGE = "TOOLTIP_PBCF_PAGE";
 	
   private Text uriText_;
   /* CONTEXT_ID PBCF0002 for the URI field of the Bean Config Page */
   private final String INFOPOP_PBCF_TEXT_URI = "PBCF0002"; //$NON-NLS-1$
-  private final String TOOLTIP_PBCF_TEXT_URI = "TOOLTIP_PBCF_TEXT_URI";
 	
   private Text wsdlFolderText_;
   /* CONTEXT_ID PBCF0006 for the WSDL Folder field in the Bean Config Page */
   private final String INFOPOP_PBCF_TEXT_WSDL_FOLDER = "PBCF0006"; //$NON-NLS-1$
-  private final String TOOLTIP_PBCF_TEXT_WSDL_FOLDER = "TOOLTIP_PBCF_TEXT_WSDL_FOLDER";
 	
   private Text wsdlFileText_;
   /* CONTEXT_ID PBCF0007 for the WSDL File field of the Bean Config Page */
   private final String INFOPOP_PBCF_TEXT_WSDL_FILE = "PBCF0007"; //$NON-NLS-1$
-  private final String TOOLTIP_PBCF_TEXT_WSDL_FILE = "TOOLTIP_PBCF_TEXT_WSDL_FILE";
 	
   private Tree methodsTree_;
   /* CONTEXT_ID PBME0002 for the Methods tree of the Bean Methods Page */
   private final String INFOPOP_PBME_TREE_METHODS = "PBME0002"; //$NON-NLS-1$
-  private final String TOOLTIP_PBME_TREE_METHODS = "TOOLTIP_PBME_TREE_METHODS";
 	
   private Button selectAllMethodsButton_;
   /* CONTEXT_ID PBME0010 for the Select All button of the Bean Methods Page */
   private final String INFOPOP_PBME_BUTTON_SELECT_ALL = "PBME0010"; //$NON-NLS-1$
-  private final String TOOLTIP_PBME_BUTTON_SELECT_ALL = "TOOLTIP_PBME_BUTTON_SELECT_ALL";
 	
   private Button deselectAllMethodsButton_;
   /* CONTEXT_ID PBME0011 for the Deselect All button of the Bean Methods Page */
   private final String INFOPOP_PBME_BUTTON_DESELECT_ALL = "PBME0011"; //$NON-NLS-1$
-  private final String TOOLTIP_PBME_BUTTON_DESELECT_ALL = "TOOLTIP_PBME_BUTTON_DESELECT_ALL";
 	
   private Button showMappingsCheckbox_;
   /* CONTEXT_ID PBCF0016 for the Show Mappings checkbox of the Bean Methods Page */   
@@ -92,38 +81,37 @@
 
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    String       baseConPluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils     = new MessageUtils( pluginId_ + ".plugin", this );
-    MessageUtils baseConUtils = new MessageUtils( baseConPluginId + ".plugin", this );
-    UIUtils      uiUtils        = new UIUtils(msgUtils, pluginId_ );
-    UIUtils      baseConUiUtils = new UIUtils( baseConUtils, pluginId_ );
+	String pluginId_ = "org.eclipse.jst.ws.axis.creation.ui";	  
+
+    UIUtils      uiUtils        = new UIUtils( pluginId_ );
+    UIUtils      baseConUiUtils = new UIUtils( pluginId_ );
     
     statusListener_ = statusListener;    
-	parent.setToolTipText( msgUtils.getMessage( TOOLTIP_PBCF_PAGE ) );
+	parent.setToolTipText( AxisCreationUIMessages.TOOLTIP_PBCF_PAGE  );
 	PlatformUI.getWorkbench().getHelpSystem().setHelp( parent, pluginId_ + "." + INFOPOP_PBCF_PAGE );
     
     Composite configGroup = uiUtils.createComposite( parent, 2 );
     
-    uriText_ = uiUtils.createText( configGroup, "LABEL_URI",
-                                   TOOLTIP_PBCF_TEXT_URI,
+    uriText_ = uiUtils.createText( configGroup, AxisCreationUIMessages.LABEL_URI,
+    		AxisCreationUIMessages.TOOLTIP_PBCF_TEXT_URI,
                                    INFOPOP_PBCF_TEXT_URI,
                                    SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     
-    wsdlFolderText_ = uiUtils.createText( configGroup, "LABEL_OUTPUT_FOLDER_NAME",
-                                          TOOLTIP_PBCF_TEXT_WSDL_FOLDER,
+    wsdlFolderText_ = uiUtils.createText( configGroup, AxisCreationUIMessages.LABEL_OUTPUT_FOLDER_NAME,
+    		AxisCreationUIMessages.TOOLTIP_PBCF_TEXT_WSDL_FOLDER,
                                           INFOPOP_PBCF_TEXT_WSDL_FOLDER,
                                           SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     
-    wsdlFileText_ = uiUtils.createText( configGroup, "LABEL_OUTPUT_FILE_NAME",
-                                        TOOLTIP_PBCF_TEXT_WSDL_FILE,
+    wsdlFileText_ = uiUtils.createText( configGroup, AxisCreationUIMessages.LABEL_OUTPUT_FILE_NAME,
+    		AxisCreationUIMessages.TOOLTIP_PBCF_TEXT_WSDL_FILE,
                                         INFOPOP_PBCF_TEXT_WSDL_FILE,
                                         SWT.SINGLE | SWT.BORDER  );
     wsdlFileText_.addListener( SWT.Modify, statusListener );
     
-    Label separator = uiUtils.createHorizontalSeparator( parent, 6 );
+    uiUtils.createHorizontalSeparator( parent, 6 );
     
     // TODO this group has no TOOLTIP or INFOPOP.
-    Group    methodsGroup = baseConUiUtils.createGroup( parent, "LABEL_METHODS", null, null );
+    Group    methodsGroup = baseConUiUtils.createGroup( parent, ConsumptionUIMessages.LABEL_METHODS, null, null );
 	methodsGroup.setLayoutData( uiUtils.createFillAll() );
 	
 	GridLayout layout = new GridLayout();
@@ -131,16 +119,16 @@
 	layout.marginWidth = 0;
 	methodsGroup.setLayout( layout );
 	
-	methodsTree_ = uiUtils.createTree( methodsGroup, TOOLTIP_PBME_TREE_METHODS, 
-	                                   INFOPOP_PBME_TREE_METHODS,
+	methodsTree_ = uiUtils.createTree( methodsGroup, AxisCreationUIMessages.TOOLTIP_PBME_TREE_METHODS, 
+										INFOPOP_PBME_TREE_METHODS,
 	                   				   SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL	| SWT.CHECK );
 	methodsTree_.addListener( SWT.Selection, statusListener );
 
     Composite selectButtons = uiUtils.createComposite( methodsGroup, 2 );
     
     selectAllMethodsButton_ 
-      = baseConUiUtils.createPushButton( selectButtons, "BUTTON_SELECT_ALL", 
-                                  TOOLTIP_PBME_BUTTON_SELECT_ALL,
+      = baseConUiUtils.createPushButton( selectButtons, ConsumptionUIMessages.BUTTON_SELECT_ALL, 
+    		  ConsumptionUIMessages.TOOLTIP_PBME_BUTTON_SELECT_ALL,
                                   INFOPOP_PBME_BUTTON_SELECT_ALL );
     selectAllMethodsButton_.addSelectionListener( new SelectionAdapter() 
                                                   {
@@ -151,8 +139,8 @@
                                                   });
     
     deselectAllMethodsButton_ 
-      = baseConUiUtils.createPushButton( selectButtons, "BUTTON_DESELECT_ALL", 
-                                  TOOLTIP_PBME_BUTTON_DESELECT_ALL,
+      = baseConUiUtils.createPushButton( selectButtons, ConsumptionUIMessages.BUTTON_DESELECT_ALL, 
+    		  ConsumptionUIMessages.TOOLTIP_PBME_BUTTON_DESELECT_ALL,
                                   INFOPOP_PBME_BUTTON_DESELECT_ALL );
     deselectAllMethodsButton_.addSelectionListener( new SelectionAdapter() 
                                                     {
@@ -163,15 +151,15 @@
                                                     });
     
     // TODO this group has no TOOLTIP or INFOPOP.
-    Group styleGroup = uiUtils.createGroup( parent, "LABEL_STYLE_USE", null, null );
+    Group styleGroup = uiUtils.createGroup( parent, AxisCreationUIMessages.LABEL_STYLE_USE, null, null );
     
     // TODO radio buttons have no TOOLTIP or INFOPOP.
-    docLiteralButton_ = uiUtils.createRadioButton( styleGroup, "STYLE_DOC_LITERAL", null, null );
-    rpcLiteralButton_ = uiUtils.createRadioButton( styleGroup, "STYLE_RPC_LITERAL", null, null );
-    rpcEncodedButton_ = uiUtils.createRadioButton( styleGroup, "STYLE_RPC_ENCODED", null, null );
+    docLiteralButton_ = uiUtils.createRadioButton( styleGroup, AxisCreationUIMessages.STYLE_DOC_LITERAL, null, null );
+    rpcLiteralButton_ = uiUtils.createRadioButton( styleGroup, AxisCreationUIMessages.STYLE_RPC_LITERAL, null, null );
+    rpcEncodedButton_ = uiUtils.createRadioButton( styleGroup, AxisCreationUIMessages.STYLE_RPC_ENCODED, null, null );
     
-    showMappingsCheckbox_ = uiUtils.createCheckbox( parent, "LABEL_EXPLORE_MAPPINGS_BEAN2XML",
-                                                    "TOOLTIP_P2N_SHOW_MAPPINGS",
+    showMappingsCheckbox_ = uiUtils.createCheckbox( parent, AxisCreationUIMessages.LABEL_EXPLORE_MAPPINGS_BEAN2XML,
+    		AxisCreationUIMessages.TOOLTIP_P2N_SHOW_MAPPINGS,
                                                     INFOPOP_P2N_SHOW_MAPPINGS );
                                             
     return this;
@@ -258,8 +246,7 @@
   {
     IPath wsdlPath 
       = new Path( wsdlFolderText_.getText().trim() ).append( wsdlFileText_.getText().trim() );
-	IWorkspaceRoot workspace = ResourceUtils.getWorkspaceRoot();
-    
+	    
 	// TODO Do we need to go to the eclipse file system??
 	//String wsdlLocation = workspace.getFile(wsdlPath).getLocation().toString();
 	String wsdlLocation = wsdlPath.toString();
@@ -267,8 +254,6 @@
 	javaParameter_.setOutputWsdlLocation(wsdlLocation);
 	javaParameter_.setInputWsdlLocation(wsdlLocation);
 	
-	String fileURL = PlatformUtils.getFileURLFromPath(new Path(wsdlLocation));
-
 	Hashtable methods = new Hashtable();
 
 	TreeItem[] items = methodsTree_.getItems();
@@ -303,14 +288,13 @@
   /* (non-Javadoc)
    * @see org.eclipse.wst.command.env.ui.widgets.WidgetContributor#getStatus()
    */
-  public Status getStatus() 
+  public IStatus getStatus() 
   {
-    Status       result   = null;
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
+    IStatus       result   = null;
     
     if( wsdlFileText_.getText().equals( "" ) )
     {
-      result = new SimpleStatus( "", msgUtils.getMessage( "PAGE_MSG_NO_FILE_SPECIFIED" ), Status.ERROR ); 
+      result = StatusUtils.errorStatus( AxisCreationUIMessages.PAGE_MSG_NO_FILE_SPECIFIED ); 
     }
     else
     {
@@ -328,7 +312,7 @@
       
       if( !itemSelected )
       {
-        result = new SimpleStatus( "", msgUtils.getMessage( "PAGE_MSG_NO_METHOD_SELECTED" ), Status.ERROR ); 
+        result = StatusUtils.errorStatus( AxisCreationUIMessages.PAGE_MSG_NO_METHOD_SELECTED ); 
       }
     }
     
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/DefaultsForConfig.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/DefaultsForConfig.java
deleted file mode 100644
index e96b20e..0000000
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/DefaultsForConfig.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean;
-
-import java.util.Hashtable;
-
-import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-
-
-public class DefaultsForConfig extends SimpleCommand
-{
-  public JavaWSDLParameter getJavaParameter()
-  {
-    JavaWSDLParameter parameter = new JavaWSDLParameter();
-    Hashtable         methods   = new Hashtable();
-    
-    methods.put( "method1", new Boolean( true ) );
-    methods.put( "method2", new Boolean( false ) );
-    methods.put( "method3", new Boolean( true ) );
-    
-    parameter.setMethods( methods );
-    parameter.setOutputWsdlLocation( "/SomeProj/SomeFolder/SomeFile" );
-    parameter.setUrlLocation( "SomeURLLocation" );
-    parameter.setStyle( JavaWSDLParameter.STYLE_DOCUMENT );
-      
-    return parameter;
-  }
-  
-  public boolean getCustomizeServiceMappings()
-  {
-    return true;
-  }      
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/ValidateObjectSelectionCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/ValidateObjectSelectionCommand.java
index 6ce5371..e3fa801 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/ValidateObjectSelectionCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/bean/ValidateObjectSelectionCommand.java
@@ -13,25 +13,27 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.impl.JavaClassImpl;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
+import org.eclipse.jst.ws.internal.common.JavaMOFUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.common.JavaResourceFilter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class ValidateObjectSelectionCommand extends SimpleCommand
+public class ValidateObjectSelectionCommand extends AbstractDataModelOperation
 {
   private String JAVA_EXTENSION = ".java"; //$NON-NLS-1$
   private String CLASS_EXTENSION = ".class"; //$NON-NLS-1$
-  private MessageUtils msgUtils_;
   private IStructuredSelection objectSelection;
   private String serviceProjectName;
 
@@ -42,11 +44,10 @@
   public ValidateObjectSelectionCommand()
   {
     super();
-    String pluginId = "org.eclipse.jst.ws.axis.creation.ui";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
   }
-  public Status execute(Environment env)
-  {
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
     //Make sure a bean is selected
     String javaBeanName = null;
     if (objectSelection != null && !objectSelection.isEmpty())
@@ -67,8 +68,8 @@
       	  javaBeanName = getJavaBeanFromObjectSelection(objectSelection);
 		} catch (CoreException ce)
 		{
-		  Status errorStatus = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_CANNOT_NO_JAVA_BEAN"),Status.ERROR);
-		  env.getStatusHandler().reportError(errorStatus);
+		  IStatus errorStatus = StatusUtils.errorStatus(AxisCreationUIMessages.MSG_ERROR_CANNOT_NO_JAVA_BEAN);
+		  environment.getStatusHandler().reportError(errorStatus);
 		  return errorStatus;			
 		}
       }
@@ -76,8 +77,8 @@
     
     if (javaBeanName==null || javaBeanName.length()==0)
     {
-      Status errorStatus = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_CANNOT_NO_JAVA_BEAN"),Status.ERROR);
-      env.getStatusHandler().reportError(errorStatus);
+      IStatus errorStatus = StatusUtils.errorStatus(AxisCreationUIMessages.MSG_ERROR_CANNOT_NO_JAVA_BEAN);
+      environment.getStatusHandler().reportError(errorStatus);
       return errorStatus;
     }
     
@@ -85,8 +86,8 @@
     IProject serviceProject = ProjectUtilities.getProject(serviceProjectName);
     if (serviceProject==null)
     {
-      Status errorStatus = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_NO_PROJECT"),Status.ERROR);
-      env.getStatusHandler().reportError(errorStatus);
+      IStatus errorStatus = StatusUtils.errorStatus(AxisCreationUIMessages.MSG_ERROR_NO_PROJECT);
+      environment.getStatusHandler().reportError(errorStatus);
       return errorStatus;      
     }
     
@@ -98,22 +99,21 @@
 	
     try
     {
-	  JavaEMFNature jMOF = (JavaEMFNature) JavaEMFNature.createRuntime(serviceProject);
-	  JavaClass javaClass =(JavaClass) JavaClassImpl.reflect(javaBeanName, jMOF.getResourceSet());
+	  JavaClass javaClass = JavaMOFUtils.getJavaClass(javaBeanName, serviceProject); 
 	  if (!javaClass.isExistingType()) 
 	  {		
-		Status errorStatus = new SimpleStatus("JavaToWSDLMethodCommand", msgUtils_.getMessage("MSG_ERROR_CANNOT_LOAD_JAVA_BEAN", new String[] { javaBeanName, serviceProjectName }),Status.ERROR);
-		env.getStatusHandler().reportError(errorStatus);
+		IStatus errorStatus = StatusUtils.errorStatus( NLS.bind(AxisCreationUIMessages.MSG_ERROR_CANNOT_LOAD_JAVA_BEAN, new String[] { javaBeanName, serviceProjectName }));
+		environment.getStatusHandler().reportError(errorStatus);
 		return errorStatus;
 	  }
     } catch (CoreException ce)
     {
-	  Status errorStatus = new SimpleStatus("JavaToWSDLMethodCommand", msgUtils_.getMessage("MSG_ERROR_CANNOT_LOAD_JAVA_BEAN", new String[] { javaBeanName, serviceProjectName }),Status.ERROR);
-	  env.getStatusHandler().reportError(errorStatus);
+	  IStatus errorStatus = StatusUtils.errorStatus( NLS.bind(AxisCreationUIMessages.MSG_ERROR_CANNOT_LOAD_JAVA_BEAN, new String[] { javaBeanName, serviceProjectName }));
+	  environment.getStatusHandler().reportError(errorStatus);
       return errorStatus;      
     }
     
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
   /**
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java
index 0b6a14d..ed1c612 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonDefaultingCommand.java
@@ -11,31 +11,31 @@
 package org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton;
 
 import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
 import org.eclipse.jst.ws.internal.consumption.common.WSDLParserFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
-public class AxisSkeletonDefaultingCommand extends SimpleCommand
+public class AxisSkeletonDefaultingCommand extends AbstractDataModelOperation
 {
   private IStructuredSelection initialSelection;
-  private IStructuredSelection objectSelection;
   private WebServicesParser webServicesParser;
   private String wsdlURI_;
   private JavaWSDLParameter javaWSDLParam;
   
-  public Status execute(Environment env){
-    
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
     javaWSDLParam = new JavaWSDLParameter();
     javaWSDLParam.setServerSide(JavaWSDLParameter.SERVER_SIDE_BEAN);
     javaWSDLParam.setSkeletonDeploy(true);
     javaWSDLParam.setMetaInfOnly(false);
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
     
   }
   
@@ -46,7 +46,6 @@
 
   public void setObjectSelection(IStructuredSelection objectSelection)
   {
-    this.objectSelection = objectSelection;
   }
   
   public void setWebServicesParser(WebServicesParser webServicesParser)
@@ -83,15 +82,6 @@
   
   public String getWsdlURI()
   {
-//    if (objectSelection != null && !objectSelection.isEmpty())
-//    {
-//      Object object = objectSelection.getFirstElement();
-//      if (object instanceof IResource)
-//        return ((IResource)object).getLocation().toString();
-//      else
-//        return object.toString();
-//    }
-//    return "";
 	  return wsdlURI_;
   }
   
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonFragment.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonFragment.java
deleted file mode 100644
index 7e86a18..0000000
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/AxisSkeletonFragment.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton;
-
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.AxisDeployCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.AddJarsToProjectBuildPathTask;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CheckAxisDeploymentDescriptorsTask;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CopyAxisJarCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.RefreshProjectCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisMappingsFragment;
-import org.eclipse.jst.ws.internal.axis.creation.ui.command.ComputeAxisSkeletonBeanCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.command.UpdateWEBXMLCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.MoveDeploymentFilesTask;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.Skeleton2WSDLCommand;
-import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
-import org.eclipse.jst.ws.internal.consumption.command.common.StartProjectCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.command.OpenJavaEditorCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.command.data.ProjectName2IProjectTransformer;
-import org.eclipse.jst.ws.internal.consumption.ui.command.data.ServerName2IServerTransformer;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionOutputCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand;
-import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
-import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.env.ui.widgets.SelectionCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-
-public class AxisSkeletonFragment extends SequenceFragment
-{
-  public AxisSkeletonFragment()
-  {
-    add( new SimpleFragment( new AxisSkeletonDefaultingCommand(), "" ) );
-    add( new SimpleFragment( new ValidateWSDLCommand(), ""));
-    //add( new SimpleFragment( new SkeletonConfigWidgetDefaultingCommand(), ""));
-    add( new SimpleFragment( "SkeletonConfig") );
-    add( new AxisMappingsFragment() );
-    //add( new SimpleFragment( new CheckAxisDeploymentDescriptorsTask(), ""));
-    add( new SimpleFragment( new AddJarsToProjectBuildPathTask(), ""));
-    //add( new SimpleFragment( new CopyAxisJarCommand(), ""));
-    add( new SimpleFragment( new WSDL2JavaCommand(), ""));
-    //add( new SimpleFragment( new MoveDeploymentFilesTask(), ""));
-    //add( new SimpleFragment( new Skeleton2WSDLCommand(), ""));
-    //add( new SimpleFragment( new UpdateWEBXMLCommand(), ""));
-    add( new SimpleFragment( new RefreshProjectCommand(), ""));
-    add( new SimpleFragment( new BuildProjectCommand(), ""));
-    //add( new SimpleFragment( new StartProjectCommand(), ""));
-    // the second build project command is needed to synchronize with workspace auto build
-    add( new SimpleFragment( new BuildProjectCommand(), ""));
-    add( new SimpleFragment( new AxisDeployCommand(), ""));
-    add( new SimpleFragment( new RefreshProjectCommand(), ""));
-    add (new SimpleFragment( new ComputeAxisSkeletonBeanCommand(), ""));
-    add( new SimpleFragment( new OpenJavaEditorCommand(), ""));
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
-   */
-  public void registerDataMappings(DataMappingRegistry dataRegistry)
-  {
-    // Transformers
-    ProjectName2IProjectTransformer projectTransformer = new ProjectName2IProjectTransformer();
-
-    dataRegistry.addMapping(SelectionCommand.class, "InitialSelection", AxisSkeletonDefaultingCommand.class);
-    dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "ObjectSelection", AxisSkeletonDefaultingCommand.class);
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "WebServicesParser", AxisSkeletonDefaultingCommand.class);
-    
-    // ValidateWSDLCommand
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WebServicesParser", ValidateWSDLCommand.class);
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WsdlURI", ValidateWSDLCommand.class);
-    
-    // SkeletonConfigWidgetDefaultingCommand
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", SkeletonConfigWidgetDefaultingCommand.class);
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WsdlURI", SkeletonConfigWidgetDefaultingCommand.class);
-    
-    // CheckAxisDeploymentDescriptorsTask
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", CheckAxisDeploymentDescriptorsTask.class, "ServerProject", projectTransformer);
-
-    // AddJarsToProjectBuildPathTask
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", AddJarsToProjectBuildPathTask.class, "Project", projectTransformer);
-    
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WsdlURI", WSDL2JavaCommand.class);
-    //dataRegistry.addMapping(WSDLSelectionTreeWidget.class, "WsdlURI", WSDL2JavaCommand.class);
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "HttpBasicAuthUsername", WSDL2JavaCommand.class);
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "HttpBasicAuthPassword", WSDL2JavaCommand.class);
-
-    // MoveDeploymentFilesTask
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", MoveDeploymentFilesTask.class, "ServerProject", projectTransformer);
-    dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", MoveDeploymentFilesTask.class);
-
-    // CopyAxisJarCommand
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", CopyAxisJarCommand.class, "Project", projectTransformer);
-
-    // Skeleton2WSDLCommand
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WebServicesParser", Skeleton2WSDLCommand.class);
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", Skeleton2WSDLCommand.class, "ServerProject", projectTransformer);
-    dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", Skeleton2WSDLCommand.class);
-
-    // UpdateWEBXMLCommand
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", UpdateWEBXMLCommand.class, "ServerProject", projectTransformer);
-
-    // RefreshProjectCommand
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", RefreshProjectCommand.class, "Project", projectTransformer);
-    
-    // BuildProjectCommand
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", BuildProjectCommand.class, "Project", projectTransformer);
-
-    // StartProjectCommand
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", StartProjectCommand.class, "ServiceProject", projectTransformer);
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerServer", StartProjectCommand.class, "ServiceExistingServer", new ServerName2IServerTransformer());
-    dataRegistry.addMapping(CopyAxisJarCommand.class, "ProjectRestartRequired", StartProjectCommand.class, "IsWebProjectStartupRequested", null);
-
-    // AxisDeployCommand
-    dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", AxisDeployCommand.class);
-    
-    // ServerExtensionOutputCommand
-    dataRegistry.addMapping(Skeleton2WSDLCommand.class, "WsdlURI", ServerExtensionOutputCommand.class);
-    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WebServicesParser", ServerExtensionOutputCommand.class);
-    
-    // ComputeAxisSkeletonBeanCommand
-    dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", ComputeAxisSkeletonBeanCommand.class);
-    //dataRegistry.addMapping(Skeleton2WSDLCommand.class, "WsdlURI", ComputeAxisSkeletonBeanCommand.class);
-    //dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WebServicesParser", ComputeAxisSkeletonBeanCommand.class);
-    
-    // OpenJavaEditorCommand
-    dataRegistry.addMapping(ComputeAxisSkeletonBeanCommand.class, "ClassNames", OpenJavaEditorCommand.class);
-    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", OpenJavaEditorCommand.class, "Project", projectTransformer);
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidget.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidget.java
index 5f2115a..a9b966b 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidget.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidget.java
@@ -17,19 +17,20 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 
 public class SkeletonConfigWidget extends SimpleWidgetDataContributor
@@ -38,28 +39,25 @@
 
   /* CONTEXT_ID PBSC0001 for the Skeleton Config Page */
   private static final String INFOPOP_PBSC_PAGE = "PBSC0001"; //$NON-NLS-1$
-  private static final String TOOLTIP_PBSC_PAGE = "TOOLTIP_PBSC_PAGE";
   
   // private Text uriText_;
   /* CONTEXT_ID PBCF0002 for the URI field of the Bean Config Page */
-  private final String INFOPOP_PBCF_TEXT_URI = "PBCF0002"; //$NON-NLS-1$
-  private final String TOOLTIP_PBCF_TEXT_URI = "TOOLTIP_PBCF_TEXT_URI";
+  //private final String INFOPOP_PBCF_TEXT_URI = "PBCF0002"; //$NON-NLS-1$
+
   
   private Text wsdlFolderText_;
   /* CONTEXT_ID PBCF0006 for the WSDL Folder field in the Bean Config Page */
   private final String INFOPOP_PBCF_TEXT_WSDL_FOLDER = "PBCF0006"; //$NON-NLS-1$
-  private final String TOOLTIP_PBCF_TEXT_WSDL_FOLDER = "TOOLTIP_PBCF_TEXT_WSDL_FOLDER";
   
   private Text wsdlFileText_;
   /* CONTEXT_ID PBCF0007 for the WSDL File field of the Bean Config Page */
   private final String INFOPOP_PBCF_TEXT_WSDL_FILE = "PBCF0007"; //$NON-NLS-1$
-  private final String TOOLTIP_PBCF_TEXT_WSDL_FILE = "TOOLTIP_PBCF_TEXT_WSDL_FILE";
+
   
   private Combo skeletonFolderText_;
   /* CONTEXT_ID PBSC0004 for the Skeleton Folder field of the Skeleton Config Page */
   private static final String INFOPOP_PBSC_TEXT_SKELETON_FOLDER = "PBSC0004"; //$NON-NLS-1$
-  private static final String TOOLTIP_PBSC_TEXT_SKELETON_FOLDER = "TOOLTIP_PBSC_TEXT_SKELETON_FOLDER";
-  //
+
 
   /* CONTEXT_ID PBSC0005 for the Skeleton Folder Browse button of the Skeleton Config Page */
   // private static final String INFOPOP_PBSC_BUTTON_SKELETON_FOLDER_BROWSE = "PBSC0005"; //$NON-NLS-1$
@@ -72,18 +70,13 @@
   public WidgetDataEvents addControls( Composite parent, Listener statusListener)
   {
     String       pluginId        = "org.eclipse.jst.ws.axis.creation.ui";
-    String       conPluginId     = "org.eclipse.jst.ws.axis.consumption.ui";
-    String       baseConPluginId = "org.eclipse.jst.ws.consumption.ui";
     
-    MessageUtils msgUtils        = new MessageUtils( pluginId + ".plugin", this );
-    MessageUtils conMsgUtils     = new MessageUtils( conPluginId + ".plugin", this );
-    MessageUtils baseConMsgUtils = new MessageUtils( baseConPluginId + ".plugin", this );
-    UIUtils      uiUtils         = new UIUtils( msgUtils, pluginId );
-    UIUtils      conUiUtils      = new UIUtils( conMsgUtils, pluginId );
-    UIUtils      baseConUiUtils  = new UIUtils( baseConMsgUtils, pluginId );
+    UIUtils      uiUtils         = new UIUtils( pluginId );
+    UIUtils      conUiUtils      = new UIUtils( pluginId );
+    UIUtils      baseConUiUtils  = new UIUtils( pluginId );
 
   	PlatformUI.getWorkbench().getHelpSystem().setHelp( parent, pluginId + "." +  INFOPOP_PBSC_PAGE );
-  	parent.setToolTipText( msgUtils.getMessage( TOOLTIP_PBSC_PAGE ) );
+  	parent.setToolTipText( AxisCreationUIMessages.TOOLTIP_PBSC_PAGE );
     
     Composite textGroup = uiUtils.createComposite( parent, 2, 0, 0 );
 
@@ -94,25 +87,25 @@
                                    SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     */
 
-    wsdlFolderText_ = uiUtils.createText( textGroup, "LABEL_OUTPUT_FOLDER_NAME",
-                                          TOOLTIP_PBCF_TEXT_WSDL_FOLDER,
+    wsdlFolderText_ = uiUtils.createText( textGroup, AxisCreationUIMessages.LABEL_OUTPUT_FOLDER_NAME,
+    		AxisCreationUIMessages.TOOLTIP_PBCF_TEXT_WSDL_FOLDER,
                                           INFOPOP_PBCF_TEXT_WSDL_FOLDER,
                                           SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
 
-    wsdlFileText_ = uiUtils.createText( textGroup, "LABEL_OUTPUT_FILE_NAME",
-                                        TOOLTIP_PBCF_TEXT_WSDL_FILE,
+    wsdlFileText_ = uiUtils.createText( textGroup, AxisCreationUIMessages.LABEL_OUTPUT_FILE_NAME,
+    		AxisCreationUIMessages.TOOLTIP_PBCF_TEXT_WSDL_FILE,
                                         INFOPOP_PBCF_TEXT_WSDL_FILE,
                                         SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
 
-    skeletonFolderText_ = baseConUiUtils.createCombo( textGroup, "LABEL_SKELETON_ROOT_NAME",
-        TOOLTIP_PBSC_TEXT_SKELETON_FOLDER,
+    skeletonFolderText_ = baseConUiUtils.createCombo( textGroup, ConsumptionUIMessages.LABEL_SKELETON_ROOT_NAME,
+    		ConsumptionUIMessages.TOOLTIP_PBSC_TEXT_SKELETON_FOLDER,
         INFOPOP_PBSC_TEXT_SKELETON_FOLDER,
         SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
 
-    Label separator = uiUtils.createHorizontalSeparator( parent, 5 );
+    uiUtils.createHorizontalSeparator( parent, 5 );
 
-    showMappingsCheckbox_ = conUiUtils.createCheckbox( parent, "LABEL_EXPLORE_MAPPINGS_XML2BEAN",
-                                                       "TOOLTIP_N2P_SHOW_MAPPINGS",
+    showMappingsCheckbox_ = conUiUtils.createCheckbox( parent, AxisConsumptionUIMessages.LABEL_EXPLORE_MAPPINGS_XML2BEAN,
+    													AxisConsumptionUIMessages.TOOLTIP_N2P_SHOW_MAPPINGS,
                                                        INFOPOP_N2P_SHOW_MAPPINGS );
         
     return this;
@@ -182,7 +175,6 @@
     catch (MalformedURLException murle)
     {
     }
-    javaWSDLParam.setOutput(root + wsdlFolderText_.getText());
     javaWSDLParam.setJavaOutput(root + skeletonFolderText_.getText());
 	  return javaWSDLParam;
   }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidgetDefaultingCommand.java
index d930940..4decba4 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/widgets/skeleton/SkeletonConfigWidgetDefaultingCommand.java
@@ -15,33 +15,53 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParameter;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.common.ServerUtils;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
-public class SkeletonConfigWidgetDefaultingCommand extends SimpleCommand
+public class SkeletonConfigWidgetDefaultingCommand extends AbstractDataModelOperation
 {
   private String wsdlURI;
   private IProject serverProject;
   private JavaWSDLParameter javaWSDLParam;
-  private String moduleName_;
+  private String serviceServerTypeID_;
 
-  public SkeletonConfigWidgetDefaultingCommand( String moduleName )
+  public SkeletonConfigWidgetDefaultingCommand( )
   {
-    moduleName_ = moduleName;
   }
   
-  public Status execute(Environment env) 
-  {
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+	{
+		IEnvironment environment = getEnvironment();
+		IStatus status = Status.OK_STATUS;
+		
     String root = getRootURL();
-    javaWSDLParam.setOutput( root + getOutputWSDLFolder());
-    javaWSDLParam.setJavaOutput(root + getOutputJavaFolder());  
-    return new SimpleStatus("");
+    String outputDir =	ResourceUtils.findResource(J2EEUtils.getWebInfPath( serverProject )).getLocation().toString();
+    javaWSDLParam.setOutput( outputDir );
+    javaWSDLParam.setJavaOutput(root + getOutputJavaFolder()); 
+	
+	String projectURL = ServerUtils.getEncodedWebComponentURL(serverProject, serviceServerTypeID_);
+	
+	if (projectURL == null) {
+	    status = StatusUtils.errorStatus(NLS.bind(AxisCreationUIMessages.MSG_ERROR_PROJECT_URL, new String[] { serverProject.toString()}));
+	    environment.getStatusHandler().reportError(status);
+	    return status;		  
+	} else {
+		javaWSDLParam.setProjectURL(projectURL);
+	}
+	
+    return Status.OK_STATUS;
     
   }
   
@@ -62,7 +82,7 @@
   
   public String getOutputWSDLFolder()
   {
-	  IPath wsdlPath = J2EEUtils.getWebContentPath(serverProject, moduleName_ ).append("wsdl");
+	  IPath wsdlPath = J2EEUtils.getWebContentPath(serverProject ).append("wsdl");
       return wsdlPath.toString();
   }
   
@@ -77,7 +97,7 @@
   public String getOutputJavaFolder()
   {
     if (serverProject!=null){
-      return ResourceUtils.getJavaSourceLocation(serverProject, moduleName_).toString();
+      return ResourceUtils.getJavaSourceLocation(serverProject).toString();
     }
     return null;
   }
@@ -124,4 +144,12 @@
     
     return rootURL;
   }
+
+public String getServiceServerTypeID() {
+	return serviceServerTypeID_;
+}
+
+public void setServiceServerTypeID(String serviceServerTypeID) {
+	this.serviceServerTypeID_ = serviceServerTypeID;
+}
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/beans/WSBeanAxisType.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/beans/WSBeanAxisType.java
index 38bf335..45b037d 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/beans/WSBeanAxisType.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/beans/WSBeanAxisType.java
@@ -13,57 +13,36 @@
 
 import org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
-import org.eclipse.jst.ws.internal.axis.consumption.ui.task.AddJarsToProjectBuildPathTask;
+import org.eclipse.jst.ws.internal.axis.consumption.ui.AxisConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CheckAxisDeploymentDescriptorsTask;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisMappingsWidget;
+import org.eclipse.jst.ws.internal.axis.creation.ui.AxisCreationUIMessages;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.JavaToWSDLMethodCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.plugin.WebServiceAxisCreationUIPlugin;
 import org.eclipse.jst.ws.internal.axis.creation.ui.task.DefaultsForServerJavaWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean.AxisBeanFragment;
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean.BeanConfigWidget;
-import org.eclipse.jst.ws.internal.consumption.common.JavaResourceFilter;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionWidget;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceServerRuntimeType;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
+import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 /**
 * This is the class for the
-* Java Bean
-* {@link org.eclipse.jst.ws.was.creation.ui.wizard.WebServiceServerRuntimeType WebServiceServerRuntimeType}.
+* Axis bottom up Java Bean scenario
+* 
 */
-public class WSBeanAxisType implements WebServiceServerRuntimeType, CommandWidgetBinding
+public class WSBeanAxisType implements CommandWidgetBinding
 {	
-  private JavaResourceFilter filter_ = new JavaResourceFilter();
   private String serverName_;
   private String runtimeName_;
   private boolean isWebModuleRequired_;
 
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getName ()
-  {
-    return WebServiceAxisCreationUIPlugin.getMessage("%WS_NAME_BEANWAXIS");
-  }
-
-  /**
-  * Returns a locale specific description of this Web Service type.
-  * @return A locale specific description of this Web Service type.
-  */
-  public String getDescription ()
-  {
-    return WebServiceAxisCreationUIPlugin.getMessage("%WS_DESC_BEANWAXIS");
-  }
 
   /**
   * Returns a locale specific label for the Server supported by this Web Service type
@@ -101,14 +80,6 @@
     runtimeName_ = runtimeLabel;
   }
 
-  /**
-  * Returns a label for the Web Service type associated with this WebServiceServerRuntimeType
-  * @return A label for the Web Service type
-  */
-  public String getWebServiceTypeLabel()
-  {
-    return WebServiceAxisCreationUIPlugin.getMessage("%WEBSERVICETYPE_NAME_JAVA_AXIS");
-  }
 
   /**
   * Returns whether or not a Web Module is required for this WebServiceServerRuntimeType
@@ -129,14 +100,6 @@
   }
 
   
-  /**
-  * Returns a string representation of this object.
-  * @return A string representation of this object.
-  */
-  public String toString ()
-  {
-    return getName();
-  }
 	/* (non-Javadoc)
 	 * @see org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceServerRuntimeType#isEJBModuleRequired()
 	 */
@@ -160,7 +123,7 @@
   }
   
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry) 
   {
@@ -179,12 +142,8 @@
     //BeanConfigWidget - as source
 
     dataRegistry.addMapping(BeanConfigWidget.class, "JavaParameter", CheckAxisDeploymentDescriptorsTask.class, "JavaWSDLParam", null);
-    dataRegistry.addMapping(BeanConfigWidget.class, "JavaParameter", AddJarsToProjectBuildPathTask.class, "JavaWSDLParam", null);
     dataRegistry.addMapping(BeanConfigWidget.class, "JavaParameter", Java2WSDLCommand.class, "JavaWSDLParam", null);       
     dataRegistry.addMapping(BeanConfigWidget.class, "JavaParameter", WSDL2JavaCommand.class, "JavaWSDLParam", null);
-        
-    //MappingFragment (optionally displays the AxisMappingsWidget) 
-    dataRegistry.addMapping(BeanConfigWidget.class, "CustomizeServiceMappings", AxisBeanFragment.MappingFragment.class);
 
     //AxisMappingsWidget - as target
     dataRegistry.addMapping(BeanConfigWidget.class, "JavaParameter", AxisMappingsWidget.class);
@@ -192,7 +151,6 @@
     //AxisMappingsWidget - as source
 
     dataRegistry.addMapping(AxisMappingsWidget.class, "JavaParameter", CheckAxisDeploymentDescriptorsTask.class, "JavaWSDLParam", null);
-    dataRegistry.addMapping(AxisMappingsWidget.class, "JavaParameter", AddJarsToProjectBuildPathTask.class, "JavaWSDLParam", null);
     dataRegistry.addMapping(AxisMappingsWidget.class, "JavaParameter", Java2WSDLCommand.class, "JavaWSDLParam", null);       
     dataRegistry.addMapping(AxisMappingsWidget.class, "JavaParameter", WSDL2JavaCommand.class, "JavaWSDLParam", null);    
     
@@ -204,13 +162,11 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry) 
   {
-    String       pluginId_ = "org.eclipse.jst.ws.axis.creation.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    
+   
     /*
     widgetRegistry.add( "BeanSelection", 
-                        msgUtils.getMessage("PAGE_TITLE_WSBEAN_CLASS"),
-                        msgUtils.getMessage("PAGE_DESC_WSBEAN_CLASS"),
+                        AxisCreationUIMessages.PAGE_TITLE_WSBEAN_CLASS,
+                        AxisCreationUIMessages.PAGE_DESC_WSBEAN_CLASS,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -221,8 +177,8 @@
     */
 
     widgetRegistry.add( "BeanConfig", 
-                        msgUtils.getMessage("PAGE_TITLE_WSBEAN_CONFIG"),
-                        msgUtils.getMessage("PAGE_DESC_WSBEAN_CONFIG"),
+                        AxisCreationUIMessages.PAGE_TITLE_WSBEAN_CONFIG,
+                        AxisCreationUIMessages.PAGE_DESC_WSBEAN_CONFIG,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -231,12 +187,10 @@
                           }
                         } );
 
-    String       consPluginId_ = "org.eclipse.jst.ws.axis.consumption.ui";
-    MessageUtils consMsgUtils = new MessageUtils( consPluginId_ + ".plugin", this );
 
     widgetRegistry.add( "AxisServiceBeanMapping", 
-                        consMsgUtils.getMessage("PAGE_TITLE_WS_BEAN2XML"),
-                        consMsgUtils.getMessage("PAGE_DESC_P2N_MAPPINGS"),
+    		AxisConsumptionUIMessages.PAGE_TITLE_WS_BEAN2XML,
+    		AxisConsumptionUIMessages.PAGE_DESC_P2N_MAPPINGS,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -255,7 +209,8 @@
     {
       public CommandFragment create()
       {
-        return new AxisBeanFragment(); 
+          //dead code - doesn't matter what gets returned here.
+    	  return new SimpleFragment();
       }
     };
   }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java
index 1114fde..6877b57 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wizard/wsdl/WSWSDLAxisType.java
@@ -14,50 +14,30 @@
 import org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisMappingsFragment;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.widgets.AxisMappingsWidget;
-import org.eclipse.jst.ws.internal.axis.creation.ui.plugin.WebServiceAxisCreationUIPlugin;
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.AxisSkeletonDefaultingCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.AxisSkeletonFragment;
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.SkeletonConfigWidget;
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.SkeletonConfigWidgetDefaultingCommand;
-import org.eclipse.jst.ws.internal.consumption.common.WSDLResourceFilter;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.command.data.ProjectName2IProjectTransformer;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceServerRuntimeType;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
+import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 /**
 * This is the class for the Axis Web service type.
 */
-public class WSWSDLAxisType implements WebServiceServerRuntimeType, CommandWidgetBinding 
+public class WSWSDLAxisType implements CommandWidgetBinding 
 {
-	private WSDLResourceFilter filter_ = new WSDLResourceFilter();
-
 	private String serverName_;
 	private String runtimeName_;
 	private boolean isWebModuleRequired_;
-	/**
-	* Returns a short, locale specific name of this Web Service type.
-	* @return A short, locale specific name of this Web Service type.
-	*/
-	public String getName() {
-		return WebServiceAxisCreationUIPlugin.getMessage("%WS_NAME_WSDLAXIS");
-	}
-
-	/**
-	* Returns a locale specific description of this Web Service type.
-	* @return A locale specific description of this Web Service type.
-	*/
-	public String getDescription() {
-		return WebServiceAxisCreationUIPlugin.getMessage("%WS_DESC_WSDLAXIS");
-	}
 
 	/**
 	* Returns a locale specific label for the Server supported by this Web Service type
@@ -92,15 +72,6 @@
 	}
 
 	/**
-	* Returns a label for the Web Service type associated with this WebServiceServerRuntimeType
-	* @return A label for the Web Service type
-	*/
-	public String getWebServiceTypeLabel() {
-		return WebServiceAxisCreationUIPlugin.getMessage(
-			"%WEBSERVICETYPE_NAME_WSDL_AXIS");
-	}
-
-	/**
 	* Returns whether or not a Web Module is required for this WebServiceServerRuntimeType
 	* @return true if requireWebModule
 	*/
@@ -116,13 +87,6 @@
 		isWebModuleRequired_ = requireWebModule;
 	}
 
-	/**
-	* Returns a string representation of this object.
-	* @return A string representation of this object.
-	*/
-	public String toString() {
-		return getName();
-	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceServerRuntimeType#isEJBModuleRequired()
@@ -148,7 +112,7 @@
   {
   }
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry) 
   {
@@ -180,13 +144,11 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry) 
   {
-    String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    
+   
     /*
     widgetRegistry.add( "WSDLSelection", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_SELECTION"),
-                        msgUtils.getMessage("PAGE_DESC_WS_SELECTION"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_SELECTION,
+                        ConsumptionUIMessages.PAGE_DESC_WS_SELECTION,
 		                new WidgetContributorFactory()
                         {
 		                  public WidgetContributor create()
@@ -196,8 +158,8 @@
 		                } );
 
     widgetRegistry.add( "WSDLSelectionTreeWidget", 
-        msgUtils.getMessage("PAGE_TITLE_WSDL_SELECTION"),
-        msgUtils.getMessage("PAGE_DESC_WSDL_SELECTION"),
+        ConsumptionUIMessages.PAGE_TITLE_WSDL_SELECTION,
+        ConsumptionUIMessages.PAGE_DESC_WSDL_SELECTION,
         new WidgetContributorFactory()
         {
           public WidgetContributor create()
@@ -208,8 +170,8 @@
     */
 
     widgetRegistry.add( "SkeletonConfig", 
-                        msgUtils.getMessage("PAGE_TITLE_WSSKEL_CONFIG"),
-                        msgUtils.getMessage("PAGE_DESC_WSSKEL_CONFIG"),
+                        ConsumptionUIMessages.PAGE_TITLE_WSSKEL_CONFIG,
+                        ConsumptionUIMessages.PAGE_DESC_WSSKEL_CONFIG,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -219,8 +181,8 @@
                         } );
 
     widgetRegistry.add( "AxisMappingsWidget", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_XML2BEAN"),
-                        msgUtils.getMessage("PAGE_DESC_N2P_MAPPINGS"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_XML2BEAN,
+                        ConsumptionUIMessages.PAGE_DESC_N2P_MAPPINGS,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -239,7 +201,8 @@
     {
       public CommandFragment create()
       {
-        return new AxisSkeletonFragment(); 
+          //dead code - doesn't matter what gets returned here. 
+    	  return new SimpleFragment();
       }
     };
   }
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisBeanConfigWidgetFactory.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisBeanConfigWidgetFactory.java
index c5d1594..77e6b55 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisBeanConfigWidgetFactory.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisBeanConfigWidgetFactory.java
@@ -13,10 +13,10 @@
 
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean.BeanConfigWidget;
 import org.eclipse.jst.ws.internal.axis.creation.ui.wizard.beans.WSBeanAxisType;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributor;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetBindingToWidgetFactoryAdapter;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributorFactory;
 
 public class AxisBeanConfigWidgetFactory implements INamedWidgetContributorFactory {
 
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisSkeletonConfigWidgetFactory.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisSkeletonConfigWidgetFactory.java
index cbab9b4..0d8b8fe 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisSkeletonConfigWidgetFactory.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisSkeletonConfigWidgetFactory.java
@@ -13,10 +13,10 @@
 
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.SkeletonConfigWidget;
 import org.eclipse.jst.ws.internal.axis.creation.ui.wizard.wsdl.WSWSDLAxisType;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributor;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetBindingToWidgetFactoryAdapter;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributorFactory;
 
 public class AxisSkeletonConfigWidgetFactory implements INamedWidgetContributorFactory {
 
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java
index 6c8bfc2..f331d8c 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebService.java
@@ -1,3 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.axis.creation.ui.wsrt;
 
 import java.util.Vector;
@@ -9,22 +20,21 @@
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.CopyAxisJarCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.RefreshProjectCommand;
 import org.eclipse.jst.ws.internal.axis.consumption.ui.task.ValidateWSDLCommand;
+import org.eclipse.jst.ws.internal.axis.creation.ui.command.AxisCheckCompilerLevelCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.AxisOutputCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.AxisRunInputCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.BUAxisInputCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.ComputeAxisSkeletonBeanCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.CopyDeploymentFileCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.JavaToWSDLMethodCommand;
+import org.eclipse.jst.ws.internal.axis.creation.ui.command.PublishServerCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.TDAxisInputCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.command.UpdateWEBXMLCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.task.BUCheckAxisDeploymentDescriptors;
 import org.eclipse.jst.ws.internal.axis.creation.ui.task.DefaultsForServerJavaWSDLCommand;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.MoveDeploymentFilesTask;
-import org.eclipse.jst.ws.internal.axis.creation.ui.task.MoveJavaFilesTask;
 import org.eclipse.jst.ws.internal.axis.creation.ui.task.Skeleton2WSDLCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.task.TDCheckAxisDeploymentDescriptors;
 import org.eclipse.jst.ws.internal.axis.creation.ui.task.UpdateAxisWSDDFileTask;
-import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean.AxisBeanFragment;
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.bean.BUAxisDefaultingCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.AxisSkeletonDefaultingCommand;
 import org.eclipse.jst.ws.internal.axis.creation.ui.widgets.skeleton.SkeletonConfigWidgetDefaultingCommand;
@@ -33,15 +43,16 @@
 import org.eclipse.jst.ws.internal.consumption.ui.command.OpenJavaEditorCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.command.data.ProjectName2IProjectTransformer;
 import org.eclipse.wst.command.internal.env.common.WaitForAutoBuildCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.ws.internal.provisional.wsrt.AbstractWebService;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceInfo;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.ws.internal.wsrt.AbstractWebService;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 public class AxisWebService extends AbstractWebService
 {
@@ -52,69 +63,70 @@
 		super(info);
 	}
 
-	public ICommandFactory assemble(Environment env, IContext ctx,
-			ISelection sel, String project, String module, String earProject, String ear)
+	public ICommandFactory assemble(IEnvironment env, IContext ctx,
+			ISelection sel, String project, String earProject)
 	{
 		return null;
 	}
 
-	public ICommandFactory deploy(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory deploy(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
 		return null;
 	}
 
-	public ICommandFactory develop(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory develop(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
 		
 		Vector commands = new Vector();
+    EclipseEnvironment environment = (EclipseEnvironment)env;
 		
 		if (ctx.getScenario().getValue() == WebServiceScenario.BOTTOMUP) {
 			
-			registerBUDataMappings( env.getCommandManager().getMappingRegistry());
+			registerBUDataMappings( environment.getCommandManager().getMappingRegistry());
 			
-			commands.add(new BUAxisInputCommand(this, project, module));
+			commands.add(new BUAxisInputCommand(this, project));
+			commands.add(new AxisCheckCompilerLevelCommand());
 //			commands.add(new ValidateObjectSelectionCommand());
 			commands.add(new BUAxisDefaultingCommand());
-			commands.add(new DefaultsForServerJavaWSDLCommand(module));
+			commands.add(new DefaultsForServerJavaWSDLCommand());
 			commands.add(new JavaToWSDLMethodCommand());
 			// commands.add(new SimpleFragment( "BeanConfig" ));
 			// commands.add(new SimpleFragment( "AxisServiceBeanMapping" ));
-			commands.add(new BUCheckAxisDeploymentDescriptors(module));
-			commands.add(new CopyAxisJarCommand(module));
+			commands.add(new BUCheckAxisDeploymentDescriptors());
+			commands.add(new CopyAxisJarCommand());
 			commands.add(new WaitForAutoBuildCommand());
 			commands.add(new Java2WSDLCommand());
 			commands.add(new RefreshProjectCommand());
 			commands.add(new WSDL2JavaCommand());
-			commands.add(new MoveJavaFilesTask(module));
-			commands.add(new UpdateAxisWSDDFileTask(module));
-			commands.add(new UpdateWEBXMLCommand(module));
+			commands.add(new UpdateAxisWSDDFileTask());
+			commands.add(new UpdateWEBXMLCommand(getWebServiceInfo()));
 			commands.add(new RefreshProjectCommand());
 			commands.add(new BuildProjectCommand());
 			commands.add(new AxisOutputCommand(this));
 			
 		} else if (ctx.getScenario().getValue() == WebServiceScenario.TOPDOWN) {
 			
-			registerTDDataMappings( env.getCommandManager().getMappingRegistry());
+			registerTDDataMappings( environment.getCommandManager().getMappingRegistry());
 			
-			commands.add(new TDAxisInputCommand(this, project, module));
+			commands.add(new TDAxisInputCommand(this, project));
 			commands.add(new AxisSkeletonDefaultingCommand());
 		    commands.add(new ValidateWSDLCommand());
-		    commands.add(new SkeletonConfigWidgetDefaultingCommand(module));
+		    commands.add(new SkeletonConfigWidgetDefaultingCommand());
 //			commands.add(new SimpleFragment( "SkeletonConfig" ));
 //			commands.add(new SimpleFragment( "AxisMappingsWidget" ));
-		    commands.add(new TDCheckAxisDeploymentDescriptors(module));
-			commands.add(new CopyAxisJarCommand(module));
+		    commands.add(new TDCheckAxisDeploymentDescriptors());
+			commands.add(new CopyAxisJarCommand());
 		    commands.add(new WSDL2JavaCommand());
-		    commands.add(new MoveDeploymentFilesTask(module));
-		    commands.add(new Skeleton2WSDLCommand(module));
-		    commands.add(new UpdateWEBXMLCommand(module));
+		    commands.add(new Skeleton2WSDLCommand());
+		    commands.add(new UpdateWEBXMLCommand(getWebServiceInfo()));
 		    commands.add(new RefreshProjectCommand());
 		    commands.add(new BuildProjectCommand());
 			commands.add(new AxisOutputCommand(this));
 			
 		} else {
+			//TODO: Remove println and reassess this "error".
 			System.out.println("Error - WebServiceScenario should not be Client for AxisWebService");
 			return null;
 		}
@@ -123,31 +135,31 @@
 		return new SimpleCommandFactory(commands);
 	}
 
-	public ICommandFactory install(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory install(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
 		return null;
 	}
 
-	public ICommandFactory run(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear)
+	public ICommandFactory run(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject)
 	{
 		Vector commands = new Vector();
+        commands.add(new PublishServerCommand(getWebServiceInfo()));
 
 		if (ctx.getScenario().getValue() == WebServiceScenario.CLIENT) {
-			System.out
-					.println("Error - WebServiceScenario should not be Client for AxisWebService");
+			//TODO: Remove println and reassess this "error".
+			System.out.println("Error - WebServiceScenario should not be Client for AxisWebService");
 			return null;
 		} else {// For BOTTOM_UP and TOP_DOWN
-			commands.add(new AxisRunInputCommand(this, project, module));
-//			commands.add(new StartProjectCommand(module));
+			commands.add(new AxisRunInputCommand(this, project));
 			if (getWebServiceInfo().getServerFactoryId().equals("org.eclipse.jst.server.geronimo.10")) {
-				commands.add(new GeronimoAxisDeployCommand(project, module));
+				commands.add(new GeronimoAxisDeployCommand(project));
 			}
 			else {
 			    commands.add(new AxisDeployCommand());
 			}
-			commands.add( new CopyDeploymentFileCommand( project, module ) );
+			commands.add( new CopyDeploymentFileCommand( project ) );
 			commands.add(new RefreshProjectCommand());
 			if (ctx.getScenario().getValue() == WebServiceScenario.TOPDOWN) {
 				commands.add(new ComputeAxisSkeletonBeanCommand());
@@ -171,13 +183,16 @@
 //	    registry.addMapping(SelectionCommand.class, "InitialSelection", BUAxisDefaultingCommand.class );
 //KSC   registry.addMapping(BUAxisInputCommand.class, "ServiceTypeRuntimeServer", BUAxisDefaultingCommand.class );
 	    	    
+		// AxisCheckCompilerLevelCommand
+		registry.addMapping(BUAxisInputCommand.class, "ServerProject", AxisCheckCompilerLevelCommand.class);
+		
 	    //BUAxisCommands2 - these run after BeanClassWidget
 	    //DefaultsForServerJavaWSDLCommand
 	    registry.addMapping(BUAxisDefaultingCommand.class, "JavaWSDLParam", DefaultsForServerJavaWSDLCommand.class);
 	    registry.addMapping(BUAxisInputCommand.class, "ServerProject", DefaultsForServerJavaWSDLCommand.class, "ServiceProject", new StringToIProjectTransformer());
+        registry.addMapping(BUAxisInputCommand.class, "ServiceServerTypeID", DefaultsForServerJavaWSDLCommand.class);        
 	    registry.addMapping(BUAxisDefaultingCommand.class, "JavaBeanName", DefaultsForServerJavaWSDLCommand.class);
 	    registry.addMapping(BUAxisDefaultingCommand.class, "Parser", DefaultsForServerJavaWSDLCommand.class);
-	    registry.addMapping(BUAxisDefaultingCommand.class, "CustomizeServiceMappings", AxisBeanFragment.MappingFragment.class);
 	    
 	    //JavaWSDLMethodCommand
 	    registry.addMapping(DefaultsForServerJavaWSDLCommand.class, "JavaWSDLParam", JavaToWSDLMethodCommand.class);
@@ -202,13 +217,10 @@
 	    registry.addMapping(JavaToWSDLMethodCommand.class, "JavaWSDLParam", WSDL2JavaCommand.class);
 	    
 
-	    //MoveJavaFilesTask
-	    registry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", MoveJavaFilesTask.class);
-	    registry.addMapping(BUAxisInputCommand.class, "ServerProject", MoveJavaFilesTask.class, "ServiceProject", new StringToIProjectTransformer());
-	    
 	    //UpdateAxisWSDDFileTask
-	    registry.addMapping(MoveJavaFilesTask.class, "JavaWSDLParam", UpdateAxisWSDDFileTask.class);
+	    registry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", UpdateAxisWSDDFileTask.class);
 	    registry.addMapping(BUAxisInputCommand.class, "ServerProject", UpdateAxisWSDDFileTask.class, "ServiceProject", new StringToIProjectTransformer());
+        registry.addMapping(BUAxisInputCommand.class, "ServiceServerTypeID", UpdateAxisWSDDFileTask.class);
 	    
 	    //UpdateWEBXMLCommand
 	    registry.addMapping(BUAxisInputCommand.class, "ServerProject", UpdateWEBXMLCommand.class, "ServerProject", new StringToIProjectTransformer());
@@ -239,6 +251,9 @@
 		//AxisDeployCommand
 	    registry.addMapping(AxisRunInputCommand.class, "JavaWSDLParam", AxisDeployCommand.class);
 		
+	    // CopyDeploymentFileCommand
+	    registry.addMapping(AxisRunInputCommand.class, "ServerInstanceId", CopyDeploymentFileCommand.class);
+	    
 	    //RefreshProjectCommand
 	    registry.addMapping(AxisRunInputCommand.class, "ServerProject", RefreshProjectCommand.class, "Project", new StringToIProjectTransformer());
 
@@ -266,6 +281,7 @@
 	    // SkeletonConfigWidgetDefaultingCommand
 	    dataRegistry.addMapping(TDAxisInputCommand.class, "ServerProject", SkeletonConfigWidgetDefaultingCommand.class);
 	    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WsdlURI", SkeletonConfigWidgetDefaultingCommand.class);
+	    dataRegistry.addMapping(TDAxisInputCommand.class, "ServiceServerTypeID", SkeletonConfigWidgetDefaultingCommand.class);
 	    
 	    // CheckAxisDeploymentDescriptorsTask
 	    dataRegistry.addMapping(TDAxisInputCommand.class, "ServerProject", TDCheckAxisDeploymentDescriptors.class, "ServerProject", projectTransformer);
@@ -277,16 +293,13 @@
 //		WSDL2JavaCommand
 	  	dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "JavaWSDLParam", WSDL2JavaCommand.class);
 		
-	    // MoveDeploymentFilesTask
-	    dataRegistry.addMapping(TDAxisInputCommand.class, "ServerProject", MoveDeploymentFilesTask.class, "ServerProject", projectTransformer);
-	    dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", MoveDeploymentFilesTask.class);
-
 	    // CopyAxisJarCommand
 	    dataRegistry.addMapping(TDAxisInputCommand.class, "ServerProject", CopyAxisJarCommand.class, "Project", projectTransformer);
 
 	    // Skeleton2WSDLCommand
 	    dataRegistry.addMapping(AxisSkeletonDefaultingCommand.class, "WebServicesParser", Skeleton2WSDLCommand.class);
 	    dataRegistry.addMapping(TDAxisInputCommand.class, "ServerProject", Skeleton2WSDLCommand.class, "ServerProject", projectTransformer);
+        dataRegistry.addMapping(TDAxisInputCommand.class, "ServiceServerTypeID", Skeleton2WSDLCommand.class);        
 	    dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", Skeleton2WSDLCommand.class);
 
 	    // UpdateWEBXMLCommand
@@ -304,6 +317,10 @@
 	    // AxisDeployCommand
 	    dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", AxisDeployCommand.class);
 	    
+	    // CopyDeploymentFileCommand
+	    dataRegistry.addMapping(AxisRunInputCommand.class, "ServerInstanceId", CopyDeploymentFileCommand.class);
+
+	    
 	    // AxisOutputCommand
 	    dataRegistry.addMapping(Skeleton2WSDLCommand.class, "WsdlURI", AxisOutputCommand.class);
 		dataRegistry.addMapping(WSDL2JavaCommand.class, "JavaWSDLParam", AxisOutputCommand.class); 
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebServiceRuntime.java b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebServiceRuntime.java
index 38c8c87..bbbd10d 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebServiceRuntime.java
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/src/org/eclipse/jst/ws/internal/axis/creation/ui/wsrt/AxisWebServiceRuntime.java
@@ -1,11 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.axis.creation.ui.wsrt;
 
 import org.eclipse.jst.ws.internal.axis.consumption.ui.wsrt.AxisWebServiceClient;
-import org.eclipse.wst.ws.internal.provisional.wsrt.AbstractWebServiceRuntime;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceClientInfo;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceInfo;
+import org.eclipse.wst.ws.internal.wsrt.AbstractWebServiceRuntime;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceClientInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
 
 public class AxisWebServiceRuntime extends AbstractWebServiceRuntime
 {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/.cvsignore b/bundles/org.eclipse.jst.ws.consumption.ui/.cvsignore
index 491c19c..27f945a 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 wsc-ui.jar
+@dot
+src.zip
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 04a7bef..edb0e2f 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,12 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.consumption.ui; singleton:=true
-Bundle-Version: 0.7.1
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.ws.consumption.ui,
+Export-Package: org.eclipse.jst.ws.internal.consumption.ui,
  org.eclipse.jst.ws.internal.consumption.ui.action,
+ org.eclipse.jst.ws.internal.consumption.ui.ant,
  org.eclipse.jst.ws.internal.consumption.ui.command,
  org.eclipse.jst.ws.internal.consumption.ui.command.data,
  org.eclipse.jst.ws.internal.consumption.ui.common,
@@ -15,6 +16,7 @@
  org.eclipse.jst.ws.internal.consumption.ui.plugin,
  org.eclipse.jst.ws.internal.consumption.ui.preferences,
  org.eclipse.jst.ws.internal.consumption.ui.selection,
+ org.eclipse.jst.ws.internal.consumption.ui.server,
  org.eclipse.jst.ws.internal.consumption.ui.widgets,
  org.eclipse.jst.ws.internal.consumption.ui.widgets.binding,
  org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions,
@@ -26,8 +28,7 @@
  org.eclipse.jst.ws.internal.consumption.ui.wizard,
  org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi,
  org.eclipse.jst.ws.internal.consumption.ui.wsil,
- org.eclipse.jst.ws.internal.consumption.ui.wsrt,
- org.eclipse.jst.ws.internal.consumption.ui.server
+ org.eclipse.jst.ws.internal.consumption.ui.wsrt
 Require-Bundle: org.eclipse.wst.ws.parser,
  org.eclipse.wst.command.env,
  org.eclipse.wst.command.env.ui,
@@ -60,10 +61,15 @@
  org.eclipse.wst.common.emfworkbench.integration,
  org.eclipse.wst.common.frameworks,
  org.eclipse.jst.j2ee.webservice,
- org.eclipse.jst.j2ee.webservices.ui,
+ org.eclipse.jst.j2ee.webservice.ui,
  org.eclipse.wst.common.modulecore,
  org.eclipse.wst.ws.ui,
  org.wsdl4j,
  org.eclipse.jem.util,
- org.eclipse.wst.wsdl.validation
+ org.eclipse.wst.wsdl.validation,
+ org.eclipse.wst.common.frameworks.ui,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.common.project.facet.core,
+ org.eclipse.jst.server.core,
+ org.eclipse.debug.core
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/plugin.properties b/bundles/org.eclipse.jst.ws.consumption.ui/plugin.properties
index ccd3738..c15fe27 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/plugin.properties
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/plugin.properties
@@ -17,6 +17,13 @@
 
 FEATURE_DESCRIPTION=Web services
 
+XP_wsImpl=Web service implementations
+XP_wsClientImpl=Web service client implementations
+XP_runtimes=Web service runtimes
+XP_serviceRuntimes=Combination of a Web service runime, service implementation type, and required facets
+XP_clientRuntimes=Combination of a Web service runime, client implementation type, and required facets
+XP_tester=Web service test facilities
+
 XP_PUBLIC_UDDI_REGISTRY_TYPES=Public UDDI Registry Types
 XP_PRIVATE_UDDI_REGISTRY_TYPES=Private UDDI Registry Types
 XP_WEB_SERVICE_CLIENT_TYPES=Web Service Client Types
@@ -117,5 +124,6 @@
 #
 # Handlers Configuration wizard page
 #
-POPUP_ADD_HANDLERS=Configure handlers
+POPUP_ADD_HANDLERS=Configure Handlers
+POPUP_CONFIG_CLIENT_HANDLERS=Configure Client Handlers
 LABEL_HANDLERS_CONFIG=Configure Handlers
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/plugin.xml b/bundles/org.eclipse.jst.ws.consumption.ui/plugin.xml
index 2cde457..a36c4b1 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/plugin.xml
@@ -3,34 +3,23 @@
 
 <plugin>
 
-     <extension-point
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
+   <extension-point
       id="publicUDDIRegistryType"
       name="%XP_PUBLIC_UDDI_REGISTRY_TYPES"/>
 
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
    <extension-point
       id="privateUDDIRegistryType"
       name="%XP_PRIVATE_UDDI_REGISTRY_TYPES"/>
 
-   <extension-point
-      id="webServiceClientType"
-      name="%XP_WEB_SERVICE_CLIENT_TYPES"
-      schema="schema/webServiceClientType.exsd"/>
-
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
    <extension-point
       id="webServiceTest"
       name="%XP_WEB_SERVICE_TEST"
       schema="schema/webServiceTest.exsd"/>
 
-   <extension-point
-      id="webServiceServerRuntimeType"
-      name="%XP_WEB_SERVICE_SERVER_RUNTIME_TYPES"
-      schema="schema/webServiceServerRuntimeType.exsd"/>
-
-   <extension-point
-      id="clientProjectType"
-      name="%XP_WEB_SERVICE_CLIENT_PROJECT_TYPE"
-      schema="schema/clientProjectType.exsd"/>   
-
+   <!-- The following extension point is internal, though likely to be made public with changes in a future release. -->
    <extension-point
       id="objectSelectionWidget"
       name="%XP_OBJECT_SELECTION_WIDGET"
@@ -135,33 +124,6 @@
 
    </extension>
 
-   <!-- Java Beans -->
-
-   <extension
-         point="org.eclipse.jst.ws.consumption.ui.webServiceServerRuntimeType">
-
-      <webServiceType
-            label="%WEBSERVICETYPE_NAME_JAVA"
-            resourceTypeMetadata="File IResource CompilationUnit"
-            extensionMetadata=".java .class"
-            objectSelectionWidget="org.eclipse.jst.ws.internal.consumption.ui.widgets.object.JavaBeanSelectionWidget"
-            includeNatures="org.eclipse.jst.j2ee.web.WebNature"
-            excludeNatures=""
-            id="org.eclipse.jst.ws.type.java">
-      </webServiceType>
-
-      <webServiceType
-            label="%WEBSERVICETYPE_NAME_WSDL"
-            resourceTypeMetadata="File IResource String ServiceImpl ServiceRefImpl WSDLResourceImpl"
-            extensionMetadata=".wsdl .wsil .html .ServiceImpl .ServiceRefImpl .WSDLResourceImpl"
-            objectSelectionWidget="org.eclipse.jst.ws.internal.consumption.ui.widgets.object.WSDLSelectionWidget"
-            includeNatures="org.eclipse.jst.j2ee.web.WebNature"
-            excludeNatures=""            
-            id="org.eclipse.jst.ws.type.wsdl">
-      </webServiceType>
-
-   </extension>
-
    <!-- Dynamic Wizards -->
 
    <extension
@@ -201,7 +163,8 @@
       </dynamicWizard>
    </extension>
 
-   <!-- extension
+   <!-- Handler extensions -->
+   <extension
          point="org.eclipse.wst.command.env.dynamicWizard">
       <dynamicWizard
             iconbanner="icons/config_handler_wiz.gif"
@@ -209,9 +172,9 @@
             title="%LABEL_HANDLERS_CONFIG"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.service">
       </dynamicWizard>
-   </extension -->
+   </extension>
 
-   <!-- extension
+   <extension
          point="org.eclipse.wst.command.env.dynamicWizard">
       <dynamicWizard
             iconbanner="icons/config_handler_wiz.gif"
@@ -219,9 +182,9 @@
             title="%LABEL_HANDLERS_CONFIG"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.client">
       </dynamicWizard>
-   </extension -->
+   </extension>
 
-   <!-- extension
+   <extension
          point="org.eclipse.wst.command.env.dynamicWizard">
       <dynamicWizard
             iconbanner="icons/config_handler_wiz.gif"
@@ -229,7 +192,7 @@
             title="%LABEL_HANDLERS_CONFIG"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers">
       </dynamicWizard>
-   </extension -->   
+   </extension>   
 
    <extension
          point="org.eclipse.ui.importWizards">
@@ -306,8 +269,8 @@
       <page
             name="%PREFERENCE_CATEGORY_PROJECT_TOPOLOGY"
             category="org.eclipse.wst.ws.internal.ui.preferences.name"
-            class="org.eclipse.jst.ws.internal.ui.preferences.ProjectTopologyPreferencePage"
-            id="org.eclipse.jst.ws.internal.ui.preferences.ProjectTopologyPreferencePage">
+            class="org.eclipse.jst.ws.internal.consumption.ui.preferences.ProjectTopologyPreferencePage"
+            id="org.eclipse.jst.ws.internal.consumption.ui.preferences.ProjectTopologyPreferencePage">
       </page>
       
    </extension>
@@ -466,7 +429,7 @@
          </action>
       </objectContribution>
 
-      <!-- objectContribution
+      <objectContribution
             objectClass="org.eclipse.core.resources.IFile"
             nameFilter="webservices.xml"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.editor">
@@ -524,7 +487,7 @@
             nameFilter="webservicesclient.xml"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.editor">
          <action
-               label="%POPUP_ADD_HANDLERS"
+               label="%POPUP_CONFIG_CLIENT_HANDLERS"
                class="org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard"
                menubarPath="org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu/popupActions"
                id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.client">
@@ -536,7 +499,7 @@
             nameFilter="ejb-jar.xml"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.editor">
          <action
-               label="%POPUP_ADD_HANDLERS"
+               label="%POPUP_CONFIG_CLIENT_HANDLERS"
                class="org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard"
                menubarPath="org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu/popupActions"
                id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.client">
@@ -548,7 +511,7 @@
             nameFilter="web.xml"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.editor">
          <action
-               label="%POPUP_ADD_HANDLERS"
+               label="%POPUP_CONFIG_CLIENT_HANDLERS"
                class="org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard"
                menubarPath="org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu/popupActions"
                id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.client">
@@ -560,7 +523,7 @@
             nameFilter="application-client.xml"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.editor">
          <action
-               label="%POPUP_ADD_HANDLERS"
+               label="%POPUP_CONFIG_CLIENT_HANDLERS"
                class="org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard"
                menubarPath="org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu/popupActions"
                id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.client">
@@ -572,12 +535,12 @@
             nameFilter="*"
             id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.editor">
          <action
-               label="%POPUP_ADD_HANDLERS"
+               label="%POPUP_CONFIG_CLIENT_HANDLERS"
                class="org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard"
                menubarPath="additions"
                id="org.eclipse.jst.ws.internal.consumption.ui.wizard.handlers.client">
          </action>
-      </objectContribution -->      
+      </objectContribution>      
       
       <objectContribution
             objectClass="org.eclipse.wst.wsdl.util.WSDLResourceImpl"
@@ -626,49 +589,6 @@
             id="wsilimport">
          </action>
       </objectContribution>
-
-   </extension>
-
-   <!-- Client Project Types -->
-
-   <extension
-         point="org.eclipse.jst.ws.consumption.ui.clientProjectType">
-      <clientProjectType
-            include="org.eclipse.jst.j2ee.web.WebNature"
-            exclude=""
-            label="%LABEL_CLIENT_TYPE_WEB"
-            id="org.eclipse.jst.ws.consumption.ui.clientProjectType.Web">
-      </clientProjectType>
-   </extension>
-
-   <extension
-         point="org.eclipse.jst.ws.consumption.ui.clientProjectType">
-      <clientProjectType
-            include="org.eclipse.jdt.core.javanature"
-            exclude="org.eclipse.jst.j2ee.web.WebNature org.eclipse.jst.j2ee.ejb.EJBNature org.eclipse.jst.j2ee.ApplicationClientNature"
-            label="%LABEL_CLIENT_TYPE_CONTAINERLESS"
-            id="org.eclipse.jst.ws.consumption.ui.clientProjectType.Containerless">
-      </clientProjectType>
-   </extension>
-
-   <extension
-         point="org.eclipse.jst.ws.consumption.ui.clientProjectType">
-      <clientProjectType
-            include="org.eclipse.jst.j2ee.ejb.EJBNature"
-            exclude=""
-            label="%LABEL_CLIENT_TYPE_EJB"
-            id="org.eclipse.jst.ws.consumption.ui.clientProjectType.EJB">
-      </clientProjectType>
-   </extension>
-
-   <extension
-         point="org.eclipse.jst.ws.consumption.ui.clientProjectType">
-      <clientProjectType
-            include="org.eclipse.jst.j2ee.ApplicationClientNature"
-            exclude=""
-            label="%LABEL_CLIENT_TYPE_APP_CLIENT"
-            id="org.eclipse.jst.ws.consumption.ui.clientProjectType.AppClient">
-      </clientProjectType>
    </extension>
 
    <!-- Object Selection Widgets -->
@@ -700,17 +620,23 @@
       </objectSelectionWidget>
    </extension>
    
-   <!-- New extension points for WTP M4 -->
-   <extension-point id="discovery" name="UI Browsers for implementation artifacts"/>      
-   <extension-point id="wsImpl" name="Web service implementations"/>
-   <extension-point id="wsClientImpl" name="Web service client implementations"/>
-   <extension-point id="serviceType" name="Extensions that provide unique combinations of service implementations, scenarios, and module types "/>
-   <extension-point id="clientType" name="Extensions that provide unique combinations of client implementations and module types"/>
-   <extension-point id="webServiceRuntime" name="Web service runtimes"/>
-   <extension-point id="tester" name="Web service test facilities"/>
-   <extension-point id="publisher" name="Web service publication facilities"/>      
+   <!-- The following extension point is internal, though likely to be made public with changes in a future release. -->
+   <extension-point id="wsImpl" name="%XP_wsImpl"/>
 
-<!-- M4 Extensions to the new extension points -->
+   <!-- The following extension point is internal, though likely to be made public with changes in a future release. -->
+   <extension-point id="wsClientImpl" name="%XP_wsClientImpl"/>
+
+   <!-- The following extension point is internal, though likely to be made public with changes in a future release. -->
+   <extension-point id="runtimes" name="%XP_runtimes" />
+
+   <!-- The following extension point is internal, though likely to be made public with changes in a future release. -->
+   <extension-point id="serviceRuntimes" name="%XP_serviceRuntimes" />
+
+   <!-- The following extension point is internal, though likely to be made public with changes in a future release. -->
+   <extension-point id="clientRuntimes" name="%XP_clientRuntimes" />
+
+   <!-- The following extension point is internal, though likely to be made public with changes in a future release. -->
+   <extension-point id="tester" name="%XP_tester"/>
 
 <!-- Test Extensions beginning  -->
 
@@ -754,40 +680,116 @@
             label="Java Proxy">
   </webServiceClientImpl>
 </extension>   
-<extension point="org.eclipse.jst.ws.consumption.ui.serviceType">
-  <serviceType
-            id="org.eclipse.jst.ws.serviceType.java"
-            implId="org.eclipse.jst.ws.wsImpl.java"
-            buModuleTypesInclude="jst.web"
-            buModuleTypesExclude=""
-            tdModuleTypesInclude="jst.web"
-            tdModuleTypesExclude="">
-  </serviceType>
-</extension>   
-
-<extension point="org.eclipse.jst.ws.consumption.ui.clientType">
-  <clientType
-            id="org.eclipse.jst.ws.clientType.java.webOnly"
-            implId="org.eclipse.jst.ws.client.type.java"
-            moduleTypesInclude="jst.web"
-			moduleTypesExclude="">
-  </clientType>
-</extension>
-
-<extension point="org.eclipse.jst.ws.consumption.ui.clientType">
-  <clientType
-            id="org.eclipse.jst.ws.clientType.java.j2ee"
-            implId="org.eclipse.jst.ws.client.type.java"
-            moduleTypesInclude="jst.web jst.ejb jst.appclient jst.utility"
-			moduleTypesExclude="">
-  </clientType>
-</extension>
 
    	<extension point="org.eclipse.wst.command.env.ui.widgetRegistry">
        <widgetFactory   
              id="StartClientServer"
              insertBeforeCommandId="org.eclipse.jst.ws.internal.consumption.ui.extension.PreClientRunCommand"
              class="org.eclipse.jst.ws.internal.consumption.ui.server.StartClientWidgetFactory"/>
-    </extension> 
-    	
+    </extension>
+    
+    <extension point="org.eclipse.wst.command.env.antScenario">
+        <antScenario
+            class="org.eclipse.jst.ws.internal.consumption.ui.ant.AntClientRootCommandFragment"
+            scenarioType="client"/>
+     </extension>
+     
+     <extension
+           point="org.eclipse.wst.command.env.antDataMapping">
+        <map
+              key="InitialSelection"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ClientRuntimeSelectionWidgetDefaultingCommand"
+              property="InitialInitialSelection"
+              transform="org.eclipse.jst.ws.internal.common.String2SelectionTransformer"/>
+        <map
+              key="InitialSelection"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.WSDLSelectionWidgetDefaultingCommand"
+              property="InitialSelection"
+              transform="org.eclipse.jst.ws.internal.common.String2SelectionTransformer"/>
+
+        <map
+              key="Client.RuntimeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetOutputCommand"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+
+        <map
+              key="Client.ServerId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetOutputCommand"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+
+        <map
+              key="Client.TypeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetOutputCommand"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+        <map
+              key="TestService"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="TestService"/>
+
+        <map
+              key="MonitorService"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="MonitorService"/>              
+
+        <map
+              key="Client.RuntimeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+        <map
+              key="Client.ServerId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>     
+        <map
+              key="Client.TypeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>        
+        <map
+              key="ClientProjectName"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="ClientProjectName"/>  
+        <map
+              key="ClientEarProjectName"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="ClientEarProjectName"/>         
+        <map
+              key="ClientComponentType"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand"
+              property="ClientComponentType"/>
+        <map
+              key="Client.RuntimeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionFragment"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>                
+        <map
+              key="Client.ServerId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionFragment"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>                
+        <map
+              key="Client.TypeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionFragment"
+              property="ClientTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>                
+              
+         <!-- mappings for listing options -->
+        <map
+              key="ListRuntimes"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.command.ListOptionsCommand"
+              property="ListRuntimes"
+              transform="org.eclipse.wst.command.internal.env.ant.String2BooleanTransformer"
+              /> 
+
+  		<map
+              key="ListServers"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.command.ListOptionsCommand"
+              property="ListServers"
+              transform="org.eclipse.wst.command.internal.env.ant.String2BooleanTransformer"
+              />  	
+      </extension> 
 </plugin>
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/schema/clientProjectType.exsd b/bundles/org.eclipse.jst.ws.consumption.ui/schema/clientProjectType.exsd
index 6995213..ee40db4 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/schema/clientProjectType.exsd
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/schema/clientProjectType.exsd
@@ -3,19 +3,14 @@
 <schema targetNamespace="org.eclipse.jst.ws.consumption.ui">
 <annotation>
       <appInfo>
-         <meta.schema plugin="org.eclipse.jst.ws.consumption.ui" id="clientProjectType" name="clientProjectType"/>
+         <meta.schema plugin="org.eclipse.jst.ws.consumption.ui" id="clientProjectType" name="Client Project Type"/>
       </appInfo>
       <documentation>
-         [Enter description of this extension point.]
+         This extension point defines client container types.
       </documentation>
    </annotation>
 
    <element name="extension">
-      <annotation>
-         <documentation>
-            This extension point defines client container types.
-         </documentation>
-      </annotation>
       <complexType>
          <sequence>
             <element ref="clientProjectType" minOccurs="1" maxOccurs="unbounded"/>
@@ -23,14 +18,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  The point attribute string must be org.eclipse.jst.ws.consumption.ui.clientProjectType.
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -75,7 +77,7 @@
          <meta.section type="since"/>
       </appInfo>
       <documentation>
-         [Enter the first release in which this extension point appears.]
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
       </documentation>
    </annotation>
 
@@ -84,7 +86,7 @@
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
-         [Enter extension point usage example here.]
+         
       </documentation>
    </annotation>
 
@@ -93,7 +95,7 @@
          <meta.section type="apiInfo"/>
       </appInfo>
       <documentation>
-         [Enter API information here.]
+         
       </documentation>
    </annotation>
 
@@ -102,7 +104,7 @@
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
-         [Enter information about supplied implementation of this extension point.]
+         
       </documentation>
    </annotation>
 
@@ -111,7 +113,11 @@
          <meta.section type="copyright"/>
       </appInfo>
       <documentation>
-         
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
       </documentation>
    </annotation>
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/schema/objectSelectionWidget.exsd b/bundles/org.eclipse.jst.ws.consumption.ui/schema/objectSelectionWidget.exsd
index 61cefe0..1ec6067 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/schema/objectSelectionWidget.exsd
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/schema/objectSelectionWidget.exsd
@@ -3,10 +3,10 @@
 <schema targetNamespace="org.eclipse.jst.ws.consumption.ui">
 <annotation>
       <appInfo>
-         <meta.schema plugin="org.eclipse.jst.ws.consumption.ui" id="objectSelectionWidget" name="objectSelectionWidget"/>
+         <meta.schema plugin="org.eclipse.jst.ws.consumption.ui" id="objectSelectionWidget" name="Object Selection Widget"/>
       </appInfo>
       <documentation>
-         [Enter description of this extension point.]
+         
       </documentation>
    </annotation>
 
@@ -18,14 +18,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  The point attribute string must be org.eclipse.jst.ws.consumption.ui.objectSelectionWidget.
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -56,7 +63,7 @@
          <attribute name="transformer" type="string">
             <annotation>
                <documentation>
-                  This attribute specifies a class that must implement the org.eclipse.wst.command.internal.provisional.env.core.data.Transformer interface.  This interface contains a transform method.  Even though the type of the input parameter and the return value are of type Object it is expected that they will be used with the type org.eclipse.jface.viewers.IStructuredSelection.  This transformation method allows the extender to modify the initial selection to an IStructuredSelection object that is more readily usable by the runtime server type.
+                  This attribute specifies a class that must implement the org.eclipse.wst.command.internal.env.core.data.Transformer interface.  This interface contains a transform method.  Even though the type of the input parameter and the return value are of type Object it is expected that they will be used with the type org.eclipse.jface.viewers.IStructuredSelection.  This transformation method allows the extender to modify the initial selection to an IStructuredSelection object that is more readily usable by the runtime server type.
                </documentation>
             </annotation>
          </attribute>
@@ -68,7 +75,7 @@
          <meta.section type="since"/>
       </appInfo>
       <documentation>
-         [Enter the first release in which this extension point appears.]
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
       </documentation>
    </annotation>
 
@@ -77,7 +84,7 @@
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
-         [Enter extension point usage example here.]
+         
       </documentation>
    </annotation>
 
@@ -86,7 +93,7 @@
          <meta.section type="apiInfo"/>
       </appInfo>
       <documentation>
-         [Enter API information here.]
+         
       </documentation>
    </annotation>
 
@@ -95,7 +102,7 @@
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
-         [Enter information about supplied implementation of this extension point.]
+         
       </documentation>
    </annotation>
 
@@ -104,7 +111,11 @@
          <meta.section type="copyright"/>
       </appInfo>
       <documentation>
-         
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
       </documentation>
    </annotation>
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceClientType.exsd b/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceClientType.exsd
index 3bbe2f2..53bdd3c 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceClientType.exsd
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceClientType.exsd
@@ -3,7 +3,7 @@
 <schema targetNamespace="org.eclipse.jst.ws.consumption.ui">
 <annotation>
       <appInfo>
-         <meta.schema plugin="" id="webServiceClientType" name="Web Service Client Types"/>
+         <meta.schema plugin="org.eclipse.jst.ws.consumption.ui" id="webServiceClientType" name="Web Service Client Types"/>
       </appInfo>
       <documentation>
          This extension point defines Web Service Client types.  This is done by defining webServiceClientType elements.  These elements refer to a server and a Web Service runtime.  These are respectively defined in the webServiceServer element and the webServiceRuntime element.
@@ -20,14 +20,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  The point attribute string must be org.eclipse.jst.ws.consumption.ui.webServiceClientType.
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -198,4 +205,53 @@
       </complexType>
    </element>
 
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
 </schema>
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceServerRuntimeType.exsd b/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceServerRuntimeType.exsd
index ec44bca..cbdd711 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceServerRuntimeType.exsd
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceServerRuntimeType.exsd
@@ -21,14 +21,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  The point attribute string must be org.eclipse.jst.ws.consumption.ui.webServiceServerRuntimeType.
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -266,4 +273,53 @@
       </complexType>
    </element>
 
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
 </schema>
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceTest.exsd b/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceTest.exsd
index e462b04..20bf630 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceTest.exsd
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/schema/webServiceTest.exsd
@@ -6,16 +6,11 @@
          <meta.schema plugin="org.eclipse.jst.ws.consumption.ui" id="webServiceTest" name="Web Service Test"/>
       </appInfo>
       <documentation>
-         [Enter description of this extension point.]
+         This extension point defines Web service test facilities that can be plugged into the Web services wizards.
       </documentation>
    </annotation>
 
    <element name="extension">
-      <annotation>
-         <documentation>
-            This extension point defines Web service test facilities that can be plugged into the Web services wizards.
-         </documentation>
-      </annotation>
       <complexType>
          <sequence>
             <element ref="webServiceTest" minOccurs="1" maxOccurs="unbounded"/>
@@ -23,14 +18,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  The point attribute string must be org.eclipse.jst.ws.consumption.ui.webServiceTest.
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -89,7 +91,7 @@
          <meta.section type="since"/>
       </appInfo>
       <documentation>
-         [Enter the first release in which this extension point appears.]
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
       </documentation>
    </annotation>
 
@@ -98,7 +100,7 @@
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
-         [Enter extension point usage example here.]
+         
       </documentation>
    </annotation>
 
@@ -107,7 +109,7 @@
          <meta.section type="apiInfo"/>
       </appInfo>
       <documentation>
-         [Enter API information here.]
+         
       </documentation>
    </annotation>
 
@@ -116,7 +118,7 @@
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
-         [Enter information about supplied implementation of this extension point.]
+         
       </documentation>
    </annotation>
 
@@ -125,7 +127,11 @@
          <meta.section type="copyright"/>
       </appInfo>
       <documentation>
-         
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
       </documentation>
    </annotation>
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/consumption/ui/plugin.properties b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/consumption/ui/plugin.properties
deleted file mode 100644
index 376ed9f..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/consumption/ui/plugin.properties
+++ /dev/null
@@ -1,564 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-
-PLUGIN_NEW_WIZARD_NAME_WS_CLIENT=Web Service Client
-#
-# Web services "Internet" preferences extension.
-#
-
-#
-# Web Samples IDs
-#
-
-#
-# Pop-up actions
-#
-ACTION_GENERATE_JAVA_PROXY=Generate Client
-
-#
-# Dialogs
-#
-CHECKBOX_SHOW_GENERATE_JAVA_PROXY_DIALOG=Show Generate Java bean Proxy Dialog
-TOOLTIP_PPAD_CHECKBOX_WSDL2PROXY=Show the dialog for generating the Java bean proxy action.
-
-#
-#       Web Services Preferance Pages
-#
-# Categories
-#
-
-#
-# Preferences Tooltips
-#
-
-#
-#Server Runtime Preferences
-#
-TOOLTIP_SRPF_COMBO_SERVER=The preferred server type
-TOOLTIP_SRPF_COMBO_RUNTIME=The preferred Web service runtime
-TOOLTIP_SRPF_COMBO_J2EE=The preferred J2EE version
-
-#
-# Pop-up actions
-#
-
-#
-# General messages.
-#
-MSG_ERROR_TASK_EXCEPTED=IWAB0234E An internal error occurred. Details: {0}
-MSG_ERROR_NO_SERVER_RUNTIME=No suitable server can be found for the {0} Web service runtime. Go to Window > Preferences. Select Server > Installed Runtimes and configure one of the following: {1}
-
-
-
-
-#
-#Runtime labels
-#
-
-
-#
-# Wizard page task labels and descriptions
-# (used only for progress indication).
-#
-
-#
-# Common wizard strings.
-#
-LABEL_FOLDER_NAME=Folder:
-LABEL_JSP_FOLDER_NAME=JSP folder:
-LABEL_WEB_PROJECT_NAME=Web project:
-LABEL_WEBSERVICETYPE=Web service type:
-LABEL_J2EE_VERSION=J2EE version:
-LABEL_NA=N/A
-
-BUTTON_BROWSE=Browse...
-BUTTON_BROWSE_FILES=Browse files...
-BUTTON_USE_ABSOLUTE_LOCATION=Use absolute location URI for WSDL input statements
-BUTTON_USE_INLINE_SCHEMA=Use inline schema
-
-BOTTOMUP_LABEL=Bottom up
-TOPDOWN_LABEL=Top down
-CLIENT_LABEL=Client
-COMBINED_TYPE_AND_RUNTIME_LABEL={0} {1}
-
-
-
-#
-# Wizards.
-#
-WIZARD_TITLE_WSC=Web Service Client
-
-#
-# WebServiceClientSelectionPage
-#
-
-#
-# WebServiceServerSelectionPage
-#
-
-#
-# WebServiceProjectPage
-#
-PAGE_TITLE_WS_PROJECT=Web Services
-PAGE_DESC_WS_PROJECT=Review your Web service options and make any necessary changes before proceeding to the next page.
-BUTTON_START_WEB_PROJECT=Start Web service in Web project
-GROUP_SCENARIO_SERVICE=Service
-GROUP_SCENARIO_CLIENT=Client proxy
-LABEL_WEBSERVICECLIENTTYPE=Client proxy type:
-
-
-
-# Items common to WebServiceRuntimeSelectionPage and WebServiceClientRuntimeSelectionPage
-# WebServiceRuntimeSelectionPage
-PAGE_TITLE_WS_RUNTIME_SELECTION=Service Deployment Configuration
-PAGE_DESC_WS_RUNTIME_SELECTION=Choose from the list of runtimes and deployment servers, or use the default settings.
-LABEL_RUNTIMES_LIST=Web service runtime:
-LABEL_SERVERS_LIST=Server:
-LABEL_EDIT_BUTTON=Edit...
-LABEL_SERVICE_EAR_MODULE=Service EAR module:
-LABEL_CLIENT_EAR_MODULE=Client EAR module:
-LABEL_CLIENT_MODULE=Client module:
-LABEL_SERVICE_MODULE=Service module:
-LABEL_CLIENT_PROJECT=Client project:
-LABEL_SERVICE_PROJECT=Service project:
-LABEL_CLIENT_EAR_PROJECT=Client EAR project:
-LABEL_SERVICE_EAR_PROJECT=Service EAR project:
-
-#
-# Client component type labels
-#
-LABEL_CLIENT_COMP_TYPE_WEB=Web
-LABEL_CLIENT_COMP_TYPE_EJB=EJB
-LABEL_CLIENT_COMP_TYPE_APP_CLIENT=Application Client
-LABEL_CLIENT_COMP_TYPE_CONTAINERLESS=Java
-
-
-TOOLTIP_PWRS_TEXT_RUNTIME=The runtime to be used.
-TOOLTIP_PWRS_TEXT_SERVER=The server to be used.
-TOOLTIP_PWRS_J2EE_VERSION=J2EE version to be used.
-
-LABEL_SELECTION_VIEW_TITLE=Server-Side Deployment Selection:
-LABEL_SELECTION_VIEW_RUNTIME=Choose Web service runtime first
-LABEL_SELECTION_VIEW_SERVER=Choose server first
-LABEL_SELECTION_VIEW_EXPLORE=Explore options
-
-LABEL_TREE_EXISTING_SERVERS=Existing Servers
-LABEL_TREE_SERVER_TYPES=Server Types
-
-MSG_INVALID_SRT_SELECTIONS=This server and runtime combination is not supported.  Choose a different server or runtime to proceed through the Web services wizard.
-MSG_NO_RUNTIME=No runtime specified for the {0} scenario.
-MSG_NO_SERVER=No server specified for the {0} scenario.
-MSG_ERROR_STUB_ONLY={0} has only stub runtimes associated with it. Choose a different server or configure a non-stub runtime in the server preferences.
-
-MSG_SERVER_TARGET_MISMATCH=The project, {0}, has a server target which is not compatible with the selected server type
-MSG_J2EE_MISMATCH=The project, {0}, has a different J2EE level from the selected J2EE level
-MSG_SERVICE_PROJECT_EMPTY=The service project {0} cannot be empty. Select a service project {0}.
-MSG_SERVICE_EAR_EMPTY=The service EAR {0} cannot be empty. Select a service EAR {0}.
-MSG_CLIENT_PROJECT_EMPTY=The client project {0} cannot be empty. Select a client project {0}.
-MSG_CLIENT_EAR_EMPTY=The client EAR {0} cannot be empty. Select a client EAR {0}.
-MSG_INVALID_EJB_PROJECT={0} is not an EJB project. Choose an EJB project, or enter a new EJB project name.
-MSG_INVALID_WEB_PROJECT={0} is not a Web project. Choose a Web project, or enter a new Web project name.
-MSG_INVALID_PROJECT_TYPE={0} is not a {1} project. Choose a {1} project, or enter a new project name.
-MSG_MODULE=module
-MSG_MODULE_NAME_AND_PROJECT_NAME_NOT_THE_SAME=The flexible project preference is off. Therefore, project names and module names must be the same for new modules.
-
-MSG_SAME_CLIENT_AND_SERVICE_EARS=Your selected service and client {0} modules have the same name.  Proceeding with this configuration may result in runtime errors.
-MSG_SAME_CLIENT_AND_SERVICE_COMPONENTS=Your selected service and client {0} modules have the same name.  Proceeding with this configuration will result in runtime errors.
-MSG_SAME_CLIENT_AND_SERVICE_PROJECTS=Your selected service and client projects are the same.  Proceeding with this configuration will result in errors.
-MSG_WRONG_CLIENT_PROJECT_TYPE=The selected client project, {0}, is not a {1} project. Please select a {1} project or enter a new project name.
-MSG_CLIENT_SUB=client
-MSG_SERVICE_SUB=service
-MSG_GENERAL_PROJECT_AND_EAR=Select the {0} project and the EAR project with which you want it to be associated.
-MSG_EAR_PROJECT_WILL_BE_CREATED=If an EAR or project does not exist or is currently unassociated, it will be created and \nassociated as required when you click Next.
-
-MSG_EAR_WILL_BE_ASSOCIATED=The selected {0} project will be associated with the EAR project.
-MSG_PROJECT_WILL_BE_CREATED=The {0} project will be created and associated with the EAR project.
-MSG_EAR_WILL_BE_CREATED=The {0} EAR project will be created and associated with the project.
-MSG_PROJECT_AND_EAR_CREATED=The {0} project and EAR project will be created and associated with one another.
-
-# WebServiceClientRuntimeSelectionPage
-PAGE_TITLE_WS_CLIENT_RUNTIME_SELECTION=Client Environment Configuration
-PAGE_DESC_WS_CLIENT_RUNTIME_SELECTION=Choose from the list of supported runtimes and servers for the client environment, or use the default settings.
-
-LABEL_CLIENT_SELECTION_VIEW_TITLE=Client-Side Environment Selection:
-LABEL_CLIENT_TYPE=Client type:
-LABEL_WEB=Web
-LABEL_EJB=EJB
-LABEL_NO_LABEL=
-
-#
-# Items common to WebServiceMappingsPage, WebServiceMappingsPage (client), and WebServiceSOAPBindingPage
-#
-PAGE_MSG_VALIDATION_INTERNAL_ERROR=An internal error occurred during page validation. See logs for details.
-
-#
-# WebServiceMappingsPage
-#
-PAGE_TITLE_WS_XML2BEAN=Web Service Skeleton XML to Java Mappings
-PAGE_DESC_N2P_MAPPINGS=Define custom mapping for namespace to package.
-MSG_MAPPING_DUPLICATE_ENTRIES=Duplicate {0} mapped to the same {1}.
-
-
-#
-# The two ITEM_* strings are entries in a list box of mappings.
-# There are two forms, one when the page is in Java-to-XML mode:
-#   <java-bean-name>, <encoding-style>
-# and one when the page is in XML-to-Java mode:
-#   <xml-namespace-uri>:<xml-short-name>, <encoding-style>
-# where:
-#   <java-bean-name> is a fully-qualified Java class name
-#   <xml-namespace-uri> is the namespace of an XML type
-#   <xml-short-name> is the XML type name within the namespace
-#   <encoding-style> is the encoding style (SOAP or Literal XML)
-#
-
-#
-# WebServiceProxyPage
-#
-BUTTON_GENERATE_PROXY=Generate a proxy
-
-#
-# WebServiceSkeletonConfigPage
-#
-PAGE_DESC_WSSKEL_CONFIG=Define a skeleton Java bean as a Web service.
-PAGE_TITLE_WSSKEL_CONFIG=Web Service Skeleton Java Bean Configuration
-TOOLTIP_PBSC_TEXT_SKELETON_FOLDER=Folder for generated Java skeleton.
-TOOLTIP_PBSC_BUTTON_SKELETON_FOLDER_BROWSE=Browse folders.
-LABEL_SKELETON_ROOT_NAME=Skeleton folder:
-
-#
-# WebServiceBeanClassPage
-#
-LABEL_BEAN_CLASS_NAME=Bean:
-PAGE_MSG_BEAN_CANNOT_BE_EMPTY=Please select a Java bean class.
-BUTTON_BROWSE_CLASSES=Browse classes...
-
-
-#
-# WebServiceTestPage
-#
-PAGE_TITLE_WSTEST=Web Service Test Page
-PAGE_DESC_WSTEST=Select a test facility
-LABEL_TEST_TYPES=Test Facility
-CHECKBOX_TEST_WEBSERVICE=Test the Web service
-CHECKBOX_MONITOR_WEBSERVICE=Monitor the Web service
-MSG_ERROR_UNABLE_TO_LAUNCH_WSDL_TEST=An error occurred. Unable to launch WSDL test facility.
-
-#
-# WebServiceExplorerPage
-#
-BUTTON_LAUNCH_SERVICE_TEST=Launch
-
-#
-# WebServiceClientTestPage
-#
-PAGE_TITLE_WS_SAMPLE=Web Service Client Test
-PAGE_DESC_WS_SAMPLE=Do you want to test the generated proxy?
-BUTTON_TEST=Test the generated proxy
-LABEL_TEST_TYPES=Test facility
-BUTTON_RUN_TEST=Run test on server
-LABEL_METHODS=Methods
-MSG_ERROR_JTS_JSP_GEN=IWAB0313E Error encountered while generating the sample.
-LABEL_JSP_PROJECT_NAME=JSP project:
-MSG_ERROR_JTS_PROXY_NOT_COMPILED=IWAB0357E The Generated proxy was not found. WebService sample jsps cannot be generated.
-MSG_ERROR_MALFORMED_URL=IWAB0358E Test client URL is malformed.
-
-#
-# WebServiceISDPage
-#
-
-#
-# WebServiceBeanConfigPage
-#
-
-#
-# WebServiceBeanMethodsPage
-#
-BUTTON_SELECT_ALL=Select All
-BUTTON_DESELECT_ALL=Deselect All
-TOOLTIP_PBME_BUTTON_SELECT_ALL=Select all methods
-TOOLTIP_PBME_BUTTON_DESELECT_ALL=Deselect all methods
-
-#
-# WebServiceEJBConfigPage
-#
-
-#
-# WebServiceWSDLSelectionPage
-#
-PAGE_TITLE_WSDL_SELECTION=Web Service WSDL File Selection
-PAGE_DESC_WSDL_SELECTION=Select a WSDL file.
-
-
-#
-# WebServicePublishPage
-#
-PAGE_TITLE_WS_PUBLISH=Web Service Publication
-PAGE_DESC_WS_PUBLISH=Do you want to publish your Web service?
-PAGE_TITLE_WS_FIND=Find a Web service
-PAGE_DESC_WS_FIND=Do you want to find a Web service?
-BUTTON_WS_PUBLISH=Launch the Web Services Explorer to publish this Web service to a UDDI Registry
-BUTTON_WS_PUBLISH_PRIVATE_UDDI=Launch the Web Services Explorer to publish this Web service to the Unit Test UDDI Registry
-BUTTON_WS_FIND=Launch the Web Services Explorer to find a Web service from a UDDI Registry
-BUTTON_WS_FIND_PRIVATE_UDDI=Launch the Web Services Explorer to find a Web service from the Unit Test UDDI Registry
-LABEL_PUBLIC_UDDI_REGISTRIES=Public UDDI Registry
-
-#
-# EJB UI strings
-#
-LABEL_EJB_BEAN_NAME=EJB bean
-TABLE_TITLE_EJB_BEAN_NAMES=Stateless EJB beans
-TABLE_TITLE_EJB_PROJECT_NAME=EJB project
-LABEL_EAR_PROJECTS=EAR projects
-TOOLTIP_EAR_PROJECTS=Enterprise application projects.
-TOOLTIP_TABLE_BEAN_NAMES=Select an EJB.
-
-#
-# Tooltips for WebServiceWSDLSelectionPage
-#
-TOOLTIP_PWWS_PAGE=
-
-#
-# Tooltips for beans.WebServiceBeanClassPage
-#
-TOOLTIP_PBCL_PAGE=
-TOOLTIP_PBCL_TEXT_BEAN_CLASS=Selected Java bean.
-TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE=Browse classes.
-TOOLTIP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE=Browse Java files.
-
-
-#
-# Tooltips for beans.WebServiceTestPage
-#
-TOOLTIP_PSTP_COMBOBOX_TEST=Test facilities available to test the service.
-TOOLTIP_PSTP_LAUNCH_BUTTON=Launch the selected test facility.
-
-
-
-
-#
-# Tooltips for WebServiceRuntimeSelectionPage
-#
-TOOLTIP_PWRS_PAGE=
-TOOLTIP_PWRS_LIST_RUNTIMES=Select from the following deployment runtime(s).
-TOOLTIP_PWRS_LIST_SERVERS=Select from application server(s).
-TOOLTIP_PWRS_RADIO_SERVER=Server oriented selection.
-TOOLTIP_PWRS_RADIO_RUNTIME=Runtime oriented selection.
-TOOLTIP_PWRS_RADIO_EXPLORE=Explore combinations.
-TOOLTIP_PWRS_COMBO_PROJECT=Web project.
-
-#
-# Tooltips for WebServiceClientRuntimeSelectionPage
-#
-TOOLTIP_PWCR_COMBO_CLIENT_TYPE=Client type.
-
-
-#
-# Tooltips for WebServiceProjectPage
-#
-TOOLTIP_PWPR_COMBO_TYPE=Web service implementation type.
-TOOLTIP_PWPR_GROUP_SCENARIO_SERVICE=Service defaults for this wizard scenario.
-TOOLTIP_PWPR_CHECKBOX_GENERATE_PROXY=Enable/disable proxy generation for this scenario.
-TOOLTIP_PWPR_CHECKBOX_START_WEB_PROJECT=Start Web service in Web project for this scenario.
-TOOLTIP_PWPR_CHECKBOX_LAUNCH_WS=Launch the Web Services Explorer to publish the Web service in this scenario to a UDDI Registry.
-TOOLTIP_PWPR_CHECKBOX_TEST_SERVICE=Select this to explore the Web service created.
-TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE=Select this to monitor the SOAP traffics of this Web service.
-TOOLTIP_PWPR_GROUP_SCENARIO_CLIENT=Client proxy defaults for this wizard scenario.
-TOOLTIP_PWPR_COMBO_CLIENTTYPE=Client proxy selection type.
-
-#
-# Tooltips for WebServicePublishPage
-#
-TOOLTIP_PWPB_PAGE=
-TOOLTIP_PWPB_CHECKBOX_WS_LAUNCH=Publish the Web service.
-
-
-#
-# WSIL proxy
-#
-
-PAGE_WSIL_IMPORT=WSIL Import Page
-TITLE_WSIL_IMPORT=WSIL Import
-DESC_WSIL_IMPORT=Import WSDL references to a WSIL document
-PAGE_TITLE_WS_SELECTION=Web Service Selection Page
-PAGE_DESC_WS_SELECTION=Enter a web service URI.
-
-PAGE_MSG_LOADING_WEB_SERVICE_URI=Loading Web service URI...
-PAGE_MSG_INVALID_WEB_SERVICE_URI=Invalid Web service URI.  Enter an URI to a WSDL, WSIL or HTML document.
-PAGE_MSG_NO_SUCH_FILE=File "{0}" does not exists.
-PAGE_MSG_SELECTION_MUST_BE_WSDL=Selection must be WSDL.
-PAGE_MSG_INVALID_WSIL_FILE_NAME=Invalid WSIL file name.  WSIL file name must end with .wsil
-
-
-
-MSG_ERROR_URI_NOT_RESOLVABLE=IWAB0469E "{0}" is not resolvable.
-MSG_ERROR_WSDL_HAS_NO_SERVICE_ELEMENT=IWAB0551E WSDL file at {0} has no service element.
-
-LABEL_WSIL_URI=WSIL URI:
-LABEL_BROWSE=Browse
-LABEL_WSDL=WSDL:
-LABEL_WSDL_URI=WSDL URI
-LABEL_IMPORT=Import...
-LABEL_ADD=Add
-LABEL_REMOVE=Remove
-LABEL_WS_SELECTION=Enter an URI to a WSDL, WSIL or HTML document:
-LABEL_SELECT_WSDL=Select a WSDL
-LABEL_VALIDATE_MESSAGES=WSDL validation messages:
-
-
-TOOLTIP_WSIL_IMPORT_PAGE=This page allows you to add WSDL references to a WSIL document.
-TOOLTIP_WSIL_TEXT_WSIL=Enter the location of a new or existing WSIL document.
-TOOLTIP_WSIL_BUTTON_BROWSE_WSIL=Browse for a WSIL document.
-TOOLTIP_WSIL_TABLE_WSDL=Enter the URIs of the WSDLs that are going to be added as service references.
-TOOLTIP_PCON_PAGE=Select a web service for consumption.
-TOOLTIP_PCON_TEXT_WS=Enter an URI to a WSDL, WSIL or HTML document.
-TOOLTIP_PCON_BUTTON_BROWSE_WS=Browse for a web service resource.
-TOOLTIP_VALIDATE_TEXT_MESSAGE=Messages from WSDL validation.
-TOOLTIP_TABLE_VALIDATE_MESSAGE=Use the Web Service Profile Validation preference to enable or disable WSDL validation.
-
-#
-# Tooltips for client.WebServiceClienTestPage
-#
-TOOLTIP_PWSM_PAGE=
-TOOLTIP_PWSM_CHECKBOX_TEST=Enable/disable Test.
-TOOLTIP_PWSM_COMBOBOX_TEST=Select the test type.
-TOOLTIP_PWSM_CHECKBOX_LAUNCH=Run test on a server.
-TOOLTIP_PWSM_TEXT_JSP_FOLDER=Destination folder of generated sample files.
-TOOLTIP_PWSM_BUTTON_JSP_FOLDER_BROWSE=Browse folders.
-TOOLTIP_PWSM_BUTTON_SELECT_ALL=Select all methods.
-TOOLTIP_PWSM_BUTTON_DESELECT_ALL=Deselect all methods.
-TOOLTIP_PWSM_COMBO_PROJECT=Web project for generated sample.
-TOOLTIP_PWSM_TEXT_SAMPLE_FOLDER=Destination folder of generated sample files.
-TOOLTIP_PWSM_TREE_METHODS=Methods to generate into the sample.
-TOOLTIP_PWSM_EAR_PROJECT=EAR project for the generated sample.
-
-#
-# HTTP Basic Auth
-#
-DIALOG_TITLE_HTTP_BASIC_AUTH=HTTP Basic Authentication
-LABEL_URL=URL:
-LABEL_HTTP_BASIC_AUTH_USERNAME=User name:
-LABEL_HTTP_BASIC_AUTH_PASSWORD=Password:
-
-TOOLTIP_HTTP_BASIC_AUTH_USERNAME=Enter your HTTP basic authentication user name.
-TOOLTIP_HTTP_BASIC_AUTH_PASSWORD=Enter your HTTP basic authentication password.
-
-#
-# Web Service Server Runtime Type
-#
-
-
-#
-# Client project type
-#
-
-#
-# Generate Handler Skeleton
-#
-TASK_LABEL_GEN_HANDLER_SKELETON=Generate handler skeleton command
-TASK_DESC_GEN_HANDLER_SKELETON=Generate handler skeleton command
-MSG_ERROR_GENERATE_HANDLER_SKELETON=IWAB0359E Error in generating handler skeleton.
-MSG_ERROR_WRITE_FILE=IWAB0360E Error in writing file {0}.
-
-#
-# Handlers Configuration wizard page
-#
-LABEL_HANDLERS_CONFIG=Handler Configuration
-LABEL_BUTTON_ADD=Add
-LABEL_BUTTON_REMOVE=Remove
-LABEL_BUTTON_MOVE_UP=Move Up
-LABEL_BUTTON_MOVE_DOWN=Move Down
-LABEL_BUTTON_GEN_SKELETON=Generate skeleton classes for new handlers
-LABEL_COMBO_SOURCE_LOC=Output folder:
-LABEL_COMBO_WS_CLIENT_REF=Client Service Reference:
-LABEL_COMBO_WS_SERVICE_DESC=Service Description:
-
-LABEL_HANDLER_NAME=Name
-LABLE_HANDLER_CLASS=Class Name
-LABEL_HANDLER_PORT=Port Name
-
-DIALOG_TITLE_WS_ADD_HANDLER=Add New Handler
-LABEL_TEXT_HANDLER_NAME=Name:
-LABEL_TEXT_HANDLER_CLASS=Class name:
-LABEL_TEXT_HANDLER_PORT=Port name:
-
-PAGE_TITLE_SERVICE_HDLR_CONFIG=Service Handlers Configuration
-PAGE_DESC_SERVICE_HDLR_CONFIG=Configure service-side handlers
-PAGE_TITLE_CLIENT_HDLR_CONFIG=Client Handlers Configuration
-PAGE_DESC_CLIENT_HDLR_CONFIG=Configure client-side handlers
-
-TOOLTIP_EDIT_WS_HANDLERS=Configure Web Service Handlers
-TOOLTIP_BUTTON_GEN_SKELETON=Select to generate skeleton classes for new handlers.
-TOOLTIP_COMBO_SOURCE_LOC=Select the output location for file generation.
-TOOLTIP_TEXT_HANDLER_NAME=Handler name
-TOOLTIP_TEXT_HANDLER_CLASS=Handler class name
-TOOLTIP_TEXT_HANDLER_PORT=Handler port component name
-TOOLTIP_WS_CLIENT_REF=Select a client service-reference to show its handlers.
-TOOLTIP_WS_SERVICE_DESC=Select a service description to show its handlers.
-
-#
-# OpenJavaEditorCommand
-#
-MSG_ERROR_UNABLE_TO_OPEN_JAVA_EDITOR=IWAB0029E Unable to open class {0} from project {1} in the Java editor.
-
-#
-# CheckIfServiceProject
-# 
-MSG_WARN_IS_SERVICE_PROJECT=The selected client project, {0}, contains the Web service. Proceeding with this configuration may result in runtime errors when invoking the Web service. Would you like to proceed?
-MSG_USER_ABORTED=User pressed cancel in warning dialog which warned about the selected client project being the service project.
-
-
-#
-# Missing third party file error message
-#
-MSG_MISSING_THIRD_PARTY_FILES=Missing third party files.  Refer to http://www.eclipse.org/webtools/wst/components/ws/download_instructions_for_jars.html
-
-#
-# WSDLSelectionOutputCommand
-#
-MSG_WARNING_NO_SERVICE_ELEMENT=The WSDL file does not contain a Service element.  Therefore a service interface and Java proxy will not be generated and as a result, a Java test client will not be launched.  Click OK to proceed, or click Cancel to select another WSDL file.  Alternately, exit the wizard and use the WSDL editor to create a Service WSDL document.
-
-#
-# CheckWSDLValidationCommand
-#
-STILL_VALIDATING_WSDL=Still performing WSDL validation.  \nClick Ignore to ignore WSDL validation and continue. \nClick IgnoreAll to always ignore WSDL validation and continue.  \nClick Cancel to wait for WSDL validation to complete.
-IGNORE_LABEL=Ignore
-IGNORE_DESCRIPTION=Ignore the WSDL validation and continue
-IGNORE_ALL_LABEL=Ignore All
-IGNORE_ALL_DESCRIPTION=Always ignore WSDL validation and continue
-CANCEL_LABEL=Cancel
-TASK_LABEL_CHECK_WSDL_VALIDATION=Check for WSDL validation
-TASK_DESC_CHECK_WSDL_VALIDATION=Check if WSDL validation has completed
-CANCEL_DESCRIPTION=Cancel
-WAIT_FOR_WSDL=Do not continue with wizard.  Wait for WSDL validation to complete.
-
-#
-# Start server page
-#
-PAGE_TITLE_WS_START_SERVER=Server startup page
-PAGE_DESC_WS_START_SERVER=Start the server from this page.
-LABEL_START_SERVER_TEXT1=In order to proceed the server "{0}" must be started.
-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
-TOOLTIP_START_SERVER_BUTTON=Start the server
-TEXT_SERVER_STATUS=Currently the server is {0}.
-TEXT_SERVER_MSG=Server {0}
-TEXT_SERVER_STARTED=started
-TEXT_SERVER_STARTING=starting
-TEXT_SERVER_STOPPED=stopped
-
-
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
new file mode 100644
index 0000000..31eaa81
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties
@@ -0,0 +1,559 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Messages in plugin.xml.
+#
+
+PLUGIN_NEW_WIZARD_NAME_WS_CLIENT=Web Service Client
+#
+# Web services "Internet" preferences extension.
+#
+
+#
+# Web Samples IDs
+#
+
+#
+# Pop-up actions
+#
+ACTION_GENERATE_JAVA_PROXY=Generate Client
+
+#
+# Dialogs
+#
+CHECKBOX_SHOW_GENERATE_JAVA_PROXY_DIALOG=Show Generate Java bean Proxy Dialog
+TOOLTIP_PPAD_CHECKBOX_WSDL2PROXY=Show the dialog for generating the Java bean proxy action.
+
+#
+#       Web Services Preferance Pages
+#
+# Categories
+#
+
+#
+# Preferences Tooltips
+#
+
+#
+#Server Runtime Preferences
+#
+TOOLTIP_SRPF_COMBO_SERVER=The preferred server type
+TOOLTIP_SRPF_COMBO_RUNTIME=The preferred Web service runtime
+TOOLTIP_SRPF_COMBO_J2EE=The preferred J2EE version
+
+#
+# General messages.
+#
+MSG_ERROR_TASK_EXCEPTED=IWAB0234E An internal error occurred. Details: {0}
+MSG_ERROR_NO_SERVER_RUNTIME=No suitable server can be found for the {0} Web service runtime. Go to Window > Preferences. Select Server > Installed Runtimes and configure one of the following: {1}
+
+
+#
+# Wizard page task labels and descriptions
+# (used only for progress indication).
+#
+
+#
+# Common wizard strings.
+#
+LABEL_FOLDER_NAME=Folder:
+LABEL_JSP_FOLDER_NAME=JSP folder:
+LABEL_WEB_PROJECT_NAME=Web project:
+LABEL_WEBSERVICETYPE=Web service type:
+LABEL_J2EE_VERSION=J2EE version:
+LABEL_NA=N/A
+
+BUTTON_BROWSE=Browse...
+BUTTON_BROWSE_FILES=Browse files...
+
+BOTTOMUP_LABEL=Bottom up
+TOPDOWN_LABEL=Top down
+CLIENT_LABEL=Client
+COMBINED_TYPE_AND_RUNTIME_LABEL={0} {1}
+
+
+
+#
+# Wizards.
+#
+WIZARD_TITLE_WSC=Web Service Client
+
+#
+# WebServiceProjectPage
+#
+PAGE_TITLE_WS_PROJECT=Web Services
+PAGE_DESC_WS_PROJECT=Review your Web service options and make any necessary changes before proceeding to the next page.
+BUTTON_START_WEB_PROJECT=Start Web service in Web project
+#BUTTON_DEPLOY_WEB_PROJECT=Deploy Web service to a server type
+BUTTON_INSTALL_SERVICE_WEB_PROJECT=Install Web service on server
+BUTTON_INSTALL_CLIENT_WEB_PROJECT=Install Web service client on server (managed clients only)
+GROUP_SCENARIO_SERVICE=Service
+GROUP_SCENARIO_CLIENT=Client proxy
+LABEL_WEBSERVICECLIENTTYPE=Client proxy type:
+
+
+
+# Items common to WebServiceRuntimeSelectionPage and WebServiceClientRuntimeSelectionPage
+# WebServiceRuntimeSelectionPage
+PAGE_TITLE_WS_RUNTIME_SELECTION=Service Deployment Configuration
+PAGE_DESC_WS_RUNTIME_SELECTION=Choose from the list of runtimes and deployment servers, or use the default settings.
+LABEL_RUNTIMES_LIST=Web service runtime:
+LABEL_SERVERS_LIST=Server:
+LABEL_EDIT_BUTTON=Edit...
+LABEL_SERVICE_EAR_MODULE=Service EAR module:
+LABEL_CLIENT_EAR_MODULE=Client EAR module:
+LABEL_CLIENT_MODULE=Client module:
+LABEL_SERVICE_MODULE=Service module:
+LABEL_CLIENT_PROJECT=Client project:
+LABEL_SERVICE_PROJECT=Service project:
+LABEL_CLIENT_EAR_PROJECT=Client EAR project:
+LABEL_SERVICE_EAR_PROJECT=Service EAR project:
+
+#
+# Client component type labels
+#
+LABEL_CLIENT_COMP_TYPE_WEB=Web
+LABEL_CLIENT_COMP_TYPE_EJB=EJB
+LABEL_CLIENT_COMP_TYPE_APP_CLIENT=Application Client
+LABEL_CLIENT_COMP_TYPE_CONTAINERLESS=Java
+
+
+TOOLTIP_PWRS_TEXT_RUNTIME=The runtime to be used.
+TOOLTIP_PWRS_TEXT_SERVER=The server to be used.
+TOOLTIP_PWRS_J2EE_VERSION=J2EE version to be used.
+
+LABEL_SELECTION_VIEW_TITLE=Server-Side Deployment Selection:
+LABEL_SELECTION_VIEW_RUNTIME=Choose Web service runtime first
+LABEL_SELECTION_VIEW_SERVER=Choose server first
+LABEL_SELECTION_VIEW_EXPLORE=Explore options
+
+LABEL_TREE_EXISTING_SERVERS=Existing Servers
+LABEL_TREE_SERVER_TYPES=Server Types
+
+MSG_INVALID_SRT_SELECTIONS={0} does not support the {1} Web service runtime. Choose a different server or runtime to proceed through the Web services wizard.
+MSG_NO_RUNTIME=No runtime specified for the {0} scenario.
+MSG_NO_SERVER=No server specified for the {0} scenario.
+MSG_ERROR_STUB_ONLY={0} has only stub runtimes associated with it. Choose a different server or configure a non-stub runtime in the server preferences.
+
+MSG_SERVER_TARGET_MISMATCH=The project, {0}, has a server target which is not compatible with the selected server type
+MSG_J2EE_MISMATCH=The project, {0}, has a different J2EE level from the selected J2EE level
+MSG_SERVICE_PROJECT_EMPTY=The service project {0} cannot be empty. Select a service project {0}.
+MSG_SERVICE_EAR_EMPTY=The service EAR {0} cannot be empty. Select a service EAR {0}.
+MSG_CLIENT_PROJECT_EMPTY=The client project {0} cannot be empty. Select a client project {0}.
+MSG_CLIENT_EAR_EMPTY=The client EAR {0} cannot be empty. Select a client EAR {0}.
+
+MSG_INVALID_EJB_PROJECT={0} is not an EJB project. Choose an EJB project, or enter a new EJB project name.
+MSG_INVALID_WEB_PROJECT={0} is not a Web project. Choose a Web project, or enter a new Web project name.
+MSG_INVALID_PROJECT_TYPE={0} is not a {1} project. Choose a {1} project, or enter a new project name.
+MSG_MODULE=module
+MSG_MODULE_NAME_AND_PROJECT_NAME_NOT_THE_SAME=The flexible project preference is off. Therefore, project names and module names must be the same for new modules.
+
+MSG_SERVICE_RUNTIME_DOES_NOT_SUPPORT_PROJECT=The {0} Web service runtime does not support the service project {1}.
+MSG_SERVICE_SERVER_DOES_NOT_SUPPORT_PROJECT=The {0} server does not support the service project {1}. 
+MSG_SERVICE_RUNTIME_DOES_NOT_SUPPORT_TEMPLATE=The {0} Web service runtime does not support the service project type {1}.
+MSG_SERVICE_SERVER_DOES_NOT_SUPPORT_TEMPLATE=The {0} server does not support the service project type {1}.
+
+MSG_CLIENT_RUNTIME_DOES_NOT_SUPPORT_PROJECT=The {0} Web service runtime does not support the client project {1}.
+MSG_CLIENT_SERVER_DOES_NOT_SUPPORT_PROJECT=The {0} server does not support the client project {1}.
+MSG_CLIENT_RUNTIME_DOES_NOT_SUPPORT_TEMPLATE=The {0} Web service runtime does not support the client project type {1}.
+MSG_CLIENT_SERVER_DOES_NOT_SUPPORT_TEMPLATE=The {0} server does not support the client project type {1}.
+
+MSG_SAME_CLIENT_AND_SERVICE_EARS=Your selected service and client {0} modules have the same name.  Proceeding with this configuration may result in runtime errors.
+MSG_SAME_CLIENT_AND_SERVICE_COMPONENTS=Your selected service and client {0} modules have the same name.  Proceeding with this configuration will result in runtime errors.
+MSG_SAME_CLIENT_AND_SERVICE_PROJECTS=Your selected service and client projects are the same.  Proceeding with this configuration will result in errors.
+MSG_WRONG_CLIENT_PROJECT_TYPE=The selected client project, {0}, is not a {1} project. Please select a {1} project or enter a new project name.
+MSG_CLIENT_SUB=client
+MSG_SERVICE_SUB=service
+MSG_GENERAL_PROJECT_AND_EAR=Select the {0} project and the EAR project with which you want it to be associated.
+MSG_EAR_PROJECT_WILL_BE_CREATED=If an EAR or project does not exist or is currently unassociated, it will be created and \nassociated as required when you click Next.
+
+MSG_EAR_WILL_BE_ASSOCIATED=The selected {0} project will be associated with the EAR project.
+MSG_PROJECT_WILL_BE_CREATED=The {0} project will be created and associated with the EAR project.
+MSG_EAR_WILL_BE_CREATED=The {0} EAR project will be created and associated with the project.
+MSG_PROJECT_AND_EAR_CREATED=The {0} project and EAR project will be created and associated with one another.
+
+# WebServiceClientRuntimeSelectionPage
+PAGE_TITLE_WS_CLIENT_RUNTIME_SELECTION=Client Environment Configuration
+PAGE_DESC_WS_CLIENT_RUNTIME_SELECTION=Choose from the list of supported runtimes and servers for the client environment, or use the default settings.
+
+LABEL_CLIENT_SELECTION_VIEW_TITLE=Client-Side Environment Selection:
+LABEL_CLIENT_TYPE=Client Project type:
+LABEL_SERVICE_TYPE=Service Project type:
+LABEL_WEB=Web
+LABEL_EJB=EJB
+LABEL_NO_LABEL=
+
+#
+# Items common to WebServiceMappingsPage, WebServiceMappingsPage (client), and WebServiceSOAPBindingPage
+#
+PAGE_MSG_VALIDATION_INTERNAL_ERROR=An internal error occurred during page validation. See logs for details.
+
+#
+# WebServiceMappingsPage
+#
+PAGE_TITLE_WS_XML2BEAN=Web Service Skeleton XML to Java Mappings
+PAGE_DESC_N2P_MAPPINGS=Define custom mapping for namespace to package.
+MSG_MAPPING_DUPLICATE_ENTRIES=Duplicate {0} mapped to the same {1}.
+
+
+#
+# The two ITEM_* strings are entries in a list box of mappings.
+# There are two forms, one when the page is in Java-to-XML mode:
+#   <java-bean-name>, <encoding-style>
+# and one when the page is in XML-to-Java mode:
+#   <xml-namespace-uri>:<xml-short-name>, <encoding-style>
+# where:
+#   <java-bean-name> is a fully-qualified Java class name
+#   <xml-namespace-uri> is the namespace of an XML type
+#   <xml-short-name> is the XML type name within the namespace
+#   <encoding-style> is the encoding style (SOAP or Literal XML)
+#
+
+#
+# WebServiceProxyPage
+#
+BUTTON_GENERATE_PROXY=Generate a proxy
+
+#
+# WebServiceSkeletonConfigPage
+#
+PAGE_DESC_WSSKEL_CONFIG=Define a skeleton Java bean as a Web service.
+PAGE_TITLE_WSSKEL_CONFIG=Web Service Skeleton Java Bean Configuration
+TOOLTIP_PBSC_TEXT_SKELETON_FOLDER=Folder for generated Java skeleton.
+TOOLTIP_PBSC_BUTTON_SKELETON_FOLDER_BROWSE=Browse folders.
+LABEL_SKELETON_ROOT_NAME=Skeleton folder:
+
+#
+# WebServiceBeanClassPage
+#
+LABEL_BEAN_CLASS_NAME=Bean:
+PAGE_MSG_BEAN_CANNOT_BE_EMPTY=Please select a Java bean class.
+BUTTON_BROWSE_CLASSES=Browse classes...
+
+
+#
+# WebServiceTestPage
+#
+PAGE_TITLE_WSTEST=Web Service Test Page
+PAGE_DESC_WSTEST=Select a test facility
+CHECKBOX_TEST_WEBSERVICE=Test the Web service
+CHECKBOX_MONITOR_WEBSERVICE=Monitor the Web service
+MSG_ERROR_UNABLE_TO_LAUNCH_WSDL_TEST=An error occurred. Unable to launch WSDL test facility.
+
+#
+# WebServiceExplorerPage
+#
+BUTTON_LAUNCH_SERVICE_TEST=Launch
+
+#
+# WebServiceClientTestPage
+#
+PAGE_TITLE_WS_SAMPLE=Web Service Client Test
+PAGE_DESC_WS_SAMPLE=Do you want to test the generated proxy?
+BUTTON_TEST=Test the generated proxy
+LABEL_TEST_TYPES=Test facility
+BUTTON_RUN_TEST=Run test on server
+LABEL_METHODS=Methods
+LABEL_JSP_PROJECT_NAME=JSP project:
+MSG_ERROR_JTS_PROXY_NOT_COMPILED=IWAB0357E The Generated proxy was not found. WebService sample jsps cannot be generated.
+MSG_ERROR_MALFORMED_URL=IWAB0358E Test client URL is malformed.
+
+#
+# WebServiceBeanMethodsPage
+#
+BUTTON_SELECT_ALL=Select All
+BUTTON_DESELECT_ALL=Deselect All
+TOOLTIP_PBME_BUTTON_SELECT_ALL=Select all methods
+TOOLTIP_PBME_BUTTON_DESELECT_ALL=Deselect all methods
+
+#
+# WebServiceWSDLSelectionPage
+#
+PAGE_TITLE_WSDL_SELECTION=Web Service WSDL File Selection
+PAGE_DESC_WSDL_SELECTION=Select a WSDL file.
+
+
+#
+# WebServicePublishPage
+#
+PAGE_TITLE_WS_PUBLISH=Web Service Publication
+PAGE_DESC_WS_PUBLISH=Do you want to publish your Web service?
+PAGE_TITLE_WS_FIND=Find a Web service
+PAGE_DESC_WS_FIND=Do you want to find a Web service?
+BUTTON_WS_PUBLISH=Launch the Web Services Explorer to publish this Web service to a UDDI Registry
+BUTTON_WS_PUBLISH_PRIVATE_UDDI=Launch the Web Services Explorer to publish this Web service to the Unit Test UDDI Registry
+BUTTON_WS_FIND=Launch the Web Services Explorer to find a Web service from a UDDI Registry
+BUTTON_WS_FIND_PRIVATE_UDDI=Launch the Web Services Explorer to find a Web service from the Unit Test UDDI Registry
+LABEL_PUBLIC_UDDI_REGISTRIES=Public UDDI Registry
+
+#
+# EJB UI strings
+#
+LABEL_EJB_BEAN_NAME=EJB bean
+TABLE_TITLE_EJB_BEAN_NAMES=Stateless EJB beans
+TABLE_TITLE_EJB_PROJECT_NAME=EJB project
+LABEL_EAR_PROJECTS=EAR projects
+TOOLTIP_EAR_PROJECTS=Enterprise application projects.
+TOOLTIP_TABLE_BEAN_NAMES=Select an EJB.
+
+#
+# Tooltips for WebServiceWSDLSelectionPage
+#
+TOOLTIP_PWWS_PAGE=
+
+#
+# Tooltips for beans.WebServiceBeanClassPage
+#
+TOOLTIP_PBCL_PAGE=
+TOOLTIP_PBCL_TEXT_BEAN_CLASS=Selected Java bean.
+TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE=Browse classes.
+TOOLTIP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE=Browse Java files.
+
+#
+# Tooltips for beans.WebServiceTestPage
+#
+TOOLTIP_PSTP_COMBOBOX_TEST=Test facilities available to test the service.
+TOOLTIP_PSTP_LAUNCH_BUTTON=Launch the selected test facility.
+
+#
+# Tooltips for WebServiceRuntimeSelectionPage
+#
+TOOLTIP_PWRS_PAGE=
+TOOLTIP_PWRS_LIST_RUNTIMES=Select from the following deployment runtime(s).
+TOOLTIP_PWRS_LIST_SERVERS=Select from application server(s).
+TOOLTIP_PWRS_RADIO_SERVER=Server oriented selection.
+TOOLTIP_PWRS_RADIO_RUNTIME=Runtime oriented selection.
+TOOLTIP_PWRS_RADIO_EXPLORE=Explore combinations.
+
+#
+# Tooltips for WebServiceClientRuntimeSelectionPage
+#
+TOOLTIP_PWCR_COMBO_CLIENT_TYPE=Client project type.
+TOOLTIP_PWCR_COMBO_SERVICE_TYPE=Service project type.
+
+#
+# Tooltips for WebServiceProjectPage
+#
+TOOLTIP_PWPR_COMBO_TYPE=Web service implementation type.
+TOOLTIP_PWPR_GROUP_SCENARIO_SERVICE=Service defaults for this wizard scenario.
+TOOLTIP_PWPR_CHECKBOX_GENERATE_PROXY=Enable/disable proxy generation for this scenario.
+TOOLTIP_PWPR_CHECKBOX_START_WEB_PROJECT=Start Web service in Web project for this scenario.
+TOOLTIP_PWPR_CHECKBOX_INSTALL_SERVICE_WEB_PROJECT=Install the Web service on the server for this scenario.
+TOOLTIP_PWPR_CHECKBOX_INSTALL_CLIENT_WEB_PROJECT=Install the Web service client on the server for this scenario (managed client only). 
+TOOLTIP_PWPR_CHECKBOX_LAUNCH_WS=Launch the Web Services Explorer to publish the Web service in this scenario to a UDDI Registry.
+TOOLTIP_PWPR_CHECKBOX_TEST_SERVICE=Select this to explore the Web service created.
+TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE=Select this to monitor the SOAP traffics of this Web service.
+TOOLTIP_PWPR_GROUP_SCENARIO_CLIENT=Client proxy defaults for this wizard scenario.
+TOOLTIP_PWPR_COMBO_CLIENTTYPE=Client proxy selection type.
+
+#
+# Tooltips for WebServicePublishPage
+#
+TOOLTIP_PWPB_PAGE=
+TOOLTIP_PWPB_CHECKBOX_WS_LAUNCH=Publish the Web service.
+
+#
+# WSIL proxy
+#
+PAGE_WSIL_IMPORT=WSIL Import Page
+TITLE_WSIL_IMPORT=WSIL Import
+DESC_WSIL_IMPORT=Import WSDL references to a WSIL document
+PAGE_TITLE_WS_SELECTION=Web Service Selection Page
+PAGE_DESC_WS_SELECTION=Enter a web service URI.
+
+PAGE_MSG_LOADING_WEB_SERVICE_URI=Loading Web service URI...
+PAGE_MSG_INVALID_WEB_SERVICE_URI=Invalid Web service URI.  Enter an URI to a WSDL, WSIL or HTML document.
+PAGE_MSG_NO_SUCH_FILE=File "{0}" does not exists.
+PAGE_MSG_SELECTION_MUST_BE_WSDL=Selection must be WSDL.
+PAGE_MSG_INVALID_WSIL_FILE_NAME=Invalid WSIL file name.  WSIL file name must end with .wsil
+
+MSG_ERROR_URI_NOT_RESOLVABLE=IWAB0469E "{0}" is not resolvable.
+MSG_ERROR_WSDL_HAS_NO_SERVICE_ELEMENT=IWAB0551E WSDL file at {0} has no service element.
+
+LABEL_WSIL_URI=WSIL URI:
+LABEL_BROWSE=Browse
+LABEL_WSDL=WSDL:
+LABEL_WSDL_URI=WSDL URI
+LABEL_IMPORT=Import...
+LABEL_ADD=Add
+LABEL_REMOVE=Remove
+LABEL_WS_SELECTION=Enter an URI to a WSDL, WSIL or HTML document:
+LABEL_SELECT_WSDL=Select a WSDL
+LABEL_VALIDATE_MESSAGES=WSDL validation messages:
+
+TOOLTIP_WSIL_IMPORT_PAGE=This page allows you to add WSDL references to a WSIL document.
+TOOLTIP_WSIL_TEXT_WSIL=Enter the location of a new or existing WSIL document.
+TOOLTIP_WSIL_BUTTON_BROWSE_WSIL=Browse for a WSIL document.
+TOOLTIP_WSIL_TABLE_WSDL=Enter the URIs of the WSDLs that are going to be added as service references.
+TOOLTIP_PCON_PAGE=Select a web service for consumption.
+TOOLTIP_PCON_TEXT_WS=Enter an URI to a WSDL, WSIL or HTML document.
+TOOLTIP_PCON_BUTTON_BROWSE_WS=Browse for a web service resource.
+TOOLTIP_VALIDATE_TEXT_MESSAGE=Messages from WSDL validation.
+TOOLTIP_TABLE_VALIDATE_MESSAGE=Use the Web Service Profile Compliance and Validation preference to enable or disable WSDL validation.
+
+#
+# Tooltips for client.WebServiceClienTestPage
+#
+TOOLTIP_PWSM_PAGE=
+TOOLTIP_PWSM_CHECKBOX_TEST=Enable/disable Test.
+TOOLTIP_PWSM_COMBOBOX_TEST=Select the test type.
+TOOLTIP_PWSM_CHECKBOX_LAUNCH=Run test on a server.
+TOOLTIP_PWSM_TEXT_JSP_FOLDER=Destination folder of generated sample files.
+TOOLTIP_PWSM_BUTTON_JSP_FOLDER_BROWSE=Browse folders.
+TOOLTIP_PWSM_BUTTON_SELECT_ALL=Select all methods.
+TOOLTIP_PWSM_BUTTON_DESELECT_ALL=Deselect all methods.
+TOOLTIP_PWSM_COMBO_PROJECT=Web project for generated sample.
+TOOLTIP_PWSM_TEXT_SAMPLE_FOLDER=Destination folder of generated sample files.
+TOOLTIP_PWSM_TREE_METHODS=Methods to generate into the sample.
+TOOLTIP_PWSM_EAR_PROJECT=EAR project for the generated sample.
+
+#
+# HTTP Basic Auth
+#
+DIALOG_TITLE_HTTP_BASIC_AUTH=HTTP Basic Authentication
+LABEL_URL=URL:
+LABEL_HTTP_BASIC_AUTH_USERNAME=User name:
+LABEL_HTTP_BASIC_AUTH_PASSWORD=Password:
+
+TOOLTIP_HTTP_BASIC_AUTH_USERNAME=Enter your HTTP basic authentication user name.
+TOOLTIP_HTTP_BASIC_AUTH_PASSWORD=Enter your HTTP basic authentication password.
+
+#
+# Generate Handler Skeleton
+#
+MSG_ERROR_GENERATE_HANDLER_SKELETON=IWAB0359E Error in generating handler skeleton.
+MSG_ERROR_WRITE_FILE=IWAB0360E Error in writing file {0}.
+
+#
+# Handlers Configuration wizard page
+#
+LABEL_HANDLERS_CONFIG=Handler Configuration
+LABEL_BUTTON_ADD=Add
+LABEL_BUTTON_REMOVE=Remove
+LABEL_BUTTON_MOVE_UP=Move Up
+LABEL_BUTTON_MOVE_DOWN=Move Down
+LABEL_BUTTON_GEN_SKELETON=Generate skeleton classes for new handlers
+LABEL_COMBO_SOURCE_LOC=Output folder:
+LABEL_COMBO_WS_CLIENT_REF=Client Service Reference:
+LABEL_COMBO_WS_SERVICE_DESC=Service Description:
+
+LABEL_HANDLER_NAME=Name
+LABLE_HANDLER_CLASS=Class Name
+LABEL_HANDLER_PORT=Port Name
+
+DIALOG_TITLE_WS_ADD_HANDLER=Add New Handler
+LABEL_TEXT_HANDLER_NAME=Name:
+LABEL_TEXT_HANDLER_CLASS=Class name:
+LABEL_TEXT_HANDLER_PORT=Port name:
+
+PAGE_TITLE_SERVICE_HDLR_CONFIG=Service Handlers Configuration
+PAGE_DESC_SERVICE_HDLR_CONFIG=Configure service-side handlers
+PAGE_TITLE_CLIENT_HDLR_CONFIG=Client Handlers Configuration
+PAGE_DESC_CLIENT_HDLR_CONFIG=Configure client-side handlers
+
+TOOLTIP_EDIT_WS_HANDLERS=Configure Web Service Handlers
+TOOLTIP_BUTTON_GEN_SKELETON=Select to generate skeleton classes for new handlers.
+TOOLTIP_COMBO_SOURCE_LOC=Select the output location for file generation.
+TOOLTIP_TEXT_HANDLER_NAME=Handler name
+TOOLTIP_TEXT_HANDLER_CLASS=Handler class name
+TOOLTIP_TEXT_HANDLER_PORT=Handler port component name
+TOOLTIP_WS_CLIENT_REF=Select a client service-reference to show its handlers.
+TOOLTIP_WS_SERVICE_DESC=Select a service description to show its handlers.
+
+#
+# ClientHandlersWidgetDefaultingCommand
+#
+MSG_ERROR_WEB_SERVICE_CLIENTS_NOT_FOUND=No Web service clients were found. Create a Web service client before configuring Web service client handlers.
+
+#
+# ServiceHandlersWidgetDefaultingCommand
+#
+MSG_ERROR_WEB_SERVICES_NOT_FOUND=No Web services were found.  Create a Web service before configuring Web service handlers.
+MSG_ERROR_WSDD_NOT_FOUND=Unable to launch handler wizard.  No deployment descriptor was found for this Web service.
+#
+# OpenJavaEditorCommand
+#
+MSG_ERROR_UNABLE_TO_OPEN_JAVA_EDITOR=IWAB0029E Unable to open class {0} from project {1} in the Java editor.
+
+#
+# CheckIfServiceProject
+#
+MSG_WARN_IS_SERVICE_PROJECT=The selected client project, {0}, contains the Web service. Proceeding with this configuration may result in runtime errors when invoking the Web service. Would you like to proceed?
+MSG_USER_ABORTED=User pressed cancel in warning dialog which warned about the selected client project being the service project.
+
+#
+# Missing third party file error message
+#
+MSG_MISSING_THIRD_PARTY_FILES=Missing third party files.  Refer to http://www.eclipse.org/webtools/wst/components/ws/download_instructions_for_jars.html
+
+#
+# WSDLSelectionOutputCommand
+#
+MSG_WARNING_NO_SERVICE_ELEMENT=The WSDL file does not contain a Service element.  Therefore a service interface and Java proxy will not be generated and as a result, a Java test client will not be launched.  Click OK to proceed, or click Cancel to select another WSDL file.  Alternately, exit the wizard and use the WSDL editor to create a Service WSDL document.
+
+#
+# CheckWSDLValidationCommand
+#
+STILL_VALIDATING_WSDL=Wizard WSDL validation in Progress.  \n- Click Cancel to cancel the current WSDL validation and continue. \n- Click Cancel and Update to update the preference to always cancel incomplete WSDL validation while traversing the wizard.  \n- Click Wait to wait for WSDL validation to complete.
+CANCEL_VALIDATION_LABEL=Cancel
+CANCEL_VALIDATION_DESCRIPTION=Cancel the current WSDL validation and continue
+CANCEL_ALL_VALIDATION_LABEL=Cancel and Update
+CANCEL_ALL_VALIDATION_DESCRIPTION=Update the preference to always cancel incomplete WSDL validation while traversing the wizard.
+WAIT_VALIDATION_LABEL=Wait
+WAIT_VALIDATION_DESCRIPTION=Wait for WSDL validation to complete
+TASK_LABEL_CHECK_WSDL_VALIDATION=Check for WSDL validation
+TASK_DESC_CHECK_WSDL_VALIDATION=Check if WSDL validation has completed
+WAIT_FOR_WSDL=Do not continue with wizard.  Wait for WSDL validation to complete.
+
+#
+# WSDLValidation messages
+#
+MESSAGE_VALIDATE_NO_WSDL=Wizard WSDL validation is disabled.
+MESSAGE_VALIDATE_REMOTE_WSDL=Wizard WSDL validation is only enabled for remote files.
+MESSAGE_VALIDATE_ALL_WSDL=Wizard WSDL validation is enabled.
+MESSAGE_VALIDATE_IN_PROGRESS=WSDL validation in progress ...
+ERROR_MESSAGES_IN_VALIDATION=The WSDL file contains validation error(s).
+WARNING_MESSAGES_IN_VALIDATION=The WSDL file contains validation warning(s).
+WARNING_IF_CONTINUE=Continuing with the wizard may result in generation or runtime problem.
+VALIDATION_COMPLETED=WSDL validation completes with no warning or error.
+TOOLTIP_VALIDATE_TEXT_MESSAGE_SUMMARY=WSDL validation preference can be changed using the Web Services Profile Compliance and Validation preference.
+
+
+#
+# Start server page
+#
+PAGE_TITLE_WS_START_SERVER=Server startup page
+PAGE_DESC_WS_START_SERVER=Start the server from this page.
+LABEL_START_SERVER_TEXT1=In order to proceed the server "{0}" must be started.
+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
+TOOLTIP_START_SERVER_BUTTON=Start the server
+TEXT_SERVER_STATUS=Currently the server is {0}.
+TEXT_SERVER_MSG=Server {0}
+TEXT_SERVER_STARTED=started
+TEXT_SERVER_STARTING=starting
+TEXT_SERVER_STOPPED=stopped
+
+#
+# Ant task List options
+#
+
+# Note to translation do not translate keyword RuntimeId
+MSG_INFO_ANT_RUNTIME_HEADING=Web Service Runtime IDs (RuntimeId)
+MSG_INFO_ANT_SERVER_RUNTIME=Server runtime: {0}
+MSG_INFO_ANT_CLIENT_RUNTIME=Client runtime: {0} 
+
+# Note to translation do not translate keyword ServerId
+MSG_INFO_ANT_SERVER_HEADING=Server IDs (ServerId)
+MSG_INFO_ANT_SERVER=Server: {0}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUIMessages.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUIMessages.java
new file mode 100644
index 0000000..22fc125
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUIMessages.java
@@ -0,0 +1,327 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.consumption.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class ConsumptionUIMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUI";//$NON-NLS-1$
+
+	private ConsumptionUIMessages() {
+		// Do not instantiate
+	}
+
+	public static String PLUGIN_NEW_WIZARD_NAME_WS_CLIENT;
+	public static String ACTION_GENERATE_JAVA_PROXY;
+	public static String CHECKBOX_SHOW_GENERATE_JAVA_PROXY_DIALOG;
+	public static String TOOLTIP_PPAD_CHECKBOX_WSDL2PROXY;
+	public static String TOOLTIP_SRPF_COMBO_SERVER;
+	public static String TOOLTIP_SRPF_COMBO_RUNTIME;
+	public static String TOOLTIP_SRPF_COMBO_J2EE;
+	public static String MSG_ERROR_TASK_EXCEPTED;
+	public static String MSG_ERROR_NO_SERVER_RUNTIME;
+	public static String LABEL_FOLDER_NAME;
+	public static String LABEL_JSP_FOLDER_NAME;
+	public static String LABEL_WEB_PROJECT_NAME;
+	public static String LABEL_WEBSERVICETYPE;
+	public static String LABEL_J2EE_VERSION;
+	public static String LABEL_NA;
+	public static String BUTTON_BROWSE;
+	public static String BUTTON_BROWSE_FILES;
+	public static String BOTTOMUP_LABEL;
+	public static String TOPDOWN_LABEL;
+	public static String CLIENT_LABEL;
+	public static String COMBINED_TYPE_AND_RUNTIME_LABEL;
+	public static String WIZARD_TITLE_WSC;
+	public static String PAGE_TITLE_WS_PROJECT;
+	public static String PAGE_DESC_WS_PROJECT;
+	public static String BUTTON_START_WEB_PROJECT;
+	public static String BUTTON_INSTALL_SERVICE_WEB_PROJECT;
+	public static String BUTTON_INSTALL_CLIENT_WEB_PROJECT;
+	public static String GROUP_SCENARIO_SERVICE;
+	public static String GROUP_SCENARIO_CLIENT;
+	public static String LABEL_WEBSERVICECLIENTTYPE;
+	public static String PAGE_TITLE_WS_RUNTIME_SELECTION;
+	public static String PAGE_DESC_WS_RUNTIME_SELECTION;
+	public static String LABEL_RUNTIMES_LIST;
+	public static String LABEL_SERVERS_LIST;
+	public static String LABEL_EDIT_BUTTON;
+	public static String LABEL_SERVICE_EAR_MODULE;
+	public static String LABEL_CLIENT_EAR_MODULE;
+	public static String LABEL_CLIENT_MODULE;
+	public static String LABEL_SERVICE_MODULE;
+	public static String LABEL_CLIENT_PROJECT;
+	public static String LABEL_SERVICE_PROJECT;
+	public static String LABEL_CLIENT_EAR_PROJECT;
+	public static String LABEL_SERVICE_EAR_PROJECT;
+	public static String LABEL_CLIENT_COMP_TYPE_WEB;
+	public static String LABEL_CLIENT_COMP_TYPE_EJB;
+	public static String LABEL_CLIENT_COMP_TYPE_APP_CLIENT;
+	public static String LABEL_CLIENT_COMP_TYPE_CONTAINERLESS;
+	public static String TOOLTIP_PWRS_TEXT_RUNTIME;
+	public static String TOOLTIP_PWRS_TEXT_SERVER;
+	public static String TOOLTIP_PWRS_J2EE_VERSION;
+	public static String LABEL_SELECTION_VIEW_TITLE;
+	public static String LABEL_SELECTION_VIEW_RUNTIME;
+	public static String LABEL_SELECTION_VIEW_SERVER;
+	public static String LABEL_SELECTION_VIEW_EXPLORE;
+	public static String LABEL_TREE_EXISTING_SERVERS;
+	public static String LABEL_TREE_SERVER_TYPES;
+	public static String MSG_INVALID_SRT_SELECTIONS;
+	public static String MSG_NO_RUNTIME;
+	public static String MSG_NO_SERVER;
+	public static String MSG_ERROR_STUB_ONLY;
+	public static String MSG_SERVER_TARGET_MISMATCH;
+	public static String MSG_J2EE_MISMATCH;
+	public static String MSG_SERVICE_PROJECT_EMPTY;
+	public static String MSG_SERVICE_EAR_EMPTY;
+	public static String MSG_CLIENT_PROJECT_EMPTY;
+	public static String MSG_CLIENT_EAR_EMPTY;
+	public static String MSG_INVALID_EJB_PROJECT;
+	public static String MSG_INVALID_WEB_PROJECT;
+	public static String MSG_INVALID_PROJECT_TYPE;
+	public static String MSG_MODULE;
+	public static String MSG_MODULE_NAME_AND_PROJECT_NAME_NOT_THE_SAME;
+    public static String MSG_SERVICE_RUNTIME_DOES_NOT_SUPPORT_PROJECT;
+    public static String MSG_SERVICE_SERVER_DOES_NOT_SUPPORT_PROJECT;
+    public static String MSG_SERVICE_RUNTIME_DOES_NOT_SUPPORT_TEMPLATE;
+    public static String MSG_SERVICE_SERVER_DOES_NOT_SUPPORT_TEMPLATE;
+    public static String MSG_CLIENT_RUNTIME_DOES_NOT_SUPPORT_PROJECT;
+    public static String MSG_CLIENT_SERVER_DOES_NOT_SUPPORT_PROJECT;
+    public static String MSG_CLIENT_RUNTIME_DOES_NOT_SUPPORT_TEMPLATE;
+    public static String MSG_CLIENT_SERVER_DOES_NOT_SUPPORT_TEMPLATE;
+	public static String MSG_SAME_CLIENT_AND_SERVICE_EARS;
+	public static String MSG_SAME_CLIENT_AND_SERVICE_COMPONENTS;
+	public static String MSG_SAME_CLIENT_AND_SERVICE_PROJECTS;
+	public static String MSG_WRONG_CLIENT_PROJECT_TYPE;
+	public static String MSG_CLIENT_SUB;
+	public static String MSG_SERVICE_SUB;
+	public static String MSG_GENERAL_PROJECT_AND_EAR;
+	public static String MSG_EAR_PROJECT_WILL_BE_CREATED;
+	public static String MSG_EAR_WILL_BE_ASSOCIATED;
+	public static String MSG_PROJECT_WILL_BE_CREATED;
+	public static String MSG_EAR_WILL_BE_CREATED;
+	public static String MSG_PROJECT_AND_EAR_CREATED;
+	public static String PAGE_TITLE_WS_CLIENT_RUNTIME_SELECTION;
+	public static String PAGE_DESC_WS_CLIENT_RUNTIME_SELECTION;
+	public static String LABEL_CLIENT_SELECTION_VIEW_TITLE;
+	public static String LABEL_CLIENT_TYPE;
+	public static String LABEL_SERVICE_TYPE;
+	public static String LABEL_WEB;
+	public static String LABEL_EJB;
+	public static String LABEL_NO_LABEL;
+	public static String PAGE_MSG_VALIDATION_INTERNAL_ERROR;
+	public static String PAGE_TITLE_WS_XML2BEAN;
+	public static String PAGE_DESC_N2P_MAPPINGS;
+	public static String MSG_MAPPING_DUPLICATE_ENTRIES;
+	public static String BUTTON_GENERATE_PROXY;
+	public static String PAGE_DESC_WSSKEL_CONFIG;
+	public static String PAGE_TITLE_WSSKEL_CONFIG;
+	public static String TOOLTIP_PBSC_TEXT_SKELETON_FOLDER;
+	public static String TOOLTIP_PBSC_BUTTON_SKELETON_FOLDER_BROWSE;
+	public static String LABEL_SKELETON_ROOT_NAME;
+	public static String LABEL_BEAN_CLASS_NAME;
+	public static String PAGE_MSG_BEAN_CANNOT_BE_EMPTY;
+	public static String BUTTON_BROWSE_CLASSES;
+	public static String PAGE_TITLE_WSTEST;
+	public static String PAGE_DESC_WSTEST;
+	public static String CHECKBOX_TEST_WEBSERVICE;
+	public static String CHECKBOX_MONITOR_WEBSERVICE;
+	public static String MSG_ERROR_UNABLE_TO_LAUNCH_WSDL_TEST;
+	public static String BUTTON_LAUNCH_SERVICE_TEST;
+	public static String PAGE_TITLE_WS_SAMPLE;
+	public static String PAGE_DESC_WS_SAMPLE;
+	public static String BUTTON_TEST;
+	public static String LABEL_TEST_TYPES;
+	public static String BUTTON_RUN_TEST;
+	public static String LABEL_METHODS;
+	public static String LABEL_JSP_PROJECT_NAME;
+	public static String MSG_ERROR_JTS_PROXY_NOT_COMPILED;
+	public static String MSG_ERROR_MALFORMED_URL;
+	public static String BUTTON_SELECT_ALL;
+	public static String BUTTON_DESELECT_ALL;
+	public static String TOOLTIP_PBME_BUTTON_SELECT_ALL;
+	public static String TOOLTIP_PBME_BUTTON_DESELECT_ALL;
+	public static String PAGE_TITLE_WSDL_SELECTION;
+	public static String PAGE_DESC_WSDL_SELECTION;
+	public static String PAGE_TITLE_WS_PUBLISH;
+	public static String PAGE_DESC_WS_PUBLISH;
+	public static String PAGE_TITLE_WS_FIND;
+	public static String PAGE_DESC_WS_FIND;
+	public static String BUTTON_WS_PUBLISH;
+	public static String BUTTON_WS_PUBLISH_PRIVATE_UDDI;
+	public static String BUTTON_WS_FIND;
+	public static String BUTTON_WS_FIND_PRIVATE_UDDI;
+	public static String LABEL_PUBLIC_UDDI_REGISTRIES;
+	public static String LABEL_EJB_BEAN_NAME;
+	public static String TABLE_TITLE_EJB_BEAN_NAMES;
+	public static String TABLE_TITLE_EJB_PROJECT_NAME;
+	public static String LABEL_EAR_PROJECTS;
+	public static String TOOLTIP_EAR_PROJECTS;
+	public static String TOOLTIP_TABLE_BEAN_NAMES;
+	public static String TOOLTIP_PWWS_PAGE;
+	public static String TOOLTIP_PBCL_PAGE;
+	public static String TOOLTIP_PBCL_TEXT_BEAN_CLASS;
+	public static String TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE;
+	public static String TOOLTIP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE;
+	public static String TOOLTIP_PSTP_COMBOBOX_TEST;
+	public static String TOOLTIP_PSTP_LAUNCH_BUTTON;
+	public static String TOOLTIP_PWRS_PAGE;
+	public static String TOOLTIP_PWRS_LIST_RUNTIMES;
+	public static String TOOLTIP_PWRS_LIST_SERVERS;
+	public static String TOOLTIP_PWRS_RADIO_SERVER;
+	public static String TOOLTIP_PWRS_RADIO_RUNTIME;
+	public static String TOOLTIP_PWRS_RADIO_EXPLORE;
+	public static String TOOLTIP_PWCR_COMBO_CLIENT_TYPE;
+	public static String TOOLTIP_PWCR_COMBO_SERVICE_TYPE;
+	public static String TOOLTIP_PWPR_COMBO_TYPE;
+	public static String TOOLTIP_PWPR_GROUP_SCENARIO_SERVICE;
+	public static String TOOLTIP_PWPR_CHECKBOX_GENERATE_PROXY;
+	public static String TOOLTIP_PWPR_CHECKBOX_START_WEB_PROJECT;
+	public static String TOOLTIP_PWPR_CHECKBOX_INSTALL_SERVICE_WEB_PROJECT;
+	public static String TOOLTIP_PWPR_CHECKBOX_INSTALL_CLIENT_WEB_PROJECT;
+	public static String TOOLTIP_PWPR_CHECKBOX_LAUNCH_WS;
+	public static String TOOLTIP_PWPR_CHECKBOX_TEST_SERVICE;
+	public static String TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE;
+	public static String TOOLTIP_PWPR_GROUP_SCENARIO_CLIENT;
+	public static String TOOLTIP_PWPR_COMBO_CLIENTTYPE;
+	public static String TOOLTIP_PWPB_PAGE;
+	public static String TOOLTIP_PWPB_CHECKBOX_WS_LAUNCH;
+	public static String PAGE_WSIL_IMPORT;
+	public static String TITLE_WSIL_IMPORT;
+	public static String DESC_WSIL_IMPORT;
+	public static String PAGE_TITLE_WS_SELECTION;
+	public static String PAGE_DESC_WS_SELECTION;
+	public static String PAGE_MSG_LOADING_WEB_SERVICE_URI;
+	public static String PAGE_MSG_INVALID_WEB_SERVICE_URI;
+	public static String PAGE_MSG_NO_SUCH_FILE;
+	public static String PAGE_MSG_SELECTION_MUST_BE_WSDL;
+	public static String PAGE_MSG_INVALID_WSIL_FILE_NAME;
+	public static String MSG_ERROR_URI_NOT_RESOLVABLE;
+	public static String MSG_ERROR_WSDL_HAS_NO_SERVICE_ELEMENT;
+	public static String LABEL_WSIL_URI;
+	public static String LABEL_BROWSE;
+	public static String LABEL_WSDL;
+	public static String LABEL_WSDL_URI;
+	public static String LABEL_IMPORT;
+	public static String LABEL_ADD;
+	public static String LABEL_REMOVE;
+	public static String LABEL_WS_SELECTION;
+	public static String LABEL_SELECT_WSDL;
+	public static String LABEL_VALIDATE_MESSAGES;
+	public static String TOOLTIP_WSIL_IMPORT_PAGE;
+	public static String TOOLTIP_WSIL_TEXT_WSIL;
+	public static String TOOLTIP_WSIL_BUTTON_BROWSE_WSIL;
+	public static String TOOLTIP_WSIL_TABLE_WSDL;
+	public static String TOOLTIP_PCON_PAGE;
+	public static String TOOLTIP_PCON_TEXT_WS;
+	public static String TOOLTIP_PCON_BUTTON_BROWSE_WS;
+	public static String TOOLTIP_VALIDATE_TEXT_MESSAGE;
+	public static String TOOLTIP_TABLE_VALIDATE_MESSAGE;
+	public static String TOOLTIP_PWSM_PAGE;
+	public static String TOOLTIP_PWSM_CHECKBOX_TEST;
+	public static String TOOLTIP_PWSM_COMBOBOX_TEST;
+	public static String TOOLTIP_PWSM_CHECKBOX_LAUNCH;
+	public static String TOOLTIP_PWSM_TEXT_JSP_FOLDER;
+	public static String TOOLTIP_PWSM_BUTTON_JSP_FOLDER_BROWSE;
+	public static String TOOLTIP_PWSM_BUTTON_SELECT_ALL;
+	public static String TOOLTIP_PWSM_BUTTON_DESELECT_ALL;
+	public static String TOOLTIP_PWSM_COMBO_PROJECT;
+	public static String TOOLTIP_PWSM_TEXT_SAMPLE_FOLDER;
+	public static String TOOLTIP_PWSM_TREE_METHODS;
+	public static String TOOLTIP_PWSM_EAR_PROJECT;
+	public static String DIALOG_TITLE_HTTP_BASIC_AUTH;
+	public static String LABEL_URL;
+	public static String LABEL_HTTP_BASIC_AUTH_USERNAME;
+	public static String LABEL_HTTP_BASIC_AUTH_PASSWORD;
+	public static String TOOLTIP_HTTP_BASIC_AUTH_USERNAME;
+	public static String TOOLTIP_HTTP_BASIC_AUTH_PASSWORD;
+	public static String MSG_ERROR_GENERATE_HANDLER_SKELETON;
+	public static String MSG_ERROR_WRITE_FILE;
+	public static String LABEL_HANDLERS_CONFIG;
+	public static String LABEL_BUTTON_ADD;
+	public static String LABEL_BUTTON_REMOVE;
+	public static String LABEL_BUTTON_MOVE_UP;
+	public static String LABEL_BUTTON_MOVE_DOWN;
+	public static String LABEL_BUTTON_GEN_SKELETON;
+	public static String LABEL_COMBO_SOURCE_LOC;
+	public static String LABEL_COMBO_WS_CLIENT_REF;
+	public static String LABEL_COMBO_WS_SERVICE_DESC;
+	public static String LABEL_HANDLER_NAME;
+	public static String LABLE_HANDLER_CLASS;
+	public static String LABEL_HANDLER_PORT;
+	public static String DIALOG_TITLE_WS_ADD_HANDLER;
+	public static String LABEL_TEXT_HANDLER_NAME;
+	public static String LABEL_TEXT_HANDLER_CLASS;
+	public static String LABEL_TEXT_HANDLER_PORT;
+	public static String PAGE_TITLE_SERVICE_HDLR_CONFIG;
+	public static String PAGE_DESC_SERVICE_HDLR_CONFIG;
+	public static String PAGE_TITLE_CLIENT_HDLR_CONFIG;
+	public static String PAGE_DESC_CLIENT_HDLR_CONFIG;
+	public static String TOOLTIP_EDIT_WS_HANDLERS;
+	public static String TOOLTIP_BUTTON_GEN_SKELETON;
+	public static String TOOLTIP_COMBO_SOURCE_LOC;
+	public static String TOOLTIP_TEXT_HANDLER_NAME;
+	public static String TOOLTIP_TEXT_HANDLER_CLASS;
+	public static String TOOLTIP_TEXT_HANDLER_PORT;
+	public static String TOOLTIP_WS_CLIENT_REF;
+	public static String TOOLTIP_WS_SERVICE_DESC;
+	public static String MSG_ERROR_UNABLE_TO_OPEN_JAVA_EDITOR;
+	public static String MSG_WARN_IS_SERVICE_PROJECT;
+	public static String MSG_USER_ABORTED;
+	public static String MSG_MISSING_THIRD_PARTY_FILES;
+	public static String MSG_WARNING_NO_SERVICE_ELEMENT;
+	public static String STILL_VALIDATING_WSDL;
+	public static String CANCEL_VALIDATION_LABEL;
+	public static String CANCEL_VALIDATION_DESCRIPTION;
+	public static String CANCEL_ALL_VALIDATION_LABEL;
+	public static String CANCEL_ALL_VALIDATION_DESCRIPTION;
+	public static String WAIT_VALIDATION_LABEL;
+	public static String WAIT_VALIDATION_DESCRIPTION;
+	public static String TASK_LABEL_CHECK_WSDL_VALIDATION;
+	public static String TASK_DESC_CHECK_WSDL_VALIDATION;
+	public static String WAIT_FOR_WSDL;
+	public static String MESSAGE_VALIDATE_NO_WSDL;
+	public static String MESSAGE_VALIDATE_REMOTE_WSDL;
+	public static String MESSAGE_VALIDATE_ALL_WSDL;
+	public static String MESSAGE_VALIDATE_IN_PROGRESS;
+	public static String ERROR_MESSAGES_IN_VALIDATION;
+	public static String WARNING_MESSAGES_IN_VALIDATION;
+	public static String WARNING_IF_CONTINUE;
+	public static String VALIDATION_COMPLETED;
+	public static String TOOLTIP_VALIDATE_TEXT_MESSAGE_SUMMARY;
+	public static String PAGE_TITLE_WS_START_SERVER;
+	public static String PAGE_DESC_WS_START_SERVER;
+	public static String LABEL_START_SERVER_TEXT1;
+	public static String LABEL_START_SERVER_TEXT2;
+	public static String LABEL_START_SERVER_TEXT3;
+	public static String LABEL_START_SERVER_TEXT4;
+	public static String LABEL_START_SERVER_BUTTON;
+	public static String TOOLTIP_START_SERVER_BUTTON;
+	public static String TEXT_SERVER_STATUS;
+	public static String TEXT_SERVER_MSG;
+	public static String TEXT_SERVER_STARTED;
+	public static String TEXT_SERVER_STARTING;
+	public static String TEXT_SERVER_STOPPED;
+	public static String MSG_INFO_ANT_RUNTIME_HEADING;
+	public static String MSG_INFO_ANT_SERVER_RUNTIME;
+	public static String MSG_INFO_ANT_CLIENT_RUNTIME;
+	public static String MSG_INFO_ANT_SERVER_HEADING;
+	public static String MSG_INFO_ANT_SERVER;
+    public static String MSG_ERROR_WEB_SERVICE_CLIENTS_NOT_FOUND;
+    public static String MSG_ERROR_WEB_SERVICES_NOT_FOUND;
+    public static String MSG_ERROR_WSDD_NOT_FOUND;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, ConsumptionUIMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/action/LaunchWSEAction.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/action/LaunchWSEAction.java
index 672f960..1266fec 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/action/LaunchWSEAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/action/LaunchWSEAction.java
@@ -14,10 +14,9 @@
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
 import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseStatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
 import org.eclipse.wst.ws.internal.explorer.LaunchOption;
 import org.eclipse.wst.ws.internal.explorer.LaunchOptions;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
@@ -29,9 +28,8 @@
   public void run(IAction action)
   {
     EclipseStatusHandler             handler     = new EclipseStatusHandler();
-    EclipseProgressMonitor           monitor     = new EclipseProgressMonitor();
     TransientResourceContext         context     = new TransientResourceContext();
-    EclipseEnvironment               environment = new EclipseEnvironment( null, context, monitor, handler ); 
+    EclipseEnvironment               environment = new EclipseEnvironment( null, context, handler ); 
     WSExplorerLauncherCommand        cmd         = new WSExplorerLauncherCommand();
     
     String stateLocation = ExplorerPlugin.getInstance().getPluginStateLocation();
@@ -41,7 +39,8 @@
 		new LaunchOption(LaunchOptions.DEFAULT_FAVORITES_LOCATION,defaultFavoritesLocation)
 	};
     cmd.setLaunchOptions(launchOptions);
-	cmd.execute( environment );
+    cmd.setEnvironment( environment );
+	  cmd.execute( null, null );
   }
   
   /* (non-Javadoc)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ant/AntClientRootCommandFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ant/AntClientRootCommandFragment.java
new file mode 100644
index 0000000..12e2438
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ant/AntClientRootCommandFragment.java
@@ -0,0 +1,193 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.consumption.ui.ant;
+
+import org.eclipse.jst.ws.internal.consumption.common.ScenarioCleanupCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.command.AntDefaultingOperation;
+import org.eclipse.jst.ws.internal.consumption.ui.command.CheckForServiceProjectCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.command.ListOptionsCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.command.data.EclipseIPath2URLStringTransformer;
+import org.eclipse.jst.ws.internal.consumption.ui.common.FinishFragment;
+import org.eclipse.jst.ws.internal.consumption.ui.extension.ClientRootFragment;
+import org.eclipse.jst.ws.internal.consumption.ui.extension.PreClientDevelopCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.CheckWSDLValidationCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetDefaultingCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetOutputCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.WSDLSelectionOutputCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.WSDLSelectionWidgetDefaultingCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionDefaultingCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionFragment;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ClientExtensionOutputCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ClientRuntimeSelectionWidgetDefaultingCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.ClientTestDelegateCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.ClientTestFragment;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.FinishDefaultCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
+import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
+import org.eclipse.wst.ws.internal.extensions.AssembleClientFragment;
+import org.eclipse.wst.ws.internal.extensions.DeployClientFragment;
+import org.eclipse.wst.ws.internal.extensions.DevelopClientFragment;
+
+/**
+ * 
+ * Command fragment for generating a web service client using Ant task.
+ * Run headless Eclipse or within workspace using Run as Ant Build.  This fragment eliminates any UI specific 
+ * commands and data mappings between commands and widgets.  Widget to command mappings are
+ * replaced by Ant property file to command mappings which are enabled by a antDataMapping extension 
+ * point in the org.eclipse.wst.command.env plugin.
+ * 
+ * @author joan
+ *
+ */
+
+public class AntClientRootCommandFragment extends SequenceFragment{
+	
+  public AntClientRootCommandFragment()
+  {	 
+	    
+  add( new SimpleFragment( new ScenarioCleanupCommand(), "" ));
+  
+  add( new SimpleFragment(new ListOptionsCommand(), ""));
+  add (new SimpleFragment(new AntDefaultingOperation(), ""));
+  
+  add( new SimpleFragment( new ClientWizardWidgetDefaultingCommand(), "" ) );
+  add( new SimpleFragment( new ClientWizardWidgetOutputCommand(), "" ));
+  add( new SimpleFragment( new WSDLSelectionWidgetDefaultingCommand(), ""));
+  
+  add( new SimpleFragment( new WSDLSelectionOutputCommand(), ""));
+  add( new SimpleFragment( new CheckWSDLValidationCommand(), ""));
+  add( new SimpleFragment( new ClientRuntimeSelectionWidgetDefaultingCommand(), ""));
+  
+  add( new SimpleFragment( new ClientExtensionDefaultingCommand( true ), ""));
+  add( new ClientRootFragment() );
+  add( new SimpleFragment( new ClientExtensionOutputCommand(), "" ) );
+ 
+  add(new FinishFragment());
+  
+  add( new SimpleFragment( new ScenarioCleanupCommand(), "" ));
+ 
+  }
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   */
+  public void registerDataMappings(DataMappingRegistry dataRegistry)
+  {     
+      // Map ClientWizardWidgetDefaultingCommand command.
+      dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientWizardWidgetOutputCommand.class);
+      dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "TestService", ClientWizardWidgetOutputCommand.class);
+      dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "ResourceContext", ClientWizardWidgetOutputCommand.class);
+      
+      // Map ClientWizardWidgetOutputCommand command.
+      dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "ClientTypeRuntimeServer", ClientRuntimeSelectionWidgetDefaultingCommand.class);
+      dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "TestService", WSDLSelectionOutputCommand.class);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "TestService", ClientExtensionDefaultingCommand.class);   
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "TestService", ClientRuntimeSelectionWidgetDefaultingCommand.class);           
+      dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "ResourceContext", ClientRuntimeSelectionWidgetDefaultingCommand.class);      
+      dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "ResourceContext", ClientExtensionDefaultingCommand.class);
+      
+      // Map ClientRuntimeSelectionWidgetDefaultingCommand command
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientRuntimeId", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentType", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientNeedEAR", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", CheckForServiceProjectCommand.class);
+      
+//    Map AntDefaultingOperation      
+      dataRegistry.addMapping(AntDefaultingOperation.class, "ClientIdsFixed", ClientRuntimeSelectionWidgetDefaultingCommand.class);
+      dataRegistry.addMapping(AntDefaultingOperation.class, "StartService", PreClientDevelopCommand.class);
+      dataRegistry.addMapping(AntDefaultingOperation.class, "InstallClient", PreClientDevelopCommand.class);        
+          
+      // Map WSDLSelectionWidgetDefaultingCommand command.
+      dataRegistry.addMapping(WSDLSelectionWidgetDefaultingCommand.class, "GenWSIL", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(WSDLSelectionWidgetDefaultingCommand.class, "WsilURI", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(WSDLSelectionWidgetDefaultingCommand.class, "WebServiceURI", WSDLSelectionOutputCommand.class, "WsdlURI", new EclipseIPath2URLStringTransformer());
+      dataRegistry.addMapping(WSDLSelectionWidgetDefaultingCommand.class, "Project", WSDLSelectionOutputCommand.class);
+      dataRegistry.addMapping(WSDLSelectionWidgetDefaultingCommand.class, "ComponentName", WSDLSelectionOutputCommand.class);
+      
+      // WSDLSelectionOutputCommand
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WsdlURI", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WebServicesParser", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "Project", ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialProject", null);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WsdlURI", ClientRuntimeSelectionWidgetDefaultingCommand.class);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "ComponentName", ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialComponentName", null);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WebServicesParser", ClientRuntimeSelectionWidgetDefaultingCommand.class);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WsdlURI", CheckForServiceProjectCommand.class);
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WebServicesParser", CheckForServiceProjectCommand.class);      
+	  
+      // Setup the PreClientDevelopCommand.  
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientRuntimeId", PreClientDevelopCommand.class );
+      dataRegistry.addMapping( ClientWizardWidgetOutputCommand.class, "TestService", PreClientDevelopCommand.class);           
+      dataRegistry.addMapping( ClientWizardWidgetOutputCommand.class, "ResourceContext", PreClientDevelopCommand.class);
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", PreClientDevelopCommand.class );
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientJ2EEVersion", PreClientDevelopCommand.class);
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientProject", PreClientDevelopCommand.class, "Module", null );
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientProjectType", PreClientDevelopCommand.class, "ModuleType", null);
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientProjectEAR", PreClientDevelopCommand.class, "Ear", null );
+      dataRegistry.addMapping( ClientWizardWidgetOutputCommand.class, "ResourceContext", PreClientDevelopCommand.class);
+	  dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "WsdlURI", PreClientDevelopCommand.class );
+	  
+      dataRegistry.addMapping( PreClientDevelopCommand.class, "WebService", ClientExtensionOutputCommand.class, "WebServiceClient", null );
+			
+      // Map ClientExtensionDefaultingCommand command.
+      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", ClientExtensionFragment.class);          
+      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "GenerateProxy", ClientTestFragment.class);
+      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientNeedEAR", ClientTestDelegateCommand.class);
+	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarProjectName", ClientTestDelegateCommand.class);
+	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarComponentName", ClientTestDelegateCommand.class);
+	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProject",ClientTestDelegateCommand.class);
+      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", ClientTestDelegateCommand.class);      
+      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "WsdlURI", ClientTestDelegateCommand.class);
+      
+      // Map ClientExtensionOutputCommand command.
+	  dataRegistry.addMapping(ClientExtensionOutputCommand.class, "ServerInstanceId", FinishDefaultCommand.class);
+
+      // MAP post server config call      
+      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProjectEAR", ClientExtensionOutputCommand.class, "EarProjectName", null);
+      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServerInstance", ClientExtensionOutputCommand.class, "ExistingServerId", null);     
+            
+      //Mappings to enable peek-ahead for Page 3 of the client wizard
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "WebService", DevelopClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Environment", DevelopClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", DevelopClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", DevelopClientFragment.class );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", DevelopClientFragment.class, "Project", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", DevelopClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", DevelopClientFragment.class, "EarProject", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", DevelopClientFragment.class, "Ear", null );
+    
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "WebService", AssembleClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Environment", AssembleClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", AssembleClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", AssembleClientFragment.class );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", AssembleClientFragment.class, "Project", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", AssembleClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", AssembleClientFragment.class, "EarProject", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", AssembleClientFragment.class, "Ear", null );
+    
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "WebService", DeployClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Environment", DeployClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", DeployClientFragment.class );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", DeployClientFragment.class );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", DeployClientFragment.class, "Project", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", DeployClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", DeployClientFragment.class, "EarProject", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", DeployClientFragment.class, "Ear", null );  
+          
+   }        
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/AntDefaultingOperation.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/AntDefaultingOperation.java
new file mode 100644
index 0000000..9e0dfc0
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/AntDefaultingOperation.java
@@ -0,0 +1,36 @@
+package org.eclipse.jst.ws.internal.consumption.ui.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+public class AntDefaultingOperation extends AbstractDataModelOperation{
+
+	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+		// TODO Auto-generated method stub
+		return Status.OK_STATUS;
+	}
+	
+	public boolean getServiceIdsFixed()
+	{
+		return true;
+	}
+
+	public boolean getClientIdsFixed()
+	{
+		return true;
+	}
+	
+	public boolean getStartService()
+	{
+		return false;	
+	}
+	
+	public boolean getInstallService()
+	{
+		return false;
+	}
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/CheckForServiceProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/CheckForServiceProjectCommand.java
index 56f58a8..1b4d032 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/CheckForServiceProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/CheckForServiceProjectCommand.java
@@ -10,19 +10,19 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.command;
 
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.common.ValidationUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
@@ -30,22 +30,21 @@
  * This command checks to see if the selected client project is the
  * service project. If so, the user is warned.
  */
-public class CheckForServiceProjectCommand extends SimpleCommand
+public class CheckForServiceProjectCommand extends AbstractDataModelOperation
 {
-  MessageUtils msgUtils;
-  SelectionListChoices runtime2ClientTypes;
+  //SelectionListChoices runtime2ClientTypes;
+  String clientProjectName;
   String wsdlURI;
   WebServicesParser webServicesParser;
     
   public CheckForServiceProjectCommand()
   {
-    String pluginId = "org.eclipse.jst.ws.consumption.ui";
-    msgUtils = new MessageUtils(pluginId + ".plugin", this);  
   }
   
-  public void setRuntime2ClientTypes( SelectionListChoices runtime2ClientTypes )
+
+  public void setClientProjectName(String name)
   {
-    this.runtime2ClientTypes = runtime2ClientTypes;
+    clientProjectName = name;
   }
   
   public void setWsdlURI(String wsdlURI)
@@ -60,25 +59,24 @@
   
   
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.core.Command#execute(org.eclipse.wst.command.internal.provisional.env.core.common.Environment)
+   * @see org.eclipse.wst.command.env.core.Command#execute(org.eclipse.wst.command.internal.env.core.common.Environment)
    */
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    Status status = new SimpleStatus("");
-    if (runtime2ClientTypes==null || wsdlURI==null || wsdlURI.length()==0 || webServicesParser==null)
+    IEnvironment environment = getEnvironment();
+    IStatus status = Status.OK_STATUS;
+    if (clientProjectName==null || wsdlURI==null || wsdlURI.length()==0 || webServicesParser==null)
       return status;
     
-    String clientProjectName = runtime2ClientTypes.getChoice().getChoice().getList().getSelection();
     if (clientProjectName==null || clientProjectName.length()==0)
       return status;
     
     IProject clientProject = ProjectUtilities.getProject(clientProjectName);
     ValidationUtils vu = new ValidationUtils();
-    Calendar cal = new GregorianCalendar();
     boolean isServiceProject = vu.isProjectServiceProject(clientProject, wsdlURI, webServicesParser);
     if (isServiceProject)
     {
-      Status wStatus = new SimpleStatus("", msgUtils.getMessage("MSG_WARN_IS_SERVICE_PROJECT", new String[]{clientProjectName}), Status.WARNING);
+      IStatus wStatus = StatusUtils.warningStatus( NLS.bind(ConsumptionUIMessages.MSG_WARN_IS_SERVICE_PROJECT, new String[]{clientProjectName}) );
       try
       {
         environment.getStatusHandler().report(wStatus);
@@ -86,7 +84,7 @@
       catch (StatusException se)
       {
         //User decided to abort. Return an error status
-        Status eStatus = new SimpleStatus("", msgUtils.getMessage("MSG_USER_ABORTED"), Status.ERROR);
+        IStatus eStatus = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_USER_ABORTED );
         return eStatus;
       }
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/GenerateHandlerSkeletonCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/GenerateHandlerSkeletonCommand.java
index bb26226..14c3c0b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/GenerateHandlerSkeletonCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/GenerateHandlerSkeletonCommand.java
@@ -19,27 +19,25 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.ui.eclipse.EnvironmentUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 
-public class GenerateHandlerSkeletonCommand extends SimpleCommand
+public class GenerateHandlerSkeletonCommand extends AbstractDataModelOperation
 {
-
-  private IProject serviceProject_;
-  private MessageUtils msgUtils_;
- 
-  private String LABEL = "TASK_LABEL_GEN_HANDLER_SKELETON";
-  private String DESCRIPTION = "TASK_DESC_GEN_HANDLER_SKELETON";
-  
   private IPath outputLocation_;
   private String[] handlerNames_;
   private boolean genSkeleton_;
@@ -47,49 +45,50 @@
   
   public GenerateHandlerSkeletonCommand()
   {
-    String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-  	msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-  	setName (msgUtils_.getMessage(LABEL));
-  	setDescription( msgUtils_.getMessage(DESCRIPTION));    
   }
   
 
-  public Status execute (Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env          = getEnvironment();
+    MultiStatus status       = null;
+    IStatus     returnStatus = Status.OK_STATUS;
   	
-  	if (!genSkeleton_)
-  		return new SimpleStatus(""); 
+  	if (!genSkeleton_)	return returnStatus; 
   	
   	int i;
   	boolean error = false;
-  	boolean warning = false;
   	
-  	SimpleStatus status = null;
-  	Status writeStatus;	
+  	IStatus writeStatus;	
   	
   	
-    for (i=0; i<handlerNames_.length; i++) {
-    	writeStatus = writeFile(env, handlerNames_[i], outputLocation_);
+    for (i=0; i<handlerNames_.length; i++) 
+    {
+    	writeStatus = writeFile(env, handlerNames_[i], outputLocation_, monitor );
     	// handle status return
-    	if (writeStatus.getSeverity() == Status.ERROR) {  // write status is OK or ERROR
+    	if (writeStatus.getSeverity() == Status.ERROR) 
+      {  // write status is OK or ERROR
     		error = true;
-    		if (status == null) {
-    			status = new SimpleStatus( "execute", msgUtils_.getMessage("MSG_ERROR_GENERATE_HANDLER_SKELETON"), Status.ERROR);
+    		if (status == null) 
+        {
+    			status = StatusUtils.multiStatus( ConsumptionUIMessages.MSG_ERROR_GENERATE_HANDLER_SKELETON, new IStatus[0] );
     		}
-    		status.addChild(writeStatus);
+    		status.add(writeStatus);
     	} 
     }
-    if (error) {
+    
+    if (error) 
+    {
        env.getStatusHandler().reportError(status);
-    } else {
-    	status = new SimpleStatus( "" );
+       returnStatus = status;
     }
-  	return status;
+    
+  	return returnStatus;
   }
   
-  public Status writeFile (Environment env, String className, IPath outputLocation) 
+  private IStatus writeFile (IEnvironment env, String className, IPath outputLocation, IProgressMonitor monitor ) 
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
   	int index;
   	
   	String simpleClassName = className;
@@ -130,7 +129,7 @@
   		handlerNameForEdit_ = className;
   	}
   	
-  	OutputStream outputStream = FileResourceUtils.newFileOutputStream( EnvironmentUtils.getResourceContext(env), filePath, env.getProgressMonitor(), env.getStatusHandler());
+  	OutputStream outputStream = FileResourceUtils.newFileOutputStream( EnvironmentUtils.getResourceContext(env), filePath, monitor, env.getStatusHandler());
   	// create buffered writer for writing file
   	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(outputStream));
   	try {
@@ -200,9 +199,11 @@
   		bw.newLine();
   		bw.write("}");
   		bw.close();
-  		status = new SimpleStatus( "" );	
-  	} catch (IOException e) {
-  		status = new SimpleStatus( "writeFile", msgUtils_.getMessage("MSG_ERROR_WRITE_FILE", new String[]{ className }), Status.ERROR, e );
+  		status = Status.OK_STATUS;	
+  	} 
+    catch (IOException e) 
+    {
+  		status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_ERROR_WRITE_FILE, new String[]{ className }), e );
   		if (bw != null) {
   			try {
   				bw.close();
@@ -212,16 +213,6 @@
   	}
   	return status;
   }
-
-  public Status undo(Environment environment)
-  {
-    return null;
-  }
-
-  public Status redo(Environment environment)
-  {
-    return null;
-  }
   
   public void setOutputLocation(IPath outputLocation) 
   {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/ListOptionsCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/ListOptionsCommand.java
new file mode 100644
index 0000000..d51a7c2
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/ListOptionsCommand.java
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.command;
+
+import java.util.Iterator;
+import java.util.Vector;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.ServerCore;
+
+/**
+ * Command lists valid property values where requested.
+ * Requests made via a Ant property value setting which is mapped to this command in the plugin.xml 
+ */
+
+public class ListOptionsCommand extends AbstractDataModelOperation {
+
+	private boolean runtimes_ = false;
+	private boolean servers_ = false;
+	
+	public IStatus execute(IProgressMonitor monitor, IAdaptable info)
+			throws ExecutionException {
+				  	
+		if (runtimes_)
+		{				
+				String[] typeIds = WebServiceRuntimeExtensionUtils2.getServiceTypeLabels().getIds_();
+			    Vector runtimeIds = new Vector();
+					for (int k = 0; k < typeIds.length; k++) {
+						
+						String typeId = typeIds[k];						
+				    	String[] runtimes = WebServiceRuntimeExtensionUtils2.getRuntimesByServiceType(typeId);				    	
+								    
+				    	for (int j = 0; j < runtimes.length; j++) {
+				    		String runtime = runtimes[j];
+				    		if (!runtimeIds.contains(runtime))
+				    		{
+				    			runtimeIds.add(runtime);	
+				    		}
+						}
+					}
+		
+					Status statusObj = new Status(IStatus.INFO, 
+							WebServiceConsumptionUIPlugin.ID,
+							IStatus.OK,
+							ConsumptionUIMessages.MSG_INFO_ANT_RUNTIME_HEADING, 
+							null);					
+					getEnvironment().getStatusHandler().reportInfo(statusObj);
+					
+	        
+			for (Iterator iterator = runtimeIds.iterator(); iterator
+					.hasNext();) {			
+				  getEnvironment().getStatusHandler().reportInfo(new Status(IStatus.INFO, 
+						WebServiceConsumptionUIPlugin.ID,
+						IStatus.OK, 
+						NLS.bind(ConsumptionUIMessages.MSG_INFO_ANT_SERVER_RUNTIME,
+								iterator.next()), null));
+			}
+				
+			
+		    String[] clientRuntimes = WebServiceRuntimeExtensionUtils2.getAllRuntimesForClientSide();
+		    
+			for (int i = 0; i < clientRuntimes.length; i++) {				
+				
+				getEnvironment().getStatusHandler().reportInfo(new Status(IStatus.INFO, 
+						WebServiceConsumptionUIPlugin.ID,
+						IStatus.OK, 
+						NLS.bind(ConsumptionUIMessages.MSG_INFO_ANT_CLIENT_RUNTIME,
+								clientRuntimes[i]), null));
+			}
+		}
+		
+		if (servers_)
+		{			
+			getEnvironment().getStatusHandler().reportInfo(new Status(IStatus.INFO, 
+					WebServiceConsumptionUIPlugin.ID,
+					IStatus.OK, 
+					ConsumptionUIMessages.MSG_INFO_ANT_SERVER_HEADING, null));
+			
+			IServerType[] serverTypes = ServerCore.getServerTypes();
+		      for (int i=0; i<serverTypes.length; i++)
+		      {		        
+				getEnvironment().getStatusHandler().reportInfo(new Status(IStatus.INFO, 
+						WebServiceConsumptionUIPlugin.ID,
+						IStatus.OK, 
+						NLS.bind(ConsumptionUIMessages.MSG_INFO_ANT_SERVER,
+								serverTypes[i].getId()), null));
+
+		      }
+		}  
+		  
+		return OK_STATUS;
+	}
+	
+	public void setListRuntimes(boolean value)
+	{		
+		runtimes_=value;
+	}
+	
+	public void setListServers(boolean value)
+	{		
+		servers_=value;
+	}
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/OpenJavaEditorCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/OpenJavaEditorCommand.java
index 77efef8..deae7fb 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/OpenJavaEditorCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/OpenJavaEditorCommand.java
@@ -14,22 +14,23 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.ui.progress.UIJob;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class OpenJavaEditorCommand extends SimpleCommand
+public class OpenJavaEditorCommand extends AbstractDataModelOperation
 {
   private List classNames;
   private IProject project;
@@ -38,12 +39,12 @@
   {
   }
 
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
     OpenJavaEditorJob job = new OpenJavaEditorJob(classNames, project);
     job.setPriority(Job.LONG);
     job.schedule();
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   public void setClassNames(List classNames)
@@ -83,13 +84,13 @@
           }
           catch (Throwable t)
           {
-            return new org.eclipse.core.runtime.Status(org.eclipse.core.runtime.Status.ERROR, WebServiceConsumptionUIPlugin.ID, 0, WebServiceConsumptionUIPlugin.getMessage("MSG_ERROR_UNABLE_TO_OPEN_JAVA_EDITOR", new String[]{className, project.getName()}), t);
+            return new org.eclipse.core.runtime.Status(org.eclipse.core.runtime.Status.ERROR, WebServiceConsumptionUIPlugin.ID, 0, NLS.bind(ConsumptionUIMessages.MSG_ERROR_UNABLE_TO_OPEN_JAVA_EDITOR, new String[]{className, project.getName()}), t);
           }
         }
         return new org.eclipse.core.runtime.Status(org.eclipse.core.runtime.Status.OK, WebServiceConsumptionUIPlugin.ID, 0, "", null);
       }
       else
-        return new org.eclipse.core.runtime.Status(org.eclipse.core.runtime.Status.ERROR, WebServiceConsumptionUIPlugin.ID, 0, WebServiceConsumptionUIPlugin.getMessage("MSG_ERROR_UNABLE_TO_OPEN_JAVA_EDITOR", new String[]{classNames != null ? classNames.toString() : "", project != null ? project.getName() : ""}), null);
+        return new org.eclipse.core.runtime.Status(org.eclipse.core.runtime.Status.ERROR, WebServiceConsumptionUIPlugin.ID, 0, NLS.bind(ConsumptionUIMessages.MSG_ERROR_UNABLE_TO_OPEN_JAVA_EDITOR, new String[]{classNames != null ? classNames.toString() : "", project != null ? project.getName() : ""}), null);
     }
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/PublishProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/PublishProjectCommand.java
new file mode 100644
index 0000000..492163a
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/PublishProjectCommand.java
@@ -0,0 +1,140 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.command;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.common.ServerUtils;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.server.core.IServer;
+
+public class PublishProjectCommand extends AbstractDataModelOperation 
+{
+
+
+private String project;
+private String serverTypeID;
+private IServer existingServer;
+
+
+/**
+ * Default CTOR;
+ */
+public PublishProjectCommand() {
+}
+
+/**
+ * Execute the command
+ */
+public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+{
+  IEnvironment env = getEnvironment();
+  
+  IStatus status = Status.OK_STATUS;
+  try
+  {
+    ProgressUtils.report( monitor, ConsumptionMessages.PROGRESS_INFO_PUBLISH_WEB_PROJECT );
+    
+    if (project == null){
+      status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_PROJECT_NOT_FOUND ); 
+      env.getStatusHandler().reportError(status);
+      return status;
+    }
+	
+    IProject iProject = (IProject)ResourceUtils.findResource(project);
+    IServer instance = ServerUtils.getServerForModule(ServerUtils.getModule(iProject), serverTypeID, existingServer, true, monitor);
+    if (instance == null)
+    {
+      status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_INSTANCE_NOT_FOUND);
+      env.getStatusHandler().reportError(status);
+      return status;
+    }
+
+      IStatus returnedStatus = publish(instance,IServer.PUBLISH_INCREMENTAL, monitor);
+      status = returnedStatus;
+      
+      //getStatusMonitor().reportStatus (instance.publish(getProgressMonitor()));
+      env.getLog().log(ILog.OK, 5026, this, "execute", new String("project="+project+" successfully published"));
+      //ILog.write(PublishProjectCommand.class,"execute",ILog.OK,"project="+project+" successfully published");
+      return status;
+  }
+  catch (Exception e) {
+    status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_PUBLISH, e);
+    env.getStatusHandler().reportError(status);
+    return status;
+
+  }
+}
+
+private IStatus publish(final IServer server, final int kind, IProgressMonitor monitor )
+{
+	final IStatus[] istatus = new IStatus[1];
+	istatus[0] = Status.OK_STATUS;
+	monitor.subTask(ConsumptionMessages.PROGRESS_INFO_PUBLISHING_SERVER);
+
+	IRunnableWithProgress runnable = new IRunnableWithProgress()
+	{
+		public void run(IProgressMonitor shellMonitor) throws InvocationTargetException, InterruptedException
+		{
+			istatus[0] = server.publish(kind, shellMonitor);
+		}  		
+	};
+
+	try
+	{
+		PlatformUI.getWorkbench().getProgressService().run(true,false,runnable);
+	}
+	catch(InvocationTargetException ite)
+	{
+		istatus[0] = new org.eclipse.core.runtime.Status( IStatus.ERROR, "id", 0, ite.getMessage(), ite );
+		ite.printStackTrace();
+	}
+	catch(InterruptedException ie)
+	{
+		istatus[0] = new org.eclipse.core.runtime.Status( IStatus.ERROR, "id", 0, ie.getMessage(), ie );
+		ie.printStackTrace();
+	}
+  
+	return istatus[0];
+}
+
+public void setProject(String project)
+{
+  this.project = project;
+}
+
+public void setServerTypeID(String serverTypeID)
+{
+  this.serverTypeID = serverTypeID;
+}
+
+public void setExistingServer(IServer existingServer)
+{
+  this.existingServer = existingServer;
+}
+
+
+
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/StartServerCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/StartServerCommand.java
new file mode 100644
index 0000000..5e8ead6
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/StartServerCommand.java
@@ -0,0 +1,260 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.command;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerCore;
+
+/**
+ * (Re)Starts and publishes the server specifed by the serverInstanceId attribute.
+ * 
+ *
+ */
+public class StartServerCommand extends AbstractDataModelOperation
+{
+  private ILog log;
+  private boolean forcePublish_;
+  private boolean doAsyncPublish_;
+  
+  private String serverInstanceId;
+	
+  
+  public StartServerCommand()
+  {
+    log             = EnvironmentService.getEclipseLog();
+    forcePublish_   = false;
+    doAsyncPublish_ = true;
+  }
+	 
+  public StartServerCommand( boolean forcePublish, boolean doAsyncPublish )
+  {
+    this();
+    
+    forcePublish_   = forcePublish;
+    doAsyncPublish_ = doAsyncPublish;
+  }
+
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
+
+    IServer server = ServerCore.findServer(serverInstanceId);
+    if (server == null)
+    {
+      status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_INSTANCE_NOT_FOUND);
+      env.getStatusHandler().reportError(status);
+      return status;
+    }
+
+    int serverState = server.getServerState();
+    int publishState = server.getServerPublishState();
+    
+    //Publish if required
+    switch (publishState)
+    {
+      case IServer.PUBLISH_STATE_INCREMENTAL:
+        if (server.canPublish().getSeverity() == IStatus.OK)
+        {
+          status = publish(server, IServer.PUBLISH_INCREMENTAL, monitor );
+          if (status.getSeverity() == Status.ERROR)
+          {
+            env.getStatusHandler().reportError(status);
+            return status;
+          }
+        }    
+        break;
+      case IServer.PUBLISH_STATE_FULL:
+        if (server.canPublish().getSeverity() == IStatus.OK)
+        {
+          status = publish(server, IServer.PUBLISH_FULL, monitor );
+          if (status.getSeverity() == Status.ERROR)
+          {
+            env.getStatusHandler().reportError(status);
+            return status;
+          }
+        }
+        break;
+        
+      case IServer.PUBLISH_STATE_UNKNOWN:
+        if (server.canPublish().getSeverity() == IStatus.OK)
+        {
+          status = publish(server, IServer.PUBLISH_INCREMENTAL, monitor );
+          if (status.getSeverity() == Status.ERROR)
+          {
+            env.getStatusHandler().reportError(status);
+            return status;
+          }
+        }
+        break;  
+
+        //TODO: Reassess need for this, since Tomcat should know
+        // whether it needs to be published or not (or publish should
+        // simply always be driven by us.
+        case IServer.PUBLISH_STATE_NONE:
+        {
+          if( forcePublish_ )
+          {
+            status = publish(server, IServer.PUBLISH_INCREMENTAL, monitor );
+            
+            if (status.getSeverity() == Status.ERROR)
+            {
+              env.getStatusHandler().reportError(status);
+              return status;
+            }  
+          }
+          
+    	  break;  
+        }
+      
+        default:
+    }
+
+
+    switch (serverState)
+    {
+      case IServer.STATE_STOPPED:
+        if (server.canStart(ILaunchManager.RUN_MODE).getSeverity()==IStatus.OK)
+        {
+          status = start(server, monitor );
+          if (status.getSeverity() == Status.ERROR)
+          {
+            env.getStatusHandler().reportError(status);
+            return status;
+          }       
+        }
+        break;
+      case IServer.STATE_STARTED:    	
+    	boolean shouldRestart = server.getServerRestartState();    	
+    	//TODO Ideally getServerRestartState() returning true should be a sufficient
+    	//condition for us to restart. However, getServerRestartState() seems to 
+    	//sometimes pessimistically return true when it doesn't need to for Tomcat 
+    	//servers. In order to curb the number of restarts, we will only 
+    	//restart if a publish was required earlier in this execute method AND 
+    	//getServerRestartState() returns true. 
+    	//A publish is normally required when a module is added to the server.
+    	
+    	if (publishState != IServer.PUBLISH_STATE_NONE && shouldRestart && server.canRestart(ILaunchManager.RUN_MODE).getSeverity()==IStatus.OK)    	  
+        {
+          status = restart(server, monitor );
+          if (status.getSeverity() == Status.ERROR)
+          {
+            env.getStatusHandler().reportError(status);
+            return status;
+          }       
+        }
+    }
+    
+    return status;
+  }
+
+  private IStatus publish(final IServer server, final int kind, IProgressMonitor monitor )
+  {
+    IStatus status = Status.OK_STATUS;
+    final IStatus[] istatus = new IStatus[1]; 
+    monitor.subTask(ConsumptionMessages.PROGRESS_INFO_PUBLISHING_SERVER);
+    IRunnableWithProgress runnable = new IRunnableWithProgress()
+	{
+  		public void run(IProgressMonitor shellMonitor) throws InvocationTargetException, InterruptedException
+		{
+  			istatus[0] = server.publish(kind, shellMonitor);
+		}  		
+	};
+	
+	try
+	{
+		if( doAsyncPublish_ )
+		{	
+		  PlatformUI.getWorkbench().getProgressService().run(true,false,runnable);
+		}
+		else
+		{
+		  runnable.run( monitor );
+		}
+		
+	}
+	catch(InvocationTargetException ite)
+	{
+	  istatus[0] = new org.eclipse.core.runtime.Status( IStatus.ERROR, "id", 0, ite.getMessage(), ite );
+	  ite.printStackTrace();
+	}
+	catch(InterruptedException ie)
+	{
+	  istatus[0] = new org.eclipse.core.runtime.Status( IStatus.ERROR, "id", 0, ie.getMessage(), ie );
+	  ie.printStackTrace();
+	}
+    
+    
+	if (istatus[0].getSeverity() != IStatus.OK)
+    {
+      status = istatus[0];
+      return status;
+    }
+    
+    log.log(ILog.INFO, 5051, this, "publishProject", "IServer=" + server + ", Publish command completed");
+    return status;
+  }
+
+  private IStatus restart(IServer server, IProgressMonitor monitor )
+  {
+    IStatus status = Status.OK_STATUS;
+    try
+    {
+      monitor.subTask(ConsumptionMessages.PROGRESS_INFO_STARTING_SERVER);
+      server.synchronousRestart(ILaunchManager.RUN_MODE, monitor);
+      log.log(ILog.INFO, 5052, this, "execute", "IServer=" + server + ", Restart command completed");
+      return status;
+    } catch (CoreException e)
+    {
+      status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_SERVER, e);
+      return status;
+    }
+
+  }
+
+  private IStatus start(IServer server, IProgressMonitor monitor )
+  {
+    IStatus status = Status.OK_STATUS;
+    try
+    {
+      monitor.subTask(ConsumptionMessages.PROGRESS_INFO_STARTING_SERVER);
+      server.synchronousStart(ILaunchManager.RUN_MODE, monitor);
+      log.log(ILog.INFO, 5053, this, "execute", "IServer=" + server + ", Start command completed");
+      return status;
+    } catch (CoreException e)
+    {
+      status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_SERVER, e);
+      return status;
+    }
+  }
+
+  public void setServerInstanceId(String serverInstanceId)
+  {
+    this.serverInstanceId = serverInstanceId;
+  }	
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/WSINonCompliantRuntimeCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/WSINonCompliantRuntimeCommand.java
index 51d4f6f..ed3332a 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/WSINonCompliantRuntimeCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/WSINonCompliantRuntimeCommand.java
@@ -14,76 +14,62 @@
 import java.util.Vector;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIAPContext;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSISSBPContext;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.WSIComplianceUtils;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.WstWSPluginMessages;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIAPContext;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSISSBPContext;
+import org.eclipse.wst.ws.internal.preferences.WSIComplianceUtils;
 
 
 
-public class WSINonCompliantRuntimeCommand extends SimpleCommand
+public class WSINonCompliantRuntimeCommand extends AbstractDataModelOperation
 {
 
   private IProject serviceProject_;
-  private MessageUtils msgUtils_;
- 
-  private String LABEL = "TASK_LABEL_WSI_NONCOMPLIANT";
-  private String DESCRIPTION = "TASK_DESC_WSI_NONCOMPLIANT";
 	
   public WSINonCompliantRuntimeCommand()
   {
-    String       pluginId = "org.eclipse.wst.ws.ui";
-  	msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-  	setName (msgUtils_.getMessage(LABEL));
-  	setDescription( msgUtils_.getMessage(DESCRIPTION));    
-  }
+  } 
   
 
-  public Status execute (Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment environment = getEnvironment();
     
-  	PersistentWSISSBPContext wsiSSBPContext = WSUIPlugin.getInstance().getWSISSBPContext(); 
-  	PersistentWSIAPContext wsiAPContext = WSUIPlugin.getInstance().getWSIAPContext(); 
+  	PersistentWSISSBPContext wsiSSBPContext = WSPlugin.getInstance().getWSISSBPContext(); 
+  	PersistentWSIAPContext wsiAPContext = WSPlugin.getInstance().getWSIAPContext(); 
     Vector statusSSBP = new Vector();
-    statusSSBP.add(new SimpleStatus("WSINonCompliantRuntimeCommand", 
-    		msgUtils_.getMessage("WSI_SSBP_INCOMPLIANT_RUNTIME"), WSIComplianceUtils.getWSISeverity(serviceProject_, wsiSSBPContext)));
+    statusSSBP.add( new Status( WSIComplianceUtils.getWSISeverity(serviceProject_, wsiSSBPContext), "id", 0,
+        WstWSPluginMessages.WSI_SSBP_INCOMPLIANT_RUNTIME, null ) );
     Status[] statusesSSBP = (Status[]) statusSSBP.toArray(new Status[statusSSBP.size()]);
     
     Vector statusAP = new Vector();
-    statusAP.add(new SimpleStatus("WSINonCompliantRuntimeCommand", 
-    		msgUtils_.getMessage("WSI_AP_INCOMPLIANT_RUNTIME"), WSIComplianceUtils.getWSISeverity(serviceProject_, wsiAPContext)));
+    statusAP.add( new Status( WSIComplianceUtils.getWSISeverity(serviceProject_, wsiAPContext), "id", 0, 
+    		WstWSPluginMessages.WSI_AP_INCOMPLIANT_RUNTIME, null ));
     Status[] statusesAP = (Status[]) statusAP.toArray(new Status[statusAP.size()]);
 
-    if (WSIComplianceUtils.checkWSICompliance (environment.getStatusHandler(), statusesSSBP, serviceProject_, wsiSSBPContext)) {
-    	if (WSIComplianceUtils.checkWSICompliance (environment.getStatusHandler(), statusesAP, serviceProject_, wsiAPContext)) {
-    		return new SimpleStatus( "" );
-    	} else {
-    		return new SimpleStatus(
-    				"WSINonCompliantRuntimeCommand",
-    				msgUtils_.getMessage("NOT_OK"),
-    				Status.ERROR);
+    if (WSIComplianceUtils.checkWSICompliance (environment.getStatusHandler(), statusesAP, serviceProject_, wsiAPContext)) 
+    {
+    	if (WSIComplianceUtils.checkWSICompliance (environment.getStatusHandler(), statusesSSBP, serviceProject_, wsiSSBPContext)) 
+      {
+    		return Status.OK_STATUS;
+    	} 
+      else 
+      {
+    		return StatusUtils.errorStatus( WstWSPluginMessages.NOT_OK );
     	}
-    } else {
-		return new SimpleStatus(
-				"WSINonCompliantRuntimeCommand",
-				msgUtils_.getMessage("NOT_OK"),
-				Status.ERROR);
-		}
-  }
-
-  public Status undo(Environment environment)
-  {
-    return null;
-  }
-
-  public Status redo(Environment environment)
-  {
-    return null;
+    } 
+    else 
+    {
+		  return StatusUtils.errorStatus( WstWSPluginMessages.NOT_OK );
+	}
   }
   
   public void setServiceProject(IProject serviceProject) {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/EclipseIPath2URLStringTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/EclipseIPath2URLStringTransformer.java
index 8f8400b..8387d2e 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/EclipseIPath2URLStringTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/EclipseIPath2URLStringTransformer.java
@@ -11,10 +11,9 @@
 package org.eclipse.jst.ws.internal.consumption.ui.command.data;
 
 import java.net.MalformedURLException;
-
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 
 public class EclipseIPath2URLStringTransformer implements Transformer
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ProjectName2IProjectTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ProjectName2IProjectTransformer.java
index 0f77254..37c5817 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ProjectName2IProjectTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ProjectName2IProjectTransformer.java
@@ -11,7 +11,7 @@
 package org.eclipse.jst.ws.internal.consumption.ui.command.data;
 
 import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 public class ProjectName2IProjectTransformer implements Transformer
 {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerInstToIServerTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerInstToIServerTransformer.java
index c96075d..3ba0cd0 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerInstToIServerTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerInstToIServerTransformer.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.jst.ws.internal.consumption.ui.command.data;
 
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
 
@@ -23,7 +23,7 @@
 public class ServerInstToIServerTransformer implements Transformer {
 
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.data.Transformer#transform(java.lang.Object)
+   * @see org.eclipse.wst.command.internal.env.core.data.Transformer#transform(java.lang.Object)
    */
   public Object transform(Object value) {
     
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerName2IServerTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerName2IServerTransformer.java
index 7ac5f0d..e1160c5 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerName2IServerTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/command/data/ServerName2IServerTransformer.java
@@ -10,9 +10,7 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.command.data;
 
-import java.util.Vector;
-
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
 
@@ -20,7 +18,6 @@
 {
   public Object transform(Object value)
   {
-    Vector serverIds = new Vector();
     {
       String serverName = value.toString();
       IServer[] servers = ServerCore.getServers();
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ClientServerSelectionUtils.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ClientServerSelectionUtils.java
deleted file mode 100644
index 4a6be03..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ClientServerSelectionUtils.java
+++ /dev/null
@@ -1,510 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.common;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.j2ee.internal.servertarget.IServerTargetConstants;
-import org.eclipse.jst.j2ee.internal.servertarget.ServerTargetHelper;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.consumption.common.IServerDefaulter;
-import org.eclipse.jst.ws.internal.consumption.common.ServerInfo;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.consumption.ui.preferences.PersistentServerRuntimeContext;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceClientTypeRegistry;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-
-
-public class ClientServerSelectionUtils
-{
-  /*
-   * Returns reasonable defaults for server factory id and instance id based on 
-   * an existing project
-   * index [0] contains factoryId, index[1] contains instance Id.
-   * @deprecated
-   */
-  public static String[] getServerInfoFromExistingProject(IProject project, String typeId, boolean askExtenders)
-  {
-    String[] serverInfo = new String[2]; //serverInfp[0] contains factoryId, serverInfo[1] contains instance Id
-    
-    // If the project has been added to an existing server, pick that server
-    IServer[] configuredServers = ServerUtil.getServersByModule(ResourceUtils.getModule(project), null);
-    IServer firstSupportedServer = getFirstSupportedServer(configuredServers, typeId );
-    if (firstSupportedServer != null)
-    {
-      serverInfo[0] = firstSupportedServer.getServerType().getId();
-      serverInfo[1] = firstSupportedServer.getId();
-      return serverInfo;      	
-    }
-    
-    //Does the project have a runtime-target?
-    IRuntime runtimeTarget = getRuntimeTarget(project.getName());
-    if (runtimeTarget != null)
-    {
-      //Look for an existing server which is compatible with the runtime-target
-      IServer[] compatibleServers = getCompatibleExistingServers(runtimeTarget);
-      if (compatibleServers!=null && compatibleServers.length > 0)
-      {
-        IServer firstSupportedCompatServer = getFirstSupportedServer(compatibleServers, typeId);
-        if (firstSupportedCompatServer != null)
-        {
-          serverInfo[0] = firstSupportedCompatServer.getServerType().getId();
-          serverInfo[1] = firstSupportedCompatServer.getId();
-          return serverInfo;
-          
-        }  
-      }
-      
-      //No existing compatible server was found. Choose a compatible server type.
-      
-      //If the preferred server is compatible with the project's runtime target, use it.
-      PersistentServerRuntimeContext ctx = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-      String pFactoryId = ctx.getServerFactoryId();
-      IServerType serverType = ServerCore.findServerType(pFactoryId);
-      if (serverType!=null){
-      	String serverRuntimeId = serverType.getRuntimeType().getId();
-      	if (serverRuntimeId.equals(runtimeTarget.getRuntimeType().getId()))
-      	{
-      	  serverInfo[0] = pFactoryId;
-      	  return serverInfo;
-      	}
-      }     
-      
-      //The preferred server was not compatible. Pick the first valid compatible server type.      
-      String factoryId = getFirstSupportedServerType(runtimeTarget, typeId);
-      if (factoryId != null) serverInfo[0] = factoryId;
-      return serverInfo;
-      
-    }
-    
-    
-    if (askExtenders)
-    {
-      ServerInfo recommendedServerInfo = getExtenderRecommendation(project);
-      if (recommendedServerInfo!=null)
-      {
-        if (recommendedServerInfo.getServerFactoryId()!=null && recommendedServerInfo.getServerFactoryId().length()>0)
-          serverInfo[0] = recommendedServerInfo.getServerFactoryId();
-        
-        if (recommendedServerInfo.getServerInstanceId()!=null && recommendedServerInfo.getServerInstanceId().length()>0)
-          serverInfo[1] = recommendedServerInfo.getServerInstanceId(); 
-
-        return serverInfo;
-      }
-    }
-    
-    //Use ServerTargetHelper to get a list of valid runtime-targets and use these to determine a default server type.
-    String[] projectAttrs = ServerTargetHelper.getProjectTypeAndJ2EELevel(project);
-    List runtimes = ServerTargetHelper.getServerTargets(projectAttrs[0], projectAttrs[1]);
-    String[] compatServerInfo = getCompatibleExistingServer(runtimes,typeId); 
-    if ( compatServerInfo != null)
-    {
-      return compatServerInfo;
-    }
-    
-    //No existing compatible server, pick a type.
-    String factoryId = getFirstSupportedServerType(runtimes, typeId);
-    if (factoryId != null) serverInfo[0] = factoryId; 
-    return serverInfo;   
-
-  }
-
-  /*
-   * Returns reasonable defaults for server factory id and instance id based on 
-   * an existing project
-   * index [0] contains factoryId, index[1] contains instance Id.
-   * @deprecated
-   */
-  public static String[] getServerInfoFromExistingProject(IProject project, String typeId, String runtimeId, boolean askExtenders)
-  {
-    String[] serverInfo = new String[2]; //serverInfp[0] contains factoryId, serverInfo[1] contains instance Id
-    
-    // If the project has been added to an existing server, pick that server
-    IServer[] configuredServers = ServerUtil.getServersByModule(ResourceUtils.getModule(project), null);
-    IServer firstSupportedServer = getFirstSupportedServer(configuredServers, typeId );
-    if (firstSupportedServer != null)
-    {
-      serverInfo[0] = firstSupportedServer.getServerType().getId();
-      serverInfo[1] = firstSupportedServer.getId();
-      return serverInfo;      	
-    }
-    
-    //Does the project have a runtime-target?
-    IRuntime runtimeTarget = getRuntimeTarget(project.getName());
-    if (runtimeTarget != null)
-    {
-      //Look for an existing server which is compatible with the runtime-target
-      IServer[] compatibleServers = getCompatibleExistingServers(runtimeTarget);
-      if (compatibleServers!=null && compatibleServers.length > 0)
-      {
-        IServer firstSupportedCompatServer = getFirstSupportedServer(compatibleServers, typeId);
-        if (firstSupportedCompatServer != null)
-        {
-          serverInfo[0] = firstSupportedCompatServer.getServerType().getId();
-          serverInfo[1] = firstSupportedCompatServer.getId();
-          return serverInfo;
-          
-        }  
-      }
-      
-      //No existing compatible server was found. Choose a compatible server type.
-      
-      //If the preferred server is compatible with the project's runtime target, use it.
-      PersistentServerRuntimeContext ctx = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-      String pFactoryId = ctx.getServerFactoryId();
-      IServerType serverType = ServerCore.findServerType(pFactoryId);
-      if (serverType!=null){
-      	String serverRuntimeId = serverType.getRuntimeType().getId();
-      	if (serverRuntimeId.equals(runtimeTarget.getRuntimeType().getId()))
-      	{
-      	  serverInfo[0] = pFactoryId;
-      	  return serverInfo;
-      	}
-      }     
-      
-      //The preferred server was not compatible. Pick the first valid compatible server type.      
-      String factoryId = getFirstSupportedServerType(runtimeTarget, typeId);
-      if (factoryId != null) serverInfo[0] = factoryId;
-      return serverInfo;
-      
-    }
-    
-    
-    if (askExtenders)
-    {
-      ServerInfo recommendedServerInfo = getExtenderRecommendation(project);
-      if (recommendedServerInfo!=null)
-      {
-        if (recommendedServerInfo.getServerFactoryId()!=null && recommendedServerInfo.getServerFactoryId().length()>0)
-          serverInfo[0] = recommendedServerInfo.getServerFactoryId();
-        
-        if (recommendedServerInfo.getServerInstanceId()!=null && recommendedServerInfo.getServerInstanceId().length()>0)
-          serverInfo[1] = recommendedServerInfo.getServerInstanceId(); 
-
-        return serverInfo;
-      }
-    }
-    
-    //Use ServerTargetHelper to get a list of valid runtime-targets and use these to determine a default server type.
-    String[] projectAttrs = ServerTargetHelper.getProjectTypeAndJ2EELevel(project);
-    List runtimes = ServerTargetHelper.getServerTargets(projectAttrs[0], projectAttrs[1]);
-    List suppRuntimes = getRuntimeTargetsSupportedByWSRuntime(runtimes, runtimeId);
-    String[] compatServerInfo = getCompatibleExistingServer(suppRuntimes,typeId); 
-    if ( compatServerInfo != null)
-    {
-      return compatServerInfo;
-    }
-    
-    //No existing compatible server, pick a type.
-    String factoryId = getFirstSupportedServerType(suppRuntimes, typeId);
-    if (factoryId != null) serverInfo[0] = factoryId; 
-    return serverInfo;   
-
-  }
-  
-  /*
-   * Given a list of existing servers, this returns the first one that is supported
-   * by the given Web service type id. 
-   * Returns null of there are no supported servers in the array.
-   */
-  public static IServer getFirstSupportedServer(IServer[] servers, String typeId)
-  {
-    WebServiceClientTypeRegistry wsctRegistry = WebServiceClientTypeRegistry.getInstance();
-    if (servers != null && servers.length > 0) {
-      for (int i = 0; i < servers.length; i++)
-      {
-        String serverFactoryId = servers[i].getServerType().getId();
-        if (wsctRegistry.isServerSupportedForChosenType(typeId, serverFactoryId))
-        {
-          return servers[i];
-        }
-      }
-    }
-    return null;
-  }  
-  
-  /*
-   * Returns the factory id of a server type compatible with the Web service type and the runtime target.
-   * Returns null if there are none.
-   */
-  public static String getFirstSupportedServerType(IRuntime runtimeTarget, String typeId)
-  {
-    String runtimeId = runtimeTarget.getRuntimeType().getId();
-    WebServiceClientTypeRegistry wsctRegistry = WebServiceClientTypeRegistry.getInstance();
-    String[] serverFactoryIds = wsctRegistry.getServerFactoryIdsByType(typeId);
-  
-    for (int i=0; i<serverFactoryIds.length; i++)
-    {
-      IServerType serverType = ServerCore.findServerType(serverFactoryIds[i]);
-      if (serverType!=null ){
-      	String serverRuntimeId = serverType.getRuntimeType().getId();
-      	if (serverRuntimeId.equals(runtimeId))
-      	{
-      		return serverFactoryIds[i];
-      	}
-      }
-    }
-    return null;
-  }
-  
-  /*
-   * Return the factory id of the first server type compatible with the runtimeTargets and typeId.
-   * Returns null if there are none.
-   */
-  public static String getFirstSupportedServerType(List runtimeTargets, String typeId)
-  {
-    for (int i=0; i<runtimeTargets.size(); i++ )
-    {
-      IRuntime runtimeTarget = (IRuntime)runtimeTargets.get(i);
-      String factoryId = getFirstSupportedServerType(runtimeTarget, typeId);
-      if (factoryId != null && factoryId.length()>0)
-        return factoryId;
-    }
-    
-    return null;
-  }
-
-  public static IRuntime getRuntimeTarget(String projectName)
-  {
-  	if( projectName != null && projectName.length() > 0 ){ //$NON-NLS-1$
-  		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-  		if( project != null && project.exists() ){
-  			return ServerCore.getProjectProperties(project).getRuntimeTarget(); 
-  		}
-  	}
-  	return null;
-  }
-  
-  public static IServer[] getCompatibleExistingServers(IRuntime runtime)
-  {
-    if (runtime == null)
-      return null;
-    
-    IServer[] servers = ServerCore.getServers();
-    if (servers==null || servers.length!=0)
-      return null;
-    
-    ArrayList compatibleServersList = new ArrayList();
-    String runtimeId = runtime.getRuntimeType().getId();
-    for (int i=0; i<servers.length; i++)
-    {
-      IServer server = (IServer)servers[i];
-      String serverRuntimeId = server.getRuntime().getRuntimeType().getId();
-      if (serverRuntimeId.equals(runtimeId))
-        compatibleServersList.add(server);
-      
-    }
-    if (compatibleServersList.size()<1)
-      return null;
-    
-    
-    Object[] compatibleServersArray = compatibleServersList.toArray();
-    IServer[] compatibleServers = new IServer[compatibleServersArray.length];
-    for (int j=0; j<compatibleServersArray.length; j++)
-    {
-      compatibleServers[j] = (IServer)compatibleServersArray[j];
-    }
-    
-    return compatibleServers;
-  }  
-  /*
-   * Returns the factory Id and instance id of the first exiting server compatible
-   * with the runtime targets and typeId
-   * Returns null if there are none.
-   * The item at [0] is the factory id.
-   * The item at [1] is the instance id.
-   */
-  public static String[] getCompatibleExistingServer(List runtimeTargets, String typeId)
-  {
-    String[] serverInfo = new String[2];
-    for (int i=0; i<runtimeTargets.size(); i++ )
-    {
-      IRuntime runtimeTarget = (IRuntime)runtimeTargets.get(i);
-      IServer[] existingCompatServers = getCompatibleExistingServers(runtimeTarget);
-      IServer compatServer = getFirstSupportedServer(existingCompatServers, typeId);
-      if (compatServer != null)
-      {
-        serverInfo[0] = compatServer.getServerType().getId();
-        serverInfo[1] = compatServer.getId();
-        return serverInfo;
-      }
-    }
-    return null;
-  }
-  
-  public static ServerInfo getExtenderRecommendation(IProject project)
-  {
-    try
-    {
-    IExtensionRegistry reg = Platform.getExtensionRegistry();
-    IConfigurationElement[] elements = reg.getConfigurationElementsFor("org.eclipse.jst.ws.consumption", "serverDefaulter");
-    for (int i=0; i<elements.length; i++)
-    {
-      Object serverDefaulterObject = elements[i].createExecutableExtension("class");
-      if (serverDefaulterObject instanceof IServerDefaulter)
-      {
-        IServerDefaulter serverDefaulter = (IServerDefaulter)serverDefaulterObject;
-        ServerInfo serverInfo = serverDefaulter.recommendDefaultServer(project);
-        if (serverInfo != null)
-          return serverInfo;
-      }
-      
-    }
-    } catch (CoreException ce)
-    {
-      return null;
-    }
-    
-    return null;
-  }
-  
-  private static List getRuntimeTargetsSupportedByWSRuntime(List runtimeTargets, String webServiceRuntimeId)
-  {
-    ArrayList suppRuntimeTargets = new ArrayList();
-    WebServiceClientTypeRegistry wsctReg = WebServiceClientTypeRegistry.getInstance();
-    for (int i=0; i<runtimeTargets.size(); i++)
-    {
-      IRuntime runtimeTarget = (IRuntime)runtimeTargets.get(i);
-      String rtId = runtimeTarget.getRuntimeType().getId();
-      if (wsctReg.doesRuntimeSupportServerTarget(rtId, webServiceRuntimeId))
-      {
-        suppRuntimeTargets.add(runtimeTarget);
-      }
-    }
-    return suppRuntimeTargets;
-  }
-
-  /**
-   * Use this method to get a server factory id and instance id that is compatible with the given Web
-   * service runtime.
-   * @param clientRuntimeId
-   * @param j2eeVersion String representation of the int values in J2EEVersionConstants i.e. "12", "13", "14"
-   * @return String[] index [0] contains factoryId, index[1] contains instance Id.
-   */
-  public static String[] getServerFromClientRuntimeAndJ2EE(String clientRuntimeId, String j2eeVersion)
-  {
-    String[] serverInfo = new String[2];
-    WebServiceClientTypeRegistry wsctReg = WebServiceClientTypeRegistry.getInstance();
-    
-    //Get all possible valid servers. If there are none, we can't default intelligently, return null.
-    String[] validServerFactoryIds = wsctReg.getServerFactoryIdsByRuntimeId(clientRuntimeId);
-    if (validServerFactoryIds==null || validServerFactoryIds.length<1)
-      return null;
-    
-    //Get all existing servers
-    IServer[] servers = ServerCore.getServers(); //Get all existing servers
-    
-    //Get the preferred server.
-  	PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-  	String prefServerFactoryId = context.getServerFactoryId();
-  	
-    boolean preferredIsValid =  containsString(validServerFactoryIds, prefServerFactoryId)
-                                && isServerValid(prefServerFactoryId, j2eeVersion);
-    if (preferredIsValid)
-    {
-      for (int i=0; i<servers.length; i++)
-      {
-        IServer server = (IServer)servers[i];
-        String thisFactoryId = server.getServerType().getId();
-        
-        if (thisFactoryId.equals(prefServerFactoryId))
-        {
-          serverInfo[0] = prefServerFactoryId;
-          serverInfo[1] = server.getId();
-          return serverInfo;
-        }                
-      }      
-    }
-    
-    //Either the preferred server was not valid or it was valid but does not exist.
-    //Check the existing servers for validity
-    for (int i=0; i<servers.length; i++)
-    {
-      IServer server = (IServer)servers[i];
-      String thisFactoryId = server.getServerType().getId();
-      
-      boolean thisServerValid = containsString(validServerFactoryIds, thisFactoryId) 
-                                && isServerValid(thisFactoryId, j2eeVersion);
-      if (thisServerValid)
-      {
-        serverInfo[0] = thisFactoryId;
-        serverInfo[1] = server.getId();
-        return serverInfo;        
-      }
-    }          
-
-    //None of the existing servers is valid. Pick the preferred one if valid. Otherwise, pick the
-    //first valid server type.
-    if (preferredIsValid)
-    {
-      serverInfo[0] = prefServerFactoryId;
-      return serverInfo;
-    }
-    else
-    {
-      for (int i=0; i<validServerFactoryIds.length; i++ )
-      {
-        boolean isValid = isServerValid(validServerFactoryIds[i], j2eeVersion);
-        if (isValid)
-        {
-          serverInfo[0] = validServerFactoryIds[0];
-          return serverInfo;
-        }
-      }      
-    }
-    
-    //We can't determine a valid server selection. Return null.
-    return null;
-  }
-  
-  private static boolean isServerValid(String serverFactoryId, String j2eeVersion)
-  {
-   if (serverFactoryId==null || serverFactoryId.length()==0 || j2eeVersion==null || j2eeVersion.length()==0)
-     return true;
-   
-   String runtimeTargetId = ServerUtils.getRuntimeTargetIdFromFactoryId(serverFactoryId);
-   if (runtimeTargetId == null || runtimeTargetId.length()==0)
-     return false;
-   String webModuleType = IServerTargetConstants.WEB_TYPE;
-   boolean isValid = ServerUtils.isTargetValidForProjectType(runtimeTargetId, j2eeVersion, webModuleType);
-   return isValid;
-  }
-  /*
-   * Returns true if a contains b, false otherwise.
-   */
-  private static boolean containsString(String[] a, String b)
-  {
-    if (a==null || a.length<0 || b == null || b.length()==0 )
-      return false;
-    
-    for (int i=0; i<a.length; i++)
-    {
-      String s = a[i];
-      if (s.equals(b))
-      {
-        return true;
-      }
-    }
-    return false;
-  }  
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ServerSelectionUtils.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ServerSelectionUtils.java
index 2c14bda..6943c0f 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ServerSelectionUtils.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ServerSelectionUtils.java
@@ -13,7 +13,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
@@ -27,7 +26,6 @@
 import org.eclipse.jst.ws.internal.consumption.common.ServerInfo;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.jst.ws.internal.consumption.ui.preferences.PersistentServerRuntimeContext;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceServerRuntimeTypeRegistry;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeInfo;
 import org.eclipse.wst.server.core.IRuntime;
@@ -51,7 +49,7 @@
 
     // If the project has been added to an existing server, pick that server
     //IServer[] configuredServers = ServerUtil.getServersByModule(ResourceUtils.getModule(project), null);
-    IServer[] configuredServers = ServerUtil.getServersByModule(ServerUtils.getModule(project, componentName), null);
+    IServer[] configuredServers = ServerUtil.getServersByModule(ServerUtils.getModule(project), null);
     IServer firstSupportedServer = getFirstSupportedServer(configuredServers, runtimeId );
     if (firstSupportedServer != null)
     {
@@ -251,29 +249,6 @@
     return null;
   }
   
-  /*
-   * Given a list of existing servers, this returns the first one that is supported
-   * by the given Web service type id. 
-   * Returns null of there are no supported servers in the array.
-   * @deprecated
-   */
-  /*
-  public static IServer getFirstSupportedServer(IServer[] servers, String typeId)
-  {
-    WebServiceServerRuntimeTypeRegistry wssrtRegistry = WebServiceServerRuntimeTypeRegistry.getInstance();
-    if (servers != null && servers.length > 0) {
-      for (int i = 0; i < servers.length; i++)
-      {
-        String serverFactoryId = servers[i].getServerType().getId();
-        if (wssrtRegistry.isServerSupportedForChosenType(typeId, serverFactoryId))
-        {
-          return servers[i];
-        }
-      }
-    }
-    return null;
-  }  
-  */
   
   /*
    * Returns the factory id of a server type compatible with the Web service type and the runtime target.
@@ -282,8 +257,6 @@
   public static String getFirstSupportedServerType(IRuntime runtimeTarget, String webServiceRuntimeId)
   {
     String runtimeId = runtimeTarget.getRuntimeType().getId();
-    //WebServiceServerRuntimeTypeRegistry wssrtRegistry = WebServiceServerRuntimeTypeRegistry.getInstance();
-    //String[] serverFactoryIds = wssrtRegistry.getServerFactoryIdsByType(typeId);
     WebServiceRuntimeInfo wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(webServiceRuntimeId);
     String[] serverFactoryIds = wsrt.getServerFactoryIds();
     for (int i=0; i<serverFactoryIds.length; i++)
@@ -300,31 +273,6 @@
     return null;
   }
   
-  /*
-   * Returns the factory id of a server type compatible with the Web service type and the runtime target.
-   * Returns null if there are none.
-   * @deprecated
-   */
-  /*
-  public static String getFirstSupportedServerType(IRuntime runtimeTarget, String typeId)
-  {
-    String runtimeId = runtimeTarget.getRuntimeType().getId();
-    WebServiceServerRuntimeTypeRegistry wssrtRegistry = WebServiceServerRuntimeTypeRegistry.getInstance();
-    String[] serverFactoryIds = wssrtRegistry.getServerFactoryIdsByType(typeId);
-    for (int i=0; i<serverFactoryIds.length; i++)
-    {
-      IServerType serverType = ServerCore.findServerType(serverFactoryIds[i]);
-      if (serverType!=null){
-      	String serverRuntimeId = serverType.getRuntimeType().getId();
-      	if (serverRuntimeId.equals(runtimeId))
-      	{
-      		return serverFactoryIds[i];
-      	}
-      }
-    }
-    return null;
-  }
-  */
 
   /*
    * Return the factory id of the first server type compatible with the runtimeTargets and webServiceRuntimeId.
@@ -506,29 +454,6 @@
   }
   
   /**
-   * 
-   * @param runtimeTargets
-   * @param webServiceRuntimeId
-   * @return
-   * @deprecated
-   */
-  private static List getRuntimeTargetsSupportedByWSRuntime(List runtimeTargets, String webServiceRuntimeId)
-  {
-    ArrayList suppRuntimeTargets = new ArrayList();
-    WebServiceServerRuntimeTypeRegistry wssrtReg = WebServiceServerRuntimeTypeRegistry.getInstance();
-    for (int i=0; i<runtimeTargets.size(); i++)
-    {
-      IRuntime runtimeTarget = (IRuntime)runtimeTargets.get(i);
-      String rtId = runtimeTarget.getRuntimeType().getId();
-      if (wssrtReg.doesRuntimeSupportServerTarget(rtId, webServiceRuntimeId));
-      {
-        suppRuntimeTargets.add(runtimeTarget);
-      }
-    }
-    return suppRuntimeTargets;
-  }  
-  
-  /**
    * Use this method to get a server factory id and instance id that is compatible with the given Web
    * service runtime.
    * @param webServiceRuntimeId
@@ -538,10 +463,9 @@
   public static String[] getServerFromWebServceRuntimeAndJ2EE(String webServiceRuntimeId, String j2eeVersion)
   {
     String[] serverInfo = new String[2];
-    //WebServiceServerRuntimeTypeRegistry wssrtReg = WebServiceServerRuntimeTypeRegistry.getInstance();
     
     //Get all possible valid servers. If there are none, we can't default intelligently, return null.
-    //String[] validServerFactoryIds = wssrtReg.getServerFactoryIDByRuntimeID(webServiceRuntimeId);
+
     WebServiceRuntimeInfo wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(webServiceRuntimeId);
     String[] validServerFactoryIds = wsrt.getServerFactoryIds();
     if (validServerFactoryIds==null || validServerFactoryIds.length<1)
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 718059f..d7dd937 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
@@ -11,8 +11,11 @@
 package org.eclipse.jst.ws.internal.consumption.ui.common;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.wsdl.Definition;
 import javax.wsdl.Port;
@@ -21,22 +24,34 @@
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.j2ee.internal.webservice.helper.WebServicesManager;
 import org.eclipse.jst.j2ee.webservice.internal.WebServiceConstants;
 import org.eclipse.jst.j2ee.webservice.wsdd.PortComponent;
 import org.eclipse.jst.j2ee.webservice.wsdd.WSDLPort;
 import org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription;
+import org.eclipse.jst.server.core.FacetUtil;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.ClientProjectTypeRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionListChoices;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.VersionFormatException;
 import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 /**
@@ -44,29 +59,133 @@
  */
 public class ValidationUtils
 {
-  MessageUtils msgUtils;
 
   /**
    * 
    */
   public ValidationUtils()
   {
-    String pluginId = WebServiceConsumptionUIPlugin.ID; //"org.eclipse.jst.ws.consumption.ui";
-    msgUtils = new MessageUtils( pluginId + ".plugin", this );
   }
   
-  public Status validateProjectTargetAndJ2EE(String projectName, String compName, String earName, String earCompName, String serverFactoryId, String j2eeLevel)
+  public boolean doesServerSupportProject(String serverFactoryId, String projectName)
+  {
+    IProject project = ProjectUtilities.getProject(projectName);
+    IFacetedProject fProject = null;
+    if (project.exists())
+    {
+      try
+      {
+        fProject = ProjectFacetsManager.create(project);
+      } catch (CoreException ce)
+      {
+
+      }
+      
+      if (fProject != null)
+      {
+        Set facets = fProject.getProjectFacets();
+        return doesServerSupportFacets(serverFactoryId, facets);
+      }
+      else
+      {
+        //If it's not a faceted project, we have nothing to compare to - assume it's good.
+        return true;
+      }
+    }
+    else
+    {
+      //If the project doesn't exist, we have nothing to compare to - assume it's good.
+      return true;      
+    }
+    
+  }
+
+  public boolean doesServerSupportFacets(String serverFactoryId, Set facets)
+  {
+    Set runtimes = FacetUtils.getRuntimes(new Set[]{facets});
+    Iterator itr = runtimes.iterator();
+    IServerType st = ServerCore.findServerType(serverFactoryId);        
+    String runtimeTypeId = st.getRuntimeType().getId();
+    while (itr.hasNext())
+    {
+      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);
+      if (runtimeTypeId.equals(sRuntime.getRuntimeType().getId()))
+      {
+        //found a match
+        return true;
+      }
+    }
+    
+    return false;    
+  }
+  
+  public boolean doesServerSupportTemplate(String serverFactoryId, String templateId)
+  {
+    IFacetedProjectTemplate template = ProjectFacetsManager.getTemplate(templateId);
+    Set templateFacets = template.getFixedProjectFacets();
+    Iterator templateFacetsItr = templateFacets.iterator();
+    while (templateFacetsItr.hasNext())
+    {
+      boolean serverSupportsThisOne = false;
+      IProjectFacet fixedFacet = (IProjectFacet)templateFacetsItr.next();      
+      List versions = null;
+      try
+      {
+        versions = fixedFacet.getSortedVersions(true);
+      } catch (VersionFormatException e)
+      {
+        Set versionSet = fixedFacet.getVersions();
+        Iterator itr = versionSet.iterator();
+        versions = new ArrayList();
+        while (itr.hasNext())
+        {
+            versions.add(itr.next());
+        }            
+      } catch (CoreException e)
+      {
+        Set versionSet = fixedFacet.getVersions();
+        Iterator itr = versionSet.iterator();
+        versions = new ArrayList();
+        while (itr.hasNext())
+        {
+            versions.add(itr.next());
+        }            
+      } 
+      Iterator versionsItr = versions.iterator();
+      while(versionsItr.hasNext())
+      {
+        IProjectFacetVersion pfv = (IProjectFacetVersion)versionsItr.next();
+        Set pfvs = new HashSet();
+        pfvs.add(pfv);
+        if (doesServerSupportFacets(serverFactoryId, pfvs))
+        {
+          serverSupportsThisOne = true;
+          break;
+        }        
+      }
+      
+      if (!serverSupportsThisOne)
+      {
+        return false;
+      }
+    }
+    
+    return true;
+  }
+  
+  public IStatus validateProjectTargetAndJ2EE(String projectName, String compName, String earName, String earCompName, String serverFactoryId, String j2eeLevel)
   {
     IProject p = ProjectUtilities.getProject(projectName);
     IProject earP = null;
     if (earName!=null && !earName.equalsIgnoreCase("")) {
     	earP = ProjectUtilities.getProject(earName);
     }
-    Status targetStatus = doesProjectTargetMatchServerType(p, serverFactoryId);
+    IStatus targetStatus = doesProjectTargetMatchServerType(p, serverFactoryId);
     if (earP!=null && targetStatus.getSeverity()==Status.OK)
     {
       //check the EAR      
-      Status earTargetStatus = doesProjectTargetMatchServerType(earP, serverFactoryId);
+      IStatus earTargetStatus = doesProjectTargetMatchServerType(earP, serverFactoryId);
       if(earTargetStatus.getSeverity()==Status.ERROR)
       {
         return earTargetStatus;
@@ -79,10 +198,10 @@
     
 
     //Validate service side J2EE level    
-    Status j2eeStatus = doesProjectMatchJ2EELevel(p, compName, j2eeLevel);
+    IStatus j2eeStatus = doesProjectMatchJ2EELevel(p, compName, j2eeLevel);
     if(earP!=null && j2eeStatus.getSeverity()==Status.OK)
     {
-      Status earJ2EEStatus = doesProjectMatchJ2EELevel(earP, earCompName, j2eeLevel);
+      IStatus earJ2EEStatus = doesProjectMatchJ2EELevel(earP, earCompName, j2eeLevel);
       if(earJ2EEStatus.getSeverity()==Status.ERROR)
       {
         return earJ2EEStatus;
@@ -93,10 +212,10 @@
       return j2eeStatus;
     }
     
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
-  private Status doesProjectTargetMatchServerType(IProject p, String serverFactoryId)
+  private IStatus doesProjectTargetMatchServerType(IProject p, String serverFactoryId)
   {
     if (p!=null && p.exists())
     {
@@ -109,21 +228,21 @@
         {
           if(!projectTargetId.equals(serverTargetId))
           { 
-            return new SimpleStatus("",msgUtils.getMessage("MSG_SERVER_TARGET_MISMATCH",new String[]{p.getName()}),Status.ERROR);
+            return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_SERVER_TARGET_MISMATCH,new String[]{p.getName()}) );
           }
         }
       }
     }
-    return new SimpleStatus("");        
+    return Status.OK_STATUS;        
   }
 
-  private Status doesProjectMatchJ2EELevel(IProject p, String compName, String j2eeLevel)
+  private IStatus doesProjectMatchJ2EELevel(IProject p, String compName, String j2eeLevel)
   {
 
     try {
 		if (p!=null && p.exists())
 		{
-  	  int projectJ2EELevel = J2EEUtils.getJ2EEVersion(p, compName);
+  	  int projectJ2EELevel = J2EEUtils.getJ2EEVersion(p);
 		  if (projectJ2EELevel!=-1)
 		  {
 		    String projectJ2EELevelString = String.valueOf(projectJ2EELevel);
@@ -131,7 +250,7 @@
 		    {
 		      if (!projectJ2EELevelString.equals(j2eeLevel))
 		      {
-		        return new SimpleStatus("",msgUtils.getMessage("MSG_J2EE_MISMATCH",new String[]{p.getName()}), Status.ERROR);
+		        return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_J2EE_MISMATCH,new String[]{p.getName()}) );
 		      }
 		    }
 		  }
@@ -140,12 +259,12 @@
     
   }
     
-    return new SimpleStatus("");        
+    return Status.OK_STATUS;        
   }
   
-  public Status validateProjectType(String projectName, SelectionListChoices runtime2ClientTypes)
+  public IStatus validateProjectType(String projectName, SelectionListChoices runtime2ClientTypes)
   {
-    Status status = new SimpleStatus("");
+    IStatus status = Status.OK_STATUS;
     IProject p = ProjectUtilities.getProject(projectName);
     if (p==null || !p.exists())
     {
@@ -169,20 +288,36 @@
     //Didn't find the project. Return an error.
     //Get the label for the client type id
     String clientTypeLabel = getClientTypeLabel(runtime2ClientTypes.getChoice().getList().getSelection());
-    String message = msgUtils.getMessage("MSG_WRONG_CLIENT_PROJECT_TYPE",new String[]{projectName, clientTypeLabel});
-    Status eStatus = new SimpleStatus("",message,Status.ERROR);
+    String message = NLS.bind(ConsumptionUIMessages.MSG_WRONG_CLIENT_PROJECT_TYPE,new String[]{projectName, clientTypeLabel});
+    IStatus eStatus = StatusUtils.errorStatus( message );
     return eStatus;
     
   }
   
+  
   private String getClientTypeLabel( String type )
-  {
-    ClientProjectTypeRegistry registry         = ClientProjectTypeRegistry.getInstance();
-    String                    clientTypeLabel  = null;
-    
-    clientTypeLabel = registry.getElementById(type).getAttribute("label");
-    
-    return clientTypeLabel;
+  {	  
+	  if (type.equals(IModuleConstants.JST_WEB_MODULE))
+	  {
+		  return ConsumptionUIMessages.LABEL_CLIENT_COMP_TYPE_WEB;
+	  }
+	  else if (type.equals(IModuleConstants.JST_EJB_MODULE))
+	  {
+		  return ConsumptionUIMessages.LABEL_CLIENT_COMP_TYPE_EJB;
+	  }
+	  else if (type.equals(IModuleConstants.JST_APPCLIENT_MODULE))
+	  {
+		  return ConsumptionUIMessages.LABEL_CLIENT_COMP_TYPE_APP_CLIENT;
+	  }
+	  else if (type.equals(IModuleConstants.JST_UTILITY_MODULE))
+	  {
+		  return ConsumptionUIMessages.LABEL_CLIENT_COMP_TYPE_CONTAINERLESS;
+	  }
+	  else
+	  {
+		  //No known label, return the typeId itself. 
+		  return type;
+	  }	  	  
   }  
   
   /**
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/ClientRootFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/ClientRootFragment.java
index c888d6f..d5fed5a 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/ClientRootFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/ClientRootFragment.java
@@ -11,10 +11,10 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.extension;
 
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.DataObjectCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.ws.internal.extensions.AssembleClientFragment;
 import org.eclipse.wst.ws.internal.extensions.DeployClientFragment;
 import org.eclipse.wst.ws.internal.extensions.DevelopClientFragment;
@@ -98,11 +98,13 @@
     
     registry.addMapping( PreClientDevelopCommand.class, "WebService", PreClientInstallCommand.class );
     registry.addMapping( PreClientDevelopCommand.class, "Project", PreClientInstallCommand.class );
+    registry.addMapping( PreClientDevelopCommand.class, "Context", PreClientInstallCommand.class );
     registry.addMapping( PreClientDevelopCommand.class, "Module", PreClientInstallCommand.class );
     registry.addMapping( PreClientDevelopCommand.class, "EarProject", PreClientInstallCommand.class );
     registry.addMapping( PreClientDevelopCommand.class, "Ear", PreClientInstallCommand.class );   
 
     registry.addMapping( PreClientDevelopCommand.class, "WebService", PreClientRunCommand.class );    
+    registry.addMapping( PreClientDevelopCommand.class, "Context", PreClientRunCommand.class );
 	
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientAssembleCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientAssembleCommand.java
index 15e2af3..85c79de 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientAssembleCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientAssembleCommand.java
@@ -11,15 +11,17 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.extension;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.command.common.AssociateModuleWithEARCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
-public class PreClientAssembleCommand extends SimpleCommand 
+public class PreClientAssembleCommand extends AbstractDataModelOperation 
 {
   private IWebServiceClient       webServiceClient_;
   private String                  project_;
@@ -28,13 +30,13 @@
   private String                  ear_;
   private String                  j2eeLevel_;
   
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    System.out.println("In Pre client assemble command.");
-
+    IEnvironment environment = getEnvironment();
+    
 	// Check if EAR module is req'd, ie. !=null
 	if (earProject_==null)
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	
     //Create the client EAR module
     CreateModuleCommand command = new CreateModuleCommand();
@@ -44,10 +46,11 @@
     command.setServerFactoryId(webServiceClient_.getWebServiceClientInfo().getServerFactoryId());
     command.setServerInstanceId( webServiceClient_.getWebServiceClientInfo().getServerInstanceId() );
     command.setJ2eeLevel(j2eeLevel_);
-    Status status = command.execute(environment);
+    command.setEnvironment( environment );
+    IStatus status = command.execute( monitor, adaptable );
     if (status.getSeverity()==Status.ERROR)
     {
-      environment.getStatusHandler().reportError(status);
+      environment.getStatusHandler().reportError( status );
       return status;
     }     
     
@@ -58,10 +61,11 @@
     associateCommand.setModule(module_);
     associateCommand.setEARProject(earProject_);
     associateCommand.setEar(ear_);
-    status = associateCommand.execute(environment);
+    associateCommand.setEnvironment( environment );
+    status = associateCommand.execute( monitor, adaptable );
     if (status.getSeverity()==Status.ERROR)
     {
-      environment.getStatusHandler().reportError(status);     
+      environment.getStatusHandler().reportError(  status );     
     }     
     
     return status;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDeployCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDeployCommand.java
index 9ed91ca..28203c6 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDeployCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDeployCommand.java
@@ -11,16 +11,16 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.extension;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
-public class PreClientDeployCommand extends SimpleCommand 
+public class PreClientDeployCommand extends AbstractDataModelOperation 
 {
-  public Status execute(Environment environment) 
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-	System.out.println( "In Pre client deploy command." );
-
-	return super.execute(environment);
+    return Status.OK_STATUS;
   }
 }
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 e4eac74..68e23e0 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
@@ -11,35 +11,38 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.extension;
 
-import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
-import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceRuntime;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceClientInfo;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceState;
-import org.eclipse.wst.ws.internal.wsrt.SimpleContext;
+import java.util.Set;
 
-public class PreClientDevelopCommand extends SimpleCommand 
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+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.FacetMatcher;
+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;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
+import org.eclipse.wst.ws.internal.wsrt.SimpleContext;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceClientInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceState;
+
+public class PreClientDevelopCommand extends AbstractDataModelOperation 
 {
-  /*	
-  private String ID_WEB = "org.eclipse.jst.ws.consumption.ui.clientProjectType.Web";
-  private String ID_EJB = "org.eclipse.jst.ws.consumption.ui.clientProjectType.EJB";
-  private String ID_APP_CLIENT = "org.eclipse.jst.ws.consumption.ui.clientProjectType.AppClient";
-  private String ID_JAVA = "org.eclipse.jst.ws.consumption.ui.clientProjectType.Containerless";
-  */
   
   private TypeRuntimeServer typeRuntimeServer_;
-  private Environment       environment_;
+  private String            clientRuntimeId_;
   private IContext          context_;
   private ISelection        selection_;
   private String            project_;
@@ -50,12 +53,16 @@
   private IWebServiceClient webServiceClient_;
   private String            j2eeLevel_;
   private ResourceContext   resourceContext_;
-	private boolean						test_;
+  private boolean						test_;
+  private boolean						install_;
+  private boolean						run_;
   private String            wsdlURI_;
   private Object            dataObject_;
 
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment environment = getEnvironment();
+    
     // Split up the project and module
     int index = module_.indexOf("/");
     if (index!=-1){
@@ -72,84 +79,72 @@
       }
     }    
     
-    IWebServiceRuntime wsrt = WebServiceRuntimeExtensionUtils
-        .getWebServiceRuntime(typeRuntimeServer_.getRuntimeId());
+    IWebServiceRuntime wsrt = WebServiceRuntimeExtensionUtils2
+        .getClientRuntime(clientRuntimeId_);
     WebServiceClientInfo wsInfo = new WebServiceClientInfo();
 
-    System.out.println("In Pre client develop command.");
-
-    wsInfo.setJ2eeLevel(j2eeLevel_);
     wsInfo.setServerFactoryId(typeRuntimeServer_.getServerId());
     wsInfo.setServerInstanceId(typeRuntimeServer_.getServerInstanceId());
     wsInfo.setState(WebServiceState.UNKNOWN_LITERAL);
     wsInfo.setWebServiceRuntimeId(typeRuntimeServer_.getRuntimeId());
     wsInfo.setWsdlURL(wsdlURI_);
     
-    environment_ = environment;
     webServiceClient_ = wsrt.getWebServiceClient(wsInfo);
     WebServiceScenario scenario = WebServiceScenario.CLIENT_LITERAL;
-    context_ = new SimpleContext(true, true, true, true, true, true, test_,
+    context_ = new SimpleContext(true, true, true, install_, run_, true, test_,
         false, scenario, resourceContext_.isOverwriteFilesEnabled(),
         resourceContext_.isCreateFoldersEnabled(), resourceContext_
             .isCheckoutFilesEnabled());
 
-    // Create the client module
+    IStatus status = Status.OK_STATUS;
 
-	int intModuleType = convertModuleType(moduleType_);
+    // Create the client module if needed.
+    IProject project = ProjectUtilities.getProject(project_);
+    if (!project.exists())
+    {
+      RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId_).getRequiredFacetVersions();
+      Set facetVersions = FacetUtils.getInitialFacetVersionsFromTemplate(moduleType_);
+      FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+      if (fm.isMatch())
+      {  
+        CreateFacetedProjectCommand command = new CreateFacetedProjectCommand();
+        command.setProjectName(project_);
+        command.setTemplateId(moduleType_);
+        command.setRequiredFacetVersions(rfv);
+        command.setServerFactoryId(typeRuntimeServer_.getServerId());
+        command.setServerInstanceId(typeRuntimeServer_.getServerInstanceId());
+        //command.setFacetMatcher(fm);
+        status = command.execute( monitor, adaptable );
+        if (status.getSeverity() == Status.ERROR)
+        {
+          environment.getStatusHandler().reportError( status );
+          return status;
+        }        
+      }            
+    }
 
-	CreateModuleCommand command = new CreateModuleCommand();
-	command.setProjectName(project_);
-	command.setModuleName(module_);
-	command.setModuleType(intModuleType);
-	command.setServerFactoryId(typeRuntimeServer_.getServerId());
-	command.setJ2eeLevel(j2eeLevel_);
-	Status status = command.execute(environment);		
-
-    // rsk todo -- once the clientProjectType extension is gone, determination
-    // of what type of module to create will have to be done.
-    //if (moduleType_.equals(ID_WEB)) command.setModuleType(CreateModuleCommand.WEB);
-    //if (moduleType_.equals(ID_EJB)) command.setModuleType(CreateModuleCommand.EJB);
-    //if (moduleType_.equals(ID_APP_CLIENT)) command.setModuleType(CreateModuleCommand.APPCLIENT);
-    
-    command.setServerInstanceId( typeRuntimeServer_.getServerInstanceId() );
-
-
+    //The project should now exist. Add facets if needed.
+    RequiredFacetVersion[] rfvs = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId_).getRequiredFacetVersions();
+    status = FacetUtils.addRequiredFacetsToProject(project, rfvs, monitor);
     if (status.getSeverity() == Status.ERROR)
     {
-      environment.getStatusHandler().reportError(status);
-    }
+      environment.getStatusHandler().reportError( status );
+      return status;
+    }              
+
     return status;
   }
   
-  private int convertModuleType(String type)
-  {
-	  if (type.equals(IModuleConstants.JST_WEB_MODULE))
-	  {
-		  return CreateModuleCommand.WEB;
-	  }
-	  else if (type.equals(IModuleConstants.JST_EJB_MODULE))
-	  {
-		  return CreateModuleCommand.EJB;
-	  }
-	  else if (type.equals(IModuleConstants.JST_APPCLIENT_MODULE))
-	  {
-		  return CreateModuleCommand.APPCLIENT;
-	  }
-	  else if (type.equals(IModuleConstants.JST_EAR_MODULE))
-	  {
-		  return CreateModuleCommand.EAR;
-	  }	  
-	  else
-	  {
-		  return -1;
-	  }
-  }
-  
   public void setClientTypeRuntimeServer( TypeRuntimeServer typeRuntimeServer )
   {
 	typeRuntimeServer_ = typeRuntimeServer;  
   }
   
+  public void setClientRuntimeId( String id)
+  {
+    clientRuntimeId_ = id;
+  }
+  
   public void setClientJ2EEVersion( String j2eeLevel )
   {
 	j2eeLevel_ = j2eeLevel;  
@@ -165,11 +160,6 @@
 	return webServiceClient_;  
   }
   
-  public Environment getEnvironment()
-  {
-	return environment_;
-  }
-  
   public IContext getContext()
   {
     return context_;
@@ -225,11 +215,21 @@
 	ear_ = ear;  
   }
 	
+  public void setInstallClient(boolean installClient)
+  {
+	install_ = installClient;
+  }	
+  
   public void setTestService(boolean testService)
   {
 	test_ = testService;
   }		
   
+  public void setStartService(boolean startService)
+  {
+	  run_ = startService;
+  }
+  
   public void setWsdlURI(String uri)
   {
     wsdlURI_ = uri;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientInstallCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientInstallCommand.java
index 22c9e07..c07be6b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientInstallCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientInstallCommand.java
@@ -11,64 +11,75 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.extension;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.command.common.AddModuleToServerCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateServerCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
-public class PreClientInstallCommand extends SimpleCommand 
+public class PreClientInstallCommand extends AbstractDataModelOperation 
 {
   private IWebServiceClient webServiceClient_;
   private String            project_;
   private String            module_;
   private String            earProject_;
   private String            ear_;
+  private IContext			context_;
   
-	  public Status execute(Environment environment) 
-	  {
-      if (webServiceClient_.getWebServiceClientInfo().getServerInstanceId()==null)
-      {
-        CreateServerCommand createServerCommand = new CreateServerCommand();
-        createServerCommand.setServerFactoryid(webServiceClient_.getWebServiceClientInfo().getServerFactoryId());
-        Status createServerStatus = createServerCommand.execute(environment);
-        if (createServerStatus.getSeverity()==Status.OK)
-        {
-          webServiceClient_.getWebServiceClientInfo().setServerInstanceId(createServerCommand.getServerInstanceId());
-        }
-        else
-        {
-          if (createServerStatus.getSeverity()==Status.ERROR)
-          {
-            environment.getStatusHandler().reportError(createServerStatus);
-          }               
-          return createServerStatus;
-        }
-      }
-        
-      
-      
-      AddModuleToServerCommand command = new AddModuleToServerCommand();
-      command.setServerInstanceId(webServiceClient_.getWebServiceClientInfo().getServerInstanceId());
-      if (earProject_ != null && earProject_.length()>0 && ear_!= null && ear_.length()>0)
-      {
-        command.setProject(earProject_);
-        command.setModule(ear_);
-      }
-      else
-      {
-        command.setProject(project_);
-        command.setModule(module_);       
-      }
-
-      Status status = command.execute(environment);
-      if (status.getSeverity()==Status.ERROR)
-      {
-        environment.getStatusHandler().reportError(status);
-      }     
-      return status;
-	  }
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {	  
+	  if (context_.getInstall())
+	  {  
+	      IEnvironment environment = getEnvironment();
+	      
+	      if (webServiceClient_.getWebServiceClientInfo().getServerInstanceId()==null)
+	      {
+	        CreateServerCommand createServerCommand = new CreateServerCommand();
+	        createServerCommand.setServerFactoryid(webServiceClient_.getWebServiceClientInfo().getServerFactoryId());
+	        createServerCommand.setEnvironment( environment );
+	        IStatus createServerStatus = createServerCommand.execute(null, null);
+	        if (createServerStatus.getSeverity()==Status.OK)
+	        {
+	          webServiceClient_.getWebServiceClientInfo().setServerInstanceId(createServerCommand.getServerInstanceId());
+	        }
+	        else
+	        {
+	          if (createServerStatus.getSeverity()==Status.ERROR)
+	          {
+	            environment.getStatusHandler().reportError( createServerStatus );
+	          }               
+	          return createServerStatus;
+	        }
+	      }
+	      
+	      AddModuleToServerCommand command = new AddModuleToServerCommand();
+	      command.setServerInstanceId(webServiceClient_.getWebServiceClientInfo().getServerInstanceId());
+	      if (earProject_ != null && earProject_.length()>0 && ear_!= null && ear_.length()>0)
+	      {
+	        command.setProject(earProject_);
+	        command.setModule(ear_);
+	      }
+	      else
+	      {
+	        command.setProject(project_);
+	        command.setModule(module_);       
+	      }
+	
+	      command.setEnvironment( environment );
+	      IStatus status = command.execute( null, null );
+	      if (status.getSeverity()==Status.ERROR)
+	      {
+	        environment.getStatusHandler().reportError( status );
+	      }     
+	      return status;
+	   }
+	   return Status.OK_STATUS;
+	}
 
     public void setProject( String project )
     {
@@ -94,4 +105,9 @@
     {
       webServiceClient_ = webServiceClient;  
     }    
+    
+    public void setContext(IContext context)
+    {
+    	context_ = context;
+    }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientRunCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientRunCommand.java
index 70ae569..bc48701 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientRunCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientRunCommand.java
@@ -11,31 +11,50 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.extension;
 
-import org.eclipse.jst.ws.internal.consumption.command.common.StartServerCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.command.StartServerCommand;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
-public class PreClientRunCommand extends SimpleCommand 
+public class PreClientRunCommand extends AbstractDataModelOperation 
 {
   private IWebServiceClient webServiceClient_;
+  private IContext context_;
 
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    System.out.println("In Pre client run command.");
-    StartServerCommand command = new StartServerCommand();
-    command.setServerInstanceId(webServiceClient_.getWebServiceClientInfo().getServerInstanceId());
-    Status status = command.execute(environment);
-    if (status.getSeverity()==Status.ERROR)
-    {
-      environment.getStatusHandler().reportError(status);       
-    }     
-    return status;    
+	  IStatus status = Status.OK_STATUS;
+	 
+	  if (context_.getRun())
+	  {
+	    IEnvironment environment = getEnvironment();   
+	    
+	    StartServerCommand command = new StartServerCommand();
+	    command.setServerInstanceId(webServiceClient_.getWebServiceClientInfo().getServerInstanceId());
+	    command.setEnvironment( environment );
+	    status = command.execute( monitor, null );
+	    if (status.getSeverity()==Status.ERROR)
+	    {
+	      environment.getStatusHandler().reportError( status );       
+	    } 
+	  }
+	  
+    return status;	  
   }
+	  
 
   public void setWebService( IWebServiceClient webServiceClient )
   {
     webServiceClient_ = webServiceClient;  
   }
+  
+  public void setContext(IContext context)
+  {
+	  context_=context;
+  }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/plugin/WebServiceConsumptionUIPlugin.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/plugin/WebServiceConsumptionUIPlugin.java
index 092411e..73175bb 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/plugin/WebServiceConsumptionUIPlugin.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/plugin/WebServiceConsumptionUIPlugin.java
@@ -14,11 +14,12 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.text.MessageFormat;
-
 import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jst.ws.internal.consumption.ui.preferences.PersistentProjectTopologyContext;
 import org.eclipse.jst.ws.internal.consumption.ui.preferences.PersistentServerRuntimeContext;
+import org.eclipse.jst.ws.internal.consumption.ui.preferences.ProjectTopologyContext;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
 
 
 /**
@@ -29,8 +30,6 @@
 */
 public class WebServiceConsumptionUIPlugin extends AbstractUIPlugin
 {
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2002.";
 
   /**
   * The identifier of the descriptor of this plugin in plugin.xml.
@@ -43,6 +42,7 @@
   private static WebServiceConsumptionUIPlugin instance_;
 
   private PersistentServerRuntimeContext serverRuntimeContext_;
+  private PersistentProjectTopologyContext projectTopologyContext_;
   
   /**
   * Constructs a runtime plugin object for this plugin.
@@ -124,6 +124,17 @@
     }
   }
 
+  public ProjectTopologyContext getProjectTopologyContext()
+  {
+    if (projectTopologyContext_ == null)
+    {
+      projectTopologyContext_ = new PersistentProjectTopologyContext();
+      projectTopologyContext_.load();
+    }
+    
+    return projectTopologyContext_;
+  }
+
   public PersistentServerRuntimeContext getServerRuntimeContext() 
 	{
 	  if (serverRuntimeContext_ == null)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/PersistentProjectTopologyContext.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/PersistentProjectTopologyContext.java
new file mode 100644
index 0000000..774c1de
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/PersistentProjectTopologyContext.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.preferences;
+
+import java.util.StringTokenizer;
+import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.wst.command.internal.env.context.PersistentContext;
+
+
+public class PersistentProjectTopologyContext extends PersistentContext implements ProjectTopologyContext
+{
+
+  public PersistentProjectTopologyContext () 
+  {
+	  super( WebServiceConsumptionUIPlugin.getInstance());
+  }
+  
+  public void load() 
+  {
+    String[] ids = ProjectTopologyDefaults.getClientTypes();
+    StringBuffer sb = new StringBuffer();
+    for (int i = 0; i < ids.length; i++)
+    {
+      if (i != 0)
+        sb.append(" ");
+      sb.append(ids[i]);
+    }
+    setDefault(PREFERENCE_CLIENT_TYPES, sb.toString());
+    setDefault(PREFERENCE_USE_TWO_EARS, ProjectTopologyDefaults.isUseTwoEARs());
+ }
+
+ public void setClientTypes(String[] ids)
+ {
+   StringBuffer sb = new StringBuffer();
+   for (int i = 0; i < ids.length; i++)
+   {
+     if (i != 0)
+       sb.append(" ");
+     sb.append(ids[i]);
+   }
+   setValue(PREFERENCE_CLIENT_TYPES, sb.toString());
+ }
+
+ public String[] getClientTypes()
+ {
+   StringTokenizer st = new StringTokenizer(getValueAsString(PREFERENCE_CLIENT_TYPES));
+   String[] s = new String[st.countTokens()];
+   for (int i = 0; i < s.length; i++)
+     s[i] = st.nextToken();
+   return s;
+ }
+
+ public void setUseTwoEARs(boolean use)
+ {
+   setValue(PREFERENCE_USE_TWO_EARS, use);
+ }
+ public boolean isUseTwoEARs()
+ {
+   return getValueAsBoolean(PREFERENCE_USE_TWO_EARS);
+ }
+
+ public ProjectTopologyContext copy() {
+ 	TransientProjectTopologyContext context = new TransientProjectTopologyContext();
+	context.setClientTypes(getClientTypes());
+	context.setUseTwoEARs(isUseTwoEARs());
+	return context;
+}
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/PersistentServerRuntimeContext.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/PersistentServerRuntimeContext.java
index 946f456..558e6b8 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/PersistentServerRuntimeContext.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/PersistentServerRuntimeContext.java
@@ -22,11 +22,10 @@
 	
 	private String PREFERENCE_SERVER = "PREFERENCE_SERVER";
 	private String PREFERENCE_RUNTIME = "PREFERENCE_RUNTIME";
-	private String PREFERENCE_J2EE_VERSION = "PREFERENCE_J2EE_VERSION";
+	//private String PREFERENCE_J2EE_VERSION = "PREFERENCE_J2EE_VERSION";
 	
 	private String SERVER_FACTORY_ID_DEFAULT = "org.eclipse.jst.server.tomcat.50";
 	private String RUNTIME_ID_DEFAULT = "org.eclipse.jst.ws.axis.creation.axisWebServiceRT";
-	private String J2EE_VERSION_DEFAULT = "14";
 	
 	public PersistentServerRuntimeContext()
 	{
@@ -50,13 +49,6 @@
 		{
 		  setDefault(PREFERENCE_RUNTIME, RUNTIME_ID_DEFAULT);
 		}
-
-		String j2eeDefault = getDefaultString(PREFERENCE_J2EE_VERSION);
-		if (j2eeDefault==null || j2eeDefault.length()==0)
-		{
-		  setDefault(PREFERENCE_J2EE_VERSION, J2EE_VERSION_DEFAULT);
-		}
-
 				
 	}
 	
@@ -70,11 +62,6 @@
 		return getDefaultString(PREFERENCE_RUNTIME);
 	}
 
-	public String getDefaultJ2EEVersion()
-	{
-		return getDefaultString(PREFERENCE_J2EE_VERSION);
-	}
-
 	public String getServerFactoryId()
 	{
 		String value = getValueAsString(PREFERENCE_SERVER); 
@@ -101,18 +88,6 @@
 		return value;		
 	}
 	
-	public String getJ2EEVersion()
-	{
-		String value = getValueAsString(PREFERENCE_J2EE_VERSION);
-		/*
-		if (value==null || value.length()==0)
-		{
-			value = J2EE_VERSION_DEFAULT; 
-			setJ2EEVersion(value);
-		}
-		*/
-		return value;		
-	}
 	
 	public void setServerFactoryId(String id)
 	{
@@ -123,9 +98,4 @@
 	{
 		setValue(PREFERENCE_RUNTIME, id);
 	}
-	
-	public void setJ2EEVersion(String version)
-	{
-		setValue(PREFERENCE_J2EE_VERSION, version);
-	}
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyContext.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyContext.java
new file mode 100644
index 0000000..023ad73
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyContext.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.preferences;
+
+public interface ProjectTopologyContext 
+{
+  /**
+    * This constant String is used to lookup the preferred order of the different client types
+  **/
+  public static final String PREFERENCE_CLIENT_TYPES = "clientTypes";
+  
+  /**
+    * This constant String is used to lookup the two EAR option
+  **/
+  public static final String PREFERENCE_USE_TWO_EARS = "useTwoEARs";
+  
+  public void setClientTypes(String[] ids);
+  public String[] getClientTypes();
+
+  public void setUseTwoEARs(boolean use);
+  public boolean isUseTwoEARs();
+
+  public ProjectTopologyContext copy();
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyDefaults.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyDefaults.java
new file mode 100644
index 0000000..113183c
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyDefaults.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.preferences;
+
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
+
+public class ProjectTopologyDefaults
+{
+  public static final String[] getClientTypes()
+  {
+    return WebServiceRuntimeExtensionUtils2.getAllClientProjectTypes();
+  }
+
+  public static final boolean isUseTwoEARs()
+  {
+    return true;
+  }
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyPreferencePage.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyPreferencePage.java
new file mode 100644
index 0000000..23b613b
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ProjectTopologyPreferencePage.java
@@ -0,0 +1,293 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.preferences;
+
+import java.util.Vector;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages;
+import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+
+
+
+public class ProjectTopologyPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, SelectionListener
+{
+  /*CONTEXT_ID PTPP0001 for the Project Topology Preference Page*/
+  private String INFOPOP_PTPP_PAGE = WebServiceUIPlugin.ID + ".PPTP0001";
+
+  private TableViewer clientTypeViewer_;
+  private Button moveUp_;
+  private Button moveDown_;
+  private Vector clientTypes_;
+
+  private Button twoEAR_;
+
+ /**
+   * Creates preference page controls on demand.
+   *   @param parent  the parent for the preference page
+   */
+  protected Control createContents(Composite superparent)
+  {
+    Composite   parent = new Composite( superparent, SWT.NONE );	
+    GridLayout layout = new GridLayout();
+    layout.numColumns = 1;
+    parent.setLayout( layout );
+    parent.setToolTipText(WSUIPluginMessages.TOOLTIP_PTPP_PAGE);
+    parent.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
+    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,INFOPOP_PTPP_PAGE);    
+
+    Text clientTypeLabel = new Text(parent, SWT.READ_ONLY | SWT.WRAP);
+    clientTypeLabel.setText(WSUIPluginMessages.LABEL_CLIENT_TYPE_NAME);
+    clientTypeLabel.setLayoutData( new GridData( GridData.FILL_HORIZONTAL));
+
+    Composite clientTypeComposite = new Composite(parent, SWT.NONE);
+    GridLayout gl = new GridLayout();
+    gl.numColumns = 2;
+    gl.marginHeight = 0;
+    gl.marginWidth = 0;
+    clientTypeComposite.setLayout(gl);
+    clientTypeComposite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ));
+
+    Table table= new Table(clientTypeComposite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
+    GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
+    gd.widthHint = 256;
+    table.setLayoutData(gd);
+    table.setToolTipText(WSUIPluginMessages.TOOLTIP_CLIENT_TYPE_TABLE_VIEWER);
+
+    clientTypes_ = new Vector();
+    clientTypeViewer_ = new TableViewer(table);
+    clientTypeViewer_.setContentProvider(new ClientTypeContentProvider());
+    clientTypeViewer_.setLabelProvider(new ClientTypeLabelProvider());
+    clientTypeViewer_.setInput(clientTypes_);
+
+    TableLayout tableLayout = new TableLayout();
+    TableColumn tableColumn = new TableColumn(table, SWT.NONE);
+    tableColumn.setText(WSUIPluginMessages.LABEL_CLIENT_TYPE_NAME);
+    ColumnWeightData columnData = new ColumnWeightData(256, 256, false);
+    tableLayout.addColumnData(columnData);
+    table.setLayout(tableLayout);
+
+    Composite c = new Composite(clientTypeComposite, SWT.NONE);
+    gl = new GridLayout();
+    gl.numColumns = 1;
+    gl.marginHeight = 10;
+    gl.marginWidth = 0;
+    c.setLayout(gl);
+
+    moveUp_ = new Button(c, SWT.PUSH);
+    moveUp_.setText(WSUIPluginMessages.LABEL_MOVE_UP);
+    moveUp_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+    moveUp_.addSelectionListener(this);
+    moveUp_.setToolTipText(WSUIPluginMessages.TOOLTIP_MOVE_UP);
+
+    moveDown_ = new Button(c, SWT.PUSH);
+    moveDown_.setText(WSUIPluginMessages.LABEL_MOVE_DOWN);
+    moveDown_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+    moveDown_.addSelectionListener(this);
+    moveDown_.setToolTipText(WSUIPluginMessages.TOOLTIP_MOVE_DOWN);
+
+    twoEAR_ = new Button(parent, SWT.CHECK | SWT.WRAP );
+    twoEAR_.setText(WSUIPluginMessages.LABEL_ENABLE_TWO_EARS);
+    twoEAR_.setToolTipText(WSUIPluginMessages.TOOLTIP_ENABLE_TWO_EARS);
+
+    initializeValues();
+    org.eclipse.jface.dialogs.Dialog.applyDialogFont(superparent);    
+
+    return parent;
+  }
+  
+  /**
+   * Does anything necessary because the default button has been pressed.
+   */
+  protected void performDefaults()
+  {
+    super.performDefaults();
+    initializeDefaults();
+  }
+
+  /**
+   * Do anything necessary because the OK button has been pressed.
+   *  @return whether it is okay to close the preference page
+   */
+  public boolean performOk()
+  {
+    storeValues();
+    return true;
+  }
+
+  protected void performApply()
+  {
+    performOk();
+  }
+
+  /**
+   * @see IWorkbenchPreferencePage
+   */
+  public void init(IWorkbench workbench)  { }
+
+  /**
+   * Initializes states of the controls to their burned-in defaults.
+   */
+  private void initializeDefaults()
+  {
+    clientTypes_.clear();
+    String[] types = ProjectTopologyDefaults.getClientTypes();
+    
+    for (int i = 0; i < types.length; i++)
+    {
+      clientTypes_.add(types[i]);
+    }
+    
+    clientTypeViewer_.refresh();
+    twoEAR_.setSelection(true);
+  }
+  
+  /**
+   * Initializes states of the controls from the preference helper.
+   */
+  private void initializeValues()
+  {
+    ProjectTopologyContext context = WebServiceConsumptionUIPlugin.getInstance().getProjectTopologyContext();
+    String[] types = context.getClientTypes();
+    for (int i = 0; i < types.length; i++)
+      clientTypes_.add(types[i]);
+    // check whether we missed any types from the default list
+    boolean missed = false;
+    types = ProjectTopologyDefaults.getClientTypes();
+    for (int i = 0; i < types.length; i++)
+    {
+      if (clientTypes_.indexOf(types[i]) == -1)
+      {
+        clientTypes_.add(types[i]);
+        missed = true;
+      }
+    }
+    if (missed)
+    {
+      types = new String[clientTypes_.size()];
+      clientTypes_.copyInto(types);
+      context.setClientTypes(types);
+    }
+    // refresh viewer
+    clientTypeViewer_.refresh();
+    twoEAR_.setSelection(context.isUseTwoEARs());
+   }
+
+  /**
+   * Stores the values of the controls back to the preference helper.
+   */
+  private void storeValues()
+  {
+    ProjectTopologyContext context = WebServiceConsumptionUIPlugin.getInstance().getProjectTopologyContext();
+    String[] types = new String[clientTypes_.size()];
+    clientTypes_.copyInto(types);
+    context.setClientTypes(types);
+    context.setUseTwoEARs(twoEAR_.getSelection());
+  }
+
+  public void widgetDefaultSelected(SelectionEvent e)
+  {
+  }
+
+  public void widgetSelected(SelectionEvent e)
+  {
+    int index = clientTypeViewer_.getTable().getSelectionIndex();
+    if (index != -1)
+    {
+      if (e.widget == moveUp_ && index > 0)
+      {
+        Object object = clientTypes_.remove(index);
+        clientTypes_.insertElementAt(object, index-1);
+        clientTypeViewer_.refresh();
+      }
+      else if (e.widget == moveDown_ && index < clientTypes_.size()-1)
+      {
+        Object object = clientTypes_.remove(index);
+        clientTypes_.insertElementAt(object, index+1);
+        clientTypeViewer_.refresh();
+      }
+    }
+  }
+
+  private class ClientTypeContentProvider implements IStructuredContentProvider
+  {
+    /**
+     * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
+     */
+    public Object[] getElements(Object value) 
+    {
+      return ((Vector)value).toArray(new String[0]);
+    }
+
+    /**
+     * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+     */
+    public void dispose() 
+    {
+    }
+
+    /**
+     * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
+     */
+    public void inputChanged(Viewer arg0, Object arg1, Object arg2) 
+    {
+    }
+  }
+
+  private class ClientTypeLabelProvider extends LabelProvider
+  {
+    public ClientTypeLabelProvider()
+    {
+    }
+
+    /**
+    * @see org.eclipse.jface.viewers.ILabelProvider#getImage(Object)
+    */
+    public Image getImage(Object arg0) 
+    { 
+      return null;
+    }
+
+    /**
+     * @see org.eclipse.jface.viewers.ILabelProvider#getText(Object)
+     */
+    public String getText(Object value) 
+    {
+      IFacetedProjectTemplate template = ProjectFacetsManager.getTemplate( (String)value );
+      
+      return template.getLabel();
+    }
+  }
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ServerRuntimePreferencePage.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ServerRuntimePreferencePage.java
index 50cf571..54f647f 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ServerRuntimePreferencePage.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/ServerRuntimePreferencePage.java
@@ -14,9 +14,9 @@
 import java.util.ArrayList;
 
 import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -28,8 +28,7 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionListChoices;
 
 
 /**
@@ -38,7 +37,6 @@
 public class ServerRuntimePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, Listener 
 {
 	private String pluginId_= "org.eclipse.jst.ws.consumption.ui";
-	private MessageUtils msgUtils_;
 	
 	/* CONTEXT_ID SRPF0001 for server preference on the server runtime preference page */
 	private String INFOPOP_SRPF_SERVER_PREF = pluginId_ + ".SRPF0001";
@@ -49,8 +47,10 @@
 	private Combo runtime_;	
 
 	/* CONTEXT_ID SRPF0003 for J2EE version preference on the server runtime preference page */
+    /*
 	private String INFOPOP_SRPF_J2EE_PREF = pluginId_ + ".SRPF0003";
 	private Combo j2eeVersion_;
+    */
 	
 	SelectionListChoices serverToRuntimeToJ2EE_;
 	
@@ -60,9 +60,7 @@
 	 */
 	protected Control createContents(Composite parent) 
 	{
-	  
-	  msgUtils_ = new MessageUtils(pluginId_ + ".plugin", this);
-	  UIUtils uiUtils = new UIUtils(msgUtils_, pluginId_);
+	  UIUtils uiUtils = new UIUtils(pluginId_);
 	  
 	  Composite page = new Composite(parent, SWT.NONE);
 	  GridLayout gl = new GridLayout();
@@ -71,20 +69,22 @@
 	  GridData gd = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL);
 	  page.setLayoutData(gd);
 	  
-	  server_ = uiUtils.createCombo(page,"LABEL_SERVERS_LIST",
-	  		                        "TOOLTIP_SRPF_COMBO_SERVER",
+	  server_ = uiUtils.createCombo(page,ConsumptionUIMessages.LABEL_SERVERS_LIST,
+			  ConsumptionUIMessages.TOOLTIP_SRPF_COMBO_SERVER,
 									INFOPOP_SRPF_SERVER_PREF,
 									SWT.SINGLE|SWT.BORDER|SWT.READ_ONLY);
 	  
-	  runtime_ = uiUtils.createCombo(page,"LABEL_RUNTIMES_LIST",
-	  		                         "TOOLTIP_SRPF_COMBO_RUNTIME",
+	  runtime_ = uiUtils.createCombo(page,ConsumptionUIMessages.LABEL_RUNTIMES_LIST,
+			  ConsumptionUIMessages.TOOLTIP_SRPF_COMBO_RUNTIME,
 									 INFOPOP_SRPF_RUNTIME_PREF,
 									 SWT.SINGLE|SWT.BORDER|SWT.READ_ONLY);
-	  
-	  j2eeVersion_ = uiUtils.createCombo(page,"LABEL_J2EE_VERSION",
-                                         "TOOLTIP_SRPF_COMBO_J2EE",
+
+/*
+	  j2eeVersion_ = uiUtils.createCombo(page,ConsumptionUIMessages.LABEL_J2EE_VERSION,
+			  ConsumptionUIMessages.TOOLTIP_SRPF_COMBO_J2EE,
 			                             INFOPOP_SRPF_J2EE_PREF,
 			                             SWT.SINGLE|SWT.BORDER|SWT.READ_ONLY);	  
+*/
 
 	  initializeValues();
 	  startListening();
@@ -94,8 +94,7 @@
 	private void initializeValues()
 	{
 		PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-		//serverToRuntimeToJ2EE_ = WebServiceServerRuntimeTypeRegistry.getInstance().getServerToRuntimeToJ2EE();
-    serverToRuntimeToJ2EE_ = WebServiceRuntimeExtensionUtils.getServerToRuntimeToJ2EE();
+        serverToRuntimeToJ2EE_ = WebServiceRuntimeExtensionUtils2.getServerToRuntimeToJ2EE();
 
 
 		setServerItems(serverToRuntimeToJ2EE_.getList().getList());
@@ -106,13 +105,7 @@
 		setRuntimeItems(serverToRuntimeToJ2EE_.getChoice().getList().getList());
 		String defaultRuntimeText = context.getRuntimeId();
 		serverToRuntimeToJ2EE_.getChoice().getList().setSelectionValue(defaultRuntimeText);
-		setRuntimeSelection(defaultRuntimeText);
-		
-		setJ2EEItems(serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getList());
-		String defaultJ2EEVersion = context.getJ2EEVersion();
-		serverToRuntimeToJ2EE_.getChoice().getChoice().getList().setSelectionValue(defaultJ2EEVersion);
-		setJ2EESelection(defaultJ2EEVersion);
-		
+		setRuntimeSelection(defaultRuntimeText);			
 	}
 	
 	public void handleEvent(Event event)
@@ -125,10 +118,6 @@
 		{
 			handleRuntimeSelected();
 		}
-		else if (j2eeVersion_ == event.widget)
-		{			
-			handleJ2EESelected();
-		}			
 	}
 
 	private void handleServerSelected()
@@ -145,23 +134,7 @@
 		
 		String newRuntimeText = serverToRuntimeToJ2EE_.getChoice().getList().getSelection();
 		if (newRuntimeText!=null && newRuntimeText.length()>0)
-			setRuntimeSelection(newRuntimeText);
-		
-		//Update the j2ee version -------------------------------
-		if (newRuntimeText!=null && newRuntimeText.length()>0)
-		{
-		  setJ2EEItems(serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getList());
-		  if (serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getList().length > 0)
-			  serverToRuntimeToJ2EE_.getChoice().getChoice().getList().setIndex(0);
-			
-			String newJ2EEText = serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getSelection();
-			if (newJ2EEText!=null && newJ2EEText.length()>0)
-				setJ2EESelection(newJ2EEText);
-		}
-		else
-		{
-		  setJ2EEItems(new String[0]);
-		}
+			setRuntimeSelection(newRuntimeText);		
 		
 		startListening();
 	}
@@ -171,29 +144,11 @@
 		stopListening();
 		
 		String selectedText = getRuntimeSelection();
-		serverToRuntimeToJ2EE_.getChoice().getList().setSelectionValue(selectedText);
-		
-		//Update the j2ee version -------------------------------
-		setJ2EEItems(serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getList());
-		if (serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getList().length > 0)
-		  serverToRuntimeToJ2EE_.getChoice().getChoice().getList().setIndex(0);
-		
-		String newJ2EEText = serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getSelection();
-		if (newJ2EEText!=null && newJ2EEText.length()>0)
-			setJ2EESelection(newJ2EEText);
-				
+		serverToRuntimeToJ2EE_.getChoice().getList().setSelectionValue(selectedText);						
 		startListening();		
 	}
 	
-	private void handleJ2EESelected()
-	{
-		stopListening();
-		
-		String selectedText = getJ2EESelection();
-		serverToRuntimeToJ2EE_.getChoice().getChoice().getList().setSelectionValue(selectedText);
-		
-		startListening();
-	}
+
     /**
 	 * Does anything necessary because the default button has been pressed.
 	*/
@@ -215,11 +170,6 @@
 		String defaultRuntimeText = context.getDefaultRuntimeId();
 		serverToRuntimeToJ2EE_.getChoice().getList().setSelectionValue(defaultRuntimeText);
 		setRuntimeSelection(defaultRuntimeText);
-		
-		setJ2EEItems(serverToRuntimeToJ2EE_.getChoice().getChoice().getList().getList());
-		String defaultJ2EEVersion = context.getDefaultJ2EEVersion();
-		serverToRuntimeToJ2EE_.getChoice().getChoice().getList().setSelectionValue(defaultJ2EEVersion);
-		setJ2EESelection(defaultJ2EEVersion);		
 	}
 
 	/**
@@ -236,8 +186,7 @@
 	{
       PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
       context.setServerFactoryId(getServerSelection());
-      context.setRuntimeId(getRuntimeSelection());
-      context.setJ2EEVersion(getJ2EESelection());
+      context.setRuntimeId(getRuntimeSelection());      
 	}
 	
 	protected void performApply()
@@ -250,14 +199,12 @@
 	{
 	  server_.addListener(SWT.Selection,this);
 	  runtime_.addListener(SWT.Selection,this);
-	  j2eeVersion_.addListener(SWT.Selection,this);
 	}
 
 	private void stopListening()
 	{
 	  server_.removeListener(SWT.Selection, this);
 	  runtime_.removeListener(SWT.Selection, this);
-	  j2eeVersion_.removeListener(SWT.Selection, this);
 	}
 
 	private void setServerItems(String[] factoryIds)
@@ -268,9 +215,8 @@
 	    ArrayList serverLabelsList = new ArrayList();
 		  for (int i=0;i<factoryIds.length;i++)
 		  {
-			  String thisFactoryId = factoryIds[i];
 			  //String thisServerLabel = WebServiceServerRuntimeTypeRegistry.getInstance().getServerLabel(factoryIds[i]);
-        String thisServerLabel = WebServiceRuntimeExtensionUtils.getServerLabelById(factoryIds[i]);
+        String thisServerLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(factoryIds[i]);
 			  if (thisServerLabel!=null && thisServerLabel.length()>0)
 			  {
 			    serverLabelsList.add(thisServerLabel);
@@ -291,13 +237,14 @@
 		for (int i=0;i<ids.length;i++)
 		{
 		  //runtimeLabels[i] = WebServiceServerRuntimeTypeRegistry.getInstance().getRuntimeLabel(ids[i]);
-      runtimeLabels[i] = WebServiceRuntimeExtensionUtils.getRuntimeLabelById(ids[i]);
+      runtimeLabels[i] = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(ids[i]);
 		}
 		runtime_.setItems(runtimeLabels);
 	  }
 		
 	}
 	
+    /*
     private void setJ2EEItems(String[] versions)
     {
       if (versions != null)
@@ -309,7 +256,7 @@
           if (label != null && label.length()>0)
             j2eeLabels[i] = label;
           else
-            j2eeLabels[i] = msgUtils_.getMessage("LABEL_NA");
+            j2eeLabels[i] = ConsumptionUIMessages.LABEL_NA;
         }
         j2eeVersion_.setItems(j2eeLabels);
         
@@ -321,46 +268,51 @@
       }
         
     }
+    */
 	
 	private String getServerSelection()
 	{
 	  String serverLabel = server_.getText();
 	  //return WebServiceServerRuntimeTypeRegistry.getInstance().getServerFactoryId(serverLabel);
-    return WebServiceRuntimeExtensionUtils.getServerFactoryId(serverLabel);
+    return WebServiceRuntimeExtensionUtils2.getServerFactoryId(serverLabel);
 	}
 	
 	private String getRuntimeSelection()
 	{
       String runtimeLabel = runtime_.getText();
 	  //return WebServiceServerRuntimeTypeRegistry.getInstance().getRuntimeId(runtimeLabel);
-      return WebServiceRuntimeExtensionUtils.getRuntimeId(runtimeLabel);
+      return WebServiceRuntimeExtensionUtils2.getRuntimeId(runtimeLabel);
 	}
 	
+    /*
 	private String getJ2EESelection()
 	{
 	  String j2eeLabel = j2eeVersion_.getText();
 	  return J2EEUtils.getJ2EEVersionFromLabel(j2eeLabel);		
 	}
+    */
 	
 	private void setServerSelection(String factoryId)
 	{
 		//String label = WebServiceServerRuntimeTypeRegistry.getInstance().getServerLabel(factoryId);
-    String label = WebServiceRuntimeExtensionUtils.getServerLabelById(factoryId);
+    String label = WebServiceRuntimeExtensionUtils2.getServerLabelById(factoryId);
 		setSelection(server_,label);
 	}
 	
 	private void setRuntimeSelection(String id)
 	{
 		//String label = WebServiceServerRuntimeTypeRegistry.getInstance().getRuntimeLabel(id);
-    String label = WebServiceRuntimeExtensionUtils.getRuntimeLabelById(id);
+    String label = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(id);
 		setSelection(runtime_,label);		
 	}
 	
+    /*
 	private void setJ2EESelection(String version)
 	{
 	  String label = J2EEUtils.getLabelFromJ2EEVersion(version);
       setSelection(j2eeVersion_, label);
 	}
+    */
 	
 	private void setSelection(Combo combo, String s)
 	{
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/TransientProjectTopologyContext.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/TransientProjectTopologyContext.java
new file mode 100644
index 0000000..0737788
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/preferences/TransientProjectTopologyContext.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.preferences;
+
+
+public class TransientProjectTopologyContext implements ProjectTopologyContext
+{
+ private String[] clientTypes;
+ private boolean twoEARs;
+ 
+ public TransientProjectTopologyContext () {}
+
+ public void setClientTypes(String[] clientTypes)
+ {
+   this.clientTypes = clientTypes;
+ }
+ public String[] getClientTypes()
+ {
+   return clientTypes;
+ }
+
+ public void setUseTwoEARs(boolean use)
+ {
+   this.twoEARs = use;
+ }
+ public boolean isUseTwoEARs()
+ {
+   return twoEARs;
+ }
+
+ public ProjectTopologyContext copy() {
+ 	TransientProjectTopologyContext context = new TransientProjectTopologyContext();
+	context.setClientTypes(getClientTypes());
+	context.setUseTwoEARs(isUseTwoEARs());
+	return context;
+ }
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/selection/SelectionTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/selection/SelectionTransformer.java
index 96b9860..932c8af 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/selection/SelectionTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/selection/SelectionTransformer.java
@@ -13,7 +13,7 @@
 
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.Selection;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 public class SelectionTransformer implements Transformer 
 {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetContributor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetContributor.java
index a08597e..4a5a76d 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetContributor.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetContributor.java
@@ -11,26 +11,24 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.server;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
 import org.eclipse.wst.server.core.IServer;
 
 public class StartClientWidgetContributor implements INamedWidgetContributor 
 {
   private IServer      server_;
-  private MessageUtils msgUtils_;
 	  
   public StartClientWidgetContributor( IServer server )
   {
 	server_ = server;
-	msgUtils_ = new  MessageUtils( "org.eclipse.jst.ws.consumption.ui.plugin", this );
   }
   
   public String getDescription() 
   {
-	return msgUtils_.getMessage( "PAGE_DESC_WS_START_SERVER" );
+	return ConsumptionUIMessages.PAGE_DESC_WS_START_SERVER;
   }
 
   public String getName() 
@@ -40,7 +38,7 @@
 
   public String getTitle() 
   {
-	return msgUtils_.getMessage( "PAGE_TITLE_WS_START_SERVER" );
+	return ConsumptionUIMessages.PAGE_TITLE_WS_START_SERVER;
   }
 
   public WidgetContributorFactory getWidgetContributorFactory() 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetFactory.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetFactory.java
index 77f3dc2..09ea367 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetFactory.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartClientWidgetFactory.java
@@ -12,12 +12,12 @@
 package org.eclipse.jst.ws.internal.consumption.ui.server;
 
 import org.eclipse.jst.ws.internal.consumption.ui.extension.PreClientDevelopCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributorFactory;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributor;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributorFactory;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
 public class StartClientWidgetFactory implements INamedWidgetContributorFactory 
 {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartServerWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartServerWidget.java
index e339a22..0908605 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartServerWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/server/StartServerWidget.java
@@ -13,14 +13,18 @@
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.IJobChangeEvent;
 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.wizard.ProgressMonitorPart;
-import org.eclipse.jst.ws.internal.consumption.command.common.StartServerCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.command.StartServerCommand;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -33,28 +37,24 @@
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
 import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseStatusHandler;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.NullStatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
+import org.eclipse.wst.common.environment.NullStatusHandler;
 import org.eclipse.wst.server.core.IServer;
 
 public class StartServerWidget extends SimpleWidgetDataContributor 
 {
   private IServer             server_;
-  private Status              status_;
+  private IStatus              status_;
   private Listener            statusListener_;
   private Button              button_;
   private JobChangeAdapter    jobChangeAdapter_;
   private Text                serverStateText_;
   private ProgressMonitorPart progressMonitor_;
-  private MessageUtils        msgUtils_;
   private String              pluginId_;
   private Composite           buttonGroup_;
     
@@ -64,7 +64,6 @@
   public StartServerWidget( IServer server )
   {
 	pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-	msgUtils_ = new MessageUtils( pluginId_ + ".plugin", this );
 		
     server_ = server;
     
@@ -92,36 +91,36 @@
   {
 	statusListener_ = statusListener;
 	
-	UIUtils      uiUtils     = new UIUtils( msgUtils_, pluginId_ );
+	UIUtils      uiUtils     = new UIUtils( pluginId_ );
 	Composite    group       = uiUtils.createComposite( parent, 1 );
 	
 	Text         text1        = uiUtils.createText( group, null, null, null, SWT.READ_ONLY );
-	text1.setText( msgUtils_.getMessage( "LABEL_START_SERVER_TEXT1", new String[]{ server_.getName() } ));
+	text1.setText( NLS.bind(ConsumptionUIMessages.LABEL_START_SERVER_TEXT1, new String[]{ server_.getName() } ));
 	
 	Text         text2        = uiUtils.createText( group, null, null, null, SWT.READ_ONLY );
-	text2.setText( msgUtils_.getMessage( "LABEL_START_SERVER_TEXT2", new String[]{ server_.getName() } ));
+	text2.setText( NLS.bind(ConsumptionUIMessages.LABEL_START_SERVER_TEXT2, new String[]{ server_.getName() } ));
 	
 	Text         text3        = uiUtils.createText( group, null, null, null, SWT.READ_ONLY );
-	text3.setText( msgUtils_.getMessage( "LABEL_START_SERVER_TEXT3", new String[]{ server_.getName() } ));
+	text3.setText( NLS.bind(ConsumptionUIMessages.LABEL_START_SERVER_TEXT3, new String[]{ server_.getName() } ));
 	
 	Text         text4        = uiUtils.createText( group, null, null, null, SWT.READ_ONLY );
-	text4.setText( msgUtils_.getMessage( "LABEL_START_SERVER_TEXT4", new String[]{ server_.getName() } )); 
+	text4.setText( NLS.bind(ConsumptionUIMessages.LABEL_START_SERVER_TEXT4, new String[]{ server_.getName() } )); 
 	
 	buttonGroup_ = uiUtils.createComposite( group, 2,-1, 0 );
 	serverStateText_ = uiUtils.createText( buttonGroup_, null, null, null, SWT.READ_ONLY );
 	serverStateText_.setLayoutData( new GridData() );
 		
 	button_ = uiUtils.createPushButton( buttonGroup_, 
-	                                    "LABEL_START_SERVER_BUTTON",
-			                            "TOOLTIP_START_SERVER_BUTTON",
+			ConsumptionUIMessages.LABEL_START_SERVER_BUTTON,
+			ConsumptionUIMessages.TOOLTIP_START_SERVER_BUTTON,
 			                            INFOPOP_SSWP_SERVER_BUTTON );
 	
 	button_.addSelectionListener( new SelectionAdapter()
 			                      {
 									 public void widgetSelected( SelectionEvent evt )
 		                             {
-			                       	   serverStateText_.setText( getStateMessage( "TEXT_SERVER_STATUS", "TEXT_SERVER_STARTING" ) );
-			                    	   progressMonitor_.beginTask( getStateMessage( "TEXT_SERVER_MSG", "TEXT_SERVER_STARTING" ), IProgressMonitor.UNKNOWN );
+			                       	   serverStateText_.setText( getStateMessage( ConsumptionUIMessages.TEXT_SERVER_STATUS, ConsumptionUIMessages.TEXT_SERVER_STARTING ) );
+			                    	   progressMonitor_.beginTask( getStateMessage( ConsumptionUIMessages.TEXT_SERVER_MSG, ConsumptionUIMessages.TEXT_SERVER_STARTING ), IProgressMonitor.UNKNOWN );
 			                    	   button_.setEnabled( false );
 			                    	   buttonGroup_.pack();
 		                               startServerJob();
@@ -135,7 +134,7 @@
 	return this;
   }
 
-  public Status getStatus() 
+  public IStatus getStatus() 
   {
 	return status_;
   }
@@ -148,19 +147,19 @@
 	{
 	  case IServer.STATE_STARTED:
 	  {
-		status_ = new SimpleStatus( "" );
+		status_ = Status.OK_STATUS;
 		button_.setEnabled( false );
-		serverStateText_.setText( getStateMessage( "TEXT_SERVER_STATUS", "TEXT_SERVER_STARTED" ) );
+		serverStateText_.setText( getStateMessage( ConsumptionUIMessages.TEXT_SERVER_STATUS, ConsumptionUIMessages.TEXT_SERVER_STARTED ) );
 		
 	    break;	  
 	  }
 	  
 	  case IServer.STATE_STARTING:
 	  {
-		status_ = new SimpleStatus( "", "", Status.ERROR );
+		status_ = StatusUtils.errorStatus( "" );
 		button_.setEnabled( false );  
-		serverStateText_.setText( getStateMessage( "TEXT_SERVER_STATUS", "TEXT_SERVER_STARTING" ) );
-		progressMonitor_.beginTask( getStateMessage( "TEXT_SERVER_MSG", "TEXT_SERVER_STARTING" ), IProgressMonitor.UNKNOWN );
+		serverStateText_.setText( getStateMessage( ConsumptionUIMessages.TEXT_SERVER_STATUS, ConsumptionUIMessages.TEXT_SERVER_STARTING ) );
+		progressMonitor_.beginTask( getStateMessage( ConsumptionUIMessages.TEXT_SERVER_MSG, ConsumptionUIMessages.TEXT_SERVER_STARTING ), IProgressMonitor.UNKNOWN );
 		
 		// The server is still starting so we need to reconnect to the job
 		// that is starting it.
@@ -170,9 +169,9 @@
 	  
 	  default:
 	  {
-		status_ = new SimpleStatus( "", "", Status.ERROR );
+		status_ = StatusUtils.errorStatus( "" );
         button_.setEnabled( true );
-		serverStateText_.setText( getStateMessage( "TEXT_SERVER_STATUS", "TEXT_SERVER_STOPPED" ) );
+		serverStateText_.setText( getStateMessage( ConsumptionUIMessages.TEXT_SERVER_STATUS, ConsumptionUIMessages.TEXT_SERVER_STOPPED ) );
 		break;  
 	  }
 	};
@@ -183,7 +182,7 @@
   
   private String getStateMessage( String mainKey, String subKey )
   {
-	return msgUtils_.getMessage( mainKey, new String[]{ msgUtils_.getMessage( subKey ) } );
+	return NLS.bind( mainKey, new String[]{ subKey } );
   }
   
   // Connect to an existing server thread otherwise start a new one.
@@ -210,7 +209,7 @@
 	{
 	  synchronized( StartServerFamily ) 
 	  {
-        Status status = startServerJob.getStatus();
+        IStatus status = startServerJob.getStatus();
         
         // We are using status to determine if the job has completed or not.
         // Normally, we would not get here if the job had already completed,
@@ -228,7 +227,7 @@
           // Note: this job was reporting progress to different progressMonitor_
           //       control.  We need to tell the job that it should report progress
           //       to our new progressMonitor_ control on this wizard page.
-          ProgressMonitorWrapper monitor = (ProgressMonitorWrapper)startServerJob.getMonitor().getMonitor();
+          ProgressMonitorWrapper monitor = (ProgressMonitorWrapper)startServerJob.getMonitor();
           monitor.setMonitor( progressMonitor_ );
         }
         else
@@ -250,15 +249,15 @@
      
   private void reportErrorIfRequired( StartServerJob serverJob )
   {
-	Status status = serverJob.getStatus();
+	  IStatus status = serverJob.getStatus();
 	
-	if( status.getSeverity() == Status.ERROR )
-	{
-	  Shell                shell   = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+	  if( status.getSeverity() == Status.ERROR )
+	  {
+	    Shell                shell   = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
       EclipseStatusHandler handler = new EclipseStatusHandler( shell );
       
       handler.reportError( status );
-	}
+	  }
   }
   
   final private static String  StartServerFamily = "StartServerFamily";
@@ -266,92 +265,79 @@
   // This class is used to start up the server in an Eclipse job.
   private class StartServerJob extends Job
   {
-	private Status                status_ = null;
-	private SimpleProgressMonitor envMonitor_;
+	  private IStatus                status_ = null;
+	  private ProgressMonitorWrapper envMonitor_;
 	
-	public StartServerJob()
-	{
-	  super( "StartServerJob" );
+	  public StartServerJob()
+	  {
+	    super( "StartServerJob" );
 	  
-	  envMonitor_ = new SimpleProgressMonitor();
-	}
+	    envMonitor_ = new ProgressMonitorWrapper( progressMonitor_ );
+	  }
 	
-	public IServer getServer()
-	{
-	  return server_;	
-	}
+	  public IServer getServer()
+	  {
+	    return server_;	
+	  }
 	
-	public SimpleProgressMonitor getMonitor()
-	{
-	  return envMonitor_;	
-	}
+	  public ProgressMonitorWrapper getMonitor()
+	  {
+	    return envMonitor_;	
+	  }
 	
-	public boolean belongsTo(Object family) 
-	{
-	  return family == StartServerFamily;
-	}
+	  public boolean belongsTo(Object family) 
+	  {
+	    return family == StartServerFamily;
+	  }
 
-	protected IStatus run(IProgressMonitor monitor) 
-	{
-	  NullStatusHandler        handler         = new NullStatusHandler();
-	  TransientResourceContext resourceContext = new TransientResourceContext();
-	  EclipseEnvironment       environment     = new EclipseEnvironment( null,resourceContext, envMonitor_ , handler );
-	  StartServerCommand       serverCommand   = new StartServerCommand( false, false );
-	    
-	  serverCommand.setServerInstanceId( server_.getId() );
-	    
-	  try
+	  protected IStatus run(IProgressMonitor monitor) 
 	  {
-	    setStatus( serverCommand.execute( environment ) );		
-	  }
-	  catch( Throwable exc )
-	  {
-		exc.printStackTrace();
-	    setStatus( new SimpleStatus( "", exc.getMessage(), Status.ERROR, exc ) );
-	  }
+	    NullStatusHandler        handler         = new NullStatusHandler();
+	    TransientResourceContext resourceContext = new TransientResourceContext();
+	    EclipseEnvironment       environment     = new EclipseEnvironment( null,resourceContext, handler );
+	    StartServerCommand       serverCommand   = new StartServerCommand( false, false );
+	    
+	    serverCommand.setServerInstanceId( server_.getId() );
+      serverCommand.setEnvironment( environment );
+	    
+	    try
+	    {
+	      setStatus( serverCommand.execute( envMonitor_, null ) );		
+	    }
+	    catch( Throwable exc )
+	    {
+		    exc.printStackTrace();
+	      setStatus( StatusUtils.errorStatus( exc ) );
+	    }
 	  	
-	  return org.eclipse.core.runtime.Status.OK_STATUS;
-	}
-	
-	// Calls to this method need to first synchronize on the
-	// StartServerFamily object.
-	public Status getStatus()
-	{
-	  return status_;
-	}
-	
-	private void setStatus( Status status )
-	{
-	  synchronized( StartServerFamily ) 
-	  {
-        status_ = status;
+	    return Status.OK_STATUS;
 	  }
-	}
+	
+	  // Calls to this method need to first synchronize on the
+	  // StartServerFamily object.
+	  public IStatus getStatus()
+	  {
+	    return status_;
+	  }
+	
+	  private void setStatus( IStatus status )
+	  {
+	    synchronized( StartServerFamily ) 
+	    {
+        status_ = status;
+	    }
+	  }
   }
-  
-  // This is just a simple progress monitor.
-  private class SimpleProgressMonitor extends EclipseProgressMonitor
-  {	
-	public SimpleProgressMonitor()
-	{
-	  setMonitor( new ProgressMonitorWrapper( progressMonitor_ ) );		
-	}
-		
-	public void report( final String progress) 
-	{
-	  monitor_.beginTask( progress, IProgressMonitor.UNKNOWN );
-	}	  	
-  }
-  
+    
   private class ProgressMonitorWrapper implements IProgressMonitor
   {
-    private IProgressMonitor monitor_;
-  	
+    private IProgressMonitor monitor_ = new NullProgressMonitor();
+  	  	
     public ProgressMonitorWrapper( IProgressMonitor monitor )
     {
-  	  monitor_ = monitor;	
+      monitor_ = monitor;  
     }
-  	
+    
     public void setMonitor( IProgressMonitor monitor )
     {
       monitor_ = monitor;	
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AbstractHandlersWidgetDefaultingCmd.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AbstractHandlersWidgetDefaultingCmd.java
index fa328a1..0e05fcc 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AbstractHandlersWidgetDefaultingCmd.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AbstractHandlersWidgetDefaultingCmd.java
@@ -15,14 +15,17 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
@@ -30,20 +33,19 @@
  *
  * Initialize and load the handlers data
  */
-public abstract class AbstractHandlersWidgetDefaultingCmd extends SimpleCommand {
+public abstract class AbstractHandlersWidgetDefaultingCmd extends AbstractDataModelOperation 
+{
   
   private IStructuredSelection initialSelection_; 
-  private IProject project_;
-  private String componentName_;
   
-  public Status execute(Environment env){
-    String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils_ = new MessageUtils( pluginId + ".plugin", this );    
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
     
     IStructuredSelection selection = initialSelection_;
     if (selection == null) {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, null);
+      status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED );
       env.getStatusHandler().reportError(status);
       return status;         
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AddHandlerDialog.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AddHandlerDialog.java
index 8a95a5a..acae4f7 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AddHandlerDialog.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/AddHandlerDialog.java
@@ -20,7 +20,7 @@
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.jst.ws.internal.ui.dialog.DialogUtils;
 import org.eclipse.swt.SWT;
@@ -35,19 +35,17 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 
 
 public class AddHandlerDialog extends Dialog implements Listener {
 
   private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-  private MessageUtils msgUtils_;
+
   private boolean validateOn_;
   private boolean isClient_;
   private String className;
   private String name;
-  private String[] portNames;
   private String selectedPortName;
   
   private Text classNameText;
@@ -57,15 +55,12 @@
   // ----TOOLTIPS Section----
   /* CONTEXT_ID AHDL0001 for the Handler Config Page */
   private final String INFOPOP_TEXT_HANDLER_NAME  = "AHDL0001"; //$NON-NLS-1$
-  private final String TOOLTIP_TEXT_HANDLER_NAME = "TOOLTIP_TEXT_HANDLER_NAME";
   
   /* CONTEXT_ID AHDL0002 for the Handler Config Page */
   private final String INFOPOP_TEXT_HANDLER_CLASS  = "AHDL0002"; //$NON-NLS-1$
-  private final String TOOLTIP_TEXT_HANDLER_CLASS = "TOOLTIP_TEXT_HANDLER_CLASS";
   
   /* CONTEXT_ID AHDL0001 for the Handler Config Page */
   private final String INFOPOP_TEXT_HANDLER_PORT  = "AHDL0003"; //$NON-NLS-1$
-  private final String TOOLTIP_TEXT_HANDLER_PORT = "TOOLTIP_TEXT_HANDLER_PORT";
     
   private Button beanClassBrowseButton_;
   /*CONTEXT_ID PBCL0003 for the Bean Class Browse button of the Bean Selection Page*/
@@ -85,24 +80,23 @@
 
   protected Control createDialogArea(Composite parent) {
     validateOn_ = false;
-    msgUtils_ = new MessageUtils(WebServiceConsumptionUIPlugin.ID + ".plugin", this);
-    UIUtils uiUtils = new UIUtils(msgUtils_, pluginId_);
+    UIUtils uiUtils = new UIUtils(pluginId_);
     
     Shell thisShell = parent.getShell();
     if (thisShell == null) {
       thisShell = createShell();
     }
-    thisShell.setText(msgUtils_.getMessage("DIALOG_TITLE_WS_ADD_HANDLER"));
+    thisShell.setText(ConsumptionUIMessages.DIALOG_TITLE_WS_ADD_HANDLER);
     
     Composite composite = (Composite) super.createDialogArea(parent);    
     
     Composite sourceLocationComp = uiUtils.createComposite(composite, 3);
     
-    classNameText = uiUtils.createText(sourceLocationComp, "LABEL_TEXT_HANDLER_CLASS", TOOLTIP_TEXT_HANDLER_CLASS, INFOPOP_TEXT_HANDLER_CLASS, SWT.SINGLE | SWT.BORDER);
+    classNameText = uiUtils.createText(sourceLocationComp, ConsumptionUIMessages.LABEL_TEXT_HANDLER_CLASS, ConsumptionUIMessages.TOOLTIP_TEXT_HANDLER_CLASS, INFOPOP_TEXT_HANDLER_CLASS, SWT.SINGLE | SWT.BORDER);
     classNameText.addListener(SWT.Modify,this);
     
-    beanClassBrowseButton_ = uiUtils.createPushButton( sourceLocationComp, "BUTTON_BROWSE_CLASSES",
-                                                       "TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE",
+    beanClassBrowseButton_ = uiUtils.createPushButton( sourceLocationComp, ConsumptionUIMessages.BUTTON_BROWSE_CLASSES,
+    		ConsumptionUIMessages.TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE,
                                                        INFOPOP_PBCL_BUTTON_BEAN_CLASS_BROWSE );
     beanClassBrowseButton_.addSelectionListener( new SelectionAdapter()
         {
@@ -112,14 +106,14 @@
           }
         } );
     
-    nameText = uiUtils.createText(sourceLocationComp, "LABEL_TEXT_HANDLER_NAME", TOOLTIP_TEXT_HANDLER_NAME, INFOPOP_TEXT_HANDLER_NAME, SWT.SINGLE | SWT.BORDER );
+    nameText = uiUtils.createText(sourceLocationComp, ConsumptionUIMessages.LABEL_TEXT_HANDLER_NAME, ConsumptionUIMessages.TOOLTIP_TEXT_HANDLER_NAME, INFOPOP_TEXT_HANDLER_NAME, SWT.SINGLE | SWT.BORDER );
     nameText.addListener(SWT.Modify, this);
     
     // dummy label for column 3.
     new Label( sourceLocationComp, SWT.NONE );
     
     if (!isClient_){
-      portNameCombo = uiUtils.createCombo(sourceLocationComp, "LABEL_TEXT_HANDLER_PORT", TOOLTIP_TEXT_HANDLER_PORT, INFOPOP_TEXT_HANDLER_PORT, SWT.SINGLE | SWT.BORDER );
+      portNameCombo = uiUtils.createCombo(sourceLocationComp, ConsumptionUIMessages.LABEL_TEXT_HANDLER_PORT, ConsumptionUIMessages.TOOLTIP_TEXT_HANDLER_PORT, INFOPOP_TEXT_HANDLER_PORT, SWT.SINGLE | SWT.BORDER );
       portNameCombo.addListener(SWT.Modify, this);
       
       // dummy label for column 3.
@@ -261,7 +255,6 @@
    * @param portName The portName to set.
    */
   public void setPortNames(String[] portNames) {
-    this.portNames = portNames;
     portNameCombo.setItems(portNames);
     portNameCombo.select(0);
   }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/CheckWSDLValidationCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/CheckWSDLValidationCommand.java
index ec04608..67b1199 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/CheckWSDLValidationCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/CheckWSDLValidationCommand.java
@@ -10,43 +10,31 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.IJobManager;
 import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ValidateWSDLJob;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
-import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.plugin.WSPlugin;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
 
 
-public class CheckWSDLValidationCommand extends SimpleCommand
-{
-	  private String LABEL = "TASK_LABEL_CHECK_WSDL_VALIDATION";
-	  private String DESCRIPTION = "TASK_DESC_CHECK_WSDL_VALIDATION";
-	  
-
-	private static MessageUtils msgUtils_;
+public class CheckWSDLValidationCommand extends AbstractDataModelOperation
+{	  
 	
 	public CheckWSDLValidationCommand () {
-		String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-	  	msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-	  	setName (msgUtils_.getMessage(LABEL));
-	  	setDescription( msgUtils_.getMessage(DESCRIPTION));   
 	}
   
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
     
     IJobManager    jobManager     = Platform.getJobManager();
 	  Job[]          jobs           = jobManager.find( ValidateWSDLJob.VALIDATE_WSDL_JOB_FAMILY );
@@ -61,41 +49,34 @@
 				  if (ignoreWSDLValidation(env)) {
 					  // if don't want to wait for validation, cancel existing validation job
 					  existingValidateWSDLJob.cancel();
-					  return new SimpleStatus("");
+					  return Status.OK_STATUS;
 				  } else {
 					  // wait for WSDL validation
-					  return new SimpleStatus(
-							  "CheckWSDLValidationCommand",
-							  msgUtils_.getMessage("WAIT_FOR_WSDL"),
-							  Status.ERROR);
+					  return StatusUtils.errorStatus( ConsumptionUIMessages.WAIT_FOR_WSDL );
 				  }
 			  }
 		  }
 	  }
 	  
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
 	  
   }
   
-  private boolean ignoreWSDLValidation(Environment env) {
+  private boolean ignoreWSDLValidation(IEnvironment env) {
 	  if (!WSPlugin.getInstance().getWaitForWSDLValidationContext().getPersistentWaitForWSDLValidation()) 
 		  return true; // do not want to wait for WSDL validation, i.e. Ignore all
 		  
 		// give a warning message with the options to stop, ignore this one, or
 		// ignore all coming messages
-		SimpleStatus status_ = new SimpleStatus(WSUIPlugin.ID, msgUtils_
-				.getMessage("STILL_VALIDATING_WSDL"), Status.WARNING);
+		IStatus status_ = StatusUtils.warningStatus( ConsumptionUIMessages.STILL_VALIDATING_WSDL );
 		// adding all messages from WSI Incompliances
 
-		Choice ignoreChoice = new Choice('I', msgUtils_
-				.getMessage("IGNORE_LABEL"), msgUtils_
-				.getMessage("IGNORE_DESCRIPTION"));
-		Choice ignoreAllChoice = new Choice('A', msgUtils_
-				.getMessage("IGNORE_ALL_LABEL"), msgUtils_
-				.getMessage("IGNORE_ALL_DESCRIPTION"));
-		Choice cancelChoice = new Choice('C', msgUtils_
-				.getMessage("CANCEL_LABEL"), msgUtils_
-				.getMessage("CANCEL_DESCRIPTION"));
+		Choice ignoreChoice = new Choice('C', ConsumptionUIMessages.CANCEL_VALIDATION_LABEL, 
+				ConsumptionUIMessages.CANCEL_VALIDATION_DESCRIPTION);
+		Choice ignoreAllChoice = new Choice('A', ConsumptionUIMessages.CANCEL_ALL_VALIDATION_LABEL, 
+				ConsumptionUIMessages.CANCEL_ALL_VALIDATION_DESCRIPTION);
+		Choice cancelChoice = new Choice('W', ConsumptionUIMessages.WAIT_VALIDATION_LABEL, 
+				ConsumptionUIMessages.WAIT_VALIDATION_DESCRIPTION);
 
 		Choice result = env.getStatusHandler().report(status_,
 				new Choice[] { ignoreChoice, ignoreAllChoice, cancelChoice });
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetDefaultingCommand.java
index de439aa..b3f0cda 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetDefaultingCommand.java
@@ -16,27 +16,39 @@
 import java.util.List;
 import java.util.Vector;
 
+import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jst.j2ee.applicationclient.componentcore.util.AppClientArtifactEdit;
+import org.eclipse.jst.j2ee.client.ApplicationClient;
+import org.eclipse.jst.j2ee.client.ApplicationClientResource;
+import org.eclipse.jst.j2ee.ejb.EJBJar;
+import org.eclipse.jst.j2ee.ejb.EJBResource;
+import org.eclipse.jst.j2ee.ejb.internal.modulecore.util.EJBArtifactEditUtilities;
 import org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroupType;
 import org.eclipse.jst.j2ee.internal.webservice.helper.WebServicesManager;
 import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
 import org.eclipse.jst.j2ee.webapplication.WebApp;
+import org.eclipse.jst.j2ee.webapplication.WebAppResource;
 import org.eclipse.jst.j2ee.webservice.wsclient.Handler;
 import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
 import org.eclipse.jst.j2ee.webservice.wsclient.WebServicesResource;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.HandlerTableItem;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.ComponentHandle;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.environment.IEnvironment;
 
 /**
  * ClientHandlersWidgetDefaultingCommand
@@ -47,40 +59,28 @@
 
   private HandlerTableItem[] handlers_;
 
-  private MessageUtils msgUtils_;
-
-  private boolean isGenSkeletonEnabled_;
-
-  private IPath sourceOutputLocation_;
-
   private Hashtable wsRefsToHandlersTable_;
 
   private Hashtable refNameToServiceRefObj_;
 
-//  private WebServiceEditModel wsEditModel_;
-
   private WebServicesManager webServicesManager_;
 
   private IProject project_;
   
-  private String componentName_;
-  
-  private WebServicesResource wsClientRes_;
-
   private String serviceRefName_ = null;
   
   private Collection wsServiceRefs_;
   
-  public Status execute(Environment env) {
-    String pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
 
-    webServicesManager_ = new WebServicesManager();
+    webServicesManager_ = WebServicesManager.getInstance();
 
     IStructuredSelection selection = getInitialSelection();
     if (selection == null) {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, null);
+      status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED );
       env.getStatusHandler().reportError(status);
       return status;
     }
@@ -90,49 +90,51 @@
 
   }
 
-  public Status processHandlers() {
+  public IStatus processHandlers() {
     try {
       Vector handlers = new Vector();
       wsRefsToHandlersTable_ = new Hashtable();
       refNameToServiceRefObj_ = new Hashtable();
 
-//      wsEditModel_ = getWebServiceEditModel();
-
       wsServiceRefs_ = getWSServiceRefsFromSelection();
 
-      if (wsServiceRefs_ != null) {
+      if (wsServiceRefs_ != null && wsServiceRefs_.size()>0) {
         Iterator wsRefsIter = wsServiceRefs_.iterator();
         for (int i = 0; i < wsServiceRefs_.size(); i++) {
 
           ServiceRef wsServiceRef = (ServiceRef) wsRefsIter.next();
-
-          List wsHandlers = wsServiceRef.getHandlers();
-          HandlerTableItem[] handlerItems = new HandlerTableItem[wsHandlers.size()];
-          for (int k = 0; k < wsHandlers.size(); k++) {
-
-            Handler wsHandler = (Handler) wsHandlers.get(k);
-
-            HandlerTableItem handlerItem = new HandlerTableItem();
-            handlerItem.setHandler(wsHandler);
-            handlerItem.setHandlerName(wsHandler.getHandlerName());
-            handlerItem.setHandlerClassName(wsHandler.getHandlerClass().getQualifiedName());
-            handlerItem.setWsDescRef(wsServiceRef);
-            handlerItems[k] = handlerItem;
-            handlers.add(handlerItem);
+          if (serviceRefName_== null || wsServiceRef.getServiceRefName().equalsIgnoreCase(serviceRefName_)) {
+              List wsHandlers = wsServiceRef.getHandlers();
+              HandlerTableItem[] handlerItems = new HandlerTableItem[wsHandlers.size()];
+              for (int k = 0; k < wsHandlers.size(); k++) {
+    
+                Handler wsHandler = (Handler) wsHandlers.get(k);
+    
+                HandlerTableItem handlerItem = new HandlerTableItem();
+                handlerItem.setHandler(wsHandler);
+                handlerItem.setHandlerName(wsHandler.getHandlerName());
+                handlerItem.setHandlerClassName(wsHandler.getHandlerClass().getQualifiedName());
+                handlerItem.setWsDescRef(wsServiceRef);
+                handlerItems[k] = handlerItem;
+                handlers.add(handlerItem);
+              }
+              String wsServiceRefName = wsServiceRef.getServiceRefName();
+              wsRefsToHandlersTable_.put(wsServiceRefName, handlerItems);
+              refNameToServiceRefObj_.put(wsServiceRefName, wsServiceRef);
           }
-          String wsServiceRefName = wsServiceRef.getServiceRefName();
-          wsRefsToHandlersTable_.put(wsServiceRefName, handlerItems);
-          refNameToServiceRefObj_.put(wsServiceRefName, wsServiceRef);
-
         }
 
         handlers_ = (HandlerTableItem[]) handlers.toArray(new HandlerTableItem[0]);
       }
+      else if (wsServiceRefs_==null || wsServiceRefs_.isEmpty()){
+            //report no Web service client is available
+          return StatusUtils.errorStatus(ConsumptionUIMessages.MSG_ERROR_WEB_SERVICE_CLIENTS_NOT_FOUND);
+        }      
     }
     catch (Exception e) {
-      return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, e);
+      return StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED, e);
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   public HandlerTableItem[] getAllHandlers() {
@@ -164,21 +166,10 @@
     return locations;
   }
 
-  /**
-   * @return Returns the wsEditModel.
-   */
-//  public WebServiceEditModel getWsEditModel() {
-//    return wsEditModel_;
-//  }
-
   public String getServiceRefName() {
     return this.serviceRefName_;
   }
 
-  public WebServicesResource getWsClientResource() {
-    return wsClientRes_;
-  }
-
   public IProject getClientProject() {
     return project_;
   }
@@ -201,27 +192,56 @@
         serviceRefName_ = serviceRef.getServiceRefName();
         project_ = ProjectUtilities.getProject(serviceRef);
       }
+      else if (obj instanceof IFile){
+          Resource res = WorkbenchResourceHelperBase.getResource((IFile)obj, true);
+          Collection serviceRefs = null;
+          if (res instanceof WebServicesResource) {
+              // webservicesclient.xml for J2EE 1.3
+              WebServicesResource wsRes = (WebServicesResource)res;
+              serviceRefs = wsRes.getWebServicesClient().getServiceRefs();
+              ServiceRef ref = (ServiceRef)((List)serviceRefs).get(0);
+              serviceRefName_ = ref.getServiceRefName();
+              project_ = ProjectUtilities.getProject(ref);
+              return serviceRefs;
+          }
+          else {
+              if(res instanceof WebAppResource){
+                  // web.xml for J2EE 1.4
+                  WebAppResource webAppRes = (WebAppResource)res;
+                  serviceRefs = webAppRes.getWebApp().getServiceRefs();
 
+              }
+              else if (res instanceof EJBResource){
+                  EJBResource ejbRes = (EJBResource)res;
+                  serviceRefs = webServicesManager_.getServiceRefs(ejbRes.getEJBJar());
+                  
+              }
+              else if (res instanceof ApplicationClientResource){
+                  ApplicationClientResource appClientRes = (ApplicationClientResource)res;
+                  serviceRefs = webServicesManager_.getServiceRefs(appClientRes.getApplicationClient());//appClientRes.getApplicationClient().getServiceRefs();
+              }
+              if (serviceRefs!=null && serviceRefs.size()>0) {
+                  ServiceRef ref = (ServiceRef)((List)serviceRefs).get(0);
+                  serviceRefName_ = ref.getServiceRefName();
+                  project_ = ProjectUtilities.getProject(ref); 
+              }
+              return serviceRefs;              
+          }
+      }
+
+      // This section is for obtaining all the serviceRefs from the project, given that the initial selection
+      // was from the J2EE view (ServiceRef or WebServiceNavigatorGroupType), it will select the right serviceRef
       if (project_==null){
         project_ = getProject();
       }
       if (project_==null){
         return null;
-      }
-      
-      // get module name
-      componentName_ = getComponentName();
-      
-      ComponentHandle ch = ComponentHandle.create(project_, componentName_);
+      }     
        
-      List clientWSResourceList = webServicesManager_.get13ServiceRefs(ch);
-      if (!clientWSResourceList.isEmpty())
-        wsClientRes_ = (WebServicesResource)clientWSResourceList.get(0);
-
-      if (J2EEUtils.isWebComponent(project_, componentName_)) {
+      if (J2EEUtils.isWebComponent(project_)) {
         WebArtifactEdit webEdit = null;
         try {
-          IVirtualComponent vc = ComponentCore.createComponent(project_, componentName_);          
+          IVirtualComponent vc = ComponentCore.createComponent(project_);          
           webEdit = WebArtifactEdit.getWebArtifactEditForRead(vc);
           if (webEdit != null)
           {
@@ -236,25 +256,32 @@
             webEdit.dispose();
         }
       }
-      //TODO Remove old Nature refs
-//      else if (J2EEUtils.isAppClientComponent(project_, componentName_)){
-//        ApplicationClientNatureRuntime rt = ApplicationClientNatureRuntime.getRuntime(project_);
-//        if (rt!=null) {
-//          ApplicationClient appClient = rt.getApplicationClient();
-//          if (appClient != null){
-//            return webServicesManager_.getServiceRefs(appClient);
-//          }
-//        }
-//      }
-//      else if (J2EEUtils.isEJBComponent(project_, componentName_)){
-//        EJBNatureRuntime rt = EJBNatureRuntime.getRuntime(project_);
-//        if(rt!=null){
-//          EJBJar ejbJar = rt.getEJBJar();
-//          if (ejbJar !=null){
-//            return webServicesManager_.getServiceRefs(ejbJar);
-//          }
-//        }
-//      }
+      else if (J2EEUtils.isEJBComponent(project_)){
+
+    	IVirtualComponent vc = ComponentCore.createComponent(project_);
+    	EJBJar ejbJar = EJBArtifactEditUtilities.getEJBJar(vc);
+        if (ejbJar!=null) {
+            return webServicesManager_.getServiceRefs(ejbJar);
+        }
+      }
+      else if (J2EEUtils.isAppClientComponent(project_)){
+    	  IVirtualComponent vc = ComponentCore.createComponent(project_);
+    	  AppClientArtifactEdit appEdit = null;
+          try {
+              appEdit = AppClientArtifactEdit.getAppClientArtifactEditForRead(vc);
+          if (appEdit!=null){
+              ApplicationClient appClient = appEdit.getApplicationClient();
+              if (appClient !=null){
+                  return webServicesManager_.getServiceRefs(appClient);
+              }
+          }
+          }
+          finally{
+              if(appEdit!=null){
+                  appEdit.dispose();
+              }
+          }
+      }
 
     
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetOutputCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetOutputCommand.java
index 23ff55a..4d77780 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientHandlersWidgetOutputCommand.java
@@ -13,65 +13,55 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Enumeration;
-import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.impl.JavaClassImpl;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.applicationclient.componentcore.util.AppClientArtifactEdit;
+import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
+import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
 import org.eclipse.jst.j2ee.webservice.wsclient.Handler;
 import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
-import org.eclipse.jst.j2ee.webservice.wsclient.WebServicesResource;
 import org.eclipse.jst.j2ee.webservice.wsclient.Webservice_clientFactory;
 import org.eclipse.jst.j2ee.webservice.wsclient.internal.impl.Webservice_clientFactoryImpl;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.common.JavaMOFUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.HandlerTableItem;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.componentcore.ArtifactEdit;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
 
 /*
  * Provide a way to externalize the edited fields and create new handlers
  *  
  */
-public class ClientHandlersWidgetOutputCommand extends SimpleCommand {
+public class ClientHandlersWidgetOutputCommand extends AbstractDataModelOperation 
+{
 
-  //private List handlerTableItems_;
   private Hashtable oldWSServiceRefsToHandlersTable_;
 
   private Hashtable newWSServiceRefsToHandlersTable_;
 
-//  private WebServiceEditModel wsEditModel_;
-
   private Hashtable handlersTable_;
 
   private IProject project_;
 
-  private WebServicesResource wsClientRes_;
-
   private Collection wsServiceRefs_;
 
-  private EditModel editModel_;
-
-  private Object accessorKey_;
-
-  public Status execute(Environment env) {
-    String pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    IStatus status = Status.OK_STATUS;
 
     try {
 
-      JavaEMFNature jMOF = (JavaEMFNature) JavaEMFNature.createRuntime(project_);
-
       oldWSServiceRefsToHandlersTable_ = new Hashtable();
       newWSServiceRefsToHandlersTable_ = new Hashtable();
 
@@ -112,7 +102,7 @@
                   Handler newHandler = wsClientFactory.createHandler();
                   newHandler.setHandlerName(hti.getHandlerName());
 
-                  JavaClass javaClass = (JavaClass) JavaClassImpl.reflect(hti.getHandlerClassName(), jMOF.getResourceSet());
+                  JavaClass javaClass = JavaMOFUtils.getJavaClass(hti.getHandlerClassName(), project_);
                   if (javaClass != null) {
                     newHandler.setHandlerClass(javaClass);
                   }
@@ -128,40 +118,50 @@
 
         // add handlers to ports
         addHandlersToServiceRefs();
-        getJ2EEEditModel();
-        
-        // save the resource
-        //TODO Remove old Nature refs
-//        if (J2EEUtils.getJ2EEVersion(project_) == J2EEVersionConstants.J2EE_1_4_ID) {
-//          editModel_.save(accessorKey_);
-//        }
-//        else {
-//          if (wsClientRes_!=null)
-//            wsClientRes_.save(new HashMap());
-//        }
+        // save the artifact edit model
+        saveEditModel();
+
       }
     }
-    catch (Exception e) {
-      return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, e);
+    catch (Exception e) 
+    {
+      return StatusUtils.errorStatus(ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED, e);
     }
-    finally {
-      if (editModel_ != null) 
-        editModel_.releaseAccess(accessorKey_);
-    }
+
     return status;
   }
 
+  private void saveEditModel() {
+      ArtifactEdit artifactEdit = null;
+      try {
+          if (J2EEUtils.isWebComponent(project_)) {
+                artifactEdit = WebArtifactEdit.getWebArtifactEditForWrite(project_);
+          }
+          else if (J2EEUtils.isEJBComponent(project_)){
+                artifactEdit = EJBArtifactEdit.getEJBArtifactEditForWrite(project_);
+            }
+          else if (J2EEUtils.isAppClientComponent(project_)){
+                artifactEdit = AppClientArtifactEdit.getAppClientArtifactEditForWrite(project_);
+          }
+      }
+      finally {
+          if (artifactEdit!=null) {
+              artifactEdit.save(null);
+              artifactEdit.dispose();
+          }
+      }
+  }
+  
   private void addHandlersToServiceRefs() {
     try {
-      int key = 0;
       Enumeration refsToHandlers = newWSServiceRefsToHandlersTable_.keys();
       while (refsToHandlers.hasMoreElements()) {
         ServiceRef serviceRef = (ServiceRef) refsToHandlers.nextElement();
         if (serviceRef != null) {
-
           List handlers = (List) newWSServiceRefsToHandlersTable_.get(serviceRef);
           List modelHandlers = (List) oldWSServiceRefsToHandlersTable_.get(serviceRef);
           modelHandlers.clear();
+          //wsServiceRefs_.addAll(handlers);
           modelHandlers.addAll(handlers);
         }
       }
@@ -172,57 +172,19 @@
   }
 
   /**
+   * The new handlerTableItems to set.
    * @param handlerTableItems
-   *          The handlerTableItems to set.
    */
-  //  public void setAllHandlersList(List handlerTableItems) {
-  //    this.handlerTableItems_ = handlerTableItems;
-  //  }
   public void setHandlersTable(Hashtable handlersTable) {
     this.handlersTable_ = handlersTable;
   }
 
-  /**
-   * @param wsEditModel
-   *          The wsEditModel to set.
-   */
-//  public void setWsEditModel(WebServiceEditModel wsEditModel) {
-//    this.wsEditModel_ = wsEditModel;
-//  }
-
   public void setClientProject(IProject project) {
     this.project_ = project;
   }
 
-  public void setWsClientResource(WebServicesResource wsRes) {
-    this.wsClientRes_ = wsRes;
-  }
-
   public void setWsServiceRefs(Collection wsRefs) {
     this.wsServiceRefs_ = wsRefs;
   }
 
-  public void getJ2EEEditModel() {
-	//TODO Remove old Nature refs
-//  	accessorKey_ = new Object();
-//    if (ResourceUtils.isWebProject(project_)) {
-//      J2EEWebNatureRuntime rt = J2EEWebNatureRuntime.getRuntime(project_);
-//      if (rt != null) {
-//        editModel_ = rt.getWebAppEditModelForWrite(accessorKey_);
-//      }
-//    }
-//    else if (ResourceUtils.isAppClientProject(project_)){
-//      ApplicationClientNatureRuntime rt = ApplicationClientNatureRuntime.getRuntime(project_);
-//      if (rt!=null) {
-//        editModel_ = rt.getAppClientEditModelForWrite(accessorKey_);
-//      }
-//    }
-//    else if (ResourceUtils.isEJBProject(project_)){
-//      EJBNatureRuntime rt = EJBNatureRuntime.getRuntime(project_);
-//      if(rt!=null){
-//        editModel_ = rt.getEJBEditModelForWrite(accessorKey_);
-//      }
-//    }
-  }
-
 }
\ 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/ClientWizardWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java
index 82b37bf..2e933bb 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidget.java
@@ -10,16 +10,16 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
 
 
 public class ClientWizardWidget extends SimpleWidgetDataContributor
@@ -41,8 +41,7 @@
   public WidgetDataEvents addControls( Composite parent, Listener statusListener)
   {
     String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId + ".plugin", this );
-    UIUtils      utils    = new UIUtils( msgUtils, pluginId );
+    UIUtils      utils    = new UIUtils( pluginId );
     
     PlatformUI.getWorkbench().getHelpSystem().setHelp( parent, pluginId + "." +  INFOPOP_PWPR_PAGE );
   	
@@ -55,12 +54,14 @@
     //  Create test service check box.
     Composite testGroup = utils.createComposite(clientComposite,1);
     
-    testService_ = utils.createCheckbox( testGroup, "CHECKBOX_TEST_WEBSERVICE",
-                                         "TOOLTIP_PWPR_CHECKBOX_TEST_SERVICE",
-                                         INFOPOP_PWPR_CHECKBOX_TEST_SERVICE );
+    testService_ = utils.createCheckbox( testGroup, ConsumptionUIMessages.CHECKBOX_TEST_WEBSERVICE,
+    									ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_TEST_SERVICE,
+                                        INFOPOP_PWPR_CHECKBOX_TEST_SERVICE );
     
     // Create monitor service check box.
-    monitorService = utils.createCheckbox(testGroup, "CHECKBOX_MONITOR_WEBSERVICE", "TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE", INFOPOP_PWPR_CHECKBOX_MONITOR_SERVICE);
+    monitorService = utils.createCheckbox(testGroup, ConsumptionUIMessages.CHECKBOX_MONITOR_WEBSERVICE,
+    									ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE,
+    									INFOPOP_PWPR_CHECKBOX_MONITOR_SERVICE);
 
     // Create the preferences controls.
     preferencesWidget_ = new PreferencesSelectionWidget();
@@ -89,6 +90,16 @@
     return clientWidget_.getTypeRuntimeServer();  
   }
   
+  public void setInstallClient( Boolean install)
+  {
+    clientWidget_.setInstallClient( install );
+  }
+  
+  public Boolean getInstallClient()
+  {
+    return clientWidget_.getInstallClient();  
+  }
+  
   public Boolean getTestService()
   {
     return new Boolean( testService_.getSelection() );
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidgetDefaultingCommand.java
index 3129a7e..f71c986 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidgetDefaultingCommand.java
@@ -10,15 +10,20 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+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.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class ClientWizardWidgetDefaultingCommand extends SimpleCommand
+public class ClientWizardWidgetDefaultingCommand extends AbstractDataModelOperation
 {    
   public Boolean getTestService()
   {
@@ -29,6 +34,11 @@
   {
     return new Boolean( getScenarioContext().getMonitorWebService());
   }
+  
+  public Boolean getInstallClient()
+  {
+    return new Boolean( getScenarioContext().getInstallClient() );  
+  }
 
   public ResourceContext getResourceContext()
   { 
@@ -50,9 +60,9 @@
 		//WebServiceClientTypeRegistry registry = WebServiceClientTypeRegistry.getInstance();
     String                       type     = getScenarioContext().getClientWebServiceType();
     //String                       runtime  = registry.getAllClientRuntimes()[0];
-		String                       runtime  = WebServiceRuntimeExtensionUtils.getAllClientRuntimes()[0];
+		String                       runtime  = WebServiceRuntimeExtensionUtils2.getAllRuntimesForClientSide()[0];
     //String                       server   = registry.getAllClientServerFactoryIds()[0];
-		String                       server   = WebServiceRuntimeExtensionUtils.getAllClientServerFactoryIds()[0];
+		String                       server   = WebServiceRuntimeExtensionUtils2.getAllClientServerFactoryIds()[0];
     TypeRuntimeServer            result   = new TypeRuntimeServer();
 		// rskreg
     
@@ -62,4 +72,9 @@
     
     return result;  
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
\ 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/ClientWizardWidgetOutputCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidgetOutputCommand.java
index 69436a0..b800ecf 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidgetOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ClientWizardWidgetOutputCommand.java
@@ -10,17 +10,23 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class ClientWizardWidgetOutputCommand extends SimpleCommand
+public class ClientWizardWidgetOutputCommand extends AbstractDataModelOperation
 {    
   private boolean           testService_;
   private boolean monitorService;
   private ResourceContext   resourceContext_;
   private TypeRuntimeServer clientIds_;
+  private boolean installClient_;
   
   public boolean getTestService()
   {
@@ -32,6 +38,16 @@
     testService_ = testService;  
   }
   
+  public void setInstallClient( boolean installClient)
+  {
+    installClient_ = installClient;  
+  }
+  
+  public boolean getInstallClient()
+  {
+	return installClient_;  
+  }
+  
   public boolean getMonitorService()
   {
     return monitorService;
@@ -62,4 +78,9 @@
   {
     clientIds_ = clientIds;
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
\ 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/ConfigClientHandlersTableWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ConfigClientHandlersTableWidget.java
index 5a8499a..4bfc7c5 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ConfigClientHandlersTableWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ConfigClientHandlersTableWidget.java
@@ -10,13 +10,13 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
-import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.Hashtable;
-import java.util.List;
 import java.util.Vector;
 
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
@@ -28,14 +28,18 @@
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.window.Window;
 import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.HandlerTableItem;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
@@ -49,9 +53,6 @@
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 /**
  * ConfigClientHandlersTreeWidget
@@ -60,8 +61,7 @@
 public class ConfigClientHandlersTableWidget extends SimpleWidgetDataContributor {
 
   private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-  private MessageUtils msgUtils_ = null;
-  private Listener statusListener_;
+
   private Composite parent_;
   private boolean isGenSkeletonEnabled_;
   private String outputLocation_;
@@ -84,19 +84,15 @@
   // ----TOOLTIPS Section----
   /* CONTEXT_ID HDLR0001 for the Handler Config Page */
   private final String INFOPOP_HDLR_WS_HANDLERS = "HDLR0001"; //$NON-NLS-1$
-  private final String TOOLTIP_EDIT_WS_HANDLERS = "TOOLTIP_EDIT_WS_HANDLERS";
 
   /* CONTEXT_ID HDLR0002 for the Handler Config Page */
   private final String INFOPOP_HDLR_GEN_SKELETON = "HDLR0002"; //$NON-NLS-1$
-  private final String TOOLTIP_BUTTON_GEN_SKELETON = "TOOLTIP_BUTTON_GEN_SKELETON";
 
   /* CONTEXT_ID HDLR0003 for the Handler Config Page */
   private final String INFOPOP_COMBO_SOURCE_LOC = "HDLR0003"; //$NON-NLS-1$
-  private final String TOOLTIP_COMBO_SOURCE_LOC = "TOOLTIP_COMBO_SOURCE_LOC";
 
   /* CONTEXT_ID HDLR0004 for the Handler Config Page */
   private final String INFOPOP_WS_CLIENT_REF = "HDLR0004"; //$NON-NLS-1$
-  private final String TOOLTIP_WS_CLIENT_REF = "TOOLTIP_WS_CLIENT_REF";
 
   // ------------------------
 
@@ -105,16 +101,16 @@
   }
 
   public WidgetDataEvents addControls(Composite parent, Listener statusListener) {
-    msgUtils_ = new MessageUtils(WebServiceConsumptionUIPlugin.ID + ".plugin", this);
-    UIUtils uiUtils = new UIUtils(msgUtils_, pluginId_);
+
+    UIUtils uiUtils = new UIUtils(pluginId_);
 
     parent_ = parent;
-    statusListener_ = statusListener;
 
     // Web service reference combo
     Composite webServiceRefComp = uiUtils.createComposite(parent_, 2);
-    webServiceRefCombo_ = uiUtils.createCombo(webServiceRefComp, "LABEL_COMBO_WS_CLIENT_REF", TOOLTIP_WS_CLIENT_REF, INFOPOP_WS_CLIENT_REF,
-        SWT.READ_ONLY);
+    webServiceRefCombo_ = uiUtils.createCombo(webServiceRefComp, ConsumptionUIMessages.LABEL_COMBO_WS_CLIENT_REF, 
+    								ConsumptionUIMessages.TOOLTIP_WS_CLIENT_REF, INFOPOP_WS_CLIENT_REF,
+    								SWT.READ_ONLY);
     webServiceRefCombo_.addSelectionListener(new SelectionAdapter() {
 
       public void widgetSelected(SelectionEvent evt) {
@@ -127,9 +123,9 @@
     displayComp.setLayout(gridlayout);
     displayComp.setLayoutData(uiUtils.createFillAll());
 
-    Composite handlersComp = uiUtils.createComposite(displayComp, 1);
-    GridData griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING
-        | GridData.VERTICAL_ALIGN_FILL);
+    final Composite handlersComp = uiUtils.createComposite(displayComp, 1);
+    GridData griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL |GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING 
+            | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.FILL_VERTICAL);
     handlersComp.setLayoutData(griddata);
     handlersComp.setSize(130, 600);
 
@@ -138,12 +134,12 @@
     buttonsComp.setLayoutData(griddata);
 
     Text handlersText = new Text(handlersComp, SWT.READ_ONLY);
-    handlersText.setText(msgUtils_.getMessage("LABEL_HANDLERS_CONFIG"));
+    handlersText.setText(ConsumptionUIMessages.LABEL_HANDLERS_CONFIG);
     GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
     gd.horizontalSpan = 2;
     handlersText.setLayoutData(gd);
 
-    handlersTable_ = uiUtils.createTable(handlersComp, TOOLTIP_EDIT_WS_HANDLERS, INFOPOP_HDLR_WS_HANDLERS, SWT.MULTI | SWT.FULL_SELECTION);
+    handlersTable_ = uiUtils.createTable(handlersComp, ConsumptionUIMessages.TOOLTIP_EDIT_WS_HANDLERS, INFOPOP_HDLR_WS_HANDLERS, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
     handlersTable_.setHeaderVisible(true);
     handlersTable_.setLinesVisible(true);
 
@@ -153,7 +149,7 @@
     gd.horizontalSpan = 2;
     wsLabel.setLayoutData(gd);
 
-    Button moveUpButton = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_MOVE_UP", null, null);
+    Button moveUpButton = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_MOVE_UP, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     moveUpButton.setLayoutData(griddata);
     moveUpButton.addSelectionListener(new SelectionListener() {
@@ -166,7 +162,7 @@
       }
     });
 
-    Button moveDownButton = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_MOVE_DOWN", null, null);
+    Button moveDownButton = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_MOVE_DOWN, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     moveDownButton.setLayoutData(griddata);
     moveDownButton.addSelectionListener(new SelectionListener() {
@@ -185,7 +181,7 @@
     gd.horizontalSpan = 2;
     wsLabel.setLayoutData(gd);
 
-    addButton_ = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_ADD", null, null);
+    addButton_ = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_ADD, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     addButton_.setLayoutData(griddata);
     addButton_.addSelectionListener(new SelectionListener() {
@@ -198,7 +194,7 @@
       }
     });
 
-    removeButton_ = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_REMOVE", null, null);
+    removeButton_ = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_REMOVE, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     removeButton_.setLayoutData(griddata);
     removeButton_.addSelectionListener(new SelectionListener() {
@@ -213,16 +209,48 @@
     enableRemove(false);
 
     // table stuff
-    String[] columns_ = new String[] { msgUtils_.getMessage("LABEL_HANDLER_NAME"), msgUtils_.getMessage("LABLE_HANDLER_CLASS")};
+    String[] columns_ = new String[] { ConsumptionUIMessages.LABEL_HANDLER_NAME, ConsumptionUIMessages.LABLE_HANDLER_CLASS};
 
+    final TableColumn[] tableCols = new TableColumn[columns_.length];
     for (int i = 0; i < columns_.length; i++) {
       TableColumn tableColumn = new TableColumn(handlersTable_, i);
       tableColumn.setText(columns_[i]);
       tableColumn.setAlignment(SWT.LEFT);
       tableColumn.setWidth(DEFAULT_COLUMN_WIDTH);
       tableColumn.setResizable(true);
+      tableCols[i] = tableColumn;
     }
 
+    handlersComp.addControlListener(new ControlAdapter() {
+        public void controlResized(ControlEvent e) {
+          Rectangle area = handlersComp.getClientArea();
+          Point preferredSize = handlersTable_.computeSize(SWT.DEFAULT, SWT.DEFAULT);
+          int width = area.width - 2*handlersTable_.getBorderWidth()-10;
+          if (preferredSize.y > area.height + handlersTable_.getHeaderHeight()) {
+            // Subtract the scrollbar width from the total column width
+            // if a vertical scrollbar will be required
+            Point vBarSize = handlersTable_.getVerticalBar().getSize();
+            width -= vBarSize.x;
+          }
+          Point oldSize = handlersTable_.getSize();
+          if (oldSize.x > area.width) {
+            // table is getting smaller so make the columns 
+            // smaller first and then resize the table to
+            // match the client area width
+            tableCols[0].setWidth(width/2);
+            tableCols[1].setWidth(width - tableCols[0].getWidth());
+            handlersTable_.setSize(area.width, area.height);
+          } else {
+            // table is getting bigger so make the table 
+            // bigger first and then make the columns wider
+            // to match the client area width
+              handlersTable_.setSize(area.width, area.height);
+              tableCols[0].setWidth(width/2);
+              tableCols[1].setWidth(width - tableCols[0].getWidth());
+          }
+        }
+      });    
+    
     tableViewer_ = new TableViewer(handlersTable_);
     Control control = tableViewer_.getControl();
 
@@ -244,7 +272,7 @@
     });
 
     // gen skeleton check box
-    genSkeletonRadioButton_ = uiUtils.createCheckbox(parent_, "LABEL_BUTTON_GEN_SKELETON", TOOLTIP_BUTTON_GEN_SKELETON, INFOPOP_HDLR_GEN_SKELETON);
+    genSkeletonRadioButton_ = uiUtils.createCheckbox(parent_, ConsumptionUIMessages.LABEL_BUTTON_GEN_SKELETON, ConsumptionUIMessages.TOOLTIP_BUTTON_GEN_SKELETON, INFOPOP_HDLR_GEN_SKELETON);
     genSkeletonRadioButton_.addSelectionListener(new SelectionAdapter() {
 
       public void widgetSelected(SelectionEvent evt) {
@@ -254,7 +282,7 @@
 
     // source location combo
     Composite sourceLocationComp = uiUtils.createComposite(parent_, 2);
-    sourceLocationCombo_ = uiUtils.createCombo(sourceLocationComp, "LABEL_COMBO_SOURCE_LOC", TOOLTIP_COMBO_SOURCE_LOC, INFOPOP_COMBO_SOURCE_LOC,
+    sourceLocationCombo_ = uiUtils.createCombo(sourceLocationComp, ConsumptionUIMessages.LABEL_COMBO_SOURCE_LOC, ConsumptionUIMessages.TOOLTIP_COMBO_SOURCE_LOC, INFOPOP_COMBO_SOURCE_LOC,
         SWT.READ_ONLY);
     sourceLocationCombo_.addSelectionListener(new SelectionAdapter() {
 
@@ -271,7 +299,6 @@
     try {
 
       int sizeOfHandlers = wsRefsToHandlers_.size();
-      String[] wsRefs = new String[sizeOfHandlers];
 
       String[] wsRefNames = (String[]) wsRefsToHandlers_.keySet().toArray(new String[0]);
       webServiceRefCombo_.setItems(wsRefNames);
@@ -305,24 +332,13 @@
 
   }
 
-  /**
-   * @return Returns the handlers.
-   */
-  public List getAllHandlersList() {
-    // convert to a ArrayList and return as List
-    List list = new ArrayList();
-    if (orderedHandlers_ != null && !orderedHandlers_.isEmpty()) list.addAll(orderedHandlers_);
-
-    return list;
-  }
-
   /*
    * (non-Javadoc)
    * 
    * @see org.eclipse.wst.command.env.ui.widgets.WidgetContributor#getStatus()
    */
-  public Status getStatus() {
-    Status finalStatus = new SimpleStatus("");
+  public IStatus getStatus() {
+    IStatus finalStatus = Status.OK_STATUS;
 
     return finalStatus;
   }
@@ -361,7 +377,6 @@
   private void handleMoveUpButtonSelected(SelectionEvent event) {
 
     int index = tableViewer_.getTable().getSelectionIndex();
-    ISelection selected = tableViewer_.getSelection();
     if (index != -1) {
       if (index > 0) {
         orderedHandlers_ = (Vector) wsRefsToHandlers_.get(webServiceRefCombo_.getText());
@@ -376,7 +391,6 @@
   private void handleMoveDownButtonSelected(SelectionEvent event) {
 
     int index = tableViewer_.getTable().getSelectionIndex();
-    ISelection selected = tableViewer_.getSelection();
     if (index != -1) {
       if (index < orderedHandlers_.size() - 1) {
         orderedHandlers_ = (Vector) wsRefsToHandlers_.get(webServiceRefCombo_.getText());        
@@ -469,7 +483,6 @@
     ISelection selection = tableViewer_.getSelection();
     if (selection != null && !selection.isEmpty() && (selection instanceof IStructuredSelection)) {
       int selectionIndex = handlersTable_.getSelectionIndex();
-      int selectionCount = handlersTable_.getItemCount();
 
       orderedHandlers_ = (Vector) wsRefsToHandlers_.get(webServiceRefCombo_.getText());
       orderedHandlers_.remove(selectionIndex);
@@ -558,8 +571,6 @@
     try {
 
       if (wsRefsToHandlersArray != null) {
-        int sizeOfHandlers = wsRefsToHandlersArray.size();
-        String[] wsRefs = new String[sizeOfHandlers];
         // store the wsRefs
         Enumeration wsRef = wsRefsToHandlersArray.keys();
         while (wsRef.hasMoreElements()) {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ConfigServiceHandlersTableWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ConfigServiceHandlersTableWidget.java
index 78a6343..7d6f7a0 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ConfigServiceHandlersTableWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ConfigServiceHandlersTableWidget.java
@@ -18,6 +18,8 @@
 import java.util.Vector;
 
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
@@ -30,14 +32,18 @@
 import org.eclipse.jface.window.Window;
 import org.eclipse.jst.j2ee.webservice.wsdd.PortComponent;
 import org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.HandlerTableItem;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
@@ -51,9 +57,6 @@
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 /**
  * ConfigServiceHandlersTreeWidget
@@ -62,8 +65,6 @@
 public class ConfigServiceHandlersTableWidget extends SimpleWidgetDataContributor {
 
   private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-  private MessageUtils msgUtils_ = null;
-  private Listener statusListener_;
   private Composite parent_;
   private boolean isGenSkeletonEnabled_;
   private String outputLocation_;
@@ -75,9 +76,6 @@
   private Button removeButton_;
   private Button genSkeletonRadioButton_;
   private Combo sourceLocationCombo_;
-  private Text text_; // selected Text
-
-  private HandlerTableItem[] handlers;
   private Hashtable pathsTable_ = new Hashtable();
   private Hashtable wsDescToHandlers_;
   private Hashtable wsDescToPorts_;
@@ -86,24 +84,20 @@
 
   private Vector orderedHandlers_;
 
-  private int DEFAULT_COLUMN_WIDTH = 90;
+  private int DEFAULT_COLUMN_WIDTH = 100;
 
   // ----TOOLTIPS Section----
   /* CONTEXT_ID SHLD0001 for the Handler Config Page */
   private final String INFOPOP_HDLR_WS_HANDLERS = "SHDL0001"; //$NON-NLS-1$
-  private final String TOOLTIP_EDIT_WS_HANDLERS = "TOOLTIP_EDIT_WS_HANDLERS";
 
   /* CONTEXT_ID SHDL0002 for the Handler Config Page */
   private final String INFOPOP_HDLR_GEN_SKELETON = "SHDL0002"; //$NON-NLS-1$
-  private final String TOOLTIP_BUTTON_GEN_SKELETON = "TOOLTIP_BUTTON_GEN_SKELETON";
 
   /* CONTEXT_ID SHDL0003 for the Handler Config Page */
   private final String INFOPOP_COMBO_SOURCE_LOC = "SHDL0003"; //$NON-NLS-1$
-  private final String TOOLTIP_COMBO_SOURCE_LOC = "TOOLTIP_COMBO_SOURCE_LOC";
 
   /* CONTEXT_ID SHDL0004 for the Handler Config Page */
   private final String INFOPOP_WS_SERVICE_DESC = "SHDL0004"; //$NON-NLS-1$
-  private final String TOOLTIP_WS_SERVICE_DESC = "TOOLTIP_WS_SERVICE_DESC";
 
   // ------------------------
 
@@ -112,15 +106,17 @@
   }
 
   public WidgetDataEvents addControls(Composite parent, Listener statusListener) {
-    msgUtils_ = new MessageUtils(WebServiceConsumptionUIPlugin.ID + ".plugin", this);
-    UIUtils uiUtils = new UIUtils(msgUtils_, pluginId_);
+    UIUtils uiUtils = new UIUtils( pluginId_);
 
     parent_ = parent;
-    statusListener_ = statusListener;
+    
+    int maxWidth = 130;
+    int maxHeight = 600;
 
     // Web service reference combo
     Composite webServiceRefComp = uiUtils.createComposite(parent_, 2);
-    webServiceDescCombo_ = uiUtils.createCombo(webServiceRefComp, "LABEL_COMBO_WS_SERVICE_DESC", TOOLTIP_WS_SERVICE_DESC, TOOLTIP_WS_SERVICE_DESC,
+    webServiceDescCombo_ = uiUtils.createCombo(webServiceRefComp, ConsumptionUIMessages.LABEL_COMBO_WS_SERVICE_DESC, 
+    		ConsumptionUIMessages.TOOLTIP_WS_SERVICE_DESC, INFOPOP_WS_SERVICE_DESC,
         SWT.READ_ONLY);
     webServiceDescCombo_.addSelectionListener(new SelectionAdapter() {
 
@@ -135,23 +131,23 @@
     displayComp.setLayout(gridlayout);
     displayComp.setLayoutData(uiUtils.createFillAll());
 
-    Composite handlersComp = uiUtils.createComposite(displayComp, 1);
-    GridData griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING
-        | GridData.VERTICAL_ALIGN_FILL);
+    final Composite handlersComp = uiUtils.createComposite(displayComp, 1);
+    GridData griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL |GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING 
+            | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.FILL_VERTICAL);
     handlersComp.setLayoutData(griddata);
-    handlersComp.setSize(130, 600);
+    handlersComp.setSize(maxWidth, maxHeight);
 
     Composite buttonsComp = uiUtils.createComposite(displayComp, 1);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     buttonsComp.setLayoutData(griddata);
 
     Text handlersText = new Text(handlersComp, SWT.READ_ONLY);
-    handlersText.setText(msgUtils_.getMessage("LABEL_HANDLERS_CONFIG"));
+    handlersText.setText(ConsumptionUIMessages.LABEL_HANDLERS_CONFIG);
     GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
     gd.horizontalSpan = 2;
     handlersText.setLayoutData(gd);
 
-    handlersTable_ = uiUtils.createTable(handlersComp, TOOLTIP_EDIT_WS_HANDLERS, INFOPOP_HDLR_WS_HANDLERS, SWT.MULTI | SWT.FULL_SELECTION);
+    handlersTable_ = uiUtils.createTable(handlersComp, ConsumptionUIMessages.TOOLTIP_EDIT_WS_HANDLERS, INFOPOP_HDLR_WS_HANDLERS, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
     handlersTable_.setHeaderVisible(true);
     handlersTable_.setLinesVisible(true);
 
@@ -161,7 +157,7 @@
     gd.horizontalSpan = 2;
     wsLabel.setLayoutData(gd);
 
-    Button moveUpButton = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_MOVE_UP", null, null);
+    Button moveUpButton = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_MOVE_UP, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     moveUpButton.setLayoutData(griddata);
     moveUpButton.addSelectionListener(new SelectionListener() {
@@ -174,7 +170,7 @@
       }
     });
 
-    Button moveDownButton = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_MOVE_DOWN", null, null);
+    Button moveDownButton = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_MOVE_DOWN, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     moveDownButton.setLayoutData(griddata);
     moveDownButton.addSelectionListener(new SelectionListener() {
@@ -193,7 +189,7 @@
     gd.horizontalSpan = 2;
     wsLabel.setLayoutData(gd);
 
-    addButton_ = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_ADD", null, null);
+    addButton_ = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_ADD, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     addButton_.setLayoutData(griddata);
     addButton_.addSelectionListener(new SelectionListener() {
@@ -206,7 +202,7 @@
       }
     });
 
-    removeButton_ = uiUtils.createPushButton(buttonsComp, "LABEL_BUTTON_REMOVE", null, null);
+    removeButton_ = uiUtils.createPushButton(buttonsComp, ConsumptionUIMessages.LABEL_BUTTON_REMOVE, null, null);
     griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
     removeButton_.setLayoutData(griddata);
     removeButton_.addSelectionListener(new SelectionListener() {
@@ -221,17 +217,50 @@
     enableRemove(false);
 
     // table stuff here
-    String[] columns_ = new String[] { msgUtils_.getMessage("LABEL_HANDLER_NAME"), msgUtils_.getMessage("LABLE_HANDLER_CLASS"),
-        msgUtils_.getMessage("LABEL_HANDLER_PORT")};
+    String[] columns_ = new String[] {ConsumptionUIMessages.LABEL_HANDLER_NAME, ConsumptionUIMessages.LABLE_HANDLER_CLASS,
+    		ConsumptionUIMessages.LABEL_HANDLER_PORT};
 
+    final TableColumn[] tableCols = new TableColumn[columns_.length];
     for (int i = 0; i < columns_.length; i++) {
-      TableColumn tableColumn = new TableColumn(handlersTable_, i);
+      TableColumn tableColumn = new TableColumn(handlersTable_, SWT.LEFT);
       tableColumn.setText(columns_[i]);
       tableColumn.setAlignment(SWT.LEFT);
       tableColumn.setWidth(DEFAULT_COLUMN_WIDTH);
       tableColumn.setResizable(true);
+      tableCols[i] = tableColumn;
     }
-
+    handlersComp.addControlListener(new ControlAdapter() {
+        public void controlResized(ControlEvent e) {
+          Rectangle area = handlersComp.getClientArea();
+          Point preferredSize = handlersTable_.computeSize(SWT.DEFAULT, SWT.DEFAULT);
+          int width = area.width - 2*handlersTable_.getBorderWidth()-10;
+          if (preferredSize.y > area.height + handlersTable_.getHeaderHeight()) {
+            // Subtract the scrollbar width from the total column width
+            // if a vertical scrollbar will be required
+            Point vBarSize = handlersTable_.getVerticalBar().getSize();
+            width -= vBarSize.x;
+          }
+          Point oldSize = handlersTable_.getSize();
+          if (oldSize.x > area.width) {
+            // table is getting smaller so make the columns 
+            // smaller first and then resize the table to
+            // match the client area width
+            tableCols[0].setWidth(width/3);
+            tableCols[1].setWidth(width/3);
+            tableCols[2].setWidth(width - (tableCols[0].getWidth()+tableCols[1].getWidth()));
+            handlersTable_.setSize(area.width, area.height);
+          } else {
+            // table is getting bigger so make the table 
+            // bigger first and then make the columns wider
+            // to match the client area width
+              handlersTable_.setSize(area.width, area.height);
+              tableCols[0].setWidth(width/3);
+              tableCols[1].setWidth(width/3);
+              tableCols[2].setWidth(width - (tableCols[0].getWidth()+tableCols[1].getWidth()));
+          }
+        }
+      });
+    
     tableViewer_ = new TableViewer(handlersTable_);
     Control control = tableViewer_.getControl();
 
@@ -252,7 +281,9 @@
       }
     });
 
-    genSkeletonRadioButton_ = uiUtils.createCheckbox(parent_, "LABEL_BUTTON_GEN_SKELETON", TOOLTIP_BUTTON_GEN_SKELETON, INFOPOP_HDLR_GEN_SKELETON);
+    genSkeletonRadioButton_ = uiUtils.createCheckbox(parent_, ConsumptionUIMessages.LABEL_BUTTON_GEN_SKELETON, ConsumptionUIMessages.TOOLTIP_BUTTON_GEN_SKELETON, INFOPOP_HDLR_GEN_SKELETON);
+    griddata = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
+    genSkeletonRadioButton_.setLayoutData( griddata );    
     genSkeletonRadioButton_.addSelectionListener(new SelectionAdapter() {
 
       public void widgetSelected(SelectionEvent evt) {
@@ -261,7 +292,7 @@
     });
 
     Composite sourceLocationComp = uiUtils.createComposite(parent_, 2);
-    sourceLocationCombo_ = uiUtils.createCombo(sourceLocationComp, "LABEL_COMBO_SOURCE_LOC", TOOLTIP_COMBO_SOURCE_LOC, INFOPOP_COMBO_SOURCE_LOC,
+    sourceLocationCombo_ = uiUtils.createCombo(sourceLocationComp, ConsumptionUIMessages.LABEL_COMBO_SOURCE_LOC, ConsumptionUIMessages.TOOLTIP_COMBO_SOURCE_LOC, INFOPOP_COMBO_SOURCE_LOC,
         SWT.READ_ONLY);
     sourceLocationCombo_.addSelectionListener(new SelectionAdapter() {
 
@@ -278,7 +309,6 @@
     try {
 
       int sizeOfHandlers = wsDescToHandlers_.size();
-      String[] wsRefs = new String[sizeOfHandlers];
 
       String[] wsRefNames = (String[]) wsDescToHandlers_.keySet().toArray(new String[0]);
       webServiceDescCombo_.setItems(wsRefNames);
@@ -330,7 +360,6 @@
    *          The handlers to set.
    */
   public void setHandlers(HandlerTableItem[] handlers) {
-    this.handlers = handlers;
     populateHandlersTable();
   }
 
@@ -339,8 +368,8 @@
    * 
    * @see org.eclipse.wst.command.env.ui.widgets.WidgetContributor#getStatus()
    */
-  public Status getStatus() {
-    Status finalStatus = new SimpleStatus("");
+  public IStatus getStatus() {
+    IStatus finalStatus = Status.OK_STATUS;
 
     return finalStatus;
   }
@@ -402,7 +431,6 @@
   private void handleMoveUpButtonSelected(SelectionEvent event) {
 
     int index = tableViewer_.getTable().getSelectionIndex();
-    ISelection selected = tableViewer_.getSelection();
     if (index != -1) {
       if (index > 0) {
         orderedHandlers_ = (Vector) wsDescToHandlers_.get(webServiceDescCombo_.getText());
@@ -417,7 +445,6 @@
   private void handleMoveDownButtonSelected(SelectionEvent event) {
 
     int index = tableViewer_.getTable().getSelectionIndex();
-    ISelection selected = tableViewer_.getSelection();
     if (index != -1) {
       if (index < orderedHandlers_.size() - 1) {
         orderedHandlers_ = (Vector) wsDescToHandlers_.get(webServiceDescCombo_.getText());
@@ -513,7 +540,6 @@
     ISelection selection = tableViewer_.getSelection();
     if (selection != null && !selection.isEmpty() && (selection instanceof IStructuredSelection)) {
       int selectionIndex = handlersTable_.getSelectionIndex();
-      int selectionCount = handlersTable_.getItemCount();
 
       orderedHandlers_ = (Vector) wsDescToHandlers_.get(webServiceDescCombo_.getText());
       orderedHandlers_.remove(selectionIndex);
@@ -594,8 +620,6 @@
     try {
 
       if (wsDescToHandlersArray != null) {
-        int sizeOfHandlers = wsDescToHandlersArray.size();
-        String[] wsRefs = new String[sizeOfHandlers];
         // store the wsRefs
         Enumeration wsDesc = wsDescToHandlersArray.keys();
         while (wsDesc.hasMoreElements()) {
@@ -630,4 +654,5 @@
   public void setServiceDescNameToDescObj(Hashtable serviceDescNameToDescObj) {
     this.serviceDescNameToDescObj_ = serviceDescNameToDescObj;
   }
+  
 }
\ 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/HandlersDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/HandlersDefaultingCommand.java
index 870ba79..f5b6e14 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/HandlersDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/HandlersDefaultingCommand.java
@@ -10,13 +10,15 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroupType;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.wsdl.Service;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
 
 
 /**
@@ -24,17 +26,15 @@
  * 
  * Determine if Handlers belongs to service or client side
  */
-public class HandlersDefaultingCommand extends AbstractHandlersWidgetDefaultingCmd {
-
-  private MessageUtils msgUtils_;
-
+public class HandlersDefaultingCommand extends AbstractHandlersWidgetDefaultingCmd 
+{
   private boolean isClientHandler_ = false;
   private boolean isServiceHandler_ = false;
 
-  public Status execute(Environment env) {
-    String pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
 
     IStructuredSelection selection = getInitialSelection();
     if (selection != null && selection.size() == 1) {
@@ -42,7 +42,6 @@
 
         if (obj instanceof WebServiceNavigatorGroupType) {
           WebServiceNavigatorGroupType wsngt = (WebServiceNavigatorGroupType) obj;
-          Service service = (Service)wsngt.getWsdlService();
           if (wsngt.getWsdlService()!=null){
           	isServiceHandler_ = true;
           }
@@ -54,7 +53,7 @@
         }
       }
     else {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, null);
+      status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED );
       env.getStatusHandler().reportError(status);
       return status;
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ImportWSILWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ImportWSILWidget.java
index e1f7be2..7be3001 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ImportWSILWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ImportWSILWidget.java
@@ -16,11 +16,14 @@
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
 import org.eclipse.jst.ws.internal.common.J2EEActionAdapterFactory;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.jst.ws.internal.consumption.ui.wsil.Arguments;
 import org.eclipse.jst.ws.internal.consumption.ui.wsil.TableViewerEditor;
@@ -38,11 +41,9 @@
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.wsil.AddWSDLToWSILCommand;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
@@ -70,23 +71,18 @@
   private Button browse_;
   private TableViewerEditor wsdls_;
   
-  private MessageUtils msgUtils;
-  private IStructuredSelection selection;
-
   /**
   * Constructs a new page.
   */
   public ImportWSILWidget()
   {
-    msgUtils = new MessageUtils(WebServiceConsumptionUIPlugin.ID + ".plugin", this);
-    //super(msgUtils.getMessage("PAGE_WSIL_IMPORT"), msgUtils.getMessage("TITLE_WSIL_IMPORT"), msgUtils.getMessage("DESC_WSIL_IMPORT"));
   }
 
   public WidgetDataEvents addControls(Composite parent, Listener statusListener)
   {
   	IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
   	
-    parent.setToolTipText(msgUtils.getMessage("TOOLTIP_WSIL_IMPORT_PAGE"));
+    parent.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSIL_IMPORT_PAGE);
     helpSystem.setHelp(parent, INFOPOP_WSIL_IMPORT_PAGE);
 
     Composite composite = new Composite(parent, SWT.NONE);
@@ -99,7 +95,7 @@
     composite.setLayoutData(gd);
 
     Label label = new Label(composite, SWT.WRAP);
-    label.setText(msgUtils.getMessage("LABEL_WSIL_URI"));
+    label.setText(ConsumptionUIMessages.LABEL_WSIL_URI);
     label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 
     wsil_ = new Text(composite, SWT.WRAP | SWT.SINGLE | SWT.BORDER);
@@ -107,11 +103,11 @@
     gd.widthHint = 256;
     wsil_.setLayoutData(gd);
     wsil_.addListener(SWT.Modify, statusListener);
-    wsil_.setToolTipText(msgUtils.getMessage("TOOLTIP_WSIL_TEXT_WSIL"));
+    wsil_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSIL_TEXT_WSIL);
     helpSystem.setHelp(wsil_, INFOPOP_WSIL_TEXT_WSIL);
 
     browse_ = new Button(composite, SWT.PUSH);
-    browse_.setText(msgUtils.getMessage("LABEL_BROWSE"));
+    browse_.setText(ConsumptionUIMessages.LABEL_BROWSE);
     browse_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
     browse_.addListener(SWT.Selection,
       new Listener()
@@ -122,7 +118,7 @@
         }
       }
     );
-    browse_.setToolTipText(msgUtils.getMessage("TOOLTIP_WSIL_BUTTON_BROWSE_WSIL"));
+    browse_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSIL_BUTTON_BROWSE_WSIL);
     helpSystem.setHelp(browse_, INFOPOP_WSIL_BUTTON_BROWSE_WSIL);
 
     Composite wsdlComposite = new Composite(composite, SWT.NONE);
@@ -131,33 +127,15 @@
     gd.horizontalSpan = 3;
     wsdlComposite.setLayoutData(gd);
     label = new Label(wsdlComposite, SWT.WRAP);
-    label.setText(msgUtils.getMessage("LABEL_WSDL"));
+    label.setText(ConsumptionUIMessages.LABEL_WSDL);
     label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-    String[] columns = {msgUtils.getMessage("LABEL_WSDL_URI")};
+    String[] columns = {ConsumptionUIMessages.LABEL_WSDL_URI};
     wsdls_ = new TableViewerEditor(wsdlComposite, columns, new ArrayList(), "http://");
-    wsdls_.setToolTipText(msgUtils.getMessage("TOOLTIP_WSIL_TABLE_WSDL"));
+    wsdls_.setToolTipText(ConsumptionUIMessages.TOOLTIP_WSIL_TABLE_WSDL);
     wsdls_.setInfopop(INFOPOP_WSIL_TABLE_WSDL);
     return this;
   }
 
-  private IResource[] getWSDLResources()
-  {
-    ArrayList list = new ArrayList();
-    if (selection != null && !selection.isEmpty())
-    {
-      for (Iterator it = selection.iterator(); it.hasNext();)
-      {
-        Object object = it.next();
-        if ((object instanceof IFile) && ((IFile)object).getFileExtension() != null && ((IFile)object).getFileExtension().equals("wsdl"))
-          list.add(object);
-      }
-    }
-    IResource[] res = new IResource[list.size()];
-    for (int i = 0; i < res.length; i++)
-      res[i] = (IResource)list.get(i);
-    return res;
-  }
-
   public void handleBrowseEvent(Event event)
   {
     DialogResourceBrowser dialog = new DialogResourceBrowser(browse_.getShell(), null, new FileExtensionFilter(new String[] {"wsil"}));
@@ -172,17 +150,16 @@
     }
   }
 
-  public Status getStatus()
+  public IStatus getStatus()
   {
     if (!wsil_.getText().endsWith(".wsil"))
-      return new SimpleStatus("", msgUtils.getMessage("PAGE_MSG_INVALID_WSIL_FILE_NAME"), Status.ERROR);
+      return StatusUtils.errorStatus( ConsumptionUIMessages.PAGE_MSG_INVALID_WSIL_FILE_NAME );
     else
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
   }
   
   public void setInitialSelection(IStructuredSelection selection)
   {
-    this.selection = selection;
     ArrayList list = new ArrayList();
     if (selection != null && !selection.isEmpty())
     {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PreferencesSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PreferencesSelectionWidget.java
index 1d1f706..27fc72b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PreferencesSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PreferencesSelectionWidget.java
@@ -10,14 +10,14 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
+import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Listener;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
 
 
 public class PreferencesSelectionWidget extends SimpleWidgetDataContributor
@@ -41,23 +41,21 @@
    */
   public WidgetDataEvents addControls( Composite parent, Listener statusListener)
   {
-    String       pluginId    = "org.eclipse.jst.ws.ui";
     String       conPluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils    = new MessageUtils( pluginId + ".plugin", this );
-  	UIUtils      utils       = new UIUtils( msgUtils, conPluginId );
+  	UIUtils      utils       = new UIUtils( conPluginId );
   	
     Composite resourcesGroup = utils.createComposite( parent, 1 );
     
-    overwriteFilesCheckbox_ = utils.createCheckbox( resourcesGroup, "BUTTON_OVERWRITE_FILES",
-                                                    "TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES", 
+    overwriteFilesCheckbox_ = utils.createCheckbox( resourcesGroup, WSUIPluginMessages.BUTTON_OVERWRITE_FILES,
+    		WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES, 
                                                     INFOPOP_PWPR_CHECKBOX_OVERWRITE_FILES );
                                                  
-    createFoldersCheckbox_ = utils.createCheckbox( resourcesGroup, "BUTTON_CREATE_FOLDERS",
-                                                   "TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS" , 
+    createFoldersCheckbox_ = utils.createCheckbox( resourcesGroup, WSUIPluginMessages.BUTTON_CREATE_FOLDERS,
+    		WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS , 
                                                    INFOPOP_PWPR_CHECKBOX_CREATE_FOLDERS );
                                                       
-    checkoutFilesCheckbox_ = utils.createCheckbox( resourcesGroup, "BUTTON_CHECKOUT_FILES",
-                                                   "TOOLTIP_PPRM_CHECKBOX_CHECK_OUT", 
+    checkoutFilesCheckbox_ = utils.createCheckbox( resourcesGroup, WSUIPluginMessages.BUTTON_CHECKOUT_FILES,
+    		WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_CHECK_OUT, 
                                                    INFOPOP_PWPR_CHECKBOX_CHECKOUT_FILES );
     
     return this;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishToPrivateUDDICommandFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishToPrivateUDDICommandFragment.java
index 27dfbe0..6564919 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishToPrivateUDDICommandFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishToPrivateUDDICommandFragment.java
@@ -11,13 +11,12 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
 import org.eclipse.jst.ws.internal.consumption.ui.wizard.PrivateUDDIRegistryTypeRegistry;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.AbstractCommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class PublishToPrivateUDDICommandFragment extends AbstractCommandFragment
@@ -30,7 +29,7 @@
   
   public PublishToPrivateUDDICommandFragment()
   {
-    super((CommandFactory)null, "");
+    super(null, "");
     privateUDDIBinding = PrivateUDDIRegistryTypeRegistry.getInstance().getPrivateUDDIRegistryType().getBinding();
   }
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishWSWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishWSWidget.java
index 9a40b1a..d044f7c 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishWSWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/PublishWSWidget.java
@@ -12,6 +12,7 @@
 
 import java.util.Vector;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.jst.ws.internal.consumption.ui.wizard.PrivateUDDIRegistryTypeRegistry;
 import org.eclipse.jst.ws.internal.consumption.ui.wizard.PublicUDDIRegistryTypeRegistry;
@@ -30,7 +31,6 @@
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 import org.eclipse.wst.ws.internal.explorer.LaunchOption;
 import org.eclipse.wst.ws.internal.explorer.LaunchOptions;
 
@@ -45,14 +45,12 @@
   private Button launchPrivateUDDICheckbox_;
   private Label pubilcUDDIRegComboLabel_;
   private Combo publicUDDIRegCombo_;
-  private MessageUtils msgUtils;
   private Listener statusListener;
   private Boolean publish;
 
   public PublishWSWidget(boolean publish)
   {
-    msgUtils = new MessageUtils(WebServiceConsumptionUIPlugin.ID + ".plugin", this);
-    this.publish = new Boolean(publish);
+	  this.publish = new Boolean(publish);
   }
 
   public WidgetDataEvents addControls(Composite parent, Listener statusListener)
@@ -65,23 +63,23 @@
         handleSelectionEvent(event);
       }
     };
-    parent.setToolTipText(msgUtils.getMessage("TOOLTIP_PWPB_PAGE"));
+    parent.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWPB_PAGE);
     IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
     helpSystem.setHelp(parent, INFOPOP_PWPB_PAGE);
     launchPrivateUDDICheckbox_ = new Button(parent, SWT.CHECK);
     if (publish.booleanValue())
-      launchPrivateUDDICheckbox_.setText(msgUtils.getMessage("BUTTON_WS_PUBLISH_PRIVATE_UDDI"));
+      launchPrivateUDDICheckbox_.setText(ConsumptionUIMessages.BUTTON_WS_PUBLISH_PRIVATE_UDDI);
     else
-      launchPrivateUDDICheckbox_.setText(msgUtils.getMessage("BUTTON_WS_FIND_PRIVATE_UDDI"));
-    launchPrivateUDDICheckbox_.setToolTipText(msgUtils.getMessage("TOOLTIP_PWPB_CHECKBOX_WS_LAUNCH"));
+      launchPrivateUDDICheckbox_.setText(ConsumptionUIMessages.BUTTON_WS_FIND_PRIVATE_UDDI);
+    launchPrivateUDDICheckbox_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWPB_CHECKBOX_WS_LAUNCH);
     launchPrivateUDDICheckbox_.addListener(SWT.Selection, selListener);
     helpSystem.setHelp(launchPrivateUDDICheckbox_, INFOPOP_PWPB_CHECKBOX_WS_LAUNCH);
     launchUDDICheckbox_ = new Button(parent, SWT.CHECK);
     if (publish.booleanValue())
-      launchUDDICheckbox_.setText(msgUtils.getMessage("BUTTON_WS_PUBLISH"));
+      launchUDDICheckbox_.setText(ConsumptionUIMessages.BUTTON_WS_PUBLISH);
     else
-      launchUDDICheckbox_.setText(msgUtils.getMessage("BUTTON_WS_FIND"));
-    launchUDDICheckbox_.setToolTipText(msgUtils.getMessage("TOOLTIP_PWPB_CHECKBOX_WS_LAUNCH"));
+      launchUDDICheckbox_.setText(ConsumptionUIMessages.BUTTON_WS_FIND);
+    launchUDDICheckbox_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWPB_CHECKBOX_WS_LAUNCH);
     launchUDDICheckbox_.addListener(SWT.Selection, selListener);
     helpSystem.setHelp(launchUDDICheckbox_, INFOPOP_PWPB_CHECKBOX_WS_LAUNCH);
     Composite c = new Composite(parent, SWT.NONE);
@@ -94,7 +92,7 @@
     c.setLayoutData(gd);
     new Label(c, SWT.WRAP);
     pubilcUDDIRegComboLabel_ = new Label(c, SWT.WRAP);
-    pubilcUDDIRegComboLabel_.setText(msgUtils.getMessage("LABEL_PUBLIC_UDDI_REGISTRIES"));
+    pubilcUDDIRegComboLabel_.setText(ConsumptionUIMessages.LABEL_PUBLIC_UDDI_REGISTRIES);
     publicUDDIRegCombo_ = new Combo(c, SWT.DROP_DOWN | SWT.READ_ONLY);
     publicUDDIRegCombo_.setEnabled(false);
     initPublicUDDI();
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetDefaultingCommand.java
index 5750275..546cbfc 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetDefaultingCommand.java
@@ -14,9 +14,16 @@
 import java.util.List;
 import java.util.Vector;
 
+import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroupType;
 import org.eclipse.jst.j2ee.internal.webservice.helper.WebServicesManager;
@@ -26,11 +33,10 @@
 import org.eclipse.jst.j2ee.webservice.wsdd.WebServices;
 import org.eclipse.jst.j2ee.webservice.wsdd.WsddResource;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.HandlerTableItem;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.wsdl.Service;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
@@ -43,9 +49,6 @@
 public class ServiceHandlersWidgetDefaultingCommand extends AbstractHandlersWidgetDefaultingCmd {
 
   private HandlerTableItem[] handlers_;
-  private MessageUtils msgUtils_;
-  private boolean isGenSkeletonEnabled_;
-  private IPath sourceOutputLocation_;
   private WebServiceDescription wsDescription_;
   private WsddResource wsddResource_;
   private WebServicesManager webServicesManager_;
@@ -54,15 +57,15 @@
   private Hashtable serviceDescNameToDescObj_;
   private String descriptionName_ = null;
 
-  public Status execute(Environment env) {
-    String pluginId = "org.eclipse.jst.ws.consumption.ui";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
 
     webServicesManager_ = new WebServicesManager();
     IStructuredSelection selection = getInitialSelection();
     if (selection == null) {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, null);
+      status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED );
       env.getStatusHandler().reportError(status);
       return status;
     }
@@ -72,22 +75,15 @@
 
   }
 
-  public Status processHandlers(Environment env) {
+  public IStatus processHandlers(IEnvironment env) {
     try {
       Vector handlers = new Vector();
       wsDescToHandlers_ = new Hashtable();
       serviceDescNameToDescObj_ = new Hashtable();
       
-//      WebServiceEditModel wsed = getWebServiceEditModel();
-  //    if (wsed == null)
-        wsddResource_ = getWsddResourceFromSelection();
-  //    else
-  //      wsddResource_ = wsed.getWebServicesXmlResource();
-
+      wsddResource_ = getWsddResourceFromSelection();
       if (wsddResource_ == null) {
-        Status status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, null);
-        env.getStatusHandler().reportError(status);
-        return status;
+          return StatusUtils.errorStatus(ConsumptionUIMessages.MSG_ERROR_WSDD_NOT_FOUND);
       }
 
       WebServices webServices = wsddResource_.getWebServices();
@@ -128,12 +124,17 @@
 
         handlers_ = (HandlerTableItem[]) handlers.toArray(new HandlerTableItem[0]);
       }
+      else {
+          //report no Web service is available
+          return StatusUtils.errorStatus(ConsumptionUIMessages.MSG_ERROR_WEB_SERVICES_NOT_FOUND);        
+      }      
     }
-    catch (Exception e) {
+    catch (Exception e) 
+    {
       e.printStackTrace();
-      return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED"), Status.ERROR, e);
+      return StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED, e);
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   public HandlerTableItem[] getHandlers() {
@@ -195,6 +196,13 @@
         project_ = ProjectUtilities.getProject(service);
         return webServicesManager_.getWsddResource(service);
       }
+      else if (obj instanceof IFile){
+    	  // webservices.xml file
+    	  Resource res = WorkbenchResourceHelperBase.getResource((IFile)obj, true);
+    	  WsddResource wsddRes = (WsddResource)res;
+    	  project_ = ProjectUtilities.getProject(res);
+    	  return wsddRes;
+      }
     }
     
     return null;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetOutputCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetOutputCommand.java
index 6f60683..504f1e5 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/ServiceHandlersWidgetOutputCommand.java
@@ -15,7 +15,10 @@
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.List;
-
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.j2ee.webservice.wsdd.Handler;
 import org.eclipse.jst.j2ee.webservice.wsdd.PortComponent;
 import org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription;
@@ -23,27 +26,23 @@
 import org.eclipse.jst.j2ee.webservice.wsdd.WsddResource;
 import org.eclipse.jst.j2ee.webservice.wsdd.internal.impl.WsddFactoryImpl;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.HandlerTableItem;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
 
 /*
  * Provide a way to externalize the edited fields and create new handlers
  *  
  */
-public class ServiceHandlersWidgetOutputCommand extends SimpleCommand {
+public class ServiceHandlersWidgetOutputCommand extends AbstractDataModelOperation
+{
 
-  private List handlerTableItems;
-  private WebServiceDescription wsDescription_;
   private WsddResource wsddResource_;
   private Hashtable wsDescToHandlers_;
   private Hashtable serviceDescNameToDescObj_;
 
-  public Status execute(Environment env) {
-
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    IStatus status = Status.OK_STATUS;
     try {
       Enumeration e = wsDescToHandlers_.keys();
       while (e.hasMoreElements()) {
@@ -142,7 +141,6 @@
 
   private void removeExistingHandlers(Hashtable portsTable, Hashtable portsToHandlersTable) {
     try {
-      int key = 0;
       Enumeration ports = portsToHandlersTable.keys();
       while (ports.hasMoreElements()) {
         String portName = (String) ports.nextElement();
@@ -181,7 +179,6 @@
 
   private void addHandlersToPorts(Hashtable portsTable, Hashtable portsToHandlersTable) {
     try {
-      int key = 0;
       Enumeration ports = portsToHandlersTable.keys();
       while (ports.hasMoreElements()) {
         String portName = (String) ports.nextElement();
@@ -204,7 +201,6 @@
    *          The handlerTableItems to set.
    */
   public void setHandlersList(List handlerTableItems) {
-    this.handlerTableItems = handlerTableItems;
   }
 
   public void setWsDescToHandlers(Hashtable wsDescToHandlers) {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TableViewerWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TableViewerWidget.java
index 8a18713..ed902a3 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TableViewerWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/TableViewerWidget.java
@@ -21,6 +21,8 @@
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ISelection;
@@ -35,7 +37,9 @@
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.common.PropertiesResourceFilter;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.dialog.DialogUtils;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.TableEditor;
 import org.eclipse.swt.events.KeyEvent;
@@ -57,11 +61,9 @@
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 public class TableViewerWidget extends SimpleWidgetDataContributor
@@ -109,9 +111,6 @@
     parent_         = parent;
     statusListener_ = statusListener;
     
-    String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId + ".plugin", this );
-    
 	Composite  composite = new Composite(parent, SWT.NONE);
 	GridLayout gl        = new GridLayout();
 	
@@ -188,7 +187,7 @@
 	buttonComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING));
 
 	import_ = new Button(buttonComposite, SWT.PUSH);
-	import_.setText(msgUtils.getMessage("LABEL_IMPORT"));
+	import_.setText(ConsumptionUIMessages.LABEL_IMPORT);
 	import_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 	import_.addSelectionListener(
 	  new SelectionListener()
@@ -204,7 +203,7 @@
 	);
 	
 	add_ = new Button(buttonComposite, SWT.PUSH);
-	add_.setText(msgUtils.getMessage("LABEL_ADD"));
+	add_.setText(ConsumptionUIMessages.LABEL_ADD);
 	add_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 	add_.addSelectionListener(
 	  new SelectionListener()
@@ -221,7 +220,7 @@
 
 	
 	remove_ = new Button(buttonComposite, SWT.PUSH);
-	remove_.setText(msgUtils.getMessage("LABEL_REMOVE"));
+	remove_.setText(ConsumptionUIMessages.LABEL_REMOVE);
 	remove_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 	remove_.addSelectionListener(
 	  new SelectionListener()
@@ -331,17 +330,15 @@
   private void checkMappingConstraints() {
 
 	HashMap map = new HashMap();
-    String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId + ".plugin", this );
-    
+   
 	for(int cnt=0; cnt<values_.size(); cnt++){
 		String[] value = (String[])values_.get(cnt);
 		if(map.containsKey(value[0]) && ((rescriction & 1)!=0)){
-			message = msgUtils.getMessage("MSG_MAPPING_DUPLICATE_ENTRIES", new String[]{columns_[0],columns_[1]});
+			message =NLS.bind(ConsumptionUIMessages.MSG_MAPPING_DUPLICATE_ENTRIES, new String[]{columns_[0],columns_[1]});
 			return;
 		}
 		if(map.containsValue(value[1]) && ((rescriction & 2)!=0)){
-			message = msgUtils.getMessage("MSG_MAPPING_DUPLICATE_ENTRIES", new String[]{columns_[1],columns_[0]});
+			message =NLS.bind(ConsumptionUIMessages.MSG_MAPPING_DUPLICATE_ENTRIES, new String[]{columns_[1],columns_[0]});
 			return;
 		}
 		map.put(value[0],value[1]);
@@ -351,10 +348,10 @@
 
   }
 
-  public Status getStatus()
+  public IStatus getStatus()
   {
-    return message == null ? new SimpleStatus("") : 
-                             new SimpleStatus( "", message, Status.ERROR );
+    return message == null ? Status.OK_STATUS : 
+                             StatusUtils.errorStatus( message );
   }
 
   private void setSelectionAsObject(Object object)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionConditionCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionConditionCommand.java
index 4b501b6..ad041c0 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionConditionCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionConditionCommand.java
@@ -10,24 +10,25 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.wsil.DialogWWWAuthentication;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WWWAuthenticationException;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServiceEntity;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
-public class WSDLSelectionConditionCommand extends SimpleCommand implements Condition
+public class WSDLSelectionConditionCommand extends AbstractDataModelOperation implements Condition
 {
-  private String pluginId_;
-  private MessageUtils msgUtils_;
   private WebServicesParser webServicesParser;
   private String webServiceURI;
   private String httpBasicAuthUsername;
@@ -36,8 +37,6 @@
   
   public WSDLSelectionConditionCommand()
   {
-    pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    msgUtils_ = new MessageUtils( pluginId_ + ".plugin", this );
   }
 
   public void setWebServicesParser(WebServicesParser webServicesParser)
@@ -52,7 +51,7 @@
   	return webServicesParser;
   }
   
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
   	needWSDLSelectionTreeWidget = false;
   	WebServicesParser parser = getWebServicesParser();
@@ -79,7 +78,7 @@
         }
         catch (Throwable t)
         {
-          return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_URI_NOT_RESOLVABLE", new Object[] {webServiceURI}), Status.ERROR, t);
+          return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_ERROR_URI_NOT_RESOLVABLE, new Object[] {webServiceURI}), t);
         }
         finally
         {
@@ -90,7 +89,7 @@
     }
     catch (Throwable t)
     {
-      return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_URI_NOT_RESOLVABLE", new Object[] {webServiceURI}), Status.ERROR, t);
+      return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_ERROR_URI_NOT_RESOLVABLE, new Object[] {webServiceURI}), t);
     }
     WebServiceEntity wsEntity = parser.getWebServiceEntityByURI(webServiceURI);
     if (wsEntity != null)
@@ -99,7 +98,7 @@
       if (type != WebServiceEntity.TYPE_WSDL)
       	needWSDLSelectionTreeWidget = true;
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
   public boolean evaluate()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionOutputCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionOutputCommand.java
index df255bf..d861819 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionOutputCommand.java
@@ -13,16 +13,19 @@
 import java.util.Map;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
-public class WSDLSelectionOutputCommand extends SimpleCommand
+public class WSDLSelectionOutputCommand extends AbstractDataModelOperation
 {
   private WebServicesParser webServicesParser;
   private String wsdlURI;
@@ -99,20 +102,21 @@
     this.webServicesParser = webServicesParser;
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    MessageUtils msgUtils = new MessageUtils("org.eclipse.jst.ws.consumption.ui.plugin", this);    
+    IEnvironment env = getEnvironment();
+       
     if (wsdlURI != null && getWebServicesParser().getWSDLDefinition(wsdlURI) != null) {
-      Status status = new SimpleStatus("");     
+      IStatus status = Status.OK_STATUS;     
       Map services = getWebServicesParser().getWSDLDefinition(wsdlURI).getServices();
       if (services.isEmpty()){
         if (testService==true){
             testService = false;
-            status = new SimpleStatus("", msgUtils.getMessage("MSG_WARNING_NO_SERVICE_ELEMENT"), Status.WARNING);
+            status = StatusUtils.warningStatus( ConsumptionUIMessages.MSG_WARNING_NO_SERVICE_ELEMENT );
             try{
               env.getStatusHandler().report(status);
             }catch(Exception e){
-              status = new SimpleStatus("", msgUtils.getMessage("MSG_WARNING_NO_SERVICE_ELEMENT"), Status.ERROR);
+              status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_WARNING_NO_SERVICE_ELEMENT );
             }
         }
       }    
@@ -120,7 +124,7 @@
   }
     else
     {
-      Status status = new SimpleStatus("", msgUtils.getMessage("PAGE_MSG_SELECTION_MUST_BE_WSDL"), Status.ERROR);
+      IStatus status = StatusUtils.errorStatus( ConsumptionUIMessages.PAGE_MSG_SELECTION_MUST_BE_WSDL );
       env.getStatusHandler().reportError(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 84d8ac2..71c3af8 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
@@ -12,6 +12,8 @@
 
 import java.util.List;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ISelection;
@@ -21,6 +23,7 @@
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
@@ -32,11 +35,9 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServiceEntity;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
@@ -46,22 +47,14 @@
 */
 public class WSDLSelectionTreeWidget extends SimpleWidgetDataContributor
 {
-  private String pluginId_;
-  private MessageUtils msgUtils_;
+  private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
 
   /*CONTEXT_ID PWWS0001 for the WSDL Selection Page*/
   private final String INFOPOP_PWWS_PAGE = ".PWWS0001";
 
-  /*CONTEXT_ID PWWS0002 for the WSDL Document text field of the WSDL Selection Page*/
-  private final String INFOPOP_PWWS_TEXT_WSDL = ".PWWS0002";
-
-  /*CONTEXT_ID PWWS0003 for the WSDL Resource Browse button of the WSDL Selection Page*/
-  private final String INFOPOP_PWWS_BUTTON_BROWSE_WSDL = ".PWWS0003";
-
   private WebServicesParser webServicesParser;
   private String webServiceURI;
   
-  private Composite parent;
   private Listener statusListener;
   private TreeViewer treeViewer_;
   private TreeContentProvider treeContentProvider;
@@ -73,19 +66,16 @@
   */
   public WSDLSelectionTreeWidget()
   {
-    pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    msgUtils_ = new MessageUtils( pluginId_ + ".plugin", this );
   }
 
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    this.parent = parent;
   	this.statusListener = statusListener;
-    parent.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWWS_PAGE"));
+    parent.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWWS_PAGE);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, pluginId_ + INFOPOP_PWWS_PAGE);
 
     Label wsdlLabel = new Label(parent, SWT.WRAP);
-    wsdlLabel.setText(msgUtils_.getMessage("LABEL_SELECT_WSDL"));
+    wsdlLabel.setText(ConsumptionUIMessages.LABEL_SELECT_WSDL);
     wsdlLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 
     tree_ = new Tree(parent, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
@@ -189,13 +179,13 @@
     return null;
   }
 
-  public Status getStatus()
+  public IStatus getStatus()
   {
     WebServiceEntity wsEntity = getSelectionAsWebServiceEntity();
     if (wsEntity == null || wsEntity.getType() != WebServiceEntity.TYPE_WSDL)
-      return new SimpleStatus("", msgUtils_.getMessage("PAGE_MSG_SELECTION_MUST_BE_WSDL"), Status.ERROR);
+      return StatusUtils.errorStatus( ConsumptionUIMessages.PAGE_MSG_SELECTION_MUST_BE_WSDL );
     else
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
   }
 
   private class TreeContentProvider implements ITreeContentProvider
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 96dc1d5..fc40135 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
@@ -10,20 +10,25 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
+import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
 import org.eclipse.jst.ws.internal.common.J2EEActionAdapterFactory;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
 
-public class WSDLSelectionWidgetDefaultingCommand extends SimpleCommand
+public class WSDLSelectionWidgetDefaultingCommand extends AbstractDataModelOperation
 {
   private IStructuredSelection selection_;
   
@@ -144,5 +149,10 @@
       }
     }
     return null;
+  }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
   }  
 }
\ 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/WSDLSelectionWidgetWrapper.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionWidgetWrapper.java
index 9b3397c..e05e8fd 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionWidgetWrapper.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionWidgetWrapper.java
@@ -11,6 +11,7 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.WSDLSelectionWidget;
@@ -19,39 +20,26 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 public class WSDLSelectionWidgetWrapper extends SimpleWidgetDataContributor
 {
-  private String pluginId;
-  private MessageUtils msgUtils;
-
-  private Composite parent;
-  private Listener statusListener;
-  
   private WSDLSelectionWidget wsdlSelectionWidget;
-  private String webServiceURI;
   private IProject project;
   private String componentName;
   
   public WSDLSelectionWidgetWrapper()
   {
-    pluginId = "org.eclipse.jst.ws.consumption.ui";
-    msgUtils = new MessageUtils(pluginId + ".plugin", this);
   }
   
   public WidgetDataEvents addControls(Composite parent, Listener statusListener)
   {
-    this.parent = parent;
-    this.statusListener = statusListener;
     wsdlSelectionWidget = new WSDLSelectionWidget();
     wsdlSelectionWidget.addControls(parent, statusListener);
     return this;
   }
   
-  public Status getStatus()
+  public IStatus getStatus()
   {
     return wsdlSelectionWidget.getStatus();
   }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WebServiceClientTypeWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WebServiceClientTypeWidget.java
index 934623c..0300fc2 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WebServiceClientTypeWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WebServiceClientTypeWidget.java
@@ -10,11 +10,13 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.LabelsAndIds;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
@@ -22,7 +24,6 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 
 public class WebServiceClientTypeWidget extends SimpleWidgetDataContributor
@@ -32,12 +33,14 @@
   
   /*CONTEXT_ID PWPR0014 for the Web Service Client Type combo box of the Project Page*/
   private String INFOPOP_PWPR_COMBO_CLIENTTYPE = "PWPR0014";
-  private Combo  clientTypeCombo_;
-    
-  /*CONTEXT_ID PWPR0006 for the Test Proxy check box of the Project Page*/
-  private String INFOPOP_PWPR_CHECKBOX_TEST_PROXY = "PWPR0006";
-  private Button testProxyCheckbox_;
+
+  /*CONTEXT_ID PWPR0016 for the Install Client check box of the Scenario page of Service and Client wizards*/
+  private String INFOPOP_PWPR_CHECKBOX_INSTALL_CLIENT = "PWPR0016";
   
+  private Combo  clientTypeCombo_;
+  
+  private Button installClient_;
+      
   private TypeRuntimeServer ids_;
   private LabelsAndIds      labelIds_;
     
@@ -47,23 +50,31 @@
   public WidgetDataEvents addControls( Composite parent, Listener statusListener)
   {
     String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId + ".plugin", this );
-    UIUtils      utils    = new UIUtils( msgUtils, pluginId );
+    UIUtils      utils    = new UIUtils( pluginId );
   	
     Group clientGroup = utils.createGroup( parent, 
-                                           "GROUP_SCENARIO_CLIENT",
-                                           "TOOLTIP_PWPR_GROUP_SCENARIO_CLIENT", 
+    		ConsumptionUIMessages.GROUP_SCENARIO_CLIENT,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_GROUP_SCENARIO_CLIENT, 
                                            INFOPOP_PWPR_GROUP_SCENARIO_CLIENT,
-										   2, 10, 10 );
-                                             
+										   2, 10, 10 );                                             
+    
     
     int comboStyle = SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY;
     clientTypeCombo_ = utils.createCombo( clientGroup, 
-                                          "LABEL_WEBSERVICECLIENTTYPE",
-                                          "TOOLTIP_PWPR_COMBO_CLIENTTYPE", 
+    		ConsumptionUIMessages.LABEL_WEBSERVICECLIENTTYPE,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_COMBO_CLIENTTYPE, 
                                           INFOPOP_PWPR_COMBO_CLIENTTYPE, 
                                           comboStyle );
-                                            
+           
+    Composite buttonGroup = utils.createComposite( clientGroup, 1 );
+    GridData  buttonGrid   = new GridData();
+    buttonGrid.horizontalSpan = 2;
+    buttonGroup.setLayoutData( buttonGrid );
+    
+    installClient_ = utils.createCheckbox( buttonGroup, ConsumptionUIMessages.BUTTON_INSTALL_CLIENT_WEB_PROJECT,
+			ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_INSTALL_CLIENT_WEB_PROJECT,
+			INFOPOP_PWPR_CHECKBOX_INSTALL_CLIENT );
+    
     
     
     return this;
@@ -72,6 +83,7 @@
   public void enableWidget( boolean enable )
   {
     clientTypeCombo_.setEnabled( enable );
+    installClient_.setEnabled( enable );
   }
 
   public void setTypeRuntimeServer( TypeRuntimeServer ids )
@@ -79,7 +91,7 @@
 		// rskreg
     //WebServiceClientTypeRegistry registry   = WebServiceClientTypeRegistry.getInstance();
     //LabelsAndIds                 labelIds   = registry.getClientTypeLabels();
-		LabelsAndIds                 labelIds   = WebServiceRuntimeExtensionUtils.getClientTypeLabels();
+		LabelsAndIds                 labelIds   = WebServiceRuntimeExtensionUtils2.getClientTypeLabels();
     int                          selection  = 0;
     String[]                     clientIds  = labelIds.getIds_();
     String                       selectedId = ids.getTypeId();
@@ -111,5 +123,15 @@
     return ids_;  
   }
       
+  public Boolean getInstallClient()
+  {
+    return new Boolean( installClient_.getSelection() );
+  }
   
+  public void setInstallClient( Boolean value )
+  {
+    installClient_.setSelection( value.booleanValue() );  
+  }
+  
+
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ClientWidgetBinding.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ClientWidgetBinding.java
index 5fa3997..03faca1 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ClientWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ClientWidgetBinding.java
@@ -10,13 +10,11 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.binding;
 
-import org.eclipse.jst.ws.internal.common.StringToIProjectTransformer;
-import org.eclipse.jst.ws.internal.consumption.command.common.ClientServerDeployableConfigCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.GetMonitorCommand;
 import org.eclipse.jst.ws.internal.consumption.common.ScenarioCleanupCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.command.CheckForServiceProjectCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.command.data.EclipseIPath2URLStringTransformer;
-import org.eclipse.jst.ws.internal.consumption.ui.command.data.ServerInstToIServerTransformer;
 import org.eclipse.jst.ws.internal.consumption.ui.common.FinishFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.extension.ClientRootFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.extension.PreClientDevelopCommand;
@@ -39,7 +37,7 @@
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.FinishTestFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.TestDefaultingFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.WebServiceClientTestArrivalCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceClientTypeRegistry;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -50,12 +48,6 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.ws.internal.extensions.AssembleClientFragment;
 import org.eclipse.wst.ws.internal.extensions.DeployClientFragment;
 import org.eclipse.wst.ws.internal.extensions.DevelopClientFragment;
@@ -64,11 +56,7 @@
 
 
 public class ClientWidgetBinding implements CommandWidgetBinding
-{
-  private CanFinishRegistry   canFinishRegistry_;
-  private WidgetRegistry      widgetRegistry_;
-  private DataMappingRegistry dataMappingRegistry_;
-  
+{  
   /* (non-Javadoc)
    * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#create()
    */
@@ -88,44 +76,48 @@
    */
   public void registerCanFinish(CanFinishRegistry canFinishRegistry)
   {
-    canFinishRegistry_ = canFinishRegistry;
   }
 
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
-  {
-    dataMappingRegistry_ = dataRegistry;
-    
+  {    
     // Before ClientWizardWidget
     dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientWizardWidget.class);
+    dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "InstallClient", ClientWizardWidget.class );
     dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "TestService", ClientWizardWidget.class );
     dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "MonitorService", ClientWizardWidget.class);
     dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "ResourceContext", ClientWizardWidget.class );
     
     // After ClientWizardWidget
     dataRegistry.addMapping(ClientWizardWidget.class, "ClientTypeRuntimeServer", ClientWizardWidgetOutputCommand.class);
+    dataRegistry.addMapping(ClientWizardWidget.class, "InstallClient", ClientWizardWidgetOutputCommand.class);
     dataRegistry.addMapping(ClientWizardWidget.class, "TestService", ClientWizardWidgetOutputCommand.class);
     dataRegistry.addMapping(ClientWizardWidget.class, "MonitorService", ClientWizardWidgetOutputCommand.class);
     dataRegistry.addMapping(ClientWizardWidget.class, "ResourceContext", ClientWizardWidgetOutputCommand.class);
             
     // Before ClientRuntimeSelectionWidget
     dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientRuntimeSelectionWidget.class, "J2EEVersion", null);
-    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientRuntimeId", ClientRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", ClientRuntimeSelectionWidget.class);    
+    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", ClientRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentType", ClientRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientRuntimeSelectionWidget.class, "J2EEVersion", null);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientRuntimeSelectionWidget.class);
     dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientNeedEAR", ClientRuntimeSelectionWidget.class,"NeedEAR",null);
     
     // After ClientRuntimeSelectionWidget
     dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientTypeRuntimeServer", ClientExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "J2EEVersion", ClientExtensionDefaultingCommand.class, "ClientJ2EEVersion", null);
-    dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientRuntimeId", ClientExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "J2EEVersion", ClientExtensionDefaultingCommand.class, "ClientJ2EEVersion", null);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientProjectName", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientEarProjectName", ClientExtensionDefaultingCommand.class); 
-    dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientComponentType", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ClientRuntimeSelectionWidget.class, "ClientNeedEAR", ClientExtensionDefaultingCommand.class);
     
@@ -142,7 +134,8 @@
     dataRegistry.addMapping(WSDLSelectionWidgetWrapper.class, "WebServicesParser", WSDLSelectionOutputCommand.class);
     dataRegistry.addMapping(WSDLSelectionWidgetWrapper.class, "Project", WSDLSelectionOutputCommand.class);
     dataRegistry.addMapping(WSDLSelectionWidgetWrapper.class, "ComponentName", WSDLSelectionOutputCommand.class);
-        
+	dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "GenerateProxy",TestDefaultingFragment.class);
+	
     // Before Client Test widget.
     dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "TestService",FinishTestFragment.class);
     dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "TestService", ClientTestWidget.class );
@@ -174,14 +167,10 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry)
   {
-    String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    
-    widgetRegistry_ = widgetRegistry;
-    
+       
     widgetRegistry.add( "ClientWizardWidget", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_PROJECT"),
-                        msgUtils.getMessage("PAGE_DESC_WS_PROJECT"),
+    		ConsumptionUIMessages.PAGE_TITLE_WS_PROJECT,
+                        ConsumptionUIMessages.PAGE_DESC_WS_PROJECT,
 				        new WidgetContributorFactory()
 				        {
 				          public WidgetContributor create()
@@ -191,8 +180,8 @@
 				        } );
     
     widgetRegistry.add( "ClientRuntimeSelectionWidget", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_CLIENT_RUNTIME_SELECTION"),
-                        msgUtils.getMessage("PAGE_DESC_WS_CLIENT_RUNTIME_SELECTION"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_CLIENT_RUNTIME_SELECTION,
+                        ConsumptionUIMessages.PAGE_DESC_WS_CLIENT_RUNTIME_SELECTION,
 						new WidgetContributorFactory()
                         {
 						  public WidgetContributor create()
@@ -202,8 +191,8 @@
 						} );
     
     widgetRegistry.add( "WSDLSelectionWidgetWrapper", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_SELECTION"),
-                        msgUtils.getMessage("PAGE_DESC_WS_SELECTION"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_SELECTION,
+                        ConsumptionUIMessages.PAGE_DESC_WS_SELECTION,
 		                new WidgetContributorFactory()
                         {
 		                  public WidgetContributor create()
@@ -213,8 +202,8 @@
 		                } );
     
     widgetRegistry.add( "ClientTestWidget", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_SAMPLE"),
-                        msgUtils.getMessage("PAGE_DESC_WS_SAMPLE"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_SAMPLE,
+                        ConsumptionUIMessages.PAGE_DESC_WS_SAMPLE,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -223,23 +212,6 @@
                           }
                         });
   }
-
-  private class InitClientRegistry extends SimpleCommand
-  {  
-    private WebServiceClientTypeRegistry clientRegistry_ = WebServiceClientTypeRegistry.getInstance();
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.command.env.core.Command#execute(org.eclipse.wst.command.internal.provisional.env.core.common.Environment)
-     */
-    public Status execute(Environment environment) 
-    {
-      clientRegistry_.setDataMappingRegistry( dataMappingRegistry_ );
-      clientRegistry_.setWidgetRegistry( widgetRegistry_ );
-      clientRegistry_.setCanFinishRegistry( canFinishRegistry_ );
-      
-      return new SimpleStatus( "" );
-    }
-  }
   
   private class ClientRootCommandFragment extends SequenceFragment
   {
@@ -249,7 +221,6 @@
       
       //add( new SimpleFragment( new CheckForMissingFiles(), "" ) );
       add( new SimpleFragment( new ClientWizardWidgetDefaultingCommand(), "" ) );
-      add( new SimpleFragment( new InitClientRegistry(), "" ));
       add( new SimpleFragment( "ClientWizardWidget" ) );
 	  //add( new TestCommandFactoryFragment() );
       add( new SimpleFragment( new ClientWizardWidgetOutputCommand(), "" ));
@@ -275,7 +246,7 @@
     }
     
     /* (non-Javadoc)
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry)
     {
@@ -284,6 +255,7 @@
       
       // Map ClientWizardWidgetDefaultingCommand command.
       dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientWizardWidgetOutputCommand.class);
+      dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "InstallClient", ClientWizardWidgetOutputCommand.class);
       dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "TestService", ClientWizardWidgetOutputCommand.class);
       dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "MonitorService", ClientWizardWidgetOutputCommand.class);
       dataRegistry.addMapping(ClientWizardWidgetDefaultingCommand.class, "ResourceContext", ClientWizardWidgetOutputCommand.class);
@@ -291,23 +263,27 @@
       // Map ClientWizardWidgetOutputCommand command.
       dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "ClientTypeRuntimeServer", ClientRuntimeSelectionWidgetDefaultingCommand.class);
       dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "TestService", WSDLSelectionOutputCommand.class);
-      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "TestService", ClientExtensionDefaultingCommand.class);   
-      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "TestService", ClientRuntimeSelectionWidgetDefaultingCommand.class);           
+      dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "InstallClient", ClientExtensionDefaultingCommand.class);      
+            
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "TestService", ClientExtensionDefaultingCommand.class);      
+      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "TestService", ClientRuntimeSelectionWidgetDefaultingCommand.class);       
+      
       dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "ResourceContext", ClientRuntimeSelectionWidgetDefaultingCommand.class);      
       dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "ResourceContext", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ClientWizardWidgetOutputCommand.class, "MonitorService", GetMonitorCommand.class);
       
       // Map ClientRuntimeSelectionWidgetDefaultingCommand command
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientExtensionDefaultingCommand.class); 
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientRuntimeId", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentType", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientNeedEAR", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", CheckForServiceProjectCommand.class);
+      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", CheckForServiceProjectCommand.class);
       
       // Map WSDLSelectionWidgetDefaultingCommand command.
       dataRegistry.addMapping(SelectionCommand.class, "InitialSelection", WSDLSelectionWidgetDefaultingCommand.class );
@@ -324,19 +300,14 @@
       dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WebServicesParser", GetMonitorCommand.class);
       dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "Project", ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialProject", null);
       dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WsdlURI", ClientRuntimeSelectionWidgetDefaultingCommand.class);
-      dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "ComponentName", ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialComponentName", null);
+      //dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "ComponentName", ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialComponentName", null);
       dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WebServicesParser", ClientRuntimeSelectionWidgetDefaultingCommand.class);
       dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WsdlURI", CheckForServiceProjectCommand.class);
       dataRegistry.addMapping(WSDLSelectionOutputCommand.class, "WebServicesParser", CheckForServiceProjectCommand.class);      
-      
-      //ServerDeployableConfigurationCommand for client 
-      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProject", ClientServerDeployableConfigCommand.class, "SampleProject", new StringToIProjectTransformer());
-      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", ClientServerDeployableConfigCommand.class, "ClientTypeRuntimeServer", null);
-      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServerInstance", ClientServerDeployableConfigCommand.class,"SampleExistingServer", new ServerInstToIServerTransformer());
-      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServer", ClientServerDeployableConfigCommand.class,"SampleServerTypeID", null);
 	  
 	  // Setup the PreClientDevelopCommand.
 			//
+      dataRegistry.addMapping( ClientWizardWidgetOutputCommand.class, "InstallClient", PreClientDevelopCommand.class);
       dataRegistry.addMapping( ClientWizardWidgetOutputCommand.class, "TestService", PreClientDevelopCommand.class);           
       dataRegistry.addMapping( ClientWizardWidgetOutputCommand.class, "ResourceContext", PreClientDevelopCommand.class);						
 			//
@@ -347,6 +318,7 @@
       dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientProjectEAR", PreClientDevelopCommand.class, "Ear", null );
       dataRegistry.addMapping( ClientWizardWidgetOutputCommand.class, "ResourceContext", PreClientDevelopCommand.class);
 	    dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "WsdlURI", PreClientDevelopCommand.class );
+        dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientRuntimeId", PreClientDevelopCommand.class );
       
 			dataRegistry.addMapping( PreClientDevelopCommand.class, "WebService", ClientExtensionOutputCommand.class, "WebServiceClient", null );
 			
@@ -361,7 +333,7 @@
       
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientNeedEAR", ClientTestDelegateCommand.class);
 	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarProjectName", ClientTestDelegateCommand.class);
-	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarComponentName", ClientTestDelegateCommand.class);
+	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarProjectName", ClientTestDelegateCommand.class,"ClientEarComponentName", null);
 	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProject",ClientTestDelegateCommand.class);
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", ClientTestDelegateCommand.class);
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServer", ClientTestDelegateCommand.class);
@@ -370,9 +342,8 @@
       // Map ClientExtensionOutputCommand command.
       dataRegistry.addMapping(ClientExtensionOutputCommand.class, "ProxyBean", WebServiceClientTestArrivalCommand.class);      
 	  dataRegistry.addMapping(ClientExtensionOutputCommand.class, "ProxyBean", ClientTestDelegateCommand.class);      
-      dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", ClientTestFragment.class);
+	  dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", ClientTestFragment.class);
       dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", FinishTestFragment.class);
-      dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", ClientTestDelegateCommand.class);
       dataRegistry.addMapping(ClientExtensionOutputCommand.class, "SetEndpointMethod", ClientTestDelegateCommand.class);
 	  dataRegistry.addMapping(ClientExtensionOutputCommand.class, "ServerInstanceId", FinishDefaultCommand.class);
 
@@ -383,12 +354,6 @@
       // MAP post server config call      
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProjectEAR", ClientExtensionOutputCommand.class, "EarProjectName", null);
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServerInstance", ClientExtensionOutputCommand.class, "ExistingServerId", null);
-      dataRegistry.addMapping(ClientServerDeployableConfigCommand.class, "SampleExistingServerInstId", ClientExtensionOutputCommand.class, "ExistingServerId", null);
-                  
-      
-      // Map ClientServerDeployableConfigCommand
-
-      dataRegistry.addMapping(ClientServerDeployableConfigCommand.class, "SampleExistingServerInstId", FinishDefaultCommand.class, "ExistingServerId", null);
       
       // Map WebServiceClientTestArrivalCommand command.
       dataRegistry.addMapping(TestDefaultingFragment.class, "TestFacility",ClientTestDelegateCommand.class);
@@ -407,45 +372,45 @@
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", DevelopClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", DevelopClientFragment.class );
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", DevelopClientFragment.class, "Project", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", DevelopClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", DevelopClientFragment.class, "Module", null );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", DevelopClientFragment.class, "EarProject", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", DevelopClientFragment.class, "Ear", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", DevelopClientFragment.class, "Ear", null );
     
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "WebService", AssembleClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Environment", AssembleClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", AssembleClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", AssembleClientFragment.class );
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", AssembleClientFragment.class, "Project", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", AssembleClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", AssembleClientFragment.class, "Module", null );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", AssembleClientFragment.class, "EarProject", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", AssembleClientFragment.class, "Ear", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", AssembleClientFragment.class, "Ear", null );
     
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "WebService", DeployClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Environment", DeployClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", DeployClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", DeployClientFragment.class );
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", DeployClientFragment.class, "Project", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", DeployClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", DeployClientFragment.class, "Module", null );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", DeployClientFragment.class, "EarProject", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", DeployClientFragment.class, "Ear", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", DeployClientFragment.class, "Ear", null );
     
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "WebService", InstallClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Environment", InstallClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", InstallClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", InstallClientFragment.class );
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", InstallClientFragment.class, "Project", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", InstallClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", InstallClientFragment.class, "Module", null );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", InstallClientFragment.class, "EarProject", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", InstallClientFragment.class, "Ear", null );
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", InstallClientFragment.class, "Ear", null );
     
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "WebService", RunClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Environment", RunClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Context", RunClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "Selection", RunClientFragment.class );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", RunClientFragment.class, "Project", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", RunClientFragment.class, "Module", null );  
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", RunClientFragment.class, "Module", null );  
       dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", RunClientFragment.class, "EarProject", null );
-      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", RunClientFragment.class, "Ear", null );      
+      dataRegistry.addMapping( ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", RunClientFragment.class, "Ear", null );      
     }
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigClientHandlersWidgetBinding.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigClientHandlersWidgetBinding.java
index c72ae88..dda8dc3 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigClientHandlersWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigClientHandlersWidgetBinding.java
@@ -10,11 +10,13 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.binding;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.command.GenerateHandlerSkeletonCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.command.OpenJavaEditorCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientHandlersWidgetDefaultingCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientHandlersWidgetOutputCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ConfigClientHandlersTableWidget;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -25,8 +27,6 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 /**
@@ -34,11 +34,9 @@
  * Handler Configuration Window - Preferences - Java - Code Generation - Code
  * and Comments
  */
-public class ConfigClientHandlersWidgetBinding implements CommandWidgetBinding {
+public class ConfigClientHandlersWidgetBinding implements CommandWidgetBinding 
+{
   
-  private CanFinishRegistry   canFinishRegistry_;
-  private WidgetRegistry      widgetRegistry_;
-  private DataMappingRegistry dataMappingRegistry_;
   /*
    * (non-Javadoc)
    * 
@@ -46,13 +44,9 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry) {
 
-    String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils(pluginId_ + ".plugin", this);
-    widgetRegistry_ = widgetRegistry;
-    
     widgetRegistry.add("ConfigClientHandlersTableWidget", 
-        msgUtils.getMessage("PAGE_TITLE_CLIENT_HDLR_CONFIG"), 
-        msgUtils.getMessage("PAGE_DESC_CLIENT_HDLR_CONFIG"), 
+        ConsumptionUIMessages.PAGE_TITLE_CLIENT_HDLR_CONFIG, 
+        ConsumptionUIMessages.PAGE_DESC_CLIENT_HDLR_CONFIG, 
         new WidgetContributorFactory() {
 
       	public WidgetContributor create() {
@@ -65,13 +59,10 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry) {
-    dataMappingRegistry_ = dataRegistry;
     
-    
-//    dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"AllHandlers", ConfigClientHandlersTableWidget.class);
     dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"Handlers", ConfigClientHandlersTableWidget.class,"WsRefsToHandlers", null);
     
     dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"GenSkeletonEnabled", ConfigClientHandlersTableWidget.class);
@@ -79,7 +70,6 @@
     dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"ServiceRefName", ConfigClientHandlersTableWidget.class);
     dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"RefNameToServiceRef", ConfigClientHandlersTableWidget.class);
     
-    //dataRegistry.addMapping(ConfigClientHandlersTableWidget.class,"AllHandlersList", ClientHandlersWidgetOutputCommand.class);
     dataRegistry.addMapping(ConfigClientHandlersTableWidget.class,"WsRefsToHandlers", ClientHandlersWidgetOutputCommand.class,"HandlersTable",null);
     
     dataRegistry.addMapping(ConfigClientHandlersTableWidget.class,"SourceOutputLocation", GenerateHandlerSkeletonCommand.class,"OutputLocation",null);
@@ -97,7 +87,6 @@
    * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerCanFinish(org.eclipse.wst.command.env.ui.widgets.CanFinishRegistry)
    */
   public void registerCanFinish(CanFinishRegistry canFinishRegistry) {
-    canFinishRegistry_ = canFinishRegistry;
 
   }
 
@@ -128,13 +117,12 @@
     }
     
     /* (non-Javadoc)
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry)
     {
       dataRegistry.addMapping(SelectionCommand.class, "InitialSelection", ClientHandlersWidgetDefaultingCommand.class);
       
-      dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"WsClientResource", ClientHandlersWidgetOutputCommand.class);
       dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"WsServiceRefs", ClientHandlersWidgetOutputCommand.class);      
       dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"ClientProject", ClientHandlersWidgetOutputCommand.class);
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigServiceHandlersWidgetBinding.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigServiceHandlersWidgetBinding.java
index a0eebe2..94654e1 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigServiceHandlersWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigServiceHandlersWidgetBinding.java
@@ -10,11 +10,13 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.binding;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.command.GenerateHandlerSkeletonCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.command.OpenJavaEditorCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ConfigServiceHandlersTableWidget;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ServiceHandlersWidgetDefaultingCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ServiceHandlersWidgetOutputCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -25,8 +27,6 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 /**
@@ -36,9 +36,6 @@
  */
 public class ConfigServiceHandlersWidgetBinding implements CommandWidgetBinding {
   
-  private CanFinishRegistry   canFinishRegistry_;
-  private WidgetRegistry      widgetRegistry_;
-  private DataMappingRegistry dataMappingRegistry_;
   /*
    * (non-Javadoc)
    * 
@@ -46,13 +43,9 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry) {
 
-    String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils(pluginId_ + ".plugin", this);
-    widgetRegistry_ = widgetRegistry;
-    
     widgetRegistry.add("ConfigServiceHandlersTableWidget", 
-        msgUtils.getMessage("PAGE_TITLE_SERVICE_HDLR_CONFIG"), 
-        msgUtils.getMessage("PAGE_DESC_SERVICE_HDLR_CONFIG"), 
+   		ConsumptionUIMessages.PAGE_TITLE_SERVICE_HDLR_CONFIG, 
+   		ConsumptionUIMessages.PAGE_DESC_SERVICE_HDLR_CONFIG, 
         new WidgetContributorFactory() {
 
       	public WidgetContributor create() {
@@ -65,10 +58,9 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry) {
-    dataMappingRegistry_ = dataRegistry;
     
     dataRegistry.addMapping(ServiceHandlersWidgetDefaultingCommand.class,"WsRefsToHandlers", ConfigServiceHandlersTableWidget.class);
     dataRegistry.addMapping(ServiceHandlersWidgetDefaultingCommand.class,"GenSkeletonEnabled", ConfigServiceHandlersTableWidget.class);
@@ -97,7 +89,6 @@
    * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerCanFinish(org.eclipse.wst.command.env.ui.widgets.CanFinishRegistry)
    */
   public void registerCanFinish(CanFinishRegistry canFinishRegistry) {
-    canFinishRegistry_ = canFinishRegistry;
 
   }
 
@@ -129,7 +120,7 @@
     }
     
     /* (non-Javadoc)
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry)
     {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigureHandlersWidgetBinding.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigureHandlersWidgetBinding.java
index 1a65d94..76ebc44 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigureHandlersWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ConfigureHandlersWidgetBinding.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.binding;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.command.GenerateHandlerSkeletonCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientHandlersWidgetDefaultingCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientHandlersWidgetOutputCommand;
@@ -18,6 +19,8 @@
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.HandlersDefaultingCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ServiceHandlersWidgetDefaultingCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ServiceHandlersWidgetOutputCommand;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
@@ -29,18 +32,10 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class ConfigureHandlersWidgetBinding implements CommandWidgetBinding {
 
-  private CanFinishRegistry canFinishRegistry_;
-
-  private WidgetRegistry widgetRegistry_;
-
-  private DataMappingRegistry dataMappingRegistry_;
 
   public ConfigureHandlersWidgetBinding() {
 
@@ -66,16 +61,14 @@
    * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerCanFinish(org.eclipse.wst.command.env.ui.widgets.CanFinishRegistry)
    */
   public void registerCanFinish(CanFinishRegistry canFinishRegistry) {
-    canFinishRegistry_ = canFinishRegistry;
   }
 
   /*
    * (non-Javadoc),
    * 
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry) {
-    dataMappingRegistry_ = dataRegistry;
 
     // Map client-side widgets to commands
     dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class, "Handlers", ConfigClientHandlersTableWidget.class, "WsRefsToHandlers", null);
@@ -115,19 +108,17 @@
    * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerWidgetMappings(org.eclipse.wst.command.env.ui.widgets.WidgetRegistry)
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry) {
-    String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils(pluginId_ + ".plugin", this);
 
-    widgetRegistry.add("ConfigServiceHandlersTableWidget", msgUtils.getMessage("PAGE_TITLE_SERVICE_HDLR_CONFIG"), msgUtils
-        .getMessage("PAGE_DESC_SERVICE_HDLR_CONFIG"), new WidgetContributorFactory() {
+    widgetRegistry.add("ConfigServiceHandlersTableWidget", ConsumptionUIMessages.PAGE_TITLE_SERVICE_HDLR_CONFIG, 
+    		ConsumptionUIMessages.PAGE_DESC_SERVICE_HDLR_CONFIG, new WidgetContributorFactory() {
 
       public WidgetContributor create() {
         return new ConfigServiceHandlersTableWidget();
       }
     });
 
-    widgetRegistry.add("ConfigClientHandlersTableWidget", msgUtils.getMessage("PAGE_TITLE_CLIENT_HDLR_CONFIG"), msgUtils
-        .getMessage("PAGE_DESC_CLIENT_HDLR_CONFIG"), new WidgetContributorFactory() {
+    widgetRegistry.add("ConfigClientHandlersTableWidget", ConsumptionUIMessages.PAGE_TITLE_CLIENT_HDLR_CONFIG, 
+    		ConsumptionUIMessages.PAGE_DESC_CLIENT_HDLR_CONFIG, new WidgetContributorFactory() {
 
       public WidgetContributor create() {
         return new ConfigClientHandlersTableWidget();
@@ -153,7 +144,6 @@
       dataRegistry.addMapping(HandlersDefaultingCommand.class, "IsClientHandler", ClientHandlersFragment.class, "ClientHandlersEnabled", null);
       dataRegistry.addMapping(HandlersDefaultingCommand.class, "IsServiceHandler", ServiceHandlersFragment.class, "ServiceHandlersEnabled", null);
 
-      dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"WsClientResource", ClientHandlersWidgetOutputCommand.class);
       dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"WsServiceRefs", ClientHandlersWidgetOutputCommand.class);      
       dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class,"ClientProject", ClientHandlersWidgetOutputCommand.class);
      
@@ -162,7 +152,6 @@
     }
 
     public void registerCanFinish(CanFinishRegistry canFinishRegistry) {
-      canFinishRegistry_ = canFinishRegistry;
     }
   }
 
@@ -196,12 +185,11 @@
     /*
      * (non-Javadoc)
      * 
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry) {
       dataRegistry.addMapping(SelectionCommand.class, "InitialSelection", ClientHandlersWidgetDefaultingCommand.class);
 
-      dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class, "WsClientResource", ClientHandlersWidgetOutputCommand.class);
       dataRegistry.addMapping(ClientHandlersWidgetDefaultingCommand.class, "ClientProject", ClientHandlersWidgetOutputCommand.class);
 
     }
@@ -240,7 +228,7 @@
     /*
      * (non-Javadoc)
      * 
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry) {
       dataRegistry.addMapping(SelectionCommand.class, "InitialSelection", ServiceHandlersWidgetDefaultingCommand.class);
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/GenSampleWidgetBinding.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/GenSampleWidgetBinding.java
index 17d920f..5f723f5 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/GenSampleWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/GenSampleWidgetBinding.java
@@ -12,11 +12,16 @@
 
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.StringToIProjectTransformer;
 import org.eclipse.jst.ws.internal.consumption.command.common.AddModuleToServerCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateServerCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.command.data.EclipseIPath2URLStringTransformer;
 import org.eclipse.jst.ws.internal.consumption.ui.common.FinishFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetDefaultingCommand;
@@ -34,8 +39,10 @@
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.TestDefaultingFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.TestWebServiceClient;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.WebServiceClientTestArrivalCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceClientTypeRegistry;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -46,26 +53,15 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceClientInfo;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceState;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceClientInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceState;
 
 
 public class GenSampleWidgetBinding implements CommandWidgetBinding
-{
-  private CanFinishRegistry   canFinishRegistry_;
-  private WidgetRegistry      widgetRegistry_;
-  private DataMappingRegistry dataMappingRegistry_;
-  
+{  
   /* (non-Javadoc)
    * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#create()
    */
@@ -85,16 +81,13 @@
    */
   public void registerCanFinish(CanFinishRegistry canFinishRegistry)
   {
-    canFinishRegistry_ = canFinishRegistry;
   }
 
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
-  {
-    dataMappingRegistry_ = dataRegistry;
-                    
+  {                    
     // Before Client Test widget.
     dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "TestService",FinishTestFragment.class);
     dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "TestService", ClientTestWidget.class );
@@ -126,14 +119,10 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry)
   {
-    String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    
-    widgetRegistry_ = widgetRegistry;
-        
+           
     widgetRegistry.add( "ClientTestWidget", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_SAMPLE"),
-                        msgUtils.getMessage("PAGE_DESC_WS_SAMPLE"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_SAMPLE,
+                        ConsumptionUIMessages.PAGE_DESC_WS_SAMPLE,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -142,42 +131,22 @@
                           }
                         });
   }
-
-  private class InitClientRegistry extends SimpleCommand
-  {  
-    private WebServiceClientTypeRegistry clientRegistry_ = WebServiceClientTypeRegistry.getInstance();
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.command.env.core.Command#execute(org.eclipse.wst.command.internal.provisional.env.core.common.Environment)
-     */
-    public Status execute(Environment environment) 
-    {
-      clientRegistry_.setDataMappingRegistry( dataMappingRegistry_ );
-      clientRegistry_.setWidgetRegistry( widgetRegistry_ );
-      clientRegistry_.setCanFinishRegistry( canFinishRegistry_ );
-      
-      return new SimpleStatus( "" );
-    }
-  }
   
-  private class InitializeProxyCommand extends SimpleCommand
+  private class InitializeProxyCommand extends AbstractDataModelOperation
   {
     private IStructuredSelection selection_;
 	private TypeRuntimeServer typeRuntimeServer_;
-	private IContext          context_;
 	private String            project_;
 	private String            module_;
-	private String            moduleType_;
 	private String            earProject_;
 	private String            ear_;
 	private IWebServiceClient webServiceClient_;
-	private String            j2eeLevel_;
-	private ResourceContext   resourceContext_;
-	private boolean			  test_;
 	private String            wsdlURI_;
     
-	public Status execute(Environment environment_){
-	  Status status = new SimpleStatus( "" );	
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+      IEnvironment env = getEnvironment();
+	    IStatus status = Status.OK_STATUS;	
 	  
       // Split up the project and module
       int index = module_.indexOf("/");
@@ -197,7 +166,7 @@
 	  
 	  WebServiceClientInfo clientInfo = new WebServiceClientInfo();
 	  clientInfo.setImplURL(getProxyBean());
-	  clientInfo.setJ2eeLevel(j2eeLevel_);
+	  //clientInfo.setJ2eeLevel(j2eeLevel_);
 	  clientInfo.setServerFactoryId(typeRuntimeServer_.getServerId());
 	  clientInfo.setServerInstanceId(typeRuntimeServer_.getServerInstanceId());
 	  clientInfo.setState(WebServiceState.UNKNOWN_LITERAL);
@@ -207,12 +176,13 @@
 	  {
 	    CreateServerCommand createServerCommand = new CreateServerCommand();
 	    createServerCommand.setServerFactoryid(clientInfo.getServerFactoryId());
-	    Status createServerStatus = createServerCommand.execute(environment_);
+      createServerCommand.setEnvironment( env );
+	    IStatus createServerStatus = createServerCommand.execute( null, null );
 	    if (createServerStatus.getSeverity()==Status.OK){
 	      clientInfo.setServerInstanceId(createServerCommand.getServerInstanceId());
 	    }
 	    else if (createServerStatus.getSeverity()==Status.ERROR){
-	      environment_.getStatusHandler().reportError(createServerStatus);
+	      env.getStatusHandler().reportError(  createServerStatus );
 	    }               
 	    
 	  }
@@ -230,10 +200,11 @@
         command.setModule(module_);       
       }
 
-      status = command.execute(environment_);
+      command.setEnvironment( env );
+      status = command.execute( monitor, null );
       if (status.getSeverity()==Status.ERROR)
       {
-        environment_.getStatusHandler().reportError(status);
+        env.getStatusHandler().reportError(status);
       }     
 
 	  webServiceClient_ = new TestWebServiceClient(clientInfo);
@@ -283,11 +254,6 @@
       typeRuntimeServer_ = typeRuntimeServer;  
 	}
 	  
-	public void setClientJ2EEVersion( String j2eeLevel )
-	{
-	  j2eeLevel_ = j2eeLevel;  
-	}
-	
 	public void setModule( String module )
 	{
 	  module_ = module;
@@ -295,12 +261,10 @@
 	  
 	public void setModuleType( String moduleType)
 	{
-	  moduleType_ = moduleType;
 	}
 	
 	public void setResourceContext( ResourceContext resourceContext )
 	{
-	  resourceContext_ = resourceContext;	  
 	}
 	
 	public void setInitialSelection( IStructuredSelection selection )
@@ -314,7 +278,6 @@
     public GenSampleRootCommandFragment()
     {
       add( new SimpleFragment( new ClientWizardWidgetDefaultingCommand(), "" ) );
-      add( new SimpleFragment( new InitClientRegistry(), "" ));
       add( new SimpleFragment( new ClientWizardWidgetOutputCommand(), "" ));
       add( new SimpleFragment( new WSDLSelectionWidgetDefaultingCommand(), ""));
       add( new SimpleFragment( new ClientRuntimeSelectionWidgetDefaultingCommand(), ""));
@@ -327,7 +290,7 @@
     }
     
     /* (non-Javadoc)
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry)
     {
@@ -347,13 +310,13 @@
       
       // Map ClientRuntimeSelectionWidgetDefaultingCommand command
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientExtensionDefaultingCommand.class); 
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);   
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);   
       dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentType", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ClientRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class);
       
       // Map WSDLSelectionWidgetDefaultingCommand command.
       dataRegistry.addMapping(SelectionCommand.class, "InitialSelection", WSDLSelectionWidgetDefaultingCommand.class );
@@ -373,7 +336,7 @@
 
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientNeedEAR", ClientTestDelegateCommand.class);
 	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarProjectName", ClientTestDelegateCommand.class);
-	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarComponentName", ClientTestDelegateCommand.class);
+	  dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientEarProjectName", ClientTestDelegateCommand.class,"ClientEarComponentName",null);
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProject",ClientTestDelegateCommand.class);
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", ClientTestDelegateCommand.class);
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ServiceServerInstanceId", FinishDefaultCommand.class);
@@ -398,6 +361,7 @@
       // Map ClientExtensionOutputCommand command.
       dataRegistry.addMapping(ClientExtensionOutputCommand.class, "ProxyBean", WebServiceClientTestArrivalCommand.class);      
 	  dataRegistry.addMapping(ClientExtensionOutputCommand.class, "ProxyBean", ClientTestDelegateCommand.class);      
+	  dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", TestDefaultingFragment.class);
 	  dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", ClientTestFragment.class);
       dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", FinishTestFragment.class);
       dataRegistry.addMapping(ClientExtensionOutputCommand.class, "GenerateProxy", ClientTestDelegateCommand.class);
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSILWidgetBinding.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSILWidgetBinding.java
index 837b0f3..fc1c312 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSILWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSILWidgetBinding.java
@@ -10,8 +10,10 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.binding;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ImportWSILWidget;
 import org.eclipse.jst.ws.internal.consumption.ui.wsil.AddWSDLToWSILWrapperCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -22,16 +24,10 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class ImportWSILWidgetBinding implements CommandWidgetBinding
 {
-  private CanFinishRegistry   canFinishRegistry;
-  private WidgetRegistry      widgetRegistry;
-  private DataMappingRegistry dataMappingRegistry;
-
   public ImportWSILWidgetBinding()
   {
   }
@@ -57,16 +53,13 @@
    */
   public void registerCanFinish(CanFinishRegistry canFinishRegistry)
   {
-    this.canFinishRegistry = canFinishRegistry;
   }
 
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
-  {
-    this.dataMappingRegistry = dataRegistry;
-    
+  {    
     // ImportWSILWidget
     dataRegistry.addMapping(SelectionCommand.class, "InitialSelection", ImportWSILWidget.class);
     
@@ -79,13 +72,10 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry)
   {
-    String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    this.widgetRegistry = widgetRegistry;
 
     widgetRegistry.add("ImportWSILWidget", 
-      msgUtils.getMessage("TITLE_WSIL_IMPORT"),
-      msgUtils.getMessage("DESC_WSIL_IMPORT"),
+      ConsumptionUIMessages.TITLE_WSIL_IMPORT,
+      ConsumptionUIMessages.DESC_WSIL_IMPORT,
       new WidgetContributorFactory()
       {
         public WidgetContributor create()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSWidgetBinding.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSWidgetBinding.java
index eeaf629..c041a00 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/binding/ImportWSWidgetBinding.java
@@ -10,8 +10,10 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.binding;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.PublishToPrivateUDDICommandFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.PublishWSWidget;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -21,8 +23,6 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 
 
@@ -65,7 +65,7 @@
   }
 
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
   {
@@ -85,14 +85,12 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry)
   {
-    String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
     this.widgetRegistry = widgetRegistry;
     publishToPrivateUDDICmdFrag.registerWidgetMappings(this.widgetRegistry);
 
     widgetRegistry.add("WSImport", 
-      msgUtils.getMessage("PAGE_TITLE_WS_FIND"),
-      msgUtils.getMessage("PAGE_DESC_WS_FIND"),
+    ConsumptionUIMessages.PAGE_TITLE_WS_FIND,
+    ConsumptionUIMessages.PAGE_DESC_WS_FIND,
       new WidgetContributorFactory()
       {
         public WidgetContributor create()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionDefaultingCommand.java
index c768b34..bd18b00 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionDefaultingCommand.java
@@ -10,29 +10,40 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions;
 
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
-public class ClientExtensionDefaultingCommand extends SimpleCommand
+public class ClientExtensionDefaultingCommand extends AbstractDataModelOperation
 {
   // ClientWizardWidget
   private TypeRuntimeServer    clientIds_;
+  private String               clientRuntimeId_;
   private Boolean              testService;
+  private Boolean              installClient;
   private ResourceContext      resourceContext;
   
   // ClientRuntimeSelectionWidget
-  private SelectionListChoices clientChoices_;
+  //private SelectionListChoices clientChoices_;
   private String clientProjectName_;
   private String clientEarProjectName_;
-  private String clientComponentName_;
-  private String clientEarComponentName_;
+  //private String clientComponentName_;
+  //private String clientEarComponentName_;
   private String clientComponentType_;
-  private String j2eeVersion;
+  //private String j2eeVersion;
   private boolean clientNeedEAR_;
   
   private String serviceServerFactoryId_;
@@ -70,17 +81,18 @@
     return isClientScenario_; 
   }
   
-  
+  /*
   public void setRuntime2ClientTypes( SelectionListChoices choices )
   {
     clientChoices_ = choices;  
   }
   
+  
   public SelectionListChoices getRuntime2ClientTypes()
   {
     return clientChoices_;  
   }
-  
+  */
   
   public void setClientTypeRuntimeServer(TypeRuntimeServer ids)
   {
@@ -106,6 +118,16 @@
     return clientIds_;
   }
   
+  public void setClientRuntimeId(String id)
+  {
+    clientRuntimeId_ = id;
+  }
+  
+  public String getClientRuntimeId()
+  {
+    return clientRuntimeId_;
+  }
+  
   public void setServiceExistingServerInstId(String serverInstId) {
   	this.serverInstId_ = serverInstId;
   }
@@ -127,7 +149,8 @@
    */
   public String getClientProject()
   {
-	  return clientProjectName_ + "/" + clientComponentName_;
+	  //return clientProjectName_ + "/" + clientComponentName_;
+      return clientProjectName_ + "/" + clientProjectName_;
   }
 
   /**
@@ -135,10 +158,10 @@
    */
   public String getClientProjectEAR()
   {
-    if (clientEarProjectName_!=null && clientEarProjectName_.length()>0 
-        && clientEarComponentName_!=null && clientEarComponentName_.length()>0)
+    if (clientEarProjectName_!=null && clientEarProjectName_.length()>0)
     {
-	    return clientEarProjectName_ + "/" + clientEarComponentName_;
+	    //return clientEarProjectName_ + "/" + clientEarComponentName_;
+      return clientEarProjectName_ + "/" + clientEarProjectName_;
     }
     else
     {
@@ -252,6 +275,23 @@
   }
 
   /**
+   * @return Returns the installClient.
+   */
+  public Boolean getInstallClient()
+  {
+    return installClient;
+  }
+
+  /**
+   * @param testProxySelected
+   *            The testProxySelected to set.
+   */
+  public void setInstallClient(Boolean installClient)
+  {
+    this.installClient = installClient;
+  }
+  
+  /**
    * @return Returns the wsdlURI.
    */
   public String getWsdlURI()
@@ -310,17 +350,18 @@
    */
   public String getClientJ2EEVersion()
   {
-	  return j2eeVersion;
+	  return "14"; //rm j2ee
   }
 
   /**
    * @param version The j2eeVersion to set.
    */
+  /*
   public void setClientJ2EEVersion(String version)
   {
 	  j2eeVersion = version;
   }
-  
+  */
   /**
    * 
    * @return returns true if a proxy should be generated and false otherwise.
@@ -374,30 +415,36 @@
     this.clientProjectName_ = clientProjectName;
   }
 
+  /*
   public void setClientComponentName(String clientComponentName)
   {
     this.clientComponentName_ = clientComponentName;
   }
-
+  */
+  
   public void setClientEarProjectName(String clientEarProjectName)
   {
     this.clientEarProjectName_ = clientEarProjectName;
   }
   
+  /*
   public void setClientEarComponentName(String clientEarComponentName)
   {
     this.clientEarComponentName_ = clientEarComponentName;
   }
+  */
   
   public String getClientEarProjectName()
   {
     return clientEarProjectName_;
   }
   
+  /*
   public String getClientEarComponentName()
   {
     return clientEarComponentName_;
   }
+  */
   
   public void setServiceServerFactoryId(String id)
   {
@@ -408,6 +455,45 @@
   {
   	serviceServerInstanceId_ = id;
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    IEnvironment env = getEnvironment();
+    //Do some basic validation to ensure the server/runtime/type combination is supported.
+    //This is needed to catch problems in the defaulting
+    //when the user clicks Finish prior to page 3 of the wizard.
+    
+    IStatus status = Status.OK_STATUS;
+    String scenario = ConsumptionUIMessages.MSG_CLIENT_SUB;
+
+    //Ensure server and runtime are non-null
+    String runtimeId = clientIds_.getRuntimeId();
+    String serverId = clientIds_.getServerId();
+    String typeId = clientIds_.getTypeId();
+    
+    if( runtimeId == null || runtimeId.length()==0)
+    {
+      status = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_NO_RUNTIME, new String[]{ scenario } ) );
+      env.getStatusHandler().reportError(status);
+    }
+    
+    if( serverId == null || serverId.length()==0)
+    {
+      status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_NO_SERVER, new String[]{ scenario } ) );
+      env.getStatusHandler().reportError(status);
+    }
+    
+    //ensure the server, runtime, and type are compatible
+    if (!WebServiceRuntimeExtensionUtils2.isServerClientRuntimeTypeSupported(serverId, runtimeId, typeId)) 
+    {    
+      String serverLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverId);
+      String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(runtimeId);
+      status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_INVALID_SRT_SELECTIONS, new String[]{ serverLabel, runtimeLabel } ) );
+      env.getStatusHandler().reportError(status);
+    }
+    
+    return status;
+  }
   
   
 }
\ 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/extensions/ClientExtensionFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionFragment.java
index c119562..7fcd8b2 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionFragment.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions;
 
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceClientTypeRegistry;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.wst.command.internal.env.core.fragment.ExtensionFragment;
 
@@ -19,7 +18,6 @@
 {  
   public ClientExtensionFragment()
   {
-    setExtensionRegistry( WebServiceClientTypeRegistry.getInstance() );
   }
   
   protected ClientExtensionFragment( ClientExtensionFragment fragment )
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionOutputCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionOutputCommand.java
index 4e94523..5923a9f 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ClientExtensionOutputCommand.java
@@ -12,10 +12,15 @@
  */
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
-public class ClientExtensionOutputCommand extends SimpleCommand
+public class ClientExtensionOutputCommand extends AbstractDataModelOperation
 {
   private IWebServiceClient webServiceClient_;
   
@@ -55,4 +60,9 @@
   {
 	return webServiceClient_.getWebServiceClientInfo().getServerFactoryId();
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionDefaultingCommand.java
index 8ddff55..9a2ab97 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionDefaultingCommand.java
@@ -10,30 +10,37 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions;
 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
 
-public class ServerExtensionDefaultingCommand extends SimpleCommand
+public class ServerExtensionDefaultingCommand extends AbstractDataModelOperation
 {
+  private Boolean              installService;
   private Boolean              startService;
   private Boolean              testService;
   private Boolean              publishService;
   private TypeRuntimeServer    serviceIds_;
+  private String               serviceRuntimeId_;
   //private SelectionListChoices serviceChoices_;
   private String               serviceProjectName_;
   private String               serviceEarProjectName_;
-  private String               serviceComponentName_;
-  private String               serviceEarComponentName_;
-  private String j2eeVersion;
+  private String               serviceComponentType_;
+  //private String               serviceComponentName_;
+  //private String               serviceEarComponentName_;
+  //private String j2eeVersion;
   private boolean serviceNeedEAR_;
   private WebServicesParser wsdlParser_;
   
@@ -59,6 +66,16 @@
   {
     return serviceIds_;
   }
+  
+  public void setServiceRuntimeId(String id)
+  {
+    serviceRuntimeId_ = id;
+  }
+  
+  public String getServiceRuntimeId()
+  {
+    return serviceRuntimeId_;
+  }
 
   /*
   public void setServiceProject2EARProject(SelectionListChoices choices)
@@ -106,35 +123,17 @@
    */
   public String getServerProject()
   {
-    return serviceProjectName_ + "/" + serviceComponentName_; 
+    return serviceProjectName_ + "/" + serviceProjectName_; 
   }
   
-  private String getModuleProjectName( String projectName )
-  {
-    
-	String result = "";
-	
-	if( projectName != null && !projectName.equals("") )
-	{
-	  IPath    projectPath = new Path( projectName );
-	  IProject project     = (IProject)ResourceUtils.findResource( projectPath );
-	  String   moduleName  = J2EEUtils.getFirstWebModuleName( project );
-	  
-	  result = projectName + "/" + moduleName;
-	}
-	
-	return result;
-  }
-
   /**
    * @return Returns the serverProjectEAR.
    */
   public String getServerProjectEAR()
   {
-    if (serviceEarProjectName_!=null && serviceEarProjectName_.length()>0 && 
-        serviceEarComponentName_!=null && serviceEarComponentName_.length()>0)
+    if (serviceEarProjectName_!=null && serviceEarProjectName_.length()>0)
     {
-      return serviceEarProjectName_ + "/" + serviceEarComponentName_;
+      return serviceEarProjectName_ + "/" + serviceEarProjectName_;
     }
     else
     {
@@ -167,13 +166,29 @@
   }
 
   /**
+   * @return Returns the installService.
+   */
+  public Boolean getInstallService()
+  {
+    return installService;
+  }
+  /**
+   * @param installService
+   *            Specifies if service should be installed.
+   */
+  public void setInstallService(Boolean installService)
+  {
+    this.installService = installService;
+  }
+
+  /**
    * @return Returns the startService.
    */
   public Boolean getStartService()
   {
     return startService;
   }
-
+  
   /**
    * @param startService
    *            The startService to set.
@@ -210,15 +225,7 @@
    */
   public String getServiceJ2EEVersion()
   {
-  	return j2eeVersion;
-  }
-  
-  /**
-   * @param version The j2eeVersion to set.
-   */
-  public void setServiceJ2EEVersion(String version)
-  {
-  	j2eeVersion = version;
+  	return "14"; //rm j2ee
   }
   
   /**
@@ -233,33 +240,7 @@
   public void setServiceNeedEAR(boolean serviceNeedEAR)
   {
     serviceNeedEAR_ = serviceNeedEAR;
-  }  
-  
-  /**
-   * 
-   * @return returns true if the web service project is an EJB project.
-   */
-  public boolean getIsServiceProjectEJB()
-  {
-    //If the type/server/runtime suggests that an EJB project
-    //is required, return true.
-    boolean ejbRequired = false;
-    boolean ejbRequired2 = false;
-	// rskreg
-    //WebServiceServerRuntimeTypeRegistry wssrtRegistry = WebServiceServerRuntimeTypeRegistry.getInstance();
-    if (serviceIds_ != null)
-    {      
-      //String serverTypeId = wssrtRegistry.getWebServiceServerByFactoryId(serviceIds_.getServerId()).getId();
-	  //String serverTypeId = wssrtRegistry.getWebServiceServerByFactoryId(serviceIds_.getServerId()).getId();
-      //ejbRequired = wssrtRegistry.requiresEJBModuleFor(serverTypeId, serviceIds_.getRuntimeId(), serviceIds_.getTypeId());
-	  ejbRequired = WebServiceRuntimeExtensionUtils.requiresEJBModuleFor(serviceIds_.getServerId(), serviceIds_.getRuntimeId(), serviceIds_.getTypeId());
-      //ejbRequired2 = wssrtRegistry.requiresEJBProject(serviceIds_.getTypeId()); 
-	  ejbRequired2 = WebServiceRuntimeExtensionUtils.requiresEJBProject(serviceIds_.getRuntimeId(), serviceIds_.getTypeId());
-    }
-
-	// rskreg
-    return (ejbRequired || ejbRequired2);    
-  }
+  }    
   
   /**
    * @return Returns the wsdlParser_.
@@ -287,18 +268,57 @@
     this.serviceProjectName_ = serviceProjectName;
   }
 
-  public void setServiceComponentName(String s)
-  {
-    serviceComponentName_ = s;
-  }
-
   public void setServiceEarProjectName(String serviceEarProjectName)
   {
     this.serviceEarProjectName_ = serviceEarProjectName;
   }
   
-  public void setServiceEarComponentName(String s)
+  public void setServiceComponentType(String type)
   {
-    serviceEarComponentName_ = s;
+    this.serviceComponentType_ = type;
+  }
+  
+  public String getServiceComponentType()
+  {
+    return serviceComponentType_;
+  }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    IEnvironment env = getEnvironment();
+    //Do some basic validation to ensure the server/runtime/type combination is supported.
+    //This is needed to catch problems in the defaulting
+    //when the user clicks Finish prior to page 3 of the wizard.
+    
+    IStatus status = Status.OK_STATUS;
+    String scenario = ConsumptionUIMessages.MSG_SERVICE_SUB;
+
+    //Ensure server and runtime are non-null
+    String runtimeId = serviceIds_.getRuntimeId();
+    String serverId = serviceIds_.getServerId();
+    String typeId = serviceIds_.getTypeId();
+    
+    if( runtimeId == null || runtimeId.length()==0)
+    {
+      status = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_NO_RUNTIME, new String[]{ scenario } ) );
+      env.getStatusHandler().reportError(status);
+    }
+    
+    if( serverId == null || serverId.length()==0)
+    {
+      status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_NO_SERVER, new String[]{ scenario } ) );
+      env.getStatusHandler().reportError(status);
+    }
+    
+    //ensure the server, runtime, and type are compatible
+    if (!WebServiceRuntimeExtensionUtils2.isServerRuntimeTypeSupported(serverId, runtimeId, typeId)) 
+    {    
+      String serverLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverId);
+      String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(runtimeId);
+      status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_INVALID_SRT_SELECTIONS, new String[]{ serverLabel, runtimeLabel } ) );
+      env.getStatusHandler().reportError(status);
+    }
+    
+    return status;
   }
 }
\ 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/extensions/ServerExtensionFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionFragment.java
index 6f1829e..101cdde 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionFragment.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions;
 
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceServerRuntimeTypeRegistry;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.wst.command.internal.env.core.fragment.ExtensionFragment;
 
@@ -19,7 +18,7 @@
 {  
   public ServerExtensionFragment()
   {
-    setExtensionRegistry( WebServiceServerRuntimeTypeRegistry.getInstance()  );
+
   }
   
   protected ServerExtensionFragment( ServerExtensionFragment fragment )
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionOutputCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionOutputCommand.java
index 53e0186..1d84f03 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/extensions/ServerExtensionOutputCommand.java
@@ -12,115 +12,24 @@
  */
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.server.core.IServer;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
-public class ServerExtensionOutputCommand extends SimpleCommand
+public class ServerExtensionOutputCommand extends AbstractDataModelOperation
 {
   //private String            wsdlURI_;
   private WebServicesParser wsdlParser_;
 	private IWebService 			webService_;
   
-  private String existingServerId_;
-  private String earProjectName_;
   private boolean isWebProjectStartupRequested_ = false;
-  
-  private IServer fExistingServer = null;
-  
-  public boolean isUndoable(){
-  	return true;
-  }
-
-  public Status undo(Environment env){
-		
-
-  	Status stat = new SimpleStatus("");
-		
-		//Commenting out all extranseous sever startups
-		/*
-    try	{
-    	
-      // check existingServer
-      if (fExistingServer!=null) {
-    	
-        // get EAR project
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IProject earProject = null;
-        if (earProjectName_!=null && earProjectName_.length()>0) {
-          earProject = root.getProject(earProjectName_);
-    	}    	
-    	
-    	AbstractStartServer startServerCommand = null;
-    	WebServiceStartServerRegistry reg = WebServiceStartServerRegistry.getInstance();
-    	startServerCommand = (AbstractStartServer)reg.getServerStartByTypeId(fExistingServer.getServerType().getId());
-    	if (earProject!=null) {
-    		startServerCommand.runPreServerConfig(fExistingServer, earProject);
-    	}
-      }
-   	}
-    catch (CoreException ce ) {
-      IStatus embeddedStatus = ce.getStatus();
-      stat = EnvironmentUtils.convertIStatusToStatus(embeddedStatus);
-      env.getStatusHandler().reportError(stat);
-  		return stat;
-  	}  	
-  	*/
-  	return stat;
-  }  
-
-  public Status execute(Environment env){
-  	
-  	Status status = new SimpleStatus("");  	
-  	// Commenting out all extraneous server startups
-		/*
-    IServer[] servers = ServerCore.getServers();
-    IServer existingServer =null;
-    fExistingServer = null; 
-    for (int i=0; i<servers.length; i++)
-    {
-      IServer thisServer = (IServer)servers[i];
-      IServerWorkingCopy wc = null;
-      String thisServerId = null;
-      if (thisServer!=null) {
-      	wc = thisServer.createWorkingCopy();
-        thisServerId = (wc!=null ? wc.getId() : null);
-      }
-      
-      if (thisServerId.equals(existingServerId_))
-        existingServer = thisServer;
-    }    	
-    try	{
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IProject earProject = null;
-        if (earProjectName_!=null && earProjectName_.length()>0)
-        {
-          earProject = root.getProject(earProjectName_);
-        }    	
-    	
-   		AbstractStartServer startServerCommand = null;
-   		WebServiceStartServerRegistry reg = WebServiceStartServerRegistry.getInstance();
-     	startServerCommand = (AbstractStartServer)reg.getServerStartByTypeId(existingServer.getServerType().getId());
-     	if (earProject!=null) {
-     		startServerCommand.runPostServerConfig(existingServer, earProject);
-     		fExistingServer = existingServer;
-     	}
-   	}
-    catch (CoreException ce ) {
-    	IStatus embeddedStatus = ce.getStatus();
-    	status = EnvironmentUtils.convertIStatusToStatus(embeddedStatus);
-    	env.getStatusHandler().reportError(status);
-  		return status;
-  	}
-  	*/
-  	return status;      	
-  }
-  
+    
   
   /**
    * @return Returns the wsdlURI.
@@ -169,13 +78,11 @@
  * @param earProjectName The earProjectName to set.
  */
 public void setEarProjectName(String earProjectName) {
-	this.earProjectName_ = earProjectName;
 }
 /**
  * @param existingServerId The existingServerId to set.
  */
 public void setExistingServerId(String existingServerId) {
-	this.existingServerId_ = existingServerId;
 }
 
 /**
@@ -200,4 +107,9 @@
 {
 	return webService_.getWebServiceInfo().getServerInstanceId();
 }
+
+public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+{
+  return Status.OK_STATUS;
+}
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/AbstractObjectSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/AbstractObjectSelectionWidget.java
index 7a8b886..cdb6e3b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/AbstractObjectSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/AbstractObjectSelectionWidget.java
@@ -11,11 +11,11 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 public abstract class AbstractObjectSelectionWidget extends SimpleWidgetDataContributor implements IObjectSelectionWidget
@@ -31,10 +31,10 @@
     return new StructuredSelection();
   }
 
-  public Status validateSelection(IStructuredSelection objectSelection)
+  public IStatus validateSelection(IStructuredSelection objectSelection)
   {
     //  subclass should override this method
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   public IProject getProject()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionTransformer.java
index 61f6e3a..f6c35a6 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionTransformer.java
@@ -1,9 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 public class EJBSelectionTransformer implements Transformer
 {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionWidget.java
index 922cf67..058f2d8 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBSelectionWidget.java
@@ -16,6 +16,8 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jst.j2ee.ejb.EJBJar;
@@ -23,6 +25,7 @@
 import org.eclipse.jst.j2ee.ejb.Session;
 import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -35,15 +38,13 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 
 public class EJBSelectionWidget extends AbstractObjectSelectionWidget implements IObjectSelectionWidget
 {
-  private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
+
   private Combo earList;
   private EJBTableViewer beanList;
   private IVirtualComponent[] earComponents;
@@ -101,7 +102,6 @@
 
   public WidgetDataEvents addControls(Composite parent, Listener statusListener)
   {
-    MessageUtils msgUtils = new MessageUtils(pluginId_ + ".plugin", this);
     statusListener_  = statusListener;
     Composite composite = new Composite(parent, SWT.NONE);
     GridLayout layout = new GridLayout();
@@ -115,7 +115,7 @@
     layout.numColumns = 2;
     projectComposite.setLayout(layout);
     projectComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-    new Label(projectComposite, SWT.NULL).setText(msgUtils.getMessage("LABEL_EAR_PROJECTS"));
+    new Label(projectComposite, SWT.NULL).setText(ConsumptionUIMessages.LABEL_EAR_PROJECTS);
     earList = new Combo(projectComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
     earList.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     earList.addSelectionListener(new SelectionAdapter()
@@ -129,13 +129,13 @@
       }
     });
     addEARNamesToList();
-    earList.setToolTipText(msgUtils.getMessage("TOOLTIP_EAR_PROJECTS"));
+    earList.setToolTipText(ConsumptionUIMessages.TOOLTIP_EAR_PROJECTS);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(earList, INFOPOP_PEBD_EAR_PROJECTS);
     Group beanComposite = new Group(composite, SWT.NONE);
     layout = new GridLayout();
     beanComposite.setLayout(layout);
     beanComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
-    beanComposite.setText(msgUtils.getMessage("LABEL_EJB_BEAN_NAME"));
+    beanComposite.setText(ConsumptionUIMessages.LABEL_EJB_BEAN_NAME);
     beanList = new EJBTableViewer(beanComposite);
     Table beanTable = beanList.getTable();
     gd = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
@@ -150,7 +150,7 @@
         statusListener_.handleEvent(null);
       }
     });
-    beanTable.setToolTipText(msgUtils.getMessage("TOOLTIP_TABLE_BEAN_NAMES"));
+    beanTable.setToolTipText(ConsumptionUIMessages.TOOLTIP_TABLE_BEAN_NAMES);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(beanTable, INFOPOP_PEBD_TABLE_BEAN_NAMES);
     if (earComponents != null && earComponents.length > 0)
     {
@@ -178,7 +178,7 @@
 
   private void setBeanList(IVirtualComponent earComponent)
   {
-    IVirtualComponent[] ejbComponentsArray = J2EEUtils.getReferencingEJBComponentsFromEAR(earComponent.getProject(), earComponent.getName());
+    IVirtualComponent[] ejbComponentsArray = J2EEUtils.getReferencingEJBComponentsFromEAR(earComponent.getProject());
     Table beanTable = beanList.getTable();
     beanTable.removeAll();
     ejbBeanNames = new Vector();
@@ -250,7 +250,7 @@
         {
           for (int i = 0; i < earComponents.length; i++)
           {
-			      IVirtualComponent[] ejbComponents = J2EEUtils.getReferencingEJBComponentsFromEAR(earComponents[i].getProject(), earComponents[i].getName());
+			      IVirtualComponent[] ejbComponents = J2EEUtils.getReferencingEJBComponentsFromEAR(earComponents[i].getProject());
 			      for (int j=0; j <ejbComponents.length; j++)
 			      {
               EJBArtifactEdit  ejbEdit = null;
@@ -308,8 +308,7 @@
         if (selEJBName != null)
         {
           IProject project = earComponents[earList.getSelectionIndex()].getProject();
-          String name = earComponents[earList.getSelectionIndex()].getName();
-          IVirtualComponent[] ejbComponents = J2EEUtils.getReferencingEJBComponentsFromEAR(project, name);
+          IVirtualComponent[] ejbComponents = J2EEUtils.getReferencingEJBComponentsFromEAR(project);
           for (int i=0; i<ejbComponents.length; i++)
           {
             EJBArtifactEdit  ejbEdit = null;
@@ -376,19 +375,19 @@
     return null;
   }    
   
-  public Status validateSelection(IStructuredSelection objectSelection)
+  public IStatus validateSelection(IStructuredSelection objectSelection)
   {
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
-  public Status getStatus()
+  public IStatus getStatus()
   {  	
     if (selectedBeanIndex == null)
     {
-    	return new SimpleStatus("","",Status.ERROR);
+    	return StatusUtils.errorStatus( "" );
     }
     
-  	return new SimpleStatus("");
+  	return Status.OK_STATUS;
   }
   
 }
\ 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/EJBTableViewer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBTableViewer.java
index 98afd64..9d17a46 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBTableViewer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/EJBTableViewer.java
@@ -19,24 +19,22 @@
 import org.eclipse.jface.viewers.TableLayout;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 public class EJBTableViewer extends TableViewer
 {
-  private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
   private Vector beanNames;
   private Vector projectNames;
 
   public EJBTableViewer(Composite parent)
   {
     super(parent, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    String columnProperties[] = {msgUtils.getMessage("TABLE_TITLE_EJB_BEAN_NAMES"), msgUtils.getMessage("TABLE_TITLE_EJB_PROJECT_NAME")};
+    String columnProperties[] = {ConsumptionUIMessages.TABLE_TITLE_EJB_BEAN_NAMES, ConsumptionUIMessages.TABLE_TITLE_EJB_PROJECT_NAME};
     Table table = getTable();
     table.setHeaderVisible(true);
     table.setLinesVisible(true);
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/IObjectSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/IObjectSelectionWidget.java
index 3bafa00..1383a17 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/IObjectSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/IObjectSelectionWidget.java
@@ -11,9 +11,9 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataContributor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 /**
  * This interface defines extra methods that Object Selection Widgets
@@ -50,7 +50,7 @@
    * @param objectSelection the object to be validated.
    * @return the status of the validation.
    */
-  public Status validateSelection(IStructuredSelection objectSelection);
+  public IStatus validateSelection(IStructuredSelection objectSelection);
   
   /**
    * 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionTransformer.java
index eef2d28..7a93358 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionTransformer.java
@@ -16,7 +16,7 @@
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 public class JavaBeanSelectionTransformer implements Transformer
 {
@@ -47,7 +47,7 @@
     if (basename != null && basename.length() > 0)
     {
       String beanPackage = org.eclipse.jst.ws.internal.common.ResourceUtils.getJavaResourcePackageName(path);
-      beanClass = (beanPackage == null ? basename : (beanPackage + "." + basename));
+      beanClass = (beanPackage == null || beanPackage.length() == 0 ? basename : (beanPackage + "." + basename));
       if (beanClass.toLowerCase().endsWith(".java") || beanClass.toLowerCase().endsWith(".class"))
         beanClass = beanClass.substring(0, beanClass.lastIndexOf('.'));
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionWidget.java
index 17962a7..22fb63d 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/JavaBeanSelectionWidget.java
@@ -15,6 +15,8 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jdt.core.IType;
@@ -22,12 +24,12 @@
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.IWizardContainer;
 import org.eclipse.jst.j2ee.webservice.wsdd.BeanLink;
 import org.eclipse.jst.j2ee.webservice.wsdd.internal.impl.PortComponentImpl;
 import org.eclipse.jst.j2ee.webservice.wsdd.internal.impl.ServiceImplBeanImpl;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.common.JavaResourceFilter;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.jst.ws.internal.ui.dialog.DialogUtils;
 import org.eclipse.swt.SWT;
@@ -41,19 +43,15 @@
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 
 public class JavaBeanSelectionWidget extends AbstractObjectSelectionWidget implements IObjectSelectionWidget
 {
-  private String             pluginId_ = "org.eclipse.jst.ws.consumption.ui";
   private IProject           serverProject_ = null;
   private String             serverComponentName_ = null;
   private Composite          parent_ = null;
-  private IWizardContainer   context_ = null;
   private JavaResourceFilter filter_ = new JavaResourceFilter();
   private IResource          initialResource_ = null;
   private Listener statusListener;
@@ -75,19 +73,19 @@
    
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
+	String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";	  
     this.statusListener = statusListener;
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils, pluginId_ ); 
+    UIUtils      uiUtils  = new UIUtils( pluginId_ ); 
     
     parent_ = parent;
     
     Composite group = uiUtils.createComposite( parent, 4 );
     
-    group.setToolTipText( msgUtils.getMessage("TOOLTIP_PBCL_PAGE") );
+    group.setToolTipText( ConsumptionUIMessages.TOOLTIP_PBCL_PAGE );
     PlatformUI.getWorkbench().getHelpSystem().setHelp( group, pluginId_ + "." + INFOPOP_PBCL_PAGE );
     
-    beanClassText_ = uiUtils.createText( group, "LABEL_BEAN_CLASS_NAME",
-                                         "TOOLTIP_PBCL_TEXT_BEAN_CLASS",
+    beanClassText_ = uiUtils.createText( group, ConsumptionUIMessages.LABEL_BEAN_CLASS_NAME,
+    		ConsumptionUIMessages.TOOLTIP_PBCL_TEXT_BEAN_CLASS,
                                          INFOPOP_PBCL_TEXT_BEAN_CLASS,
                                          SWT.SINGLE | SWT.BORDER);
     beanClassText_.addModifyListener(
@@ -100,8 +98,8 @@
       }
     );
     
-    beanClassBrowseButton_ = uiUtils.createPushButton( group, "BUTTON_BROWSE_CLASSES",
-                                                       "TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE",
+    beanClassBrowseButton_ = uiUtils.createPushButton( group, ConsumptionUIMessages.BUTTON_BROWSE_CLASSES,
+    		ConsumptionUIMessages.TOOLTIP_PBCL_BUTTON_BEAN_CLASS_BROWSE,
                                                        INFOPOP_PBCL_BUTTON_BEAN_CLASS_BROWSE );
     beanClassBrowseButton_.addSelectionListener( new SelectionAdapter()
                                                  {
@@ -111,8 +109,8 @@
                                                    }
                                                  } );
     
-    beanResourceBrowseButton_ = uiUtils.createPushButton( group, "BUTTON_BROWSE_FILES",
-                                                          "TOOLTIP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE",
+    beanResourceBrowseButton_ = uiUtils.createPushButton( group, ConsumptionUIMessages.BUTTON_BROWSE_FILES,
+    		ConsumptionUIMessages.TOOLTIP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE,
                                                           INFOPOP_PBCL_BUTTON_BEAN_RESOURCE_BROWSE );
     beanResourceBrowseButton_.addSelectionListener( new SelectionAdapter()
                                                     {
@@ -181,7 +179,7 @@
       if( basename != null && basename.length() > 0 )
       {
         String beanPackage = org.eclipse.jst.ws.internal.common.ResourceUtils.getJavaResourcePackageName(path);
-        String beanClass = (beanPackage == null ? basename : (beanPackage + "." + basename));
+        String beanClass = (beanPackage == null || beanPackage.length() == 0 ? basename : (beanPackage + "." + basename));
         
         if( beanClass.toLowerCase().endsWith(".java") || beanClass.toLowerCase().endsWith(".class" ) )
         {
@@ -261,19 +259,18 @@
     return serverComponentName_;
   }
   
-  public Status getStatus()
+  public IStatus getStatus()
   {
     String beanClassName = beanClassText_.getText().trim();
     if (beanClassName == null || beanClassName.length() <= 0)
     {
-      MessageUtils msgUtils = new MessageUtils(pluginId_ + ".plugin", this);
-      return new SimpleStatus("", msgUtils.getMessage("PAGE_MSG_BEAN_CANNOT_BE_EMPTY"), Status.ERROR);
+      return StatusUtils.errorStatus(ConsumptionUIMessages.PAGE_MSG_BEAN_CANNOT_BE_EMPTY);
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
-  public Status validateSelection(IStructuredSelection objectSelection)
+  public IStatus validateSelection(IStructuredSelection objectSelection)
   {
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 }
\ 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/ObjectSelectionFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionFragment.java
index 87b31d7..a889d94 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionFragment.java
@@ -11,15 +11,15 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceImpl;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.SelectionCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 
 public class ObjectSelectionFragment extends SequenceFragment implements Condition
@@ -71,8 +71,8 @@
     {
       String wst = typeRuntimeServer.getTypeId();
 
-      int scenario = WebServiceRuntimeExtensionUtils.getScenarioFromTypeId(wst);
-      String implId = WebServiceRuntimeExtensionUtils.getImplIdFromTypeId(wst);
+      int scenario = WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(wst);
+      String implId = WebServiceRuntimeExtensionUtils2.getWebServiceImplIdFromTypeId(wst);
       if (scenario == WebServiceScenario.TOPDOWN)
       {
         //Must have WSDL object selection. No choice.
@@ -80,7 +80,7 @@
       }
       else
       {
-        WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils.getWebServiceImplById(implId);
+        WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils2.getWebServiceImplById(implId);
         if (wsimpl!=null)
         {  
           String objectSelectionWidgetId = wsimpl.getObjectSelectionWidget(); 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionOutputCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionOutputCommand.java
index 7f5d872..3899686 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionOutputCommand.java
@@ -13,24 +13,26 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 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.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 
-public class ObjectSelectionOutputCommand extends SimpleCommand
+public class ObjectSelectionOutputCommand extends AbstractDataModelOperation
 {
   private String                 objectSelectionWidgetId_;
   private IStructuredSelection   objectSelection_;
@@ -39,8 +41,10 @@
   private String                 componentName_;
   private WebServicesParser      parser_;
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
+    
     // Transformation
     if (objectSelectionWidgetId_ != null && objectSelectionWidgetId_.length() > 0)
     {
@@ -71,7 +75,7 @@
     }
 	
     // Validation
-    Status status = (objectSelectionWidget_ != null) ? objectSelectionWidget_.validateSelection(getObjectSelection()) : new SimpleStatus("");
+    IStatus status = (objectSelectionWidget_ != null) ? objectSelectionWidget_.validateSelection(getObjectSelection()) : Status.OK_STATUS;
     if (status.getSeverity() != Status.OK)
     {
       try
@@ -95,11 +99,11 @@
     {
       String wst = typeRuntimeServer.getTypeId();
 
-      int scenario = WebServiceRuntimeExtensionUtils.getScenarioFromTypeId(wst);
-      String implId = WebServiceRuntimeExtensionUtils.getImplIdFromTypeId(wst);
+      int scenario = WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(wst);
+      String implId = WebServiceRuntimeExtensionUtils2.getWebServiceImplIdFromTypeId(wst);
 
-      WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils.getWebServiceImplById(implId);
-	    //IWebServiceType wst = WebServiceRuntimeExtensionUtils.getWebServiceTypeById(typeRuntimeServer.getTypeId());
+      WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils2.getWebServiceImplById(implId);
+	    //IWebServiceType wst = WebServiceRuntimeExtensionUtils2.getWebServiceTypeById(typeRuntimeServer.getTypeId());
 
       if (wsimpl != null)
       {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionWidget.java
index 9695f9f..25a07a0 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ObjectSelectionWidget.java
@@ -14,10 +14,12 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 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.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -26,10 +28,8 @@
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 
 public class ObjectSelectionWidget extends AbstractObjectSelectionWidget implements IObjectSelectionWidget
@@ -38,7 +38,6 @@
   private Composite parent;
   private Listener statusListener;
   private Composite composite;
-  private TypeRuntimeServer typeRuntimeServer;
   private IStructuredSelection initialSelection;
   private IProject project;
   private String componentName;
@@ -58,7 +57,6 @@
    */
   public void setTypeRuntimeServer(TypeRuntimeServer typeRuntimeServer)
   {
-    this.typeRuntimeServer = typeRuntimeServer;
     if (composite != null)
     {
       composite.dispose();
@@ -67,9 +65,9 @@
     if (typeRuntimeServer != null)
     {
       String wst = typeRuntimeServer.getTypeId();
-      int scenario = WebServiceRuntimeExtensionUtils.getScenarioFromTypeId(wst);
-      String implId = WebServiceRuntimeExtensionUtils.getImplIdFromTypeId(wst);
-      WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils.getWebServiceImplById(implId);
+      int scenario = WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(wst);
+      String implId = WebServiceRuntimeExtensionUtils2.getWebServiceImplIdFromTypeId(wst);
+      WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils2.getWebServiceImplById(implId);
       
 	    //IWebServiceType wst = WebServiceRuntimeExtensionUtils.getWebServiceTypeById(typeRuntimeServer.getTypeId());
       if (wsimpl != null)
@@ -126,9 +124,9 @@
     }
   }
   
-  public Status getStatus()
+  public IStatus getStatus()
   {
-    return (child != null) ? child.getStatus() : new SimpleStatus("");
+    return (child != null) ? child.getStatus() : Status.OK_STATUS;
   }
 
   public void setInitialSelection(IStructuredSelection initialSelection)
@@ -145,9 +143,9 @@
     return (child != null) ? child.getObjectSelection() : null;
   }
   
-  public Status validateSelection(IStructuredSelection objectSelection)
+  public IStatus validateSelection(IStructuredSelection objectSelection)
   {
-    return (child != null) ? child.validateSelection(objectSelection) : new SimpleStatus("");
+    return (child != null) ? child.validateSelection(objectSelection) : Status.OK_STATUS;
   }
   
   public IProject getProject()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java
index 546120c..4db0a34 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/Timer.java
@@ -11,7 +11,6 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
 import java.util.Calendar;
-
 import org.eclipse.swt.widgets.Display;
 
 public class Timer extends Thread
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidateWSDLJob.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidateWSDLJob.java
index 8463a02..e27ee08 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidateWSDLJob.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidateWSDLJob.java
@@ -17,7 +17,7 @@
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.wst.wsdl.validation.internal.IValidationMessage;
 import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
-import org.eclipse.wst.wsdl.validation.internal.ui.eclipse.WSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 
 
@@ -27,6 +27,7 @@
 	
 	private String wsdlURI_ = null;
 	private IValidationMessage[] validationMessages_ = null;
+	private int validationMessageSeverity_ = -1; // default value
 
 	public ValidateWSDLJob(String wsdlURI) {
 		super("ValidateWSDLJob");
@@ -37,9 +38,37 @@
 		WSDLValidator wsdlValidator = WSDLValidator.getInstance();
 	    IValidationReport valReport = wsdlValidator.validate(wsdlURI_);
 	    validationMessages_ = valReport.getValidationMessages();
+	    reportSummary();
 		return Status.OK_STATUS;
 	}
 	
+	// calculate the higher severity for all the validation messages
+	private void reportSummary() {
+		int i;
+		int severity;
+		int errorCount = 0;
+		int warningCount = 0;
+		for (i=0; i<validationMessages_.length && errorCount == 0; i++) {
+			severity = validationMessages_[i].getSeverity();
+			switch (severity) {
+			case IValidationMessage.SEV_ERROR:
+				errorCount++;
+				break;
+			case IValidationMessage.SEV_WARNING:
+				warningCount++;
+				break;
+			default:
+				break;
+			}
+		}
+		if (errorCount > 0) {
+			validationMessageSeverity_ = IValidationMessage.SEV_ERROR;
+		} else if (warningCount > 0) {
+			validationMessageSeverity_ = IValidationMessage.SEV_WARNING;
+		}
+		
+	}
+
 	public boolean belongsTo(Object family)
 	{
 		return family == VALIDATE_WSDL_JOB_FAMILY;
@@ -48,6 +77,10 @@
 	public IValidationMessage[] getValidationMessages() {
 		return validationMessages_;
 	}
+	
+	public int getValidationMessageSeverity() {
+		return validationMessageSeverity_;
+	}
 
 	public String getWsdlURI() {
 		return wsdlURI_;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidationMessageViewerWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidationMessageViewerWidget.java
index 3540e4d..221645b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidationMessageViewerWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/ValidationMessageViewerWidget.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.ILabelProviderListener;
@@ -18,6 +20,7 @@
 import org.eclipse.jface.viewers.TableLayout;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.layout.GridData;
@@ -30,26 +33,17 @@
 import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.ui.ISharedImages;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.wsdl.validation.internal.IValidationMessage;
 
 
 public class ValidationMessageViewerWidget extends SimpleWidgetDataContributor
 {
   private int DEFAULT_TABLE_HEIGHT_HINT = 100;
-  private int DEFAULT_COLUMN_WIDTH = 20;
-
-//  private String[] columns_;
   private TableViewer tableViewer_;
   private Table table_;
-  
-  private Composite parent_;
-  private Listener  statusListener_;
-
   private String message = null;
   static final String columns_[] = {"severity", "line", "column", "message"};
   static final int columnsWidth_[] = {10, 10, 10, 60};
@@ -62,12 +56,7 @@
 
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   { 
-    parent_         = parent;
-    statusListener_ = statusListener;
-    
-    String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId + ".plugin", this );
-    
+   
 	Composite  composite = new Composite(parent, SWT.NONE);
 	GridLayout gl        = new GridLayout();
 	
@@ -77,10 +66,10 @@
 	composite.setLayoutData(new GridData(GridData.FILL_BOTH));
 	
     Label messageLabel = new Label( composite, SWT.WRAP);
-    messageLabel.setText( msgUtils.getMessage("LABEL_VALIDATE_MESSAGES"));
+    messageLabel.setText( ConsumptionUIMessages.LABEL_VALIDATE_MESSAGES);
     GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
     messageLabel.setLayoutData(gd);
-    messageLabel.setToolTipText( msgUtils.getMessage("TOOLTIP_VALIDATE_TEXT_MESSAGE") );
+    messageLabel.setToolTipText( ConsumptionUIMessages.TOOLTIP_VALIDATE_TEXT_MESSAGE );
 
 	table_ = new Table(composite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
 	gd = new GridData(GridData.FILL_BOTH);
@@ -88,7 +77,7 @@
 	table_.setLayoutData(gd);
 	table_.setHeaderVisible(true);
 	table_.setLinesVisible(true);
-	table_.setToolTipText(msgUtils.getMessage("TOOLTIP_TABLE_VALIDATE_MESSAGE") );
+	table_.setToolTipText(ConsumptionUIMessages.TOOLTIP_TABLE_VALIDATE_MESSAGE );
 	TableLayout tableLayout = new TableLayout();
 	for (int i = 0; i < columns_.length; i++)
 	{
@@ -105,14 +94,6 @@
 	tableViewer_.setContentProvider(new ListContentProvider());
 	tableViewer_.setLabelProvider(new ListLabelProvider());
 
-	Composite buttonComposite = new Composite(composite, SWT.NONE);
-	gl = new GridLayout();
-	gl.numColumns = 3;
-	gl.makeColumnsEqualWidth = true;
-	buttonComposite.setLayout(gl);
-	buttonComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING));
-
-	
 	return this;
   }
 
@@ -133,10 +114,10 @@
 	  return tableViewer_.getContentProvider();
   }
 
-  public Status getStatus()
+  public IStatus getStatus()
   {
-    return message == null ? new SimpleStatus("") : 
-                             new SimpleStatus( "", message, Status.ERROR );
+    return message == null ? Status.OK_STATUS : 
+                             StatusUtils.errorStatus(message );
   }
 
   public void refresh()
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 79672c3..2e2a809 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
@@ -11,13 +11,12 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
 import java.net.MalformedURLException;
-
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jst.j2ee.webservice.wsclient.internal.impl.ServiceRefImpl;
 import org.eclipse.jst.ws.internal.common.J2EEActionAdapterFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
 
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 7e08170..eb94809 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
@@ -18,8 +18,10 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.IJobChangeEvent;
 import org.eclipse.core.runtime.jobs.IJobManager;
 import org.eclipse.core.runtime.jobs.Job;
@@ -30,11 +32,13 @@
 import org.eclipse.jst.ws.internal.common.J2EEActionAdapterFactory;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.common.WSDLParserFactory;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.WSDLSelectionConditionCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.WSDLSelectionTreeWidget;
 import org.eclipse.jst.ws.internal.ui.common.DialogResourceBrowser;
 import org.eclipse.jst.ws.internal.ui.common.FileExtensionFilter;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -48,10 +52,8 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServiceEntity;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
@@ -59,18 +61,17 @@
 import org.eclipse.wst.ws.internal.preferences.PersistentWSDLValidationContext;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
+import org.eclipse.wst.wsdl.validation.internal.IValidationMessage;
 
 public class WSDLSelectionWidget extends AbstractObjectSelectionWidget implements IObjectSelectionWidget, Runnable
 {
   private String              pluginId_;
-  private MessageUtils        msgUtils_;
   private FileExtensionFilter wsFilter_;
   private WebServicesParser webServicesParser;
 
   private Composite parent_;
   private Listener  statusListener_;
   private WSDLSelectionTreeWidget tree;
-  private ValidationMessageViewerWidget msgViewer_;
   
   /*CONTEXT_ID PCON0001 for the WSDL Selection Page*/
   private final String INFOPOP_PCON_PAGE = "PCON0001";
@@ -83,14 +84,19 @@
   private final String INFOPOP_PCON_BUTTON_BROWSE_WSDL = "PCON0003";
   private Button wsBrowseButton_;
   
+  /*CONTEXT_ID PCON0004 for the Wizard WSDL Validation table of the WSDL Selection Page*/
+  private ValidationMessageViewerWidget msgViewer_;
   private ValidateWSDLJob validateWSDLJob_;
   private JobChangeAdapter    jobChangeAdapter_;
+  
+  /*CONTEXT_ID PCON0005 for the Wizard WSDL Validation summary message of the WSDL Selection Page*/
+  private Text validationSummaryText_;
+  private Text validationSummaryText2_;
 
   
   public WSDLSelectionWidget()
   {
     pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    msgUtils_ = new MessageUtils( pluginId_ + ".plugin", this );
     wsFilter_ = new FileExtensionFilter(new String[] {"wsdl", "wsil", "html"});
     webServicesParser = WSDLParserFactory.getWSDLParser();
     
@@ -99,6 +105,7 @@
 	  public void run() 
       {
 		  msgViewer_.setInput(validateWSDLJob_.getValidationMessages());
+		  updateValidationSummary(validateWSDLJob_.getValidationMessageSeverity());
       }
     };
     
@@ -115,23 +122,25 @@
   
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    UIUtils uiUtils  = new UIUtils( msgUtils_, pluginId_ );
+    UIUtils uiUtils  = new UIUtils( pluginId_ );
     parent_          = parent;
     statusListener_  = statusListener;
 
-	  parent.setToolTipText( msgUtils_.getMessage( "TOOLTIP_PCON_PAGE" ) );
+	  parent.setToolTipText( ConsumptionUIMessages.TOOLTIP_PCON_PAGE );
 	  PlatformUI.getWorkbench().getHelpSystem().setHelp( parent, pluginId_ + "." + INFOPOP_PCON_PAGE );
     
     Composite wsdlGroup = uiUtils.createComposite( parent, 2, 5, 0 );
     
     Label wsLabel = new Label( wsdlGroup, SWT.WRAP);
-    wsLabel.setText( msgUtils_.getMessage("LABEL_WS_SELECTION"));
+    wsLabel.setText( ConsumptionUIMessages.LABEL_WS_SELECTION);
     GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
     gd.horizontalSpan = 2;
     wsLabel.setLayoutData(gd);
-    wsLabel.setToolTipText( msgUtils_.getMessage("TOOLTIP_PCON_TEXT_WS") );
+    wsLabel.setToolTipText( ConsumptionUIMessages.TOOLTIP_PCON_TEXT_WS );
     
-    webServiceURI = uiUtils.createText( wsdlGroup, null, "TOOLTIP_PCON_TEXT_WS", INFOPOP_PCON_TEXT_WSDL, SWT.SINGLE | SWT.BORDER );
+    webServiceURI = uiUtils.createText( wsdlGroup, null, 
+    						ConsumptionUIMessages.TOOLTIP_PCON_TEXT_WS, 
+    						INFOPOP_PCON_TEXT_WSDL, SWT.SINGLE | SWT.BORDER );
     webServiceURI.addModifyListener(
       new ModifyListener()
       {
@@ -142,7 +151,9 @@
       });
 //    webServiceURI.addListener( SWT.Modify, statusListener );
 
-    wsBrowseButton_ = uiUtils.createPushButton( wsdlGroup, "BUTTON_BROWSE", "TOOLTIP_PCON_BUTTON_BROWSE_WS", INFOPOP_PCON_BUTTON_BROWSE_WSDL );
+    wsBrowseButton_ = uiUtils.createPushButton( wsdlGroup, ConsumptionUIMessages.BUTTON_BROWSE, 
+    								ConsumptionUIMessages.TOOLTIP_PCON_BUTTON_BROWSE_WS, 
+    								INFOPOP_PCON_BUTTON_BROWSE_WSDL );
     wsBrowseButton_.addSelectionListener(
       new SelectionListener()
       {
@@ -164,9 +175,33 @@
     msgViewer_ = new ValidationMessageViewerWidget();
     msgViewer_.addControls(parent, statusListener);
     
+    validationSummaryText_ = new Text( parent, SWT.WRAP);
+    validationSummaryText_.setEditable(false);
+    GridData gd1 = new GridData(GridData.FILL_BOTH);
+    validationSummaryText_.setLayoutData(gd1);
+    validationSummaryText_.setToolTipText( ConsumptionUIMessages.TOOLTIP_VALIDATE_TEXT_MESSAGE_SUMMARY );
+    
+    validationSummaryText2_ = new Text( parent, SWT.WRAP);
+    validationSummaryText2_.setEditable(false);
+    validationSummaryText2_.setLayoutData(gd1);
+    
+    setMessageSummary();
     return this;
   }
   
+  private void setMessageSummary() {
+	  String validationMessageSummary = ConsumptionUIMessages.MESSAGE_VALIDATE_NO_WSDL;
+	  PersistentWSDLValidationContext wsdlValidationContext = WSPlugin.getInstance().getWSDLValidationContext();
+	  String validationSelection = wsdlValidationContext.getPersistentWSDLValidation();
+	  if (PersistentWSDLValidationContext.VALIDATE_REMOTE_WSDL.equals(validationSelection)) {
+		  validationMessageSummary = ConsumptionUIMessages.MESSAGE_VALIDATE_REMOTE_WSDL;
+	  } else if (PersistentWSDLValidationContext.VALIDATE_ALL_WSDL.equals(validationSelection)) {
+		  validationMessageSummary = ConsumptionUIMessages.MESSAGE_VALIDATE_ALL_WSDL;
+	  }
+	  validationSummaryText_.setText( validationMessageSummary );
+	  validationSummaryText2_.setText(" ");
+  }
+  
   private void handleWebServiceURIModifyEvent()
   {
     if (webServiceURI.getText().indexOf(':') > 0)
@@ -190,7 +225,7 @@
       WSDLSelectionConditionCommand cmd = new WSDLSelectionConditionCommand();
       cmd.setWebServicesParser(webServicesParser);
       cmd.setWebServiceURI(wsURI);
-      cmd.execute(null);
+      cmd.execute(null, null);
     }
     WebServiceEntity entity = webServicesParser.getWebServiceEntityByURI(wsURI);
     if (entity != null && entity.getType() == WebServiceEntity.TYPE_WSDL)
@@ -216,30 +251,30 @@
     statusListener_.handleEvent(null);
   }
   
-  public Status getStatus()
+  public IStatus getStatus()
   {
     // Timer validation
     /*
      * Commenting out because we don't want to block fast typers from hitting Next/Finish 
     if (Timer.isRunning())
-      return new SimpleStatus("", msgUtils_.getMessage("PAGE_MSG_LOADING_WEB_SERVICE_URI"), Status.ERROR);
+      return new SimpleStatus("", ConsumptionUIMessages.PAGE_MSG_LOADING_WEB_SERVICE_URI, Status.ERROR);
     */
 	
     // Validate the String representation of the Web service URI
     // For example, is it pointing to an existing resource in the workspace?
     String wsPath  = webServiceURI.getText();
     if( wsPath == null || wsPath.length() <= 0 )
-      return new SimpleStatus("", msgUtils_.getMessage("PAGE_MSG_INVALID_WEB_SERVICE_URI"), Status.ERROR);
+      return StatusUtils.errorStatus( ConsumptionUIMessages.PAGE_MSG_INVALID_WEB_SERVICE_URI );
     else if( wsPath.indexOf(':') < 0 )
     {
       IResource res = ResourceUtils.findResource(wsPath);
       if( res == null ) {
     	  msgViewer_.clearInput();
-        return new SimpleStatus("", msgUtils_.getMessage("PAGE_MSG_NO_SUCH_FILE", new Object[] {wsPath}), Status.ERROR);
+        return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.PAGE_MSG_NO_SUCH_FILE, new Object[] {wsPath}) );
       }
       else if( res.getType() != IResource.FILE ) {
     	  msgViewer_.clearInput();
-        return new SimpleStatus("", msgUtils_.getMessage("PAGE_MSG_INVALID_WEB_SERVICE_URI"), Status.ERROR);
+        return StatusUtils.errorStatus( ConsumptionUIMessages.PAGE_MSG_INVALID_WEB_SERVICE_URI );
       }
     }
 
@@ -248,7 +283,7 @@
     // For example, is selection a WSDL URI?
     if (!Timer.isRunning() && tree.isEnabled())
     {
-      Status status = tree.getStatus();
+      IStatus status = tree.getStatus();
       if (status != null)
       {
         int severity = status.getSeverity();
@@ -265,7 +300,7 @@
           String wsdlURI = iFile2URI((IFile)ResourceUtils.findResource(wsPath));
           if (webServicesParser.getWSDLDefinition(wsdlURI) == null) {
         	  msgViewer_.clearInput();
-            return new SimpleStatus("", msgUtils_.getMessage("PAGE_MSG_SELECTION_MUST_BE_WSDL"), Status.ERROR);
+            return StatusUtils.errorStatus(ConsumptionUIMessages.PAGE_MSG_SELECTION_MUST_BE_WSDL );
           }
         }
     }
@@ -288,12 +323,13 @@
     		}
     	}
   	  
+      setMessageSummary();
   	  validateWSDL(wsdlURI1, isRemote);
     }
     
 
     // OK status
-    return new SimpleStatus( "" );
+    return Status.OK_STATUS;
   }
   
   private void validateWSDL (String wsdlURI, boolean isRemote) {
@@ -307,6 +343,8 @@
 		  ValidateWSDLJob existingValidateWSDLJob = null;
 		  
 		  boolean startWSDLValidation = true;
+		  validationSummaryText_.setText( ConsumptionUIMessages.MESSAGE_VALIDATE_IN_PROGRESS );
+		  validationSummaryText2_.setText(" ");
 		  if( jobs.length > 0 )
 		  {
 			  for (int i=0; i<jobs.length; i++) {
@@ -339,6 +377,25 @@
 	  validateWSDLJob_.schedule();
   }
   
+  public void updateValidationSummary(int messageSeverity)
+  {
+  	
+  	switch (messageSeverity) {
+  	case IValidationMessage.SEV_ERROR:
+		validationSummaryText_.setText(ConsumptionUIMessages.ERROR_MESSAGES_IN_VALIDATION);
+		validationSummaryText2_.setText(ConsumptionUIMessages.WARNING_IF_CONTINUE);
+		break;
+	case IValidationMessage.SEV_WARNING:
+		validationSummaryText_.setText(ConsumptionUIMessages.WARNING_MESSAGES_IN_VALIDATION);
+		validationSummaryText2_.setText(ConsumptionUIMessages.WARNING_IF_CONTINUE);
+		break;
+	default:
+		validationSummaryText_.setText(ConsumptionUIMessages.VALIDATION_COMPLETED);
+		validationSummaryText2_.setText(" ");
+		break;
+	}
+  }
+  
   private IFile uri2IFile(String uri)
   {
     IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(uri);
@@ -391,21 +448,6 @@
       return null;
   }
   
-  private String toAbsoluteWsdlURI(Object object)
-  {
-    if (object instanceof IFile)
-    {
-      try
-      {
-        return ((IFile)object).getLocation().toFile().toURL().toString();
-      }
-      catch (MalformedURLException murle)
-      {
-      }
-    }
-    return toWsdlURI(object);
-  }
-
   public IStructuredSelection getObjectSelection()
   {
     return new StructuredSelection( 
@@ -418,9 +460,9 @@
     return webServicesParser;
   }
   
-  public Status validateSelection(IStructuredSelection objectSelection)
+  public IStatus validateSelection(IStructuredSelection objectSelection)
   {
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
   public IProject getProject()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWrapper.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWrapper.java
index b0a6005..80a6c18 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWrapper.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWrapper.java
@@ -1,3 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
 import org.eclipse.jface.viewers.IStructuredSelection;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidget.java
index fc6195c..070494c 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidget.java
@@ -10,26 +10,25 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime;
 
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.common.ValidationUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
-import org.eclipse.swt.SWT;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Listener;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 
 
 public class ClientRuntimeSelectionWidget extends SimpleWidgetDataContributor
@@ -39,65 +38,36 @@
   /* CONTEXT_ID PWRS0003 for the Wizard Scenario Client configuration of the Runtime Selection Page */
   private String INFOPOP_PWRS_GROUP_CLIENT = pluginId_ + ".PWRS0003";
   
-  private String                       clientScenarioId;
   private Group                        clientGroup_;
   private RuntimeServerSelectionWidget runtimeWidget_;
-  private SelectionListChoices         runtime2ClientTypes_;
-  private Combo                        clientType_;
-  private SelectionAdapter             clientTypeSelListener;
   private ProjectSelectionWidget       projectWidget_;
-  private boolean 					   isVisible_;
-  
-  // rsk revisit - Putting this in temporarily. The RuntimeSelectionDialog needs the server
-  // information even when it is launched for the client half of the configuration.
-  private String                       serviceScenarioId;
-  //
+  private boolean 					           isVisible_;
   
   
   public WidgetDataEvents addControls( Composite parent, final Listener statusListener )
   {
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils, pluginId_ ); 
+    UIUtils      uiUtils  = new UIUtils( pluginId_ ); 
     
-    clientGroup_ = uiUtils.createGroup( parent, "LABEL_CLIENT_SELECTION_VIEW_TITLE",
+    clientGroup_ = uiUtils.createGroup( parent, ConsumptionUIMessages.LABEL_CLIENT_SELECTION_VIEW_TITLE,
                                         null, INFOPOP_PWRS_GROUP_CLIENT, 2, 5, 5 );
     
     runtimeWidget_ = new RuntimeServerSelectionWidget( true );
     runtimeWidget_.addControls( clientGroup_, statusListener );
+
+    
     runtimeWidget_.addModifyListener( new ModifyListener()
                                       {
                                         public void modifyText(ModifyEvent e)
                                         {
-                                          handleRuntime2ClientTypesEvent();
+                                          //handleRuntime2ClientTypesEvent();
                                           handleUpdateProjectWidget();
                                         }
                                       });
-    
-    clientType_ = uiUtils.createCombo( clientGroup_, "LABEL_CLIENT_TYPE",  
-                                       "TOOLTIP_PWCR_COMBO_CLIENT_TYPE",
-                                       INFOPOP_PWRS_GROUP_CLIENT, 
-                                       SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
-    
-    clientTypeSelListener = new SelectionAdapter()
-                                {
-                                  public void widgetSelected( SelectionEvent evt )
-                                  {
-                                    handleSetProjects( clientType_.getSelectionIndex() );
-                                    statusListener.handleEvent(null);
-                                  }
-                                };
-                                
-    clientType_.addSelectionListener(clientTypeSelListener);
+                                         
     
     projectWidget_ = new ProjectSelectionWidget(true);
     projectWidget_.addControls( clientGroup_, statusListener );
-    
-    //projectWidget_.addModifyListener(new ModifyListener(){
-    //  								public void modifyText(ModifyEvent e){
-    //  								  getProjectSelections();
-    //  								}
-    //								});
-    
+        
     return this;
   }
   
@@ -124,16 +94,15 @@
     return runtimeWidget_.getTypeRuntimeServer();  
   }
   
-  public String getJ2EEVersion()
+  public String getClientRuntimeId()
   {
-    return runtimeWidget_.getJ2EEVersion();
-  }
-  
-  public void setJ2EEVersion(String j2eeVersion)
-  {
-    runtimeWidget_.setJ2EEVersion(j2eeVersion);
-    projectWidget_.setJ2EEVersion(j2eeVersion);
-  }
+    //calculate the most appropriate clientRuntimeId based on current settings.
+    String projectName = projectWidget_.getProjectName();
+    String templateId = projectWidget_.getComponentType();
+    
+    //Find the client runtime that fits this profile best.
+    return WebServiceRuntimeExtensionUtils2.getClientRuntimeId(runtimeWidget_.getTypeRuntimeServer(), projectName, templateId);
+  } 
     
   public boolean getClientNeedEAR()
   {
@@ -145,174 +114,42 @@
     projectWidget_.setNeedEAR(b);
   }  
   
-  public String getClientComponentName()
+  public String getClientProjectName()
   {
-	return projectWidget_.getComponentName();  
+	return projectWidget_.getProjectName();  
   }
   
-  public void setClientComponentName( String name )
+  public void setClientProjectName( String name )
   {
-    projectWidget_.setComponentName( name );
+    projectWidget_.setProjectName( name );
   }
   
-  public String getClientEarComponentName()
+  public String getClientEarProjectName()
   {
-    return projectWidget_.getEarComponentName();	  
+    return projectWidget_.getEarProjectName();	  
   }
   
-  public void setClientEarComponentName( String name )
+  public void setClientEarProjectName( String name )
   {
-	projectWidget_.setEarComponentName( name );  
+	projectWidget_.setEarProjectName( name );  
   }
   
   public String getClientComponentType()
   {
-    SelectionList projTypeList = runtime2ClientTypes_.getChoice().getList();
-    projTypeList.setIndex( clientType_.getSelectionIndex() );
-    return projTypeList.getSelection();
+    return projectWidget_.getComponentType();
   }
   
   public void setClientComponentType( String type )
   {
 	projectWidget_.setComponentType( type );  
   }
-  
-  public String getClientProjectName()
-  {
-    return projectWidget_.getProjectName();  
-  }
-  
-  public String getClientEarProjectName()
-  {
-	return projectWidget_.getEarProjectName();  
-  }
-  
-  /**
-   * @param runtime2ClientTypes The runtime2ClientTypes to set.
-   */
-  public void setRuntime2ClientTypes(SelectionListChoices runtime2ClientTypes)
-  {
-    runtime2ClientTypes_ = runtime2ClientTypes;
-    handleRuntime2ClientTypesEvent();
-  }
-
-  public SelectionListChoices getRuntime2ClientTypes()
-  {
-    
-    String runtime       = runtimeWidget_.getTypeRuntimeServer().getRuntimeId();
-    String clientProject = projectWidget_.getProjectChoices().getList().getSelection();
-    String earProject    = projectWidget_.getProjectChoices().getChoice().getList().getSelection();
-    
-    SelectionList runtimeList  = runtime2ClientTypes_.getList();
-    runtimeList.setSelectionValue( runtime );
-    
-    SelectionList projTypeList = runtime2ClientTypes_.getChoice().getList();
-    projTypeList.setIndex( clientType_.getSelectionIndex() );
-    
-    SelectionListChoices clientProjChoice = runtime2ClientTypes_.getChoice().getChoice();
-    SelectionList        clientProjList   = clientProjChoice.getList();
-    clientProjList.setSelectionValue( clientProject );    
-    
-    SelectionList        earProjList      = clientProjChoice.getChoice().getList();   
-    earProjList.setSelectionValue( earProject );
-    
-    return runtime2ClientTypes_; 
-  }
-  
-  private void handleRuntime2ClientTypesEvent()
-  {
-    if (runtime2ClientTypes_ != null)
-    {  
-      //If the runtimeId from runtimeWidget_ is already selected in
-      //in runtime2ClientTypes_, do nothing. 
-      String currentRuntimeId = runtime2ClientTypes_.getList().getSelection();
-      String newRuntimeId = runtimeWidget_.getTypeRuntimeServer().getRuntimeId();
-      if (currentRuntimeId != newRuntimeId)
-      {
-        SelectionList runtimes = runtime2ClientTypes_.getList();
-        runtimes.setSelectionValue( runtimeWidget_.getTypeRuntimeServer().getRuntimeId() );
-      }
-      
-      String[] clientTypeIds = runtime2ClientTypes_.getChoice().getList().getList();
-      int selectedClientTypeIdx = runtime2ClientTypes_.getChoice().getList().getIndex();
-      
-      clientType_.removeSelectionListener(clientTypeSelListener);
-      clientType_.setItems( getClientTypeLabels( clientTypeIds ));
-      clientType_.select(selectedClientTypeIdx);
-      clientType_.addSelectionListener(clientTypeSelListener);
-      handleSetProjects(selectedClientTypeIdx);
-      
-    }
-  }
-
 
   private void handleUpdateProjectWidget()
   {
-    projectWidget_.setTypeRuntimeServer(runtimeWidget_.getTypeRuntimeServer());
-    projectWidget_.setJ2EEVersion(runtimeWidget_.getJ2EEVersion());
-  }
+    projectWidget_.setTypeRuntimeServer(runtimeWidget_.getTypeRuntimeServer());    
 
-  
-  private void handleSetProjects( int clientTypeIndex )
-  {    
-    SelectionListChoices clientType2Projects = runtime2ClientTypes_.getChoice();
-    clientType2Projects.getList().setIndex( clientTypeIndex );
-    
-    // Make sure that the project name and EAR name are kept the same
-    // even if the client type is changed.  Note: the project and EAR lists
-    // will be updated according to what is set by the client type.
-    SelectionListChoices currentProjects = projectWidget_.getProjectChoices();
-    
-    if( currentProjects != null )
-    {
-      String projectName = currentProjects.getList().getSelection();
-      String earName     = currentProjects.getChoice().getList().getSelection();
-      
-      // Set the project to it's original state.
-      clientType2Projects.getChoice().getList().setSelectionValue( projectName );
-	
-	  // Set the EAR name to it's original state.
-      clientType2Projects.getChoice().getChoice().getList().setSelectionValue( earName );
-    }
-	
-    //projectWidget_.setProjectTypeId(clientType2Projects.getList().getSelection());
-	projectWidget_.setComponentType(clientType2Projects.getList().getSelection());
-    projectWidget_.setProjectChoices( clientType2Projects.getChoice() );    
-  }
-  
-  private String[] getClientTypeLabels( String[] types )
-  {
-	MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );	  
-    //ClientProjectTypeRegistry registry         = ClientProjectTypeRegistry.getInstance();
-    String[]                  clientTypeLabels = new String[types.length];
-    
-    for( int index = 0; index < types.length; index++ )
-    {
-      //clientTypeLabels[index] = registry.getElementById(types[index]).getAttribute("label");
-	  String type = types[index];
-	  if (type.equals(IModuleConstants.JST_WEB_MODULE))
-	  {
-		  clientTypeLabels[index] = msgUtils.getMessage("LABEL_CLIENT_COMP_TYPE_WEB");
-	  }
-	  else if (type.equals(IModuleConstants.JST_EJB_MODULE))
-	  {
-		  clientTypeLabels[index] = msgUtils.getMessage("LABEL_CLIENT_COMP_TYPE_EJB");
-	  }
-	  else if (type.equals(IModuleConstants.JST_APPCLIENT_MODULE))
-	  {
-		  clientTypeLabels[index] = msgUtils.getMessage("LABEL_CLIENT_COMP_TYPE_APP_CLIENT");
-	  }
-	  else if (type.equals(IModuleConstants.JST_UTILITY_MODULE))
-	  {
-		  clientTypeLabels[index] = msgUtils.getMessage("LABEL_CLIENT_COMP_TYPE_CONTAINERLESS");
-	  }
-	  else
-	  {
-		  clientTypeLabels[index] = type;
-	  }
-    }
-    
-    return clientTypeLabels;
+    //Update the list of projects shown to the user.
+    projectWidget_.refreshProjectItems();    
   }
   
   public ProjectSelectionWidget getProjectSelectionWidget() {
@@ -322,11 +159,16 @@
   /* (non-Javadoc)
    * @see org.eclipse.wst.command.env.ui.widgets.WidgetContributor#getStatus()
    */
-  public Status getStatus() 
+  public IStatus getStatus() 
   {
-    Status finalStatus   = new SimpleStatus( "" );
-    Status projectStatus = projectWidget_.getStatus();
-    Status runtimeStatus = runtimeWidget_.getStatus();
+    //MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
+    ValidationUtils valUtils = new ValidationUtils();
+    //Return OK all the time for now.
+    IStatus finalStatus   = Status.OK_STATUS;
+    
+    
+    IStatus projectStatus = projectWidget_.getStatus();
+    IStatus runtimeStatus = runtimeWidget_.getStatus();
     
     if( runtimeStatus.getSeverity() == Status.ERROR )
     {
@@ -338,40 +180,72 @@
     }
     else
     {
-      SelectionListChoices clientProjects = getProjectSelectionWidget().getProjectChoices();
-      ValidationUtils valUtils = new ValidationUtils();
-      if (clientProjects != null)
+      String projectName = projectWidget_.getProjectName();
+      if (projectName != null && projectName.length()>0)
       {
-          String clientEARName = projectWidget_.getEarProjectName();
-          if (clientEARName == null){
-        	  clientEARName = clientProjects.getChoice().getList().getSelection();
-          }
-          String clientProjName = projectWidget_.getProjectName();
-          if (clientProjName == null){
-            clientProjName = clientProjects.getList().getSelection();
-          }
+        //If the project exists, ensure that it is suitable for the selected runtime
+        //and server.
         
-        String clientCompName = projectWidget_.getComponentName();
-        String clientEARCompName = projectWidget_.getEarComponentName();
+        IProject project = ProjectUtilities.getProject(projectName);
+        String typeId = getClientTypeRuntimeServer().getTypeId();
+        String runtimeId = getClientTypeRuntimeServer().getRuntimeId();
+        String serverFactoryId = getClientTypeRuntimeServer().getServerId();
+        
+        if (project.exists())
+        {
+          //Check if the runtime supports it.
+          if (!WebServiceRuntimeExtensionUtils2.doesClientTypeAndRuntimeSupportProject(typeId, runtimeId, projectName))
+          {
+            String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(runtimeId);
+            finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_CLIENT_RUNTIME_DOES_NOT_SUPPORT_PROJECT, new String[]{runtimeLabel, projectName}));
+          }
+          
+          //Check if the server supports it.
 
-        //Validate that the selected client project is of the type indicated by client project type.
-        Status clientProjectTypeStatus = valUtils.validateProjectType(clientProjName, runtime2ClientTypes_);
-        if (clientProjectTypeStatus.getSeverity() == Status.ERROR)
-        {
-          finalStatus = clientProjectTypeStatus;
+          if (serverFactoryId!=null && serverFactoryId.length()>0)
+          {
+            if (!valUtils.doesServerSupportProject(serverFactoryId, projectName))
+            {
+              String serverLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverFactoryId);
+              finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_CLIENT_SERVER_DOES_NOT_SUPPORT_PROJECT, new String[]{serverLabel, projectName}));
+            }
+          }          
         }
-        
-        //Validate client side server targets and J2EE levels
-        String clientServerFactoryId = getClientTypeRuntimeServer().getServerId();
-        String clientJ2EElevel = getJ2EEVersion();
-        Status clientProjectStatus = valUtils.validateProjectTargetAndJ2EE(clientProjName, clientCompName, clientEARName, clientEARCompName, clientServerFactoryId,
-            clientJ2EElevel);
-        if (clientProjectStatus.getSeverity() == Status.ERROR)
+        else
         {
-          finalStatus = clientProjectStatus;
+          //Look at the project type to ensure that it is suitable for the selected runtime
+          //and server.
+          
+          String templateId = getClientComponentType();
+
+          if (templateId != null && templateId.length()>0)
+          {
+            //Check if the runtime supports it.            
+            if (!WebServiceRuntimeExtensionUtils2.doesClientTypeAndRuntimeSupportTemplate(typeId, runtimeId, templateId))
+            {
+              String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(runtimeId);
+              String templateLabel = FacetUtils.getTemplateLabelById(templateId);
+              finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_CLIENT_RUNTIME_DOES_NOT_SUPPORT_TEMPLATE, new String[]{runtimeLabel, templateLabel}));
+            }
+            
+            //Check if the server supports it.
+            if (serverFactoryId!=null && serverFactoryId.length()>0)
+            {
+              if (!valUtils.doesServerSupportTemplate(serverFactoryId, templateId))
+              {
+                String serverLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverFactoryId);
+                String templateLabel = FacetUtils.getTemplateLabelById(templateId);
+                finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_CLIENT_SERVER_DOES_NOT_SUPPORT_TEMPLATE, new String[]{serverLabel, templateLabel}));
+              }
+            }
+          }
+          
+          
+          
         }
       }
     }
+    
     return finalStatus;    
   }
 }
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 0790f97..aa6e148 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
@@ -10,62 +10,73 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Set;
 import java.util.Vector;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jst.server.core.FacetUtil;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.common.ClientServerSelectionUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.common.ServerSelectionUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.common.ValidationUtils;
+import org.eclipse.jst.ws.internal.consumption.common.FacetMatcher;
+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.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.jst.ws.internal.consumption.ui.preferences.PersistentServerRuntimeContext;
+import org.eclipse.jst.ws.internal.consumption.ui.preferences.ProjectTopologyContext;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.ClientRuntimeDescriptor;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeInfo;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionListChoices;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerType;
 import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceRuntime;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceClientInfo;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceState;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
 import org.eclipse.wst.ws.internal.wsrt.SimpleContext;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceClientInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceState;
 
-public class ClientRuntimeSelectionWidgetDefaultingCommand extends SimpleCommand
+public class ClientRuntimeSelectionWidgetDefaultingCommand extends AbstractDataModelOperation
 {   
-  protected MessageUtils msgUtils_;
-  // clientRuntimeJ2EEType contains the default client runtime and J2EE level based on the initial selection.
-  // If the initialSeleciton does not result in a valid client runtime and J2EE level, clientRuntimeJ2EEType
-  // should remain null for the life of this instance.  
-  private WSRuntimeJ2EEType    clientRuntimeJ2EEType_;
   
   private TypeRuntimeServer    clientIds_;
-  private SelectionListChoices runtimeClientTypes_;
-  private String clientComponentName_;
-  private String clientEarComponentName_;
+  private boolean clientIdsFixed_ = false;
+  private String clientRuntimeId_;
+  private String clientProjectName_;
+  private String clientEarProjectName_;
+  protected boolean clientNeedEAR_ = true;
+  private String clientComponentType_;
+  private FacetMatcher clientFacetMatcher_;
   
-  private Environment       environment_;
   private IContext          context_;
   private ISelection        selection_;
   private IWebServiceClient webServiceClient_;
@@ -82,25 +93,12 @@
   //1. The containing project contains the Web service for which we are trying to create a client
   //2. The containing project has a J2EE level, server target, and project type combination which
   //   is not supported by any of the registered Web service runtimes.
-  private IStructuredSelection clientInitialSelection_;
   private IProject clientInitialProject_;
-  private String clientInitialComponentName_;
-  private IStructuredSelection initialInitialSelection_;
-  private IProject initialInitialProject_;
-  private String initialInitialComponentName_;
-
-  private String clientJ2EEVersion_;
-  protected boolean clientNeedEAR_ = true;
-  
   private String wsdlURI_;
-  private WebServicesParser parser_;
-
 
   public ClientRuntimeSelectionWidgetDefaultingCommand()
   {
     super();
-    String  pluginId = "org.eclipse.jst.ws.consumption.ui";
-    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
   }
   
   public void setClientTypeRuntimeServer( TypeRuntimeServer ids )
@@ -113,56 +111,41 @@
     return clientIds_; 
   }
   
-  public SelectionListChoices getRuntime2ClientTypes()
+  public void setClientIdsFixed(boolean b)
   {
-    return runtimeClientTypes_;
+    clientIdsFixed_ = b;  
+  }
+  
+  public String getClientRuntimeId()
+  {
+    return clientRuntimeId_;
   }
   
   public String getClientProjectName()
   {
-    return getRuntime2ClientTypes().getChoice().getChoice().getList().getSelection();
+    return clientProjectName_;
   }
   
   public String getClientEarProjectName()
   {
-    return getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().getSelection();
+    return clientEarProjectName_;
   }
   
-  public String getClientComponentName()
+  public void setClientEarProjectName(String name)
   {
-    return clientComponentName_;
-  }
-  
-  public String getClientEarComponentName()
-  {
-    return clientEarComponentName_;
-  }
-  
-  protected void setClientEARComponentName(String name)
-  {
-    clientEarComponentName_ = name;
+    clientEarProjectName_ = name;
   }
   
   public String getClientComponentType()
   {
-    return  getRuntime2ClientTypes().getChoice().getList().getSelection();
-  }
-  
-  public String getClientJ2EEVersion()
-  {
-    return clientJ2EEVersion_;
+    return  clientComponentType_;
   }
   
   public IWebServiceClient getWebService()
   {
     return webServiceClient_;  
   }
-  
-  public Environment getEnvironment()
-  {
-    return environment_;
-  }
-  
+    
   public IContext getContext()
   {
     return context_;
@@ -173,123 +156,673 @@
     return selection_;    
   }
   
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.core.Command#execute(org.eclipse.wst.command.internal.provisional.env.core.common.Environment)
-   */
-  public Status execute(Environment environment)
+  public IStatus execute(IProgressMonitor monitor, IAdaptable adaptable)
   {
+
+    IEnvironment env = getEnvironment();
+
     try
     {
-        	
-	  String[] runtimeIds = WebServiceRuntimeExtensionUtils.getRuntimesByClientType(clientIds_.getTypeId()); 
-      SelectionList list = new SelectionList(runtimeIds, 0);
-      Vector choices = new Vector();
-      for (int i = 0; i < runtimeIds.length; i++) {
-        choices.add(getClientTypesChoice(runtimeIds[i]));
-      }
-      runtimeClientTypes_ = new SelectionListChoices(list, choices);
-      setClientDefaultRuntimeFromPreference();
-      setClientDefaultJ2EEVersionFromPreference();
-      setClientComponentType();
-      clientRuntimeJ2EEType_ = getClientRuntimeAndJ2EEFromProject(clientInitialProject_, clientInitialComponentName_);
-      if (clientRuntimeJ2EEType_ != null)
+      
+      if (clientIdsFixed_)
       {
-        clientJ2EEVersion_ = clientRuntimeJ2EEType_.getJ2eeVersionId();
-        setClientRuntimeId(clientRuntimeJ2EEType_.getWsrId());
-        setClientProjectType(clientRuntimeJ2EEType_.getClientProjectTypeId());
-        
-      }
-	  //setClientRuntimeId((WebServiceRuntimeExtensionUtils.getRuntimesByClientType(clientIds_.getTypeId()))[0]);
-	  //setClientComponentType();
-	  //clientJ2EEVersion_ = (WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(clientIds_.getRuntimeId()).getJ2eeLevels())[0];
-	  
-
-      //If clientInitialProject is the service project, check the initialInitialProject
-      //to see if it is valid.
-	    ///* 
-      ValidationUtils vu = new ValidationUtils();
-      if (vu.isProjectServiceProject(clientInitialProject_, wsdlURI_, parser_))
-      {            
-        clientRuntimeJ2EEType_ = getClientRuntimeAndJ2EEFromProject(initialInitialProject_, initialInitialComponentName_);
-        if (clientRuntimeJ2EEType_ != null)
+        // Set the clientRuntime based on the runtime, server, and initial
+        // selection.
+        clientRuntimeId_ = getDefaultClientRuntimeForFixedRuntimeAndServer(clientInitialProject_);
+      } 
+      else
+      {
+        // Set the runtime based on the initial selection
+        clientRuntimeId_ = getDefaultClientRuntime(clientInitialProject_);
+        if (clientRuntimeId_ == null)
         {
-          clientJ2EEVersion_ = clientRuntimeJ2EEType_.getJ2eeVersionId();
-          setClientRuntimeId(clientRuntimeJ2EEType_.getWsrId());
-          setClientProjectType(clientRuntimeJ2EEType_.getClientProjectTypeId());
-          //Since the original clientIntialProject was invalid but initialInitialProject is valid,
-          //reset clientInitalProject_ to be initialInitialProject for the benefit of
-          //downstream project defaulting.
-          clientInitialProject_ = initialInitialProject_;
-          clientInitialComponentName_ = initialInitialComponentName_;
+          // return and error.
+        }
+        clientIds_.setRuntimeId(WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId_).getRuntime()
+            .getId());
+      }
+      
+      // Set the project
+      if (clientProjectName_ == null)
+      {
+        // Project name did not get set when the runtime was set, so set it now
+        clientProjectName_ = getDefaultClientProjectName();
+      }
+
+      IProject clientProject = ProjectUtilities.getProject(clientProjectName_);
+      if (!clientProject.exists())
+      {
+        // Set the project template
+        clientComponentType_ = getDefaultClientProjectTemplate();
+      }
+      else
+      {
+        //Set it to an empty String
+        clientComponentType_ = "";
+      }
+
+
+      // Set the server
+      if (!clientIdsFixed_)
+      {
+        IStatus serverStatus = setClientDefaultServer();
+        if (serverStatus.getSeverity() == Status.ERROR)
+        {
+          env.getStatusHandler().reportError(serverStatus);
+          return serverStatus;
         }
       }
-      //*/
-    
-      setClientDefaultProject();
-      setClientDefaultEAR();
-      Status serverStatus = setClientDefaultServer();
-      if (serverStatus.getSeverity()== Status.ERROR)
-      {
-          environment.getStatusHandler().reportError(serverStatus);
-          return serverStatus;
-      }
-      updateClientEARs();
       
-      //Calculate default IWebServiceClient
-      setDefaultsForExtension(environment);
-      return new SimpleStatus("");
+      setDefaultClientEarProject();      
+      // Calculate default IWebServiceClient
+      setDefaultsForExtension(env);
+
+      return Status.OK_STATUS;
+      
     } catch (Exception e)
     {
-      //Catch all Exceptions in order to give some feedback to the user
-      Status errorStatus = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED",new String[]{e.getMessage()}),Status.ERROR, e);
-      environment.getStatusHandler().reportError(errorStatus);
+      // Catch all Exceptions in order to give some feedback to the user
+      IStatus errorStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED,
+          new String[] { e.getMessage() }), e);
+      env.getStatusHandler().reportError(errorStatus);
       return errorStatus;
     }
-    
   }
   
-
-  /**
-   * 
-   * @param runtimeId
-   * @return
-   */
-  private SelectionListChoices getClientTypesChoice(String runtimeId)
-  {
-    String[] clientComponentTypes;
-	clientComponentTypes = WebServiceRuntimeExtensionUtils.getClientProjectTypes(clientIds_.getTypeId(), runtimeId);
-    SelectionList list = new SelectionList(clientComponentTypes, 0);
-    Vector choices = new Vector();
-    for (int i = 0; i < clientComponentTypes.length; i++) {
-      choices.add(getProjectChoice(clientComponentTypes[i]));
+  private void setDefaultClientEarProject()
+  {    
+    //Don't need an ear if this is a Java project, or if the selected template is jst.utility
+    IProject clientProject = ProjectUtilities.getProject(clientProjectName_);
+    if (clientProject.exists())
+    {
+      clientNeedEAR_ = !(FacetUtils.isJavaProject(clientProject));
     }
-    return new SelectionListChoices(list, choices);
-  }
+    else
+    {
+      clientNeedEAR_ = !(FacetUtils.isUtilityTemplate(clientComponentType_));  
+    }
     
-  /**
-   * 
-   * @param clientType
-   * @return
-   * 
-   */
-  private SelectionListChoices getProjectChoice(String clientType)
-  {
-    //IProject[] projects = ClientProjectTypeRegistry.getInstance().getProjects(clientType);	  
-    //String[] projectNames = new String[projects.length];
-	    //for (int i = 0; i < projectNames.length; i++)
-		  //    projectNames[i] = projects[i].getName();	  
-	String[] projectNames = J2EEUtils.getProjectsContainingComponentOfType(clientType);
-    SelectionList list = new SelectionList(projectNames, 0);
-    Vector choices = new Vector();
-    for (int i = 0; i < projectNames.length; i++)
-	{
-	  IProject project = ProjectUtilities.getProject(projectNames[i]);
-      choices.add(getProjectEARChoice(project));
-	}
-    return new SelectionListChoices(list, choices, getEARProjects());
+    //If clientNeedEAR_ is still true, it means that we're not dealing with a Java project
+    //or Java project type. Check the server.
+    if (clientNeedEAR_)
+    {
+      // Determine if an ear selection is needed based on the server type.
+
+      String serverId = clientIds_.getServerId();
+      if (serverId != null)
+      {
+        // Use the server type
+        String serverTargetId = ServerUtils.getRuntimeTargetIdFromFactoryId(serverId);
+        if (serverTargetId != null && serverTargetId.length() > 0)
+        {
+          if (!ServerUtils.isTargetValidForEAR(serverTargetId, "13"))
+          {
+            // Default the EAR selection to be empty
+            clientNeedEAR_ = false;
+          }
+        }
+      }
+    }
+    
+    if (clientNeedEAR_)
+    {
+      clientEarProjectName_ = getDefaultClientEarProjectName();
+    }
+    else
+    {
+      clientEarProjectName_ = "";
+    }   
   }
   
-/**
+  private IStatus setClientDefaultServer()
+  {
+    //Choose an existing server the module is already associated with if possible
+    IProject clientProject = ProjectUtilities.getProject(clientProjectName_);
+    IServer[] configuredServers = ServerUtil.getServersByModule(ServerUtils.getModule(clientProject), null);
+    
+    if (configuredServers!=null && configuredServers.length>0)
+    {
+      clientIds_.setServerId(configuredServers[0].getServerType().getId());
+      clientIds_.setServerInstanceId(configuredServers[0].getId());
+      return Status.OK_STATUS;            	
+    }
+    
+    //If the project exists, choose a suitable server or server type based on the existing project's runtime or facets
+    if (clientProject.exists())
+    {
+      IServer server = getServerFromProject(clientProjectName_, clientFacetMatcher_);
+      if (server != null)
+      {
+        clientIds_.setServerId(server.getServerType().getId());
+        clientIds_.setServerInstanceId(server.getId());
+        return Status.OK_STATUS;
+      }
+      else
+      {
+        IServerType serverType = getServerTypeFromProject(clientProjectName_, clientFacetMatcher_);
+        if (serverType != null)
+        {
+          clientIds_.setServerId(serverType.getId());
+          return Status.OK_STATUS;
+        }
+      }
+    }
+
+    //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)
+    {
+      clientIds_.setServerId(server.getServerType().getId());
+      clientIds_.setServerInstanceId(server.getId());
+      return Status.OK_STATUS;
+    }
+    
+    IServerType serverType = getServerTypeFromClientRuntimeId();
+    if (serverType != null)
+    {
+      clientIds_.setServerId(serverType.getId());
+      return Status.OK_STATUS;
+    }    
+    
+    //No suitable server was found. Popup an error.
+    String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(clientIds_.getRuntimeId());
+    String serverLabels = getServerLabels(clientRuntimeId_);    
+    IStatus status = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_ERROR_NO_SERVER_RUNTIME, new String[]{runtimeLabel, serverLabels}) );
+    return status;
+  }
+  
+  private IServer getServerFromClientRuntimeId()
+  {
+    IServer[] servers = ServerCore.getServers();
+    if (servers != null && servers.length > 0) {
+      for (int i = 0; i < servers.length; i++)
+      {
+        String serverFactoryId = servers[i].getServerType().getId();
+        if (WebServiceRuntimeExtensionUtils2.doesClientRuntimeSupportServer(clientRuntimeId_, serverFactoryId))
+        {
+          return servers[i];
+        }
+      }
+    }
+    return null;    
+  }
+  
+  private IServerType getServerTypeFromClientRuntimeId()
+  {
+    String[] serverTypes = WebServiceRuntimeExtensionUtils2.getServerFactoryIdsByClientRuntime(clientRuntimeId_);
+    if (serverTypes!=null && serverTypes.length>0)
+    {
+      //Return the preferred one if it is in the list
+      PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
+      String preferredServerFactoryId = context.getServerFactoryId();
+      for (int i=0; i<serverTypes.length; i++)
+      {
+        if (serverTypes[i].equals(preferredServerFactoryId))
+        {
+          return ServerCore.findServerType(serverTypes[i]);
+        }
+      }
+      
+      return ServerCore.findServerType(serverTypes[0]);
+    }    
+    
+    return null;
+  }
+  
+  protected IServer getServerFromProject(String projectName, FacetMatcher facetMatcher)
+  {
+    IServer server = null;
+    
+    IProject project = ProjectUtilities.getProject(projectName);
+    IServer[] servers = ServerCore.getServers();
+    
+    if (servers.length > 0)
+    {
+      // Get the runtime.
+      org.eclipse.wst.common.project.facet.core.runtime.IRuntime fRuntime = null;
+      IFacetedProject fProject = null;
+
+      if (project != null && project.exists())
+      {
+        try
+        {
+          fProject = ProjectFacetsManager.create(project);
+          if (fProject != null)
+          {
+            fRuntime = fProject.getRuntime();
+          }
+        } catch (CoreException ce)
+        {
+
+        }
+      }
+
+      if (fRuntime != null)
+      {
+        // Get an existing server that has the same runtime.
+        IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
+        for (int i = 0; i < servers.length; i++)
+        {
+          IServer thisServer = servers[i];
+          if (thisServer.getRuntime().getId().equals(sRuntime.getId()))
+          {
+            server = thisServer;
+            break;
+          }
+        }
+      }
+
+      // If an existing server could not be chosen on the basis of the project's
+      // runtime,
+      // try to find an existing server using the project's facets and the
+      // facetsToAdd.
+      if (server == null)
+      {
+        if (project!=null && project.exists())
+        {
+          Set facets = FacetUtils.getFacetsForProject(project.getName());
+          if (facets != null)
+          {
+            if (facetMatcher.getFacetsToAdd() != null)
+            {
+              Iterator itr = facetMatcher.getFacetsToAdd().iterator();
+              while (itr.hasNext())
+              {
+                facets.add(itr.next());  
+              }            
+            }
+            server = getServerFromFacets(facets);            
+          }
+        }
+      }
+    }
+    return server;
+  }
+  
+  protected IServer getServerFromFacets(Set facets)
+  {
+    IServer server = null;
+    Set runtimes = FacetUtils.getRuntimes(new Set[]{facets});
+    Iterator itr = runtimes.iterator();
+    IServer[] servers = ServerCore.getServers();
+    
+    outer:
+    while(itr.hasNext())
+    {
+      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);
+      for (int i=0; i<servers.length; i++)
+      {
+        IServer thisServer = servers[i];
+        if (thisServer.getRuntime().getId().equals(sRuntime.getId()))
+        {
+          server = thisServer;
+          break outer;
+        }
+      }      
+    }
+
+    return server;
+  }
+  
+  protected IServerType getServerTypeFromProject(String projectName, FacetMatcher facetMatcher)
+  {
+    IServerType serverType = null;
+    
+    IProject project = ProjectUtilities.getProject(projectName);
+    IServerType[] serverTypes = ServerCore.getServerTypes();
+    
+    //Get the runtime.
+    org.eclipse.wst.common.project.facet.core.runtime.IRuntime fRuntime = null;
+    IFacetedProject fProject = null;
+    
+    if (project != null && project.exists())
+    {
+      try
+      {
+        fProject = ProjectFacetsManager.create(project);
+        if (fProject != null)
+        {
+          fRuntime = fProject.getRuntime();
+        }
+      } catch (CoreException ce)
+      {
+        
+      }
+    }
+    
+    if (fRuntime != null)
+    {
+      //Get a server type that has the same runtime type.
+      IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
+      for (int i=0; i<serverTypes.length; i++)
+      {
+        IServerType thisServerType = serverTypes[i];
+        if (thisServerType.getRuntimeType().getId().equals(sRuntime.getRuntimeType().getId()))
+        {
+          serverType = thisServerType;
+          break;
+        }
+      }
+    }
+
+    //If a server type could not be chosen on the basis of the project's runtime,
+    //try to find a server type using the project's facets and the facetsToAdd.
+    if (serverType == null)
+    {
+      if (project != null && project.exists())
+      {
+        Set facets = FacetUtils.getFacetsForProject(project.getName());
+        if (facets != null)
+        {
+          if (facetMatcher.getFacetsToAdd() != null)
+          {
+            Iterator itr = facetMatcher.getFacetsToAdd().iterator();
+            while (itr.hasNext())
+            {
+              facets.add(itr.next());  
+            }            
+          }
+          serverType = getServerTypeFromFacets(facets);          
+        }
+      }
+    }
+    
+    return serverType;
+  }
+  
+  protected IServerType getServerTypeFromFacets(Set facets)
+  {
+    IServerType serverType = null;
+    Set runtimes = FacetUtils.getRuntimes(new Set[]{facets});
+    Iterator itr = runtimes.iterator();
+    IServerType[] serverTypes = ServerCore.getServerTypes();
+    
+    outer:
+    while(itr.hasNext())
+    {
+      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);
+      for (int i=0; i<serverTypes.length; i++)
+      {
+        IServerType thisServerType = serverTypes[i];
+        if (thisServerType.getRuntimeType().getId().equals(sRuntime.getRuntimeType().getId()))
+        {
+          serverType = thisServerType;
+          break outer;
+        }
+      }      
+    }
+
+    return serverType;
+  }  
+  
+  protected IServer getServerFromProjectType(String templateId, FacetMatcher facetMatcher)
+  {
+    IServer server = null;
+    Set facets = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+    if (facetMatcher.getFacetsToAdd() != null)
+    {
+      Iterator itr = facetMatcher.getFacetsToAdd().iterator();
+      while (itr.hasNext())
+      {
+        facets.add(itr.next());  
+      }            
+    }
+    server = getServerFromFacets(facets);
+    return server;
+  }
+  
+  protected IServerType getServerTypeFromProjectType(String templateId, FacetMatcher facetMatcher)
+  {
+    IServerType serverType = null;
+    Set facets = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+    if (facetMatcher.getFacetsToAdd() != null)
+    {
+      Iterator itr = facetMatcher.getFacetsToAdd().iterator();
+      while (itr.hasNext())
+      {
+        facets.add(itr.next());  
+      }            
+    }
+    //TODO Instead of passing in a single set of facets, pass in multiple sets, if the
+    //jst.java facet is one of them and the clientRuntimeId allows newer.
+    serverType = getServerTypeFromFacets(facets);
+    return serverType;    
+  }
+  
+  private String getDefaultClientProjectTemplate()
+  {
+    String[] templates = WebServiceRuntimeExtensionUtils2.getClientProjectTemplates(clientIds_.getTypeId(), clientIds_.getRuntimeId());
+    RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId_).getRequiredFacetVersions();
+    
+    //Pick the Web one if it's there, otherwise pick the first one.
+    //Walk the list of client project types in the project topology preference
+    ProjectTopologyContext ptc= WebServiceConsumptionUIPlugin.getInstance().getProjectTopologyContext();
+    String[] preferredTemplateIds = ptc.getClientTypes();
+    for (int j=0; j<preferredTemplateIds.length; j++)
+    {
+      for (int i=0; i<templates.length; i++)
+      {
+        String templateId = templates[i];
+        if (templateId.equals(preferredTemplateIds[j]))
+        {
+          //Calculate the facet matcher for the template so that we know 
+          //what to create and what to add during module creation.
+          
+          Set facetVersions = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+          FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+          if (fm.isMatch())
+          {
+            clientFacetMatcher_ = fm;
+            return templates[i];  
+          }
+          
+        }                                    
+      }      
+    }
+
+    
+    //Didn't find a template id in the preferred list that worked. 
+    //Return the first one that is a match. Calculate the facet matcher for the template
+    //so that we know what to create and what to add during module creation.
+    for (int j = 0; j < templates.length; j++)
+    {
+      String templateId = templates[j];
+      Set facetVersions = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+      FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+      if (fm.isMatch())
+      {
+        clientFacetMatcher_ = fm;
+        return templates[j];  
+      }      
+    }
+    
+    //Still nothing, return the first one if available.
+    if (templates.length > 0)
+      return templates[0];
+    
+    return "";
+  }
+  
+  private String getDefaultClientProjectName()
+  {
+    IProject[] projects = FacetUtils.getAllProjects();
+    ClientRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId_);
+    RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions();
+    
+    //Check each project for compatibility with the clientRuntime
+    for (int i=0; i<projects.length; i++)
+    {
+      Set facetVersions = FacetUtils.getFacetsForProject(projects[i].getName());
+      if (facetVersions != null)
+      {
+        FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+        if (fm.isMatch())
+        {
+          clientFacetMatcher_ = fm;
+          return projects[i].getName();
+        }                    
+      }
+    }
+    
+    //No project was suitable, return a new project name
+    return ResourceUtils.getDefaultWebProjectName();
+    
+  }
+  
+  private String getDefaultClientRuntimeForFixedRuntimeAndServer(IProject project)
+  {
+    String[] clientRuntimes = WebServiceRuntimeExtensionUtils2.getClientRuntimesByType(clientIds_.getTypeId());
+    ArrayList validClientRuntimes = new ArrayList();
+    for (int i=0; i<clientRuntimes.length; i++ )
+    {
+      ClientRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimes[i]);
+      if (desc.getRuntime().getId().equals(clientIds_.getRuntimeId()))
+      {
+        //Check if this client runtime supports the server
+        if (WebServiceRuntimeExtensionUtils2.doesClientRuntimeSupportServer(desc.getId(), clientIds_.getServerId()))
+        {
+          validClientRuntimes.add(desc.getId());
+          if (project != null && project.exists())
+          {
+            RequiredFacetVersion[] rfv = desc.getRequiredFacetVersions();
+            Set facetVersions = FacetUtils.getFacetsForProject(project.getName());
+            if (facetVersions != null)
+            {
+              FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+              if (fm.isMatch())
+              {
+                clientFacetMatcher_ = fm;
+                clientProjectName_ = project.getName();
+                return desc.getId();
+              }                      
+            }
+          }
+          
+        }
+      }
+      
+    }
+    
+    if (validClientRuntimes.size() > 0)
+    {
+      //We couldn't match to the initially selected project so return the first valid runtime.
+      return ((String[])validClientRuntimes.toArray(new String[0]))[0];
+    }
+    else
+    {
+      //There are no client runtimes that match the fixed runtime and server. Fall back to original algorithm
+      clientIdsFixed_ = false;
+      return getDefaultClientRuntime(project);
+    }
+  }  
+  
+  private String getDefaultClientRuntime(IProject project)
+  {
+    
+
+    String[] clientRuntimes = WebServiceRuntimeExtensionUtils2.getClientRuntimesByType(clientIds_.getTypeId());
+    
+    //Check if the preferred Web service runtime works with the initially selected project.
+    PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
+    String runtimeId = context.getRuntimeId();
+    ArrayList preferredClientRuntimeIdsList = new ArrayList();
+    for (int k=0; k<clientRuntimes.length; k++ )
+    {
+      ClientRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimes[k]);
+      if (desc.getRuntime().getId().equals(runtimeId))
+      {
+        preferredClientRuntimeIdsList.add(desc.getId());
+      }
+    }
+    String[] preferredClientRuntimeIds = (String[])preferredClientRuntimeIdsList.toArray(new String[0]);
+    
+    
+    if (project != null && project.exists())
+    {
+      Set facetVersions = FacetUtils.getFacetsForProject(project.getName());
+      if (facetVersions != null)
+      {
+        for (int p = 0; p < preferredClientRuntimeIds.length; p++)
+        {
+          RequiredFacetVersion[] prfv = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(
+              preferredClientRuntimeIds[p]).getRequiredFacetVersions();
+          FacetMatcher fm = FacetUtils.match(prfv, facetVersions);
+          if (fm.isMatch())
+          {
+            clientFacetMatcher_ = fm;
+            clientProjectName_ = project.getName();
+            return preferredClientRuntimeIds[p];
+          }
+        }
+      }
+    }
+    
+    //Either there was no initially selected project or the preferred
+    //runtimes did not work with the initially selected project. 
+    //If possible, pick a Web service runtime that works with the initially selected project.
+    //If the initially selected project does not work with any of the Web service runtimes, choose
+    //a runtime based on the preferred client project types.
+    
+
+    if (project != null && project.exists())
+    {
+      for (int i=0; i<clientRuntimes.length; i++)
+      {
+        RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimes[i]).getRequiredFacetVersions();
+        Set facetVersions = FacetUtils.getFacetsForProject(project.getName());
+        if (facetVersions != null)
+        {
+          FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+          if (fm.isMatch())
+          {
+            clientFacetMatcher_ = fm;
+            clientProjectName_ = project.getName();
+            return clientRuntimes[i];
+          }
+        }
+      }
+    }
+    
+    //Haven't returned yet so this means that the intitially selected project cannot be used
+    //to influence the selection of the runtime. Use the preferred client project types to
+    //influence the selection of a runtime.
+    ProjectTopologyContext ptc = WebServiceConsumptionUIPlugin.getInstance().getProjectTopologyContext();
+    String[] preferredTemplateIds = ptc.getClientTypes();
+    
+    for (int n=0; n<preferredTemplateIds.length; n++)
+    {
+      String preferredTemplateId = preferredTemplateIds[n];
+      Set facetVersions = FacetUtils.getInitialFacetVersionsFromTemplate(preferredTemplateId);
+
+      for (int m=0; m<preferredClientRuntimeIds.length; m++)
+      {
+        //If this clientRuntime supports this template, choose it and exit.        
+        ClientRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(preferredClientRuntimeIds[m]);
+        RequiredFacetVersion[] rfv = desc.getRequiredFacetVersions();
+        FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+        if (fm.isMatch())
+        {
+          return preferredClientRuntimeIds[m];
+        }        
+      }
+    }
+    
+    //Still haven't returned. Returned the first preferred client runtime id.
+    if (preferredClientRuntimeIds.length > 0)
+    {
+      return preferredClientRuntimeIds[0];
+    }
+      
+    if (clientRuntimes.length > 0)
+      return WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimes[0]).getId();
+    else
+      return null;
+  }
+   
+  /**
  * 
  * @param project
  * @return
@@ -303,327 +836,9 @@
   
   protected SelectionList getEARProjects()
   {
-    /*
-    IProject[] earProjects = J2EEUtils.getEARProjects();
-    String[] earProjectNames = new String[earProjects.length];
-    for (int i=0; i<earProjects.length; i++)
-    {
-      earProjectNames[i] = earProjects[i].getName();
-    }
-    */
     String[] flexProjects = getAllFlexibleProjects();
     return new SelectionList(flexProjects, 0);
   }
-
-  // rskreg
-  /*
-  private String[] gatherAttributeValues(IConfigurationElement[] elements, String key)
-  {
-    Vector v = new Vector();
-    for (int i = 0; i < elements.length; i++)
-    {
-      String value = elements[i].getAttribute(key);
-      if (value != null && value.length() > 0)
-      {
-        if (!v.contains(value))
-          v.add(value);
-      }
-    }
-    return (String [])v.toArray(new String[0]);
-  }
-  */
-  // rskreg
-  
-
-  private void setClientDefaultRuntimeFromPreference()
-  {
-    PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-    String pRuntimeId = context.getRuntimeId();
-
-    //set the client runtime to be the preferred runtime if the client type allows.
-    setClientRuntimeId(pRuntimeId);
-  }
-
-  
-  private void setClientRuntimeId(String id)
-  {
-    String[] clientRuntimeIds = getRuntime2ClientTypes().getList().getList();
-    for (int i=0; i<clientRuntimeIds.length;i++)
-    {
-    	if(clientRuntimeIds[i].equals(id))
-    	{
-    	  getClientTypeRuntimeServer().setRuntimeId(id);
-		  getRuntime2ClientTypes().getList().setIndex(i);
-		  break;
-   	    }
-    }    
-  }
-  
-  private void setClientProjectType(String id)
-  {
-    String[] clientProjectTypeIds = getRuntime2ClientTypes().getChoice().getList().getList();
-    for (int i=0; i<clientProjectTypeIds.length;i++)
-    {
-    	if(clientProjectTypeIds[i].equals(id))
-    	{
-    	  getRuntime2ClientTypes().getChoice().getList().setIndex(i);
-		  break;
-   	    }
-    }        
-  }
-  
-
-  protected void setClientDefaultJ2EEVersionFromPreference()
-  {
-    if (clientIds_ != null)
-    {
-      String runtimeId = clientIds_.getRuntimeId();
-      if (runtimeId != null)
-      {
-        //IWebServiceRuntime wsr = WebServiceServerRuntimeTypeRegistry.getInstance().getWebServiceRuntimeById(runtimeId);
-        WebServiceRuntimeInfo wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(runtimeId);
-        if (wsrt != null)
-        {
-          String[] versions = wsrt.getJ2eeLevels();
-          if (versions != null && versions.length > 0)
-          {
-          	PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-          	String pJ2EE = context.getJ2EEVersion();
-          	if (pJ2EE!=null && pJ2EE.length()>0)
-          	{
-              for (int i=0;i<versions.length;i++)
-          	  {
-          		if (versions[i].equals(pJ2EE))
-          		{
-          	      clientJ2EEVersion_ = versions[i];
-          		  return;
-          		}
-          	  }
-          	}
-          	clientJ2EEVersion_ = versions[0];
-          	return;          	
-          }
-        }
-      }
-    }  	
-  }
-
-
-  private WSRuntimeJ2EEType getClientRuntimeAndJ2EEFromProject(IProject project, String componentName)
-  {
-    WSRuntimeJ2EEType cRJ2EE = null;
-    //If there is a valid initial selection, use it to determine
-    //reasonable J2EE version and Web service runtime values
-
-    if (project != null && project.exists())
-    {   
-      boolean isValidComponentType = false;
-      if (componentName != null && componentName.length()>0)
-      {
-        isValidComponentType = J2EEUtils.isWebComponent(project, componentName) ||
-                                     J2EEUtils.isEJBComponent(project, componentName) ||
-                                     J2EEUtils.isAppClientComponent(project, componentName) ||
-                                     J2EEUtils.isJavaComponent(project, componentName);
-      }
-      
-      if (isValidComponentType)
-      {
-        //WebServiceClientTypeRegistry wsctReg = WebServiceClientTypeRegistry.getInstance();
-        
-        //Get the J2EE level
-        String versionString = null;
-        if (!J2EEUtils.isJavaComponent(project, componentName))
-        {
-	        int versionId = J2EEUtils.getJ2EEVersion(project, componentName);        
-	        versionString = String.valueOf(versionId);
-        }
-
-        //Get the runtime target of the project
-        IRuntime runtimeTarget = ServerSelectionUtils.getRuntimeTarget(project.getName());
-        String runtimeTargetId = null;
-        if (runtimeTarget != null) 
-          runtimeTargetId = runtimeTarget.getRuntimeType().getId();
-        
-        //Get the client project type
-        //String clientProjectTypeId = getClientProjectTypeFromRuntimeId(project, clientIds_.getRuntimeId());
-        String clientComponentTypeId = J2EEUtils.getComponentTypeId(project, componentName);        
-        
-        //If the preferred runtime supports this J2EE level and server target, keep it
-        if ((versionString == null || WebServiceRuntimeExtensionUtils.doesRuntimeSupportJ2EELevel(versionString, clientIds_.getRuntimeId())) &&
-            ((runtimeTarget == null) ||
-             ((runtimeTarget != null) && WebServiceRuntimeExtensionUtils.doesRuntimeSupportServerTarget(runtimeTargetId, clientIds_.getRuntimeId()))) &&
-             (WebServiceRuntimeExtensionUtils.doesRuntimeSupportComponentType(clientIds_.getTypeId(), clientIds_.getRuntimeId(), clientComponentTypeId))
-           )
-        {
-          //Set the J2EE level and web service runtime to match the project
-          cRJ2EE = new WSRuntimeJ2EEType();
-          cRJ2EE.setJ2eeVersionId(versionString);
-          cRJ2EE.setWsrId(clientIds_.getRuntimeId());
-          cRJ2EE.setClientProjectTypeId(clientComponentTypeId);
-          return cRJ2EE;
-        } else
-        {
-          //Look for a runtime that matches
-          String[] validRuntimes = WebServiceRuntimeExtensionUtils.getRuntimesByClientType(clientIds_.getTypeId());
-          for (int i = 0; i < validRuntimes.length; i++)
-          {
-            //String thisClientProjectTypeId = getClientProjectTypeFromRuntimeId(project, validRuntimes[i]); 
-            if ((versionString == null || WebServiceRuntimeExtensionUtils.doesRuntimeSupportJ2EELevel(versionString, validRuntimes[i])) &&
-                ((runtimeTarget == null) ||
-                 ((runtimeTarget != null) && WebServiceRuntimeExtensionUtils.doesRuntimeSupportServerTarget(runtimeTargetId, validRuntimes[i]))) &&
-                 (WebServiceRuntimeExtensionUtils.doesRuntimeSupportComponentType(clientIds_.getTypeId(), validRuntimes[i], clientComponentTypeId))
-                )
-            {
-              cRJ2EE = new WSRuntimeJ2EEType();
-              cRJ2EE.setJ2eeVersionId(versionString);
-              cRJ2EE.setWsrId(validRuntimes[i]);
-              cRJ2EE.setClientProjectTypeId(clientComponentTypeId);
-              return cRJ2EE;
-            }
-          }
-        }
-      }
-    }    
-    return cRJ2EE;
-  }
-
-  
-  private void setClientComponentType()
-  {
-	  getRuntime2ClientTypes().getChoice().getList().setIndex(0);	  
-  }
-
-  /*
-  private void setClientDefaultProjectNew()
-  {
-    if (clientInitialProject_ != null)
-    {
-      getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(clientInitialProject_.getName());
-      String moduleName = null;
-      if (clientInitialComponentName_!=null && clientInitialComponentName_.length()>0)
-      {
-        moduleName = clientInitialComponentName_;
-      }
-      else
-      {
-        moduleName = J2EEUtils.getFirstWebModuleName(clientInitialProject_);
-      }
-      clientComponentName_ = moduleName;
-      String version = String.valueOf(J2EEUtils.getJ2EEVersion(clientInitialProject_, moduleName));
-      String[] validVersions = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(clientIds_.getRuntimeId()).getJ2eeLevels();
-      for (int i=0; i< validVersions.length; i++)
-      {
-        if (validVersions[i].equals(version))
-        {
-          clientJ2EEVersion_ = validVersions[i];
-        }
-      }           
-    }
-    else
-    {
-      //Pick the first one
-      IProject[] projects = WebServiceRuntimeExtensionUtils.getAllProjects();
-      if (projects.length>0)
-      {
-        getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(projects[0].getName());
-        String moduleName = J2EEUtils.getFirstWebModuleName(projects[0]);
-        clientComponentName_ = moduleName;
-        String version = String.valueOf(J2EEUtils.getJ2EEVersion(projects[0], moduleName));
-        String[] validVersions = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(clientIds_.getRuntimeId()).getJ2eeLevels();
-        for (int i=0; i< validVersions.length; i++)
-        {
-          if (validVersions[i].equals(version))
-          {
-            clientJ2EEVersion_ = validVersions[i];
-          }
-        }        
-        
-      }
-      else
-      {
-        //there are no projects in the workspace. Pass the default names for new projects.
-        getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(ResourceUtils.getDefaultWebProjectName());
-        clientComponentName_ = ResourceUtils.getDefaultWebComponentName();
-      }      
-    }
-  }
-  */
-  
-  private void setClientDefaultProject()
-  {    
-	//Handle the case where no valid initial selection exists
-    if (clientInitialProject_ == null || (clientInitialProject_!=null && clientRuntimeJ2EEType_==null))
-    {
-      //Select the first existing project that is valid.
-      setClientProjectToFirstValid();
-      return;
-    }    
-
-    ValidationUtils vu = new ValidationUtils();
-    if (!vu.isProjectServiceProject(clientInitialProject_, wsdlURI_, parser_))
-    {
-      getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(clientInitialProject_.getName());
-      clientComponentName_ = clientInitialComponentName_;
-    }
-    else
-    {
-      setClientProjectToFirstValid();
-    }
-
-  }
-
-
-  private void setClientProjectToFirstValid()
-  {
-    //WebServiceClientTypeRegistry wsctReg = WebServiceClientTypeRegistry.getInstance();
-    ValidationUtils vu = new ValidationUtils();
-    String[] projectNames = getRuntime2ClientTypes().getChoice().getChoice().getList().getList();
- 
-    for (int i=0;i<projectNames.length; i++)
-    {
-      IProject project = ProjectUtilities.getProject(projectNames[i]);
-      IVirtualComponent[] vcs = J2EEUtils.getComponentsByType(project, getClientComponentType());
-      if (project.isOpen() && vcs!=null && vcs.length>0)
-      {
-        
-        //Get the runtime target of the project
-        IRuntime runtimeTarget = ServerSelectionUtils.getRuntimeTarget(project.getName());
-        String runtimeTargetId = null;
-        if (runtimeTarget != null) 
-          runtimeTargetId = runtimeTarget.getRuntimeType().getId();
-        
-        for (int j=0; j < vcs.length; j++)
-        {          
-          //Get the J2EE level
-          int versionId = J2EEUtils.getJ2EEVersion(vcs[j]);
-          String versionString = String.valueOf(versionId);
-        
-
-        
-          if (clientJ2EEVersion_ != null && clientJ2EEVersion_.length()>0 && clientJ2EEVersion_.equals(versionString))
-          {
-            if (WebServiceRuntimeExtensionUtils.doesRuntimeSupportJ2EELevel(versionString, clientIds_.getRuntimeId()) &&
-               ((runtimeTarget == null) || 
-               ((runtimeTarget!=null) && WebServiceRuntimeExtensionUtils.doesRuntimeSupportServerTarget(runtimeTargetId, clientIds_.getRuntimeId()))) 
-               )
-            {
-              if (!vu.isProjectServiceProject(project, wsdlURI_, parser_))
-              {        	
-                getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(projectNames[i]);
-                clientComponentName_ = vcs[j].getName();
-                return;
-              }
-            }
-          }
-        }
-      }
-    }
-    
-    //No valid project was found. Enter a new project name.
-    getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(ResourceUtils.getDefaultWebProjectName());
-    clientComponentName_ = ResourceUtils.getDefaultWebProjectName();
-  }
-
   
   protected IResource getResourceFromInitialSelection(IStructuredSelection selection)
   {
@@ -646,300 +861,35 @@
   }
   
   
-  private void setClientDefaultEAR()
+  protected String getDefaultClientEarProjectName()
   {
-    //Client-side
-    String initialClientProjectName = getRuntime2ClientTypes().getChoice().getChoice().getList().getSelection(); 
-    IProject initialClientProject = ProjectUtilities.getProject(initialClientProjectName);    
-    //IProject defaultClientEAR = getDefaultEARFromClientProject(initialClientProject);
-    String[] clientEARInfo = getDefaultEARFromClientProject(initialClientProject, clientComponentName_);
-    
-    getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(clientEARInfo[0]);
-    clientEarComponentName_ = clientEARInfo[1];
-  }
-  
-  /*
-  private void setClientDefaultEARNew()
-  {    
-    String initialClientProjectName = getRuntime2ClientTypes().getChoice().getChoice().getList().getSelection(); 
-    IProject initialClientProject =   (IProject)((new StringToIProjectTransformer()).transform(initialClientProjectName));
-    IVirtualComponent[] earComps = J2EEUtils.getReferencingEARComponents(initialClientProject, clientComponentName_);
+    IProject clientProject = ProjectUtilities.getProject(clientProjectName_);
+    IVirtualComponent[] earComps = J2EEUtils.getReferencingEARComponents(clientProject);
     if (earComps.length>0)
     {
       //Pick the first one
-      IVirtualComponent earComp = earComps[0];
-      String earProjectName = earComp.getProject().getName();
-      String earComponentName = earComp.getName();
-      getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(earProjectName);
-      clientEarComponentName_ = earComponentName;      
-    }
-    else
-    {
-      //Component is not associated with any EARs, so pick the first EAR you see with the correct J2EE version.
-      IVirtualComponent[] allEarComps = J2EEUtils.getAllEARComponents();
-      if (allEarComps.length>0)
-      {
-        for (int i=0; i<allEarComps.length; i++)
-        {
-          if (clientJ2EEVersion_.equals(String.valueOf(J2EEUtils.getJ2EEVersion(allEarComps[i]))))
-          {
-            String earProjectName = allEarComps[i].getProject().getName();
-            getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(earProjectName);
-            clientEarComponentName_ = allEarComps[i].getName();
-            
-          }
-            
-        }
-      }
-      else
-      {
-        //there are no Ears.
-        getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(ResourceUtils.getDefaultClientEARProjectName());
-        clientEarComponentName_ = ResourceUtils.getDefaultClientEARComponentName();
-      }
-      
-      
-    }
-  }
-  */
-  /**
-   * 
-   * @param project
-   * @return
-   * 
-   *  
-   */
-  
-  protected String[] getDefaultEARFromClientProject(IProject project, String componentName)
-  {
-    String[] projectAndComp = new String[2];
-    IVirtualComponent[] earComps = J2EEUtils.getReferencingEARComponents(project, componentName);
-    if (earComps.length>0)
-    {
-      //Pick the first one
-      IVirtualComponent earComp = earComps[0];
-      projectAndComp[0] = earComp.getProject().getName();
-      projectAndComp[1]= earComp.getName();
-      return projectAndComp;
-      //getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(earProjectName);
-      //clientEarComponentName_ = earComponentName;      
+      return earComps[0].getName();
     }    
 
     //Either project does not exist or component is not associated with any EARs, so pick the first EAR you see with the correct J2EE version.
     IVirtualComponent[] allEarComps = J2EEUtils.getAllEARComponents();
     if (allEarComps.length>0)
     {
-      for (int i=0; i<allEarComps.length; i++)
-      {
-        if (clientJ2EEVersion_.equals(String.valueOf(J2EEUtils.getJ2EEVersion(allEarComps[i]))))
-        {
-          String earProjectName = allEarComps[i].getProject().getName();
-          projectAndComp[0] = earProjectName;
-          projectAndComp[1] = allEarComps[i].getName();
-          return projectAndComp;
-          //getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(earProjectName);
-          //clientEarComponentName_ = allEarComps[i].getName();
-          
-        }
-          
-      }
-      projectAndComp[0] = ResourceUtils.getDefaultClientEARProjectName();
-      projectAndComp[1] = ResourceUtils.getDefaultClientEARComponentName();
-      return projectAndComp;      
-      
+        //TODO Choose an existing EAR that can be added to the server and who's J2EE level in consistent with 
+        //that of the selected project, if applicable. Picking the first one for now.        
+        return allEarComps[0].getName();             
     }
     else
     {
       //there are no Ears.
-      projectAndComp[0] = ResourceUtils.getDefaultClientEARProjectName();
-      projectAndComp[1] = ResourceUtils.getDefaultClientEARComponentName();
-      return projectAndComp;
-      //getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(ResourceUtils.getDefaultClientEARProjectName());
-      //clientEarComponentName_ = ResourceUtils.getDefaultClientEARComponentName();
+      return ResourceUtils.getDefaultClientEARProjectName();
     }    
   }
-  
-  private void setClientDefaultServerNew()
-  {
-    String initialClientProjectName = runtimeClientTypes_.getChoice().getChoice().getList().getSelection();
-    IRuntime runtimeTarget = ServerSelectionUtils.getRuntimeTarget(initialClientProjectName);
-    String runtimeTargetId = null;
-    if (runtimeTarget != null)
-    {
-      runtimeTargetId = runtimeTarget.getRuntimeType().getId();
-      //Pick a compatible existing server if one exists.
-      IServer[] servers = ServerSelectionUtils.getCompatibleExistingServers(runtimeTarget);
-      if (servers!=null && servers.length>0)
-      {
-        for (int i=0; i<servers.length; i++)
-        {
-          String thisFactoryId = servers[0].getServerType().getId();
-          //if (WebServiceRuntimeExtensionUtils.doesRuntimeSupportServer(clientIds_.getRuntimeId(), thisFactoryId))
-          //{
-            //Pick this server and return.
-            clientIds_.setServerId(thisFactoryId);
-            clientIds_.setServerInstanceId(servers[0].getId());
-            return;
-          //}
-        }
-      }
-      
-      //No compatible existing server, set the factory id to something the runtime supports
-      String[] factoryIds = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(clientIds_.getRuntimeId()).getServerFactoryIds();
-      if (factoryIds!=null && factoryIds.length>0)
-      {
-        for (int i=0; i<factoryIds.length; i++)
-        {
-          IServerType serverType = ServerCore.findServerType(factoryIds[i]);
-          if (serverType != null)
-          {
-            String serverRuntimeTypeId = serverType.getRuntimeType().getId();            
-            if (serverRuntimeTypeId.equals(runtimeTargetId))
-            {
-              //Found a match
-              clientIds_.setServerId(factoryIds[i]);
-              return;
-            }
-          }
-        }        
-      }
-      else
-      {
-        //Runtime does not specify any server factory ids
-        IServerType[] serverTypes = ServerCore.getServerTypes();
-        clientIds_.setServerId(serverTypes[0].getId());
-      }
-      
-    }
-    else
-    {
-      // The project has no server target so pick a server factory id that is supported by the runtime
-      String[] fids = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(clientIds_.getRuntimeId()).getServerFactoryIds();
-      if (fids!=null && fids.length>0)
-      {
-        clientIds_.setServerId(fids[0]);  
-      }
-      else
-      {
-        //Runtime does not specify any server factory ids
-        IServerType[] serverTypes = ServerCore.getServerTypes();
-        clientIds_.setServerId(serverTypes[0].getId());        
-      }
-            
-    }        
-  }
-  
-  private Status setClientDefaultServer()
-  {
-	Status status = new SimpleStatus("");
-    //Calculate reasonable default server based on initial project selection. 
-    String initialClientProjectName = runtimeClientTypes_.getChoice().getChoice().getList().getSelection(); 
-    IProject initialClientProject = ProjectUtilities.getProject(initialClientProjectName);
-    if (initialClientProject.exists())
-    {
-      String[] serverInfo = ServerSelectionUtils.getServerInfoFromExistingProject(initialClientProject, clientComponentName_, clientIds_.getRuntimeId(), true);
-      if (serverInfo!=null)
-      {
-        if (serverInfo[0]!=null && serverInfo[0].length()>0)
-        {
-          clientIds_.setServerId(serverInfo[0]);
-        }
-        if (serverInfo[1]!=null && serverInfo[1].length()>0)
-        {
-          clientIds_.setServerInstanceId(serverInfo[1]);
-        }        
-      }      
-    }
-    else //the project does not exist.
-    {
-      //Does the EAR exist?
-      String initialClientEARProjectName = runtimeClientTypes_.getChoice().getChoice().getChoice().getList().getSelection();
-      IProject initialClientEARProject = ProjectUtilities.getProject(initialClientEARProjectName);
-      if (initialClientEARProject.exists())
-      {
-        String[] serverInfo = ServerSelectionUtils.getServerInfoFromExistingProject(initialClientEARProject, clientEarComponentName_, clientIds_.getRuntimeId(), false);
-        if (serverInfo!=null)
-        {
-          if (serverInfo[0]!=null && serverInfo[0].length()>0)
-          {
-            clientIds_.setServerId(serverInfo[0]);
-          }
-          if (serverInfo[1]!=null && serverInfo[1].length()>0)
-          {
-            clientIds_.setServerInstanceId(serverInfo[1]);
-          }        
-        }              
-      }
-      else
-      {
-        String[] serverInfo = ServerSelectionUtils.getServerFromWebServceRuntimeAndJ2EE(clientIds_.getRuntimeId(), clientJ2EEVersion_);
-        if (serverInfo!=null)
-        {
-          if (serverInfo[0]!=null && serverInfo[0].length()>0)
-          {
-            clientIds_.setServerId(serverInfo[0]);
-          }
-          if (serverInfo[1]!=null && serverInfo[1].length()>0)
-          {
-            clientIds_.setServerInstanceId(serverInfo[1]);
-          }        
-        }
-        else
-        {
-        	//Since the project and the EAR are both new, try changing the J2EE level
-        	boolean foundServer = false;
-        	WebServiceRuntimeInfo wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(clientIds_.getRuntimeId());
-            if (wsrt != null)
-            {
-              String[] versions = wsrt.getJ2eeLevels();
-              if (versions != null && versions.length > 0)
-              {
-            	  for (int k=0; k<versions.length; k++)
-            	  {
-            		  //If this J2EE version is different from the current one, see if there is
-            		  //a server available.
-            		  if (clientJ2EEVersion_!=versions[k])
-            		  {
-            			  String[] si = ServerSelectionUtils.getServerFromWebServceRuntimeAndJ2EE(clientIds_.getRuntimeId(), versions[k]);
-             		      if (si!=null)
-            		      {
-            		        if (si[0]!=null && si[0].length()>0)
-            		        {
-            		          clientIds_.setServerId(si[0]);
-            		        }
-            		        if (si[1]!=null && si[1].length()>0)
-            		        {
-            		          clientIds_.setServerInstanceId(si[1]);
-            		        }             
-            		        clientJ2EEVersion_ = versions[k];
-            		        foundServer = true;
-            		        break;
-            		      }
-            		  
-            	      }
-                  }
-               }
-            }
-        	//No valid server runtimes appear to be configured, this is an error condition.
-            if (!foundServer)
-            {
-              String runtimeLabel = WebServiceRuntimeExtensionUtils.getRuntimeLabelById(clientIds_.getRuntimeId());
-              String serverLabels = getServerLabels(clientIds_.getRuntimeId());
-        	  status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_NO_SERVER_RUNTIME", new String[]{runtimeLabel, serverLabels}),Status.ERROR);
-            }
-        	
-        }
-      }
-      
-    }    
     
-    return status;
-  }  
-  
-  protected String getServerLabels(String runtimeId)
+    
+  private String getServerLabels(String clientRuntimeId)
   {
-	    WebServiceRuntimeInfo wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(runtimeId);
-	    String[] validServerFactoryIds = wsrt.getServerFactoryIds();
+        String[] validServerFactoryIds = WebServiceRuntimeExtensionUtils2.getServerFactoryIdsByClientRuntime(clientRuntimeId);
 	    //String[] validServerLabels = new String[validServerFactoryIds.length];
 	    StringBuffer validServerLabels = new StringBuffer(); 
 	    for (int i=0; i<validServerFactoryIds.length; i++)
@@ -954,75 +904,69 @@
 	    return validServerLabels.toString();
   }
   
-  protected void updateClientProject(String projectName, String componentName, String serviceTypeId)
+  
+  /*
+   * Update the client project, client project type and clientRuntime as needed.
+   * Used by ServerRuntimeSelectionWidgetDefaultingCommand to update client side
+   * stuff based on service side defaults.
+   */
+  protected void updateClientProject(String projectName, String serviceTypeId)
   {
     boolean isEJB = false;
-    String implId = WebServiceRuntimeExtensionUtils.getImplIdFromTypeId(serviceTypeId);
+    String implId = WebServiceRuntimeExtensionUtils2.getWebServiceImplIdFromTypeId(serviceTypeId);
     isEJB = (implId.equals("org.eclipse.jst.ws.wsImpl.ejb"));
-    String[] updatedNames = ResourceUtils.getClientProjectComponentName(projectName, componentName, isEJB);
-    getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(updatedNames[0]);
-    clientComponentName_ = updatedNames[1];
+    String[] updatedNames = ResourceUtils.getClientProjectComponentName(projectName, projectName, isEJB);
+    clientProjectName_ = updatedNames[0];
     
+    IProject clientProject = ProjectUtilities.getProject(clientProjectName_);
+    if (clientProject.exists())
+    {
+      clientComponentType_ = "";
+      clientRuntimeId_ = WebServiceRuntimeExtensionUtils2.getClientRuntimeId(clientIds_, projectName, clientComponentType_);
+      
+    }
+    else
+    {
+      //Pick a client project type based on project topology preferences. Modify the clientRuntimeId_
+      //as needed.
+      String[] templateIds = WebServiceRuntimeExtensionUtils2.getClientProjectTemplates(clientIds_.getTypeId(), clientIds_.getRuntimeId());
+      ProjectTopologyContext ptc = WebServiceConsumptionUIPlugin.getInstance().getProjectTopologyContext();
+      String[] preferredTemplateIds = ptc.getClientTypes();
+      outer: 
+      for (int j = 0; j < preferredTemplateIds.length; j++)
+      {
+        for (int i = 0; i < templateIds.length; i++)
+        {
+          String templateId = templateIds[i];
+          if (templateId.equals(preferredTemplateIds[j]))
+          {
+            //Get a clientRuntimeId for this template
+            String newClientRuntimeId = WebServiceRuntimeExtensionUtils2.getClientRuntimeId(clientIds_, clientProjectName_, templateId);
+            if (newClientRuntimeId.length() > 0)
+            {
+              clientRuntimeId_ = newClientRuntimeId;
+              clientComponentType_ = templateId;
+              break outer;
+            }
+          }
+        }
+      }            
+    }    
   }
   
-  protected void updateClientEARs()
-  {
-  	//Set EAR selection to null if the project/server defaults imply an EAR should not be created
-    String clientProjectName = getRuntime2ClientTypes().getChoice().getChoice().getList().getSelection();
-  	IProject clientProject = ProjectUtilities.getProject(clientProjectName);
-  	if (clientProject != null && clientProject.exists())
-  	{
-  	  //Get the runtime target on the serviceProject
-  	  IRuntime clientTarget = ClientServerSelectionUtils.getRuntimeTarget(clientProjectName);
-  	  String j2eeVersion = String.valueOf(J2EEUtils.getJ2EEVersion(clientProject, clientComponentName_));
-  	  if (clientTarget != null)
-  	  {
-  	  	if (!ServerUtils.isTargetValidForEAR(clientTarget.getRuntimeType().getId(),j2eeVersion))
-  	  	{
-  	      //Default the EAR selection to be empty
-  	  	  getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setIndex(-1);
-          clientEarComponentName_="";
-  	  	  clientNeedEAR_ = false;
-  	  	}  	  		
-  	  }
-  	  
-  	}
-  	else
-  	{
-      String serverId = clientIds_.getServerId();
-      if (serverId != null)
-      {
-  		//Use the server type
-  		String clientServerTargetId = ServerUtils.getRuntimeTargetIdFromFactoryId(serverId);
-  		if (clientServerTargetId!=null && clientServerTargetId.length()>0)
-  		{
-  		  if (!ServerUtils.isTargetValidForEAR(clientServerTargetId,clientJ2EEVersion_))
-  	  	  {
-  	        //Default the EAR selection to be empty
-  	  	    getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setIndex(-1);
-            clientEarComponentName_="";
-  	  	    clientNeedEAR_ = false;
-  	  	  }
-  		}
-      }
-  	}  	
-  }  
   
-  private void setDefaultsForExtension(Environment env)
+  private void setDefaultsForExtension(IEnvironment env)
   {
-    IWebServiceRuntime wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntime(clientIds_.getRuntimeId());
+    IWebServiceRuntime wsrt = WebServiceRuntimeExtensionUtils2.getClientRuntime(clientRuntimeId_);
     if (wsrt != null)
     {
-      WebServiceClientInfo wsInfo = new WebServiceClientInfo();
-
-      wsInfo.setJ2eeLevel(clientJ2EEVersion_);
+      WebServiceClientInfo wsInfo = new WebServiceClientInfo();      
       wsInfo.setServerFactoryId(clientIds_.getServerId());
       wsInfo.setServerInstanceId(clientIds_.getServerInstanceId());
       wsInfo.setState(WebServiceState.UNKNOWN_LITERAL);
       wsInfo.setWebServiceRuntimeId(clientIds_.getRuntimeId());
       wsInfo.setWsdlURL(wsdlURI_);
 
-      environment_ = env;
       webServiceClient_ = wsrt.getWebServiceClient(wsInfo);
       WebServiceScenario scenario = WebServiceScenario.CLIENT_LITERAL;
       if (resourceContext_ != null)
@@ -1036,11 +980,9 @@
   
   public void setClientInitialSelection(IStructuredSelection selection)
   {
-    clientInitialSelection_ = selection;
     if (clientInitialProject_ == null)
     {
       clientInitialProject_ = getProjectFromInitialSelection(selection);
-      clientInitialComponentName_ = getComponentNameFromInitialSelection(selection);
     }
   }
 
@@ -1049,19 +991,13 @@
     clientInitialProject_ = clientInitialProject;
   }
   
-  public void setClientInitialComponentName(String name)
-  {
-    clientInitialComponentName_ = name;
-  }  
-  
   /**
    * @param initialInitialSelection_ The initialInitialSelection_ to set.
    */
   public void setInitialInitialSelection(IStructuredSelection initialInitialSelection)
   {
-    initialInitialSelection_ = initialInitialSelection;
-    initialInitialProject_ = getProjectFromInitialSelection(initialInitialSelection);
-    initialInitialComponentName_ = getComponentNameFromInitialSelection(initialInitialSelection);
+    // TODO Delete this method and corresponding mappings
+	// if no longer required.
   }
   
   public boolean getClientNeedEAR()
@@ -1073,7 +1009,8 @@
    * @param parser_ The parser_ to set.
    */
   public void setWebServicesParser(WebServicesParser parser) {
-  	parser_ = parser;
+    // TODO Delete this method and corresponding mappings
+	// if no longer required.
   }
   
   public void setWsdlURI(String wsdlURI)
@@ -1114,74 +1051,6 @@
     return null;
   }
   
-  private String getComponentNameFromInitialSelection(IStructuredSelection selection)
-  {
-    if (selection != null && selection.size() == 1)
-    {
-      Object obj = selection.getFirstElement();
-      if (obj != null) 
-      {
-        try
-        { 
-          IResource resource = ResourceUtils.getResourceFromSelection(obj);
-          if (resource==null) 
-            return null;
-          
-          IVirtualComponent comp = ResourceUtils.getComponentOf(resource);
-          if (comp!=null)
-          {
-            return comp.getName();
-          }
-        } catch(CoreException e)
-        {
-          return null;
-        }        
-      }
-    }
-    return null;
-  }
-
-  /*
-  private String getClientProjectTypeFromRuntimeId(IProject p, String runtimeId)
-  {
-    //Navigate the runtimeClientTypes to see if we can navigate from the provided
-    //runtime to the provided project's name.
-    String pName = p.getName();
-    String[] runtimeIds = getRuntime2ClientTypes().getList().getList();
-    int numberOfRuntimes = runtimeIds.length;
-    //Get the index of the runtimeId we are interested in
-    for (int i=0; i<numberOfRuntimes; i++)
-    {
-      if (runtimeIds[i].equals(runtimeId))
-      {
-        //Get the list of client project types for this runtimeId
-        SelectionListChoices clientProjectTypesToProjects= getRuntime2ClientTypes().getChoice(i);
-        String[] clientProjectTypes = clientProjectTypesToProjects.getList().getList();
-        for (int j=0; j<clientProjectTypes.length; j++)
-        {
-          //Get the list of projects for this clientProjectType. If pName
-          //is in this list, we know the runtimeId supports this project
-          //and we know the client project type.
-          String[] clientProjects = clientProjectTypesToProjects.getChoice(j).getList().getList();
-          for (int k=0; k<clientProjects.length; k++)
-          {
-            if (clientProjects[k].equals(pName))
-            {
-              //Found the project!!
-              return clientProjectTypes[j];
-            }
-          }
-        }
-        
-      }
-    }
-
-    //We didn't find the project under any of this runtimes client project types.
-    //This means that this runtime does not support that client type. Return null
-    return null;
-  }
-  */
-  
   protected String[] getAllFlexibleProjects()
   {
     Vector v = new Vector();
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ProjectSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ProjectSelectionWidget.java
index 1261608..1ba81e3 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ProjectSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ProjectSelectionWidget.java
@@ -12,14 +12,20 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.common.ServerSelectionUtils;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.jst.ws.internal.consumption.ui.preferences.ProjectTopologyContext;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -27,32 +33,22 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.server.core.IRuntime;
 
 public class ProjectSelectionWidget extends SimpleWidgetDataContributor {
 
-  private final String EAR_PERMITTED_PROJECT_TYPE = "EAR_PERMITTED_PROJECT_TYPE";
-  //private final String JAVA_PROJECT_TYPE_ID = "org.eclipse.jst.ws.consumption.ui.clientProjectType.Containerless";
+
   
   private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-
-  private SelectionListChoices projects_;
+  
+  //private SelectionListChoices projects_;
   
   private boolean needEAR_;
   
   private TypeRuntimeServer trsIds_;
-  
-  private String j2eeVersion_;
-  
-  private String projectTypeId_ = EAR_PERMITTED_PROJECT_TYPE;
 
   private Listener statusListener_;
 
@@ -60,8 +56,6 @@
 
   private boolean isClient_ = false;
 
-  private MessageUtils msgUtils;
-
   private byte CREATE_PROJECT = (byte) 1;
 
   private byte CREATE_EAR = (byte) 2;
@@ -70,27 +64,31 @@
   
   private Combo moduleProject_;
   private Combo earProject_;
-  private String   componentType_;
+  private Combo projectType_;
   
-  private ModifyListener moduleProjectListener_;
-  private ModifyListener moduleListener_;
-  private ModifyListener earProjectListener_;
-  private ModifyListener earModuleListener_;
+  private String[] templates_;
 
-  private String initialModuleName_;
+  //private String   componentType_;
   
+  private ModifyListener projectTypeListener_;
+  private ModifyListener moduleProjectListener_;
+  private ModifyListener earProjectListener_;
+
   /*
    * CONTEXT_ID PWRS0006 for the service-side Web project combo box of the
    * runtime selection Page
    */
   private String INFOPOP_PWRS_COMBO_PROJECT = pluginId_ + ".PWRS0006";
 
-  private Combo module_;
+  //private Combo module_;
 
-  /* CONTEXT_ID PWRS0012 for the EAR combo box of the runtime selection Page */
-  private String INFOPOP_PWRS_COMBO_EAR = pluginId_ + ".PWRS0012";
+  /* CONTEXT_ID PWRS0018 for the client project type combo box of the runtime selection Page */
+  private String INFOPOP_PWRS_COMBO_CLIENT_PROJECT_TYPE = pluginId_ + ".PWRS0018";
+  
+  /* CONTEXT_ID PWRS0024 for the service project type combo box of the runtime selection Page */
+  private String INFOPOP_PWRS_COMBO_SERVICE_PROJECT_TYPE = pluginId_ + ".PWRS0018";    
 
-  private Combo earModule_;
+  //private Combo earModule_;
 
   /*
    * Default Constructor
@@ -106,88 +104,77 @@
   }
 
   public WidgetDataEvents addControls(Composite parent, Listener statusListener) {
-    msgUtils = new MessageUtils(pluginId_ + ".plugin", this);
-    UIUtils uiUtils = new UIUtils(msgUtils, pluginId_);
+
+    UIUtils uiUtils = new UIUtils(pluginId_);
 
     statusListener_ = statusListener;
 		
     if (isClient_)
 	{
-	  moduleProject_ = uiUtils.createCombo(parent, "LABEL_CLIENT_PROJECT", "LABEL_CLIENT_PROJECT", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
-      module_ = uiUtils.createCombo(parent, "LABEL_CLIENT_MODULE", "LABEL_CLIENT_MODULE", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
-	  earProject_ = uiUtils.createCombo(parent, "LABEL_CLIENT_EAR_PROJECT", "LABEL_CLIENT_EAR_PROJECT", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
-	  earModule_ = uiUtils.createCombo(parent, "LABEL_CLIENT_EAR_MODULE", "LABEL_CLIENT_EAR_MODULE", INFOPOP_PWRS_COMBO_EAR, SWT.SINGLE | SWT.BORDER );
+      projectType_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_CLIENT_TYPE, ConsumptionUIMessages.TOOLTIP_PWCR_COMBO_CLIENT_TYPE, INFOPOP_PWRS_COMBO_CLIENT_PROJECT_TYPE, SWT.SINGLE | SWT.BORDER);
+	  moduleProject_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_CLIENT_PROJECT, ConsumptionUIMessages.LABEL_CLIENT_PROJECT, INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );            
+      //module_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_CLIENT_MODULE", ConsumptionUIMessages.LABEL_CLIENT_MODULE", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
+	  earProject_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_CLIENT_EAR_PROJECT, ConsumptionUIMessages.LABEL_CLIENT_EAR_PROJECT, INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
+	  //earModule_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_CLIENT_EAR_MODULE", ConsumptionUIMessages.LABEL_CLIENT_EAR_MODULE", INFOPOP_PWRS_COMBO_EAR, SWT.SINGLE | SWT.BORDER );
     }
     else 
 	{
-	  moduleProject_ = uiUtils.createCombo(parent, "LABEL_SERVICE_PROJECT", "LABEL_SERVICE_PROJECT", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
-      module_ = uiUtils.createCombo(parent, "LABEL_SERVICE_MODULE", "LABEL_SERVICE_MODULE", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
-	  earProject_ = uiUtils.createCombo(parent, "LABEL_SERVICE_EAR_PROJECT", "LABEL_SERVICE_EAR_PROJECT", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
-	  earModule_ = uiUtils.createCombo(parent, "LABEL_SERVICE_EAR_MODULE", "LABEL_SERVICE_EAR_MODULE", INFOPOP_PWRS_COMBO_EAR, SWT.SINGLE | SWT.BORDER );
+      projectType_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_SERVICE_TYPE, ConsumptionUIMessages.TOOLTIP_PWCR_COMBO_SERVICE_TYPE, INFOPOP_PWRS_COMBO_SERVICE_PROJECT_TYPE, SWT.SINGLE | SWT.BORDER);      
+	  moduleProject_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_SERVICE_PROJECT, ConsumptionUIMessages.LABEL_SERVICE_PROJECT, INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
+      //module_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_SERVICE_MODULE", ConsumptionUIMessages.LABEL_SERVICE_MODULE", INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
+	  earProject_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_SERVICE_EAR_PROJECT, ConsumptionUIMessages.LABEL_SERVICE_EAR_PROJECT, INFOPOP_PWRS_COMBO_PROJECT, SWT.SINGLE | SWT.BORDER );
+	  //earModule_ = uiUtils.createCombo(parent, ConsumptionUIMessages.LABEL_SERVICE_EAR_MODULE, ConsumptionUIMessages.LABEL_SERVICE_EAR_MODULE, INFOPOP_PWRS_COMBO_EAR, SWT.SINGLE | SWT.BORDER );
     }
-	
-    //module_.addModifyListener(projectListener_);
-	
-    //earModule_.addModifyListener(earListener_);
-    //earModule_.addListener(SWT.Modify, statusListener);
-	
+    
+    //Temporarily remove the listeners
+    
+    projectTypeListener_ = new ModifyListener()
+    {
+      public void modifyText(ModifyEvent evt) 
+      {
+        statusListener_.handleEvent( null );
+      }
+    };    
+    
 	moduleProjectListener_ = new ModifyListener()
 	                         {
 	                           public void modifyText(ModifyEvent evt) 
 					           {
-					             handleModuleProjectChanged(null);
+					             handleProjectChanged();
 					             statusListener_.handleEvent( null );
 		                       }
 	                         };
-
-	moduleListener_ = new ModifyListener()
-                      {
-                        public void modifyText(ModifyEvent evt) 
-			            {
-			              handleModuleChanged();
-				          statusListener_.handleEvent( null );
-	                    }
-                      };
-	
+    
 	earProjectListener_ = new ModifyListener()
                           {
                             public void modifyText(ModifyEvent evt) 
 				            {
-				              handleEarProjectChanged();
 				              statusListener_.handleEvent( null );
 	                        }
                           };
-                          
-    earModuleListener_ = new ModifyListener()
-                             {
-                               public void modifyText(ModifyEvent evt) 
-				               {
-				                 statusListener_.handleEvent( null );
-	                           }
-                             };
-							  
+  					  
     // message area
-    messageText_ = uiUtils.createText(parent, "LABEL_NO_LABEL", "LABEL_NO_LABEL", null, SWT.WRAP | SWT.MULTI | SWT.READ_ONLY);
+    messageText_ = uiUtils.createText(parent, ConsumptionUIMessages.LABEL_NO_LABEL, ConsumptionUIMessages.LABEL_NO_LABEL, null, SWT.WRAP | SWT.MULTI | SWT.READ_ONLY);
+    setEarProjectItems();
   
     return this;
   }
   
   private void listenersOn()
   {
-	module_.addModifyListener( moduleListener_ );
+    projectType_.addModifyListener(projectTypeListener_);
 	moduleProject_.addModifyListener( moduleProjectListener_ );
 	earProject_.addModifyListener( earProjectListener_ );
-	earModule_.addModifyListener( earModuleListener_ );
   }
   
   private void listenersOff()
   {
-    module_.removeModifyListener( moduleListener_ );
-	moduleProject_.removeModifyListener( moduleProjectListener_ );
-	earProject_.removeModifyListener( earProjectListener_ );
-	earModule_.removeModifyListener( earModuleListener_ );
+    projectType_.removeModifyListener(projectTypeListener_);
+    moduleProject_.removeModifyListener( moduleProjectListener_ );
+    earProject_.removeModifyListener( earProjectListener_ );
   }
   
+  /*
   private void handleModuleProjectChanged(String moduleName)
   {
 	String   projectName = moduleProject_.getText(); 
@@ -231,7 +218,9 @@
 	  }
   
   }
+  */
   
+  /*
   private void handleModuleChanged()
   {
 	IVirtualComponent component = getEarModuleForModule();
@@ -253,7 +242,9 @@
 	
 	updateEAREnabledState();
   }
+  */
 
+  /*
   private void handleEarProjectChanged()
   {
 	
@@ -287,7 +278,9 @@
 	  earModule_.setItems( new String[0] );	
 	}
   }
+  */
   
+  /*
   private IVirtualComponent getEarModuleForModule()
   {
 	String   projectName = moduleProject_.getText(); 
@@ -298,13 +291,14 @@
 	}
 	
 	IProject project     = ProjectUtilities.getProject( projectName );
-	String   compName    = module_.getText();
 	
-	IVirtualComponent[] components = J2EEUtils.getReferencingEARComponents( project, compName );
+	IVirtualComponent[] components = J2EEUtils.getReferencingEARComponents( project );
 	
 	return components.length == 0 ? null : components[0];
   }
-    
+  */
+  
+  /*
   public void setProjectChoices(SelectionListChoices projects) 
   {
 	listenersOff();
@@ -325,45 +319,70 @@
 	updateEAREnabledState();	
     listenersOn();
   }
+  */
+  
 
+
+  /*
   public SelectionListChoices getProjectChoices() 
   {
     return projects_;
   }
+  */
   
-  public String getComponentName()
+  public String getProjectName()
   {
-	return module_.getText();
+	return moduleProject_.getText();
   }
   
-  public void setComponentName( String name )
+  public void setProjectName( String name )
   {
 	listenersOff();
-    module_.setText( name );
-    initialModuleName_ = name;
+    moduleProject_.setText( name );
+    handleProjectChanged();
 	listenersOn();
   }
   
-  public String getEarComponentName()
+  public String getEarProjectName()
   {
-    return earModule_.getText();
+    return earProject_.getText();
   }
   
-  public void setEarComponentName( String name )
+  public void setEarProjectName( String name )
   { 
 	listenersOff();
-	earModule_.setText( name );
+	earProject_.setText( name );
 	listenersOn();
   }
   
   public void setComponentType( String type )
   {
-	componentType_ = type;  
+    listenersOff();
+    if (type != null && type.length()>0)
+    {
+      String label = FacetUtils.getTemplateLabelById(type);
+	  projectType_.setText(label);
+    }
+    else
+      projectType_.setText("");
+    
+    listenersOn();
   }
   
-  public String getComponentType( )
+  public String getComponentType()
   {
-	  return componentType_;
+    int idx = projectType_.getSelectionIndex();
+    if (templates_ != null && idx > -1)
+    {
+      return templates_[idx];
+    }
+    else
+    {
+      String templateLabel = projectType_.getText();
+      String templateId = FacetUtils.getTemplateIdByLabel(templateLabel);
+      return templateId;
+    }
+
   }
   
   public boolean getNeedEAR()
@@ -371,161 +390,264 @@
     return needEAR_;
   }
   
-  public String getProjectName()
-  {
-    return moduleProject_.getText();  
-  }
-  
-  public String getEarProjectName()
-  {
-	return earProject_.getText();  
-  }
-  
   public void setNeedEAR(boolean b)
   {
+    listenersOff();
     needEAR_ = b;
+    if (needEAR_)
+    {
+     earProject_.setEnabled(true);
+     populateEARCombos();
+    }
+    else
+    {
+      earProject_.setEnabled(false);
+      earProject_.setText("");
+    }
+    listenersOn();
   }    
 
   public void setTypeRuntimeServer(TypeRuntimeServer trs)
   {
     trsIds_ = trs;
 	listenersOff();
-    updateEAREnabledState();
+    updateEARState();
     listenersOn();
   }
   
-  public void setJ2EEVersion(String j2eeVersion)
+  public void refreshProjectItems()
   {
-    j2eeVersion_ = j2eeVersion;
-	listenersOff();
-    updateEAREnabledState();
-	listenersOn();
-  }
-  
-  public void setProjectTypeId(String id)
-  {
-    projectTypeId_ = id;
-  }
-  
-  private String[] getProjects()
-  {
-	IProject[] projects     = J2EEUtils.getAllFlexibleProjects();
-	String[]   projectNames = new String[projects.length];
-	
-	for( int index = 0; index < projects.length; index++ )
-	{
-	  projectNames[index] = projects[index].getName();	
-	}
-	
-	return projectNames;
-  }
+    listenersOff();
+    String selectedModuleProject = moduleProject_.getText();    
+    String runtimeId = trsIds_.getRuntimeId();
+    String typeId = trsIds_.getTypeId();
     
-  private void updateEAREnabledState()
-  {
-    if (projects_ != null)
+    //Get all the projects that are compatible with the type and runtime
+    String[] projectNames = null;
+    if (isClient_)
     {
-      if(!projectNeedsEAR(moduleProject_.getText(), module_.getText()))
+      projectNames = WebServiceRuntimeExtensionUtils2.getProjectsForClientTypeAndRuntime(typeId, runtimeId);
+    }
+    else
+    {
+      projectNames = WebServiceRuntimeExtensionUtils2.getProjectsForServiceTypeAndRuntime(typeId, runtimeId);
+    }
+    
+    moduleProject_.setItems(projectNames);
+    moduleProject_.setText(selectedModuleProject);
+    handleProjectChanged();
+    listenersOn();
+  }
+  
+  public void setEarProjectItems()
+  {
+    IVirtualComponent[] ears = J2EEUtils.getAllEARComponents();
+    String[] earProjectNames = new String[ears.length];
+    for (int i=0; i<earProjectNames.length; i++)
+    {
+      earProjectNames[i]=ears[i].getProject().getName();
+    }
+    earProject_.setItems(earProjectNames);
+    
+    if (earProjectNames.length > 0)
+      earProject_.select(0);
+  }
+  
+  private void handleProjectChanged()
+  {  
+    updateEARState();
+    updateTemplates();
+  }
+  
+  private void updateTemplates()
+  {
+    String projectName = moduleProject_.getText();
+    if (projectName != null && projectName.length()>0)
+    {
+      IProject project = ProjectUtilities.getProject(projectName);
+      if (project.exists())
       {
-	    earModule_.setEnabled(false);   
-		earProject_.setEnabled(false);
-        earModule_.setText("");
-		earProject_.setText("");
+        projectType_.setEnabled(false);
+        projectType_.setText("");        
+      }
+      else
+      {
+        populateProjectTypeCombo();
+        projectType_.setEnabled(true);
+      }
+    }
+  }
+  
+  private void populateProjectTypeCombo()
+  {
+    //Get the old value if there was one.
+    String oldTemplateId = getComponentType();
+    
+    String[] templates = null;
+    if (isClient_)
+    {
+      templates = WebServiceRuntimeExtensionUtils2.getClientProjectTemplates(trsIds_.getTypeId(), trsIds_.getRuntimeId());
+    }
+    else
+    {
+      templates = WebServiceRuntimeExtensionUtils2.getServiceProjectTemplates(trsIds_.getTypeId(), trsIds_.getRuntimeId());      
+    }
+    
+    String[] templateLabels = FacetUtils.getTemplateLabels(templates);
+    projectType_.setItems(templateLabels);
+    templates_ = templates;
+      
+    if (templates.length > 0)
+    {
+      
+      //Select the previous template selection if that one is in the list.
+      int idx = getIndexOfTemplateId(templates, oldTemplateId);
+      if (idx > -1)        
+      {
+        projectType_.select(idx);
+      }
+      else
+      {
+
+        if (isClient_)
+        {
+          // Select the preferred client project type.
+          ProjectTopologyContext ptc = WebServiceConsumptionUIPlugin.getInstance().getProjectTopologyContext();
+          String[] preferredTemplateIds = ptc.getClientTypes();
+          boolean selected = false;
+          outer: for (int j = 0; j < preferredTemplateIds.length; j++)
+          {
+            for (int i = 0; i < templates.length; i++)
+            {
+              String templateId = templates[i];
+              if (templateId.equals(preferredTemplateIds[j]))
+              {
+                projectType_.select(i);
+                selected = true;
+                break outer;
+              }
+            }
+          }
+
+          if (!selected)
+          {
+            projectType_.select(0);
+          }
+
+        } else
+        {
+          // If a "..web.." template is there, pick that as the default.
+          int webTemplateIndex = getWebTemplateIndex(templates);
+          if (webTemplateIndex > -1)
+          {
+            projectType_.select(webTemplateIndex);
+          } else
+          {
+            projectType_.select(0);
+          }
+        }
+      }
+    }
+  }
+  
+
+  private int getIndexOfTemplateId(String[] templateIds, String templateId)
+  {
+    for (int i=0; i<templateIds.length; i++)
+    {
+      if (templateIds[i].equals(templateId))
+      {
+        return i;
+      }
+    }
+    
+    return -1;    
+  }
+  
+  private int getWebTemplateIndex(String[] templateIds)
+  {
+    for (int i=0; i<templateIds.length; i++)
+    {
+      if (templateIds[i].indexOf("web") > -1)
+      {
+        return i;
+      }
+    }
+    
+    return -1;
+  }
+  
+  private void updateEARState()
+  {
+      if(!projectNeedsEAR(moduleProject_.getText()))
+      {
+	    earProject_.setEnabled(false);   
+        earProject_.setText("");
         needEAR_ = false;
       }
       else
       {
         needEAR_ = true;
-        earModule_.setEnabled(true);
-		earProject_.setEnabled(true);
+        earProject_.setEnabled(true);
         populateEARCombos();
       }
-    }
+    
   }
 
   private void populateEARCombos()
   {
-    earModule_.removeAll();
     earProject_.removeAll();
-    String moduleName = module_.getText();
-    IProject moduleProj = ResourcesPlugin.getWorkspace().getRoot().getProject(moduleProject_.getText());
-    if (moduleProj.exists())
+    String projectName = moduleProject_.getText();
+    if (projectName != null && projectName.length() > 0)
     {
-      IVirtualComponent[] ears = J2EEUtils.getReferencingEARComponents(moduleProj, moduleName);
-      if (ears != null && ears.length > 0)
+      IProject proj = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+      if (proj.exists())
       {
-        for (int i = 0; i < ears.length; i++)
+        IVirtualComponent[] ears = J2EEUtils.getReferencingEARComponents(proj);
+        if (ears != null && ears.length > 0)
         {
-          earModule_.add(ears[i].getName());
-          earProject_.add(ears[i].getProject().getName());
+          for (int i = 0; i < ears.length; i++)
+          {
+            earProject_.add(ears[i].getName());
+          }
+          earProject_.select(0);
+          return;
         }
-        earModule_.select(0);
-        earProject_.select(0);
-        return;
       }
+      
+      String earName = projectName + "EAR";
+      earProject_.setText(earName);      
     }
-    String earName = moduleName + "EAR";
-    earModule_.setText(earName);
-    earProject_.setText(earName);
+    else
+    {
+      setEarProjectItems();
+    }
   }
 
-  private boolean projectNeedsEAR(String projectName, String componentName)
+  private boolean projectNeedsEAR(String projectName)
   {
-    if (projectTypeId_.equals(IModuleConstants.JST_UTILITY_MODULE))
-      return false;
-    
-    if (projectName == null || projectName.length()==0)
-      return true;
-    
-    if (componentName == null || componentName.length()==0)
-      return true;
-    
-    
-    //IProject project = (IProject)((new StringToIProjectTransformer()).transform(projectName));
-	IProject project = ResourceUtils.getWorkspaceRoot().getProject(projectName);
-  	if (project != null && project.exists())
-  	{
-  	  //Get the runtime target on the project
-  	  IRuntime target = ServerSelectionUtils.getRuntimeTarget(projectName);
-  	  String j2eeVersion = String.valueOf(J2EEVersionConstants.J2EE_1_4_ID);
-  	  if (J2EEUtils.exists(project, componentName))
-  	    j2eeVersion = String.valueOf(J2EEUtils.getJ2EEVersion(project, componentName));
-  	
-  	  
-  	  if (target != null)
+	//Use the server type
+    if (trsIds_ != null && trsIds_.getServerId() != null)
+    {
+      String targetId = ServerUtils.getRuntimeTargetIdFromFactoryId(trsIds_.getServerId());
+  	  if (targetId!=null && targetId.length()>0)
   	  {
-  	  	if (!ServerUtils.isTargetValidForEAR(target.getRuntimeType().getId(),j2eeVersion))
-  	  	{
-          return false;
-  	  	}
-  	  		
-  	  }
-  	}
-  	else
-  	{
-  		//Use the server type
-  	    if (trsIds_ != null && trsIds_.getServerId() != null)
+  	    if (!ServerUtils.isTargetValidForEAR(targetId,"13")) //rm j2ee
   	    {
-  		  String targetId = ServerUtils.getRuntimeTargetIdFromFactoryId(trsIds_.getServerId());
-  		  if (targetId!=null && targetId.length()>0)
-  		  {
-  		    if (!ServerUtils.isTargetValidForEAR(targetId,j2eeVersion_))
-  		    {
-  		      return false;
-  	  	    }
-  		  }
+  	      return false;
   	    }
-  	}      	
+  	  }
+    }
   	
   	return true;    
   }
   
-  private Status handleSetMessageText() {
-    Status status = new SimpleStatus("");
+  
+  private IStatus handleSetMessageText() {
+    IStatus status = Status.OK_STATUS;
     try {
       byte result = (byte) 0;
-      if (module_.getText().length() != 0 && earModule_.getText().length() != 0) {
-    	String moduleName = module_.getText();
-    	String earModuleName = earModule_.getText();
+      if (moduleProject_.getText().length() != 0 && earProject_.getText().length() != 0) {
         String projectText = moduleProject_.getText();
         String earText = earProject_.getText();
         IProject project = ResourceUtils.getWorkspaceRoot().getProject(projectText);
@@ -538,20 +660,20 @@
             result = (byte) (result | CREATE_EAR);
           }
 
-          if (project.exists() && J2EEUtils.exists(project, moduleName) && ear.exists() && J2EEUtils.exists(ear, earModuleName)) {
-            if (!J2EEUtils.isComponentAssociated(ear, earModuleName, project, moduleName)) result = (byte) (result | ADD_EAR_ASSOCIATION);
+          if (project.exists() && J2EEUtils.exists(project) && ear.exists() && J2EEUtils.exists(ear)) {
+            if (!J2EEUtils.isComponentAssociated(ear, project)) result = (byte) (result | ADD_EAR_ASSOCIATION);
           }
         }
       }
       if (isClient_) {
-        messageText_.setText(getValidationMessage(result, msgUtils.getMessage("MSG_CLIENT_SUB")));
+        messageText_.setText(getValidationMessage(result, ConsumptionUIMessages.MSG_CLIENT_SUB));
       }
       else {
-        messageText_.setText(getValidationMessage(result, msgUtils.getMessage("MSG_SERVICE_SUB")));
+        messageText_.setText(getValidationMessage(result, ConsumptionUIMessages.MSG_SERVICE_SUB));
       }
     }
     catch (Exception e) {
-      return new SimpleStatus("", msgUtils.getMessage("PAGE_MSG_VALIDATION_INTERNAL_ERROR"), Status.ERROR);
+      return StatusUtils.errorStatus( ConsumptionUIMessages.PAGE_MSG_VALIDATION_INTERNAL_ERROR, e );
     }
     return status;
   }
@@ -563,87 +685,46 @@
       return "";
     case 1:
     case 5:
-      msg = "MSG_PROJECT_WILL_BE_CREATED";
+      msg = ConsumptionUIMessages.MSG_PROJECT_WILL_BE_CREATED;
       break;
     case 2:
     case 6:
-      msg = "MSG_EAR_WILL_BE_CREATED";
+      msg = ConsumptionUIMessages.MSG_EAR_WILL_BE_CREATED;
       break;
     case 3:
     case 7:
-      msg = "MSG_PROJECT_AND_EAR_CREATED";
+      msg = ConsumptionUIMessages.MSG_PROJECT_AND_EAR_CREATED;
       break;
     case 4:
-      msg = "MSG_EAR_WILL_BE_ASSOCIATED";
+      msg = ConsumptionUIMessages.MSG_EAR_WILL_BE_ASSOCIATED;
       break;
     }
-    return msg != null ? msgUtils.getMessage(msg, new Object[] { serviceOrClient}) : "";
+    return msg != null ? NLS.bind(msg, new Object[] { serviceOrClient}) : "";
   }
 
-  public Status getStatus() {
-    Status finalStatus = new SimpleStatus("");
+  public IStatus getStatus() 
+  {
+    IStatus finalStatus = Status.OK_STATUS;
     handleSetMessageText();
     String projectText = moduleProject_.getText();
     String earText = earProject_.getText();
-    String moduleText = msgUtils.getMessage( "MSG_MODULE" );
     
     if (projectText==null || projectText.length()==0)
     {
       if (isClient_)
-        return new SimpleStatus("",msgUtils.getMessage("MSG_CLIENT_PROJECT_EMPTY", new String[]{""} ),Status.ERROR);
+        return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_CLIENT_PROJECT_EMPTY, new String[]{""} ) );
       else
-        return new SimpleStatus("",msgUtils.getMessage("MSG_SERVICE_PROJECT_EMPTY", new String[]{""} ),Status.ERROR);
+        return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_SERVICE_PROJECT_EMPTY, new String[]{""} ) );
     }
     
     if (needEAR_ && (earText==null || earText.length()==0))
     {
       if (isClient_)
-        return new SimpleStatus("",msgUtils.getMessage("MSG_CLIENT_EAR_EMPTY", new String[]{""} ),Status.ERROR);
+        return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_CLIENT_EAR_EMPTY, new String[]{""} ) );
       else
-        return new SimpleStatus("",msgUtils.getMessage("MSG_SERVICE_EAR_EMPTY", new String[]{""} ),Status.ERROR);      
+        return StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_SERVICE_EAR_EMPTY, new String[]{""} ) );      
     }
     
-    if( module_ == null || module_.getText().length() == 0 ) 
-    {
-      if( isClient_ )
-      {
-        return new SimpleStatus("",msgUtils.getMessage("MSG_CLIENT_PROJECT_EMPTY", new String[]{moduleText} ),Status.ERROR);
-      }
-      else
-      {
-        return new SimpleStatus("",msgUtils.getMessage("MSG_CLIENT_EAR_EMPTY", new String[]{moduleText} ),Status.ERROR);        	
-      }
-    }
-      
-    if( needEAR_ && ( earModule_ == null || earModule_.getText().length() == 0 ) )
-    {
-      if( isClient_ )
-      {
-        return new SimpleStatus("",msgUtils.getMessage("MSG_CLIENT_EAR_EMPTY", new String[]{moduleText} ),Status.ERROR);
-      }
-      else
-      {
-        return new SimpleStatus("",msgUtils.getMessage("MSG_SERVICE_EAR_EMPTY", new String[]{moduleText} ),Status.ERROR);        	
-      }  
-    }
-    
-//  TODO:  Defect 107997 - Revisit prject and module creation logic
-//    if( !FlexibleJavaProjectPreferenceUtil.getMultipleModulesPerProjectProp() )
-//    {
-//      IProject project = ResourceUtils.getWorkspaceRoot().getProject(projectText);
-//        
-//      if( project != null && project.exists() )
-//      {
-//    	String            moduleName = module_.getText();
-//        IVirtualComponent component  = J2EEUtils.getVirtualComponent( project, moduleName );  
-//        
-//        if( !component.exists() && !moduleName.equals( projectText ) )
-//        {
-//          finalStatus = new SimpleStatus("",msgUtils.getMessage("MSG_MODULE_NAME_AND_PROJECT_NAME_NOT_THE_SAME" ),Status.ERROR);   	
-//        }
-//      }
-//    }
-    
     return finalStatus;
   }
 }
\ 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/runtime/RuntimeServerSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/RuntimeServerSelectionWidget.java
index dd65f10..1dc214f 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/RuntimeServerSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/RuntimeServerSelectionWidget.java
@@ -10,12 +10,15 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.window.Window;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.wizard.RuntimeServerSelectionDialog;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -25,11 +28,9 @@
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServerType;
 import org.eclipse.wst.server.core.ServerCore;
@@ -42,12 +43,11 @@
   private String            pluginId_ = "org.eclipse.jst.ws.consumption.ui";
   private Text              runtime_;
   private Text              server_;
-  private Text              j2eeVersionText;
+
   private Composite         parent_;
   private boolean           isClientContext_;
   private TypeRuntimeServer ids_;
-  private String             j2eeVersion_;
-  private MessageUtils       msgUtils_;
+
   private Listener           statusListener_;
   
   /* CONTEXT_ID PWRS0004 for the service-side runtime selection of the runtime selection Page */
@@ -56,9 +56,6 @@
   /* CONTEXT_ID PWRS0005 for the service-sdie server selection of the runtime selection Page */
   private String INFOPOP_PWRS_GROUP_SERVICE_SERVER = pluginId_ + ".PWRS0005";
 
-  /* CONTEXT_ID PWRS0009 for the J2EE version selection of the runtime selection Page */
-  private String INFOPOP_PWRS_J2EE_VERSION = pluginId_ + ".PWRS0009";
-
   public RuntimeServerSelectionWidget( boolean isClientScenario )
   {
     isClientContext_ = isClientScenario; 
@@ -69,26 +66,23 @@
    */
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    msgUtils_ = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils_, pluginId_ ); 
+    UIUtils      uiUtils  = new UIUtils( pluginId_ ); 
     
     parent_         = parent;
     statusListener_ = statusListener;
         
     // Runtime label and text
-    runtime_ = uiUtils.createText( parent, "LABEL_RUNTIMES_LIST",  
-                                   "TOOLTIP_PWRS_TEXT_RUNTIME",
+    runtime_ = uiUtils.createText( parent, ConsumptionUIMessages.LABEL_RUNTIMES_LIST,  
+    		ConsumptionUIMessages.TOOLTIP_PWRS_TEXT_RUNTIME,
                                    INFOPOP_PWRS_GROUP_SERVICE_RUNTIME, SWT.READ_ONLY );
     
     // Server label and text
-    server_ = uiUtils.createText( parent, "LABEL_SERVERS_LIST",  
-                                  "TOOLTIP_PWRS_TEXT_SERVER",
+    server_ = uiUtils.createText( parent, ConsumptionUIMessages.LABEL_SERVERS_LIST,  
+    		ConsumptionUIMessages.TOOLTIP_PWRS_TEXT_SERVER,
                                   INFOPOP_PWRS_GROUP_SERVICE_SERVER, SWT.READ_ONLY );
     
-    j2eeVersionText = uiUtils.createText(parent, "LABEL_J2EE_VERSION", "TOOLTIP_PWRS_J2EE_VERSION", INFOPOP_PWRS_J2EE_VERSION, SWT.READ_ONLY);
-    
     Button editButton = new Button( parent, SWT.NONE );
-    editButton.setText( msgUtils_.getMessage("LABEL_EDIT_BUTTON")); 
+    editButton.setText( ConsumptionUIMessages.LABEL_EDIT_BUTTON); 
     editButton.addSelectionListener( new SelectionAdapter()
                                      {
                                        public void widgetSelected( SelectionEvent  evt )
@@ -114,24 +108,9 @@
     setLabels();
   }
   
-  public String getJ2EEVersion()
-  {
-    return j2eeVersion_;
-  }
-  
-  public void setJ2EEVersion(String j2eeVersion)
-  {
-    this.j2eeVersion_ = j2eeVersion;
-    j2eeVersionText.setText((j2eeVersion_ != null) ? J2EEUtils.getLabelFromJ2EEVersion(j2eeVersion_) : msgUtils_.getMessage("LABEL_NA"));
-    //setLabels();
-  }
-  
   private void setLabels()
   {
-	  // rskreg
-    //WebServiceClientTypeRegistry registry     = WebServiceClientTypeRegistry.getInstance();
-    //String                       runtimeLabel = registry.getRuntimeLabelById( ids_.getRuntimeId() );
-	String                       runtimeLabel = WebServiceRuntimeExtensionUtils.getRuntimeLabelById( ids_.getRuntimeId() );
+	String                       runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById( ids_.getRuntimeId() );
     String                       serverLabel  = null;
     
     if( ids_.getServerInstanceId() == null )
@@ -141,7 +120,7 @@
       //serverLabel = server == null ? "" : server.getLabel();
       String serverId = ids_.getServerId();
       if (serverId != null)
-        serverLabel = WebServiceRuntimeExtensionUtils.getServerLabelById(serverId);
+        serverLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverId);
     }
     else
     {
@@ -149,7 +128,7 @@
       //serverLabel = registry.getServerInstanceLabelFromInstanceId( ids_.getServerInstanceId() );
       String serverInstanceId = ids_.getServerInstanceId();
       if (serverInstanceId != null)
-        serverLabel = WebServiceRuntimeExtensionUtils.getServerInstanceLabelFromInstanceId(serverInstanceId);
+        serverLabel = WebServiceRuntimeExtensionUtils2.getServerInstanceLabelFromInstanceId(serverInstanceId);
     }
     // rskreg
     runtimeLabel = runtimeLabel == null ? "" : runtimeLabel;
@@ -157,7 +136,7 @@
     runtime_.setText( runtimeLabel );
     if (serverLabel != null)
       server_.setText( serverLabel );
-    j2eeVersionText.setText((j2eeVersion_ != null) ? J2EEUtils.getLabelFromJ2EEVersion(j2eeVersion_) : msgUtils_.getMessage("LABEL_NA"));
+ 
   }
   
   public void handleEditButton()
@@ -165,7 +144,7 @@
     byte mode = isClientContext_ ? (byte)1 : (byte)0;
     
     RuntimeServerSelectionDialog dialog     
-      = dialog = new RuntimeServerSelectionDialog( parent_.getShell(), mode, ids_, j2eeVersion_ );
+      = dialog = new RuntimeServerSelectionDialog( parent_.getShell(), mode, ids_, "14" ); //rm j2ee
     dialog.create();
     dialog.handleServerViewSelectionEvent();
     int result = dialog.open();
@@ -173,7 +152,6 @@
     if (result == Window.OK)
     {
       ids_ = dialog.getTypeRuntimeServer();
-      j2eeVersion_ = dialog.getJ2EEVersion();
       setLabels();
       statusListener_.handleEvent(null);
     }  
@@ -194,23 +172,23 @@
   /* (non-Javadoc)
    * @see org.eclipse.wst.command.env.ui.widgets.WidgetContributor#getStatus()
    */
-  public Status getStatus() 
+  public IStatus getStatus() 
   {
-    Status status = new SimpleStatus( "" );
-    String scenario = isClientContext_ ? msgUtils_.getMessage( "MSG_CLIENT_SUB" )
-                                        : msgUtils_.getMessage( "MSG_SERVICE_SUB" );
+    IStatus status = Status.OK_STATUS;
+    String scenario = isClientContext_ ? ConsumptionUIMessages.MSG_CLIENT_SUB
+                                        : ConsumptionUIMessages.MSG_SERVICE_SUB;
     
-	String                       runtimeLabel = WebServiceRuntimeExtensionUtils.getRuntimeLabelById( ids_.getRuntimeId() );
-	String                       serverLabel  = ids_.getServerId() == null ? "" : WebServiceRuntimeExtensionUtils.getServerLabelById(ids_.getServerId());
+	String                       runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById( ids_.getRuntimeId() );
+	String                       serverLabel  = ids_.getServerId() == null ? "" : WebServiceRuntimeExtensionUtils2.getServerLabelById(ids_.getServerId());
     
 	
     if( ids_.getRuntimeId() == null || runtimeLabel == null || runtimeLabel.equals("" ))
     {
-      status = new SimpleStatus( "", msgUtils_.getMessage( "MSG_NO_RUNTIME", new String[]{ scenario } ), Status.ERROR );
+      status = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_NO_RUNTIME, new String[]{ scenario } ) );
     }
     else if( ids_.getServerId() == null || serverLabel.equals( "" ))
     {
-      status = new SimpleStatus( "", msgUtils_.getMessage( "MSG_NO_SERVER", new String[]{ scenario } ), Status.ERROR );      
+      status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_NO_SERVER, new String[]{ scenario } ) );      
     }
 
     //Check if only stub runtime is available for the selected server type
@@ -237,8 +215,8 @@
 		
 		if (!foundNonStubRuntime)
 		{	
-			String servertypeLabel = WebServiceRuntimeExtensionUtils.getServerLabelById(serverFactoryId);
-			status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_STUB_ONLY",new String[]{servertypeLabel}), Status.ERROR);					
+			String servertypeLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverFactoryId);
+			status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_ERROR_STUB_ONLY,new String[]{servertypeLabel}) );					
 		}
 	}		
     
@@ -248,9 +226,9 @@
 	if (!(ids_.getServerId() == null) && !(ids_.getRuntimeId() == null) && isClientContext_)
 	{
 
-		if (!WebServiceRuntimeExtensionUtils.webServiceClientRuntimeTypeExists( ids_.getServerId(), ids_.getRuntimeId(), ids_.getTypeId())) 
+		if (!WebServiceRuntimeExtensionUtils2.isServerClientRuntimeTypeSupported( ids_.getServerId(), ids_.getRuntimeId(), ids_.getTypeId())) 
 		{
-			status = new SimpleStatus( "", msgUtils_.getMessage( "MSG_INVALID_SRT_SELECTIONS", new String[]{ scenario } ), Status.ERROR );		  
+			status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_INVALID_SRT_SELECTIONS, new String[]{ serverLabel, runtimeLabel } ) );		  
 		}
 
 	}    
@@ -259,8 +237,8 @@
     if (!(ids_.getServerId() == null) && !(ids_.getRuntimeId() == null) && !isClientContext_)
     {
 
-	  if (!WebServiceRuntimeExtensionUtils.isServerRuntimeTypeSupported(ids_.getServerId(), ids_.getRuntimeId(), ids_.getTypeId())) {	  
-        status = new SimpleStatus( "", msgUtils_.getMessage( "MSG_INVALID_SRT_SELECTIONS", new String[]{ scenario } ), Status.ERROR );      
+	  if (!WebServiceRuntimeExtensionUtils2.isServerRuntimeTypeSupported(ids_.getServerId(), ids_.getRuntimeId(), ids_.getTypeId())) {	  
+        status = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_INVALID_SRT_SELECTIONS, new String[]{ serverLabel, runtimeLabel } ) );      
       }
 
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestDelegateCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestDelegateCommand.java
index 78a4e32..cac73e1 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestDelegateCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestDelegateCommand.java
@@ -13,24 +13,25 @@
 
 import java.util.List;
 import java.util.Vector;
-
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.context.ScenarioContext;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestExtension;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceTester;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceTester;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
 
 /*
@@ -39,53 +40,40 @@
 *
 *
 */
-public class ClientTestDelegateCommand extends SimpleCommand
+public class ClientTestDelegateCommand extends AbstractDataModelOperation
 {
-  private String LABEL = "JSPGenerationTask";
-  private String DESCRIPTION = "Run the JSP Generation";
-  
-  private ScenarioContext scenarioContext;
   private WebServiceTestRegistry testRegistry;
   private SelectionList testFacilities;
-  private String folder;
   private String jspFolder;
   private BooleanSelection[] methods;
-  private boolean runClientTest=true;
   private String sampleServerTypeID;
   private IServer sampleExistingServer;
   private String proxyBean;
   private String sampleProject;
   private String sampleP;
-  private String sampleC;
   private String clientProject;
   private String clientP;
   private String clientC;
   private boolean clientNeedEAR;
   private String clientEarProjectName;
   private String clientEarComponentName;
-  private String clientServer;
-  private TypeRuntimeServer clientIds;
   private TypeRuntimeServer serverIds;
   private String serviceProject;
   private String serviceP;
-  private String serviceC;
   private String wsdlServiceURL;
-  private boolean generateProxy;
   private boolean isTestWidget = false;
   private String setEndpointMethod;
   private List endpoints;
 
   public ClientTestDelegateCommand ()
   {
-    setDescription(DESCRIPTION);
-    setName(LABEL);  
-    scenarioContext = WebServicePlugin.getInstance().getScenarioContext().copy();
     testRegistry = WebServiceTestRegistry.getInstance();
   }
 
-  public Status execute(Environment env)
-  {
-  	Status status = new SimpleStatus( "" );
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+  	IStatus status = Status.OK_STATUS;
   	String clientTestID = testFacilities.getSelection();
   	
 	//Get the webservice extension
@@ -94,11 +82,11 @@
     IWebServiceTester iwst = (IWebServiceTester)wscte.getWebServiceExecutableExtension();
 	TestInfo testInfo = getTestInfo();
 	
-	status = commandFactoryExecution(iwst.generate(testInfo),env);
+	status = commandFactoryExecution(iwst.generate(testInfo),env, monitor );
 	if(status.getSeverity() == Status.ERROR){
 	  return status;	
 	}
-	status = commandFactoryExecution(iwst.launch(testInfo),env);
+	status = commandFactoryExecution(iwst.launch(testInfo),env, monitor );
 	if(status.getSeverity() == Status.ERROR){
 	  return status;	
 	}
@@ -106,14 +94,26 @@
     return status;
   }
   
-  private Status commandFactoryExecution(ICommandFactory commandFactory,Environment env)
+  private IStatus commandFactoryExecution(ICommandFactory commandFactory,IEnvironment env, IProgressMonitor monitor )
   {
-    Status status = new SimpleStatus( "" );  	
+    IStatus status = Status.OK_STATUS;  	
 	
-	while(commandFactory.hasNext()){ 
-      status = commandFactory.getNextCommand().execute(env);
+	while(commandFactory.hasNext())
+  {
+    AbstractDataModelOperation operation = commandFactory.getNextCommand();
+    operation.setEnvironment( env );
+    
+    try
+    {
+      status = operation.execute( monitor, null );
+    }
+    catch( Exception exc )
+    {
+      status = StatusUtils.errorStatus( exc );  
+    }
+    
 	  if(status.getSeverity() == Status.ERROR){
-	    StatusHandler sHandler = env.getStatusHandler();
+	    IStatusHandler sHandler = env.getStatusHandler();
 		sHandler.reportError(status);
 		return status;
 	  }
@@ -150,19 +150,16 @@
 	  int index = sampleProject.indexOf("/");
       if (index!=-1){
         sampleP = sampleProject.substring(0,index);
-        sampleC = sampleProject.substring(index + 1);
       }
 	}
 	
-    
-	
 	TestInfo testInfo = new TestInfo();  
 	testInfo.setClientExistingServer(sampleExistingServer);
 	testInfo.setClientServerTypeID(sampleServerTypeID);
 	testInfo.setJspFolder(jspFolder);
+	testInfo.setExternalBrowser(false);
 	testInfo.setEndpoint(endpoints);
 	testInfo.setGenerationProject(sampleP);
-	testInfo.setGenerationModule(sampleC);
 	testInfo.setProxyBean(proxyBean);
 	testInfo.setSetEndpointMethod(setEndpointMethod);
 	testInfo.setClientProject(clientP);
@@ -198,7 +195,6 @@
   
   public void setFolder(String folder)
   {
-  	this.folder = folder;
   }
   
   public void setJspFolder(String jspFolder)
@@ -213,7 +209,6 @@
  
   public void setRunClientTest(boolean runClientTest)
   {
-  	this.runClientTest = runClientTest;
   }
   
   public void setProxyBean(String proxyBean)
@@ -233,7 +228,6 @@
   
   public void setScenarioContext(ScenarioContext scenarioContext)
   {
-  	this.scenarioContext = scenarioContext;
   }
   
   public void setClientTestRegistry(WebServiceTestRegistry testRegistry)
@@ -253,7 +247,6 @@
 
   public void setClientTypeRuntimeServer(TypeRuntimeServer ids)
   {
-    clientIds = ids;
   }
   
   public void setServiceTypeRuntimeServer(TypeRuntimeServer ids)
@@ -273,7 +266,6 @@
 
   public void setClientServer(String clientServer)
   {
-  	this.clientServer = clientServer;
   }
   
   public void setServerProject(String serviceProject)
@@ -287,7 +279,6 @@
 	     int index = serviceProject.indexOf("/");
        if (index!=-1) {
 		     serviceP = serviceProject.substring(0,index);
-		     serviceC = serviceProject.substring(index + 1);
 	       return serviceP;
        }
   	}	
@@ -302,7 +293,6 @@
  
   public void setGenerateProxy(boolean generateProxy)
   {
-  	this.generateProxy = generateProxy;
   }
   
   public boolean getIsTestWidget()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestFragment.java
index 1c13e3b..f86bb26 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestFragment.java
@@ -12,10 +12,10 @@
  */
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test;
 
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
 
 
 public class ClientTestFragment extends BooleanFragment
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestWidget.java
index 523bd3c..9021919 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/ClientTestWidget.java
@@ -22,6 +22,7 @@
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.common.FolderResourceFilter;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
 import org.eclipse.jst.ws.internal.ui.dialog.DialogUtils;
 import org.eclipse.swt.SWT;
@@ -40,11 +41,10 @@
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
 
 
 public class ClientTestWidget extends SimpleWidgetDataContributor
@@ -75,8 +75,6 @@
   private String INFOPOP_PWSM_COMBO_PROJECT = "PWSM0010";
 
   private Tree methodsTree_;
-  /*CONTEXT_ID PWSM0005 for the Methods tree of the Sample Page*/
-  private String INFOPOP_PWSM_TREE_METHODS = "PWSM0005";
 
   private Button selectAllMethodsButton_;
   /*CONTEXT_ID PWSM0006 for the Select All button of the Sample Page*/
@@ -98,26 +96,22 @@
   /*CONTEXT_ID PWSM0016 for the EAR combo box of the Sample Page*/
   private String INFOPOP_PWSM_EAR_COMBO = "PWSM0016";
   
-  private Label                projectExistsLabel_;
-  private Label                earExistsLabel_;
   private Composite            comboGroup_; 
   private SelectionList        testFacilities_;
   private FolderResourceFilter folderFilter_ = new FolderResourceFilter();
   private IStructuredSelection initialSelection_;
-  private String launchedServiceTestName;
   private boolean isTestWidget = false;
   
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
     isTestWidget = true;
-  	MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils, pluginId_ );
+    UIUtils      uiUtils  = new UIUtils( pluginId_ );
         
-	parent.setToolTipText( msgUtils.getMessage( "TOOLTIP_PWSM_PAGE" ) );
+	parent.setToolTipText( ConsumptionUIMessages.TOOLTIP_PWSM_PAGE );
 	PlatformUI.getWorkbench().getHelpSystem().setHelp( parent, pluginId_ + "." + INFOPOP_PWSM_PAGE );
     
-    testCheckbox_ = uiUtils.createCheckbox( parent, "BUTTON_TEST",
-                                            "TOOLTIP_PWSM_CHECKBOX_TEST",
+    testCheckbox_ = uiUtils.createCheckbox( parent, ConsumptionUIMessages.BUTTON_TEST,
+    		ConsumptionUIMessages.TOOLTIP_PWSM_CHECKBOX_TEST,
                                             INFOPOP_PWSM_CHECKBOX_TEST );
     testCheckbox_.addSelectionListener( new SelectionAdapter()
                                         {
@@ -129,31 +123,31 @@
     
     comboGroup_ = uiUtils.createComposite( parent, 3, 5, 0 );
     
-    testTypeCombo_ = uiUtils.createCombo( comboGroup_, "LABEL_TEST_TYPES",
-                                          "TOOLTIP_PWSM_COMBOBOX_TEST",
+    testTypeCombo_ = uiUtils.createCombo( comboGroup_, ConsumptionUIMessages.LABEL_TEST_TYPES,
+    									ConsumptionUIMessages.TOOLTIP_PWSM_COMBOBOX_TEST,
                                           INFOPOP_PWSM_COMBOBOX_TEST,
                                           SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
-    Label dummyLabel = new Label( comboGroup_, SWT.NONE );
+    new Label( comboGroup_, SWT.NONE );
     
-    projectCombo_ = uiUtils.createCombo( comboGroup_, "LABEL_JSP_PROJECT_NAME",
-                                          "TOOLTIP_PWSM_COMBO_PROJECT",
+    projectCombo_ = uiUtils.createCombo( comboGroup_, ConsumptionUIMessages.LABEL_JSP_PROJECT_NAME,
+    									ConsumptionUIMessages.TOOLTIP_PWSM_COMBO_PROJECT,
                                           INFOPOP_PWSM_COMBO_PROJECT,
                                           SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     projectCombo_.setEnabled( false );
-    projectExistsLabel_ = new Label( comboGroup_, SWT.NONE );
+    new Label( comboGroup_, SWT.NONE );
     
     
-    earCombo_ = uiUtils.createCombo( comboGroup_, "LABEL_EAR_PROJECTS",
-                                     "TOOLTIP_PWSM_EAR_PROJECT",
+    earCombo_ = uiUtils.createCombo( comboGroup_, ConsumptionUIMessages.LABEL_EAR_PROJECTS,
+    								ConsumptionUIMessages.TOOLTIP_PWSM_EAR_PROJECT,
                                      INFOPOP_PWSM_EAR_COMBO,
                                      SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     earCombo_.setEnabled( false );
-    earExistsLabel_ = new Label( comboGroup_, SWT.NONE );
+    new Label( comboGroup_, SWT.NONE );
     
     
     
-    sampleFolderText_ = uiUtils.createText( comboGroup_, "LABEL_FOLDER_NAME",
-                                            "TOOLTIP_PWSM_TEXT_SAMPLE_FOLDER",
+    sampleFolderText_ = uiUtils.createText( comboGroup_, ConsumptionUIMessages.LABEL_FOLDER_NAME,
+    										ConsumptionUIMessages.TOOLTIP_PWSM_TEXT_SAMPLE_FOLDER,
                                             INFOPOP_PWSM_TEXT_SAMPLE_FOLDER,
                                             SWT.SINGLE | SWT.BORDER );
     
@@ -166,8 +160,8 @@
       });
     
        
-    sampleFolderBrowseButton_ = uiUtils.createPushButton( comboGroup_, "BUTTON_BROWSE", 
-                                                          "TOOLTIP_PWSM_BUTTON_JSP_FOLDER_BROWSE",
+    sampleFolderBrowseButton_ = uiUtils.createPushButton( comboGroup_, ConsumptionUIMessages.BUTTON_BROWSE, 
+    											ConsumptionUIMessages.TOOLTIP_PWSM_BUTTON_JSP_FOLDER_BROWSE,
                                                           INFOPOP_PWSM_BUTTON_JSP_FOLDER_BROWSE );
     sampleFolderBrowseButton_.addSelectionListener( new SelectionAdapter()
                                                     {
@@ -177,14 +171,14 @@
                                                       }
                                                     });
     
-    jspFolderText_ = uiUtils.createText( comboGroup_, "LABEL_JSP_FOLDER_NAME",
-            "TOOLTIP_PWSM_TEXT_JSP_FOLDER",
+    jspFolderText_ = uiUtils.createText( comboGroup_, ConsumptionUIMessages.LABEL_JSP_FOLDER_NAME,
+    		ConsumptionUIMessages.TOOLTIP_PWSM_TEXT_JSP_FOLDER,
             INFOPOP_PWSM_TEXT_JSP_FOLDER,
             SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     jspFolderText_.setEnabled( false );
     
-    Group methodsGroup = uiUtils.createGroup( parent, "LABEL_METHODS",  
-                                             "TOOLTIP_PWSM_TREE_METHODS", null );
+    Group methodsGroup = uiUtils.createGroup( parent, ConsumptionUIMessages.LABEL_METHODS,  
+    				ConsumptionUIMessages.TOOLTIP_PWSM_TREE_METHODS, null );
     
 	methodsGroup.setLayoutData( uiUtils.createFillAll() );
 	
@@ -194,15 +188,15 @@
 	methodsGroup.setLayout( layout );
 	
 	// TODO No infopop for this tree.
-	methodsTree_ = uiUtils.createTree( methodsGroup, "TOOLTIP_PWSM_TREE_METHODS", 
+	methodsTree_ = uiUtils.createTree( methodsGroup, ConsumptionUIMessages.TOOLTIP_PWSM_TREE_METHODS, 
 	                                   null,
 	                   				   SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL	| SWT.CHECK );
 
     Composite selectButtons = uiUtils.createComposite( methodsGroup, 2 );
     
     selectAllMethodsButton_ 
-      = uiUtils.createPushButton( selectButtons, "BUTTON_SELECT_ALL", 
-                                                 "TOOLTIP_PWSM_BUTTON_SELECT_ALL",
+      = uiUtils.createPushButton( selectButtons, ConsumptionUIMessages.BUTTON_SELECT_ALL, 
+    		  ConsumptionUIMessages.TOOLTIP_PWSM_BUTTON_SELECT_ALL,
                                                  INFOPOP_PWSM_BUTTON_SELECT_ALL );
     selectAllMethodsButton_.addSelectionListener( new SelectionAdapter() 
                                                   {
@@ -213,8 +207,8 @@
                                                   });
     
     deselectAllMethodsButton_ 
-      = uiUtils.createPushButton( selectButtons, "BUTTON_DESELECT_ALL", 
-                                  "TOOLTIP_PWSM_BUTTON_DESELECT_ALL",
+      = uiUtils.createPushButton( selectButtons, ConsumptionUIMessages.BUTTON_DESELECT_ALL, 
+    		  					ConsumptionUIMessages.TOOLTIP_PWSM_BUTTON_DESELECT_ALL,
                                   INFOPOP_PWSM_BUTTON_DESELECT_ALL );
     deselectAllMethodsButton_.addSelectionListener( new SelectionAdapter() 
                                                     {
@@ -224,8 +218,8 @@
                                                       }
                                                     });
     
-    runTestCheckbox_ = uiUtils.createCheckbox( parent, "BUTTON_RUN_TEST",
-                                               "TOOLTIP_PWSM_CHECKBOX_LAUNCH",
+    runTestCheckbox_ = uiUtils.createCheckbox( parent, ConsumptionUIMessages.BUTTON_RUN_TEST,
+    										ConsumptionUIMessages.TOOLTIP_PWSM_CHECKBOX_LAUNCH,
                                                INFOPOP_PWSM_CHECKBOX_LAUNCH );
     
     return this;
@@ -376,7 +370,6 @@
   
   public void setLaunchedServiceTestName (String launchedServiceTestName)
   {
-  	this.launchedServiceTestName = launchedServiceTestName;
   }
   
   public boolean getRunClientTest()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CopyWebServiceUtilsJarCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CopyWebServiceUtilsJarCommand.java
index 8bedf58..bb5e85a 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CopyWebServiceUtilsJarCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CopyWebServiceUtilsJarCommand.java
@@ -11,35 +11,32 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test;
 
-import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class CopyWebServiceUtilsJarCommand extends SimpleCommand {
-
-	private static java.lang.String DESCRIPTION = "Copy WebserviceUtils.jar";
-	private static java.lang.String LABEL           = "CopyWebServiceUtilsJarCommand";
+public class CopyWebServiceUtilsJarCommand extends AbstractDataModelOperation 
+{
   private String sampleProject;
-	private String sampleC;
-  private MessageUtils msgUtils;
 	
 /**
  * Default CTOR;
@@ -48,28 +45,28 @@
 
 public CopyWebServiceUtilsJarCommand()
 {
-  super(LABEL,DESCRIPTION);
-  String pluginId = "org.eclipse.jst.ws.consumption";
-  msgUtils = new MessageUtils(pluginId + ".plugin", this);  
+
 }
 
 /**
  * Execute the command
  */
-public Status execute(Environment env)
+public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
 {
+  IEnvironment env = getEnvironment();
+  
   try
   {
-    env.getProgressMonitor().report( msgUtils.getMessage( "PROGRESS_INFO_COPY_WEBSERVICE_UTILS" ) );
+    ProgressUtils.report( monitor, ConsumptionMessages.PROGRESS_INFO_COPY_WEBSERVICE_UTILS );
     IProject sampleIProject = ProjectUtilities.getProject(sampleProject);    
-    IPath webModulePath = J2EEUtils.getWebContentPath(sampleIProject, sampleC);	
+    IPath webModulePath = J2EEUtils.getWebContentPath(sampleIProject);	
     if (webModulePath == null)
-      return new SimpleStatus(WebServiceConsumptionUIPlugin.ID,msgUtils.getMessage("MSG_ERROR_PROJECT_NOT_FOUND"), Status.ERROR);
+      return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_PROJECT_NOT_FOUND );
       
-    Status status = copyIFile("webserviceutils.jar",webModulePath,"WEB-INF/lib/webserviceutils.jar", WebServiceConsumptionPlugin.getInstance(),env);
+    IStatus status = copyIFile("webserviceutils.jar",webModulePath,"WEB-INF/lib/webserviceutils.jar", WebServiceConsumptionPlugin.getInstance(),env, monitor);
     if(status.getSeverity() == Status.ERROR){
-      StatusHandler sHandler = env.getStatusHandler();
-      Status errorStatus = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_FILECOPY_WEBSERVICE_UTILS"), Status.ERROR);
+      IStatusHandler sHandler = env.getStatusHandler();
+      IStatus errorStatus = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_FILECOPY_WEBSERVICE_UTILS );
       sHandler.reportError(errorStatus);	
       return status;
      }
@@ -77,33 +74,25 @@
       
     }
     catch (Exception e) {
-      StatusHandler sHandler = env.getStatusHandler();
-      Status errorStatus = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_FILECOPY_WEBSERVICE_UTILS"), Status.ERROR);
+      IStatusHandler sHandler = env.getStatusHandler();
+      IStatus errorStatus = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_FILECOPY_WEBSERVICE_UTILS );
       sHandler.reportError(errorStatus);	
-      return new SimpleStatus(WebServiceConsumptionUIPlugin.ID,msgUtils.getMessage("MSG_ERROR_FILECOPY_WEBSERVICE_UTILS"),Status.ERROR,e);
+      return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_FILECOPY_WEBSERVICE_UTILS, e);
     }
-  return new SimpleStatus("");
+  return Status.OK_STATUS;
 }
 
 /**
  *
  */
-private Status copyIFile(String source, IPath targetPath, String targetFile,Environment env)
-{
-  return copyIFile(source, targetPath, targetFile, WebServicePlugin.getInstance(),env);
-}
-
-/**
- *
- */
-private Status copyIFile(String source, IPath targetPath, String targetFile, Plugin plugin,Environment env)
+private IStatus copyIFile(String source, IPath targetPath, String targetFile, Plugin plugin,IEnvironment env, IProgressMonitor monitor )
 {
     
   if (plugin != null)
   {
     IPath target = targetPath.append(new Path(targetFile));
     
-    env.getProgressMonitor().report( msgUtils.getMessage( "PROGRESS_INFO_COPYING_FILE" ) );
+    ProgressUtils.report( monitor, ConsumptionMessages.PROGRESS_INFO_COPYING_FILE );
     try
     {
        ResourceContext context = new TransientResourceContext();
@@ -111,18 +100,18 @@
        context.setCreateFoldersEnabled(true);
        context.setCheckoutFilesEnabled(true);
        IResource resource = FileResourceUtils.findResource(target);
-       if(resource != null) return new SimpleStatus("");
-       IFile file = FileResourceUtils.createFile(context, 
-       								target,
-                                      plugin.openStream(new Path(source)),
-                                      env.getProgressMonitor(),
-                                      env.getStatusHandler());
+       if(resource != null) return Status.OK_STATUS;
+       FileResourceUtils.createFile(context, 
+                      							target,
+                                    plugin.openStream(new Path(source)),
+                                    monitor,
+                                    env.getStatusHandler());
     }
     catch (Exception e) {
-      return new SimpleStatus(WebServiceConsumptionUIPlugin.ID,msgUtils.getMessage("MSG_ERROR_FILECOPY_WEBSERVICE_UTILS"),Status.ERROR,e);
+      return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_FILECOPY_WEBSERVICE_UTILS ,e);
     }
   }
-  return new SimpleStatus("");
+  return Status.OK_STATUS;
 }
 
 public void setSampleProject(String sampleProject)
@@ -130,9 +119,5 @@
   this.sampleProject = sampleProject;  
 }
 
-public void setSampleComponent(String sampleComponent){
-  this.sampleC = sampleComponent;
-}
-
 
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CreateSampleProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CreateSampleProjectCommand.java
index e3b7f5e..e682844 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CreateSampleProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/CreateSampleProjectCommand.java
@@ -12,16 +12,18 @@
 
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.command.common.AddModuleToServerCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.AssociateModuleWithEARCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 
-public class CreateSampleProjectCommand extends SimpleCommand
+public class CreateSampleProjectCommand extends AbstractDataModelOperation
 {
   private String sampleProject;
   private String sampleProjectEar;
@@ -33,11 +35,11 @@
   
   public CreateSampleProjectCommand()
   {
-    super("org.eclipse.jst.ws.internal.consumption.ui.wizard.client.common.CreateSampleProjectCommand","org.eclipse.jst.ws.internal.consumption.ui.wizard.client.common.CreateSampleProjectCommand");
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
     IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
     if (!root.getProject(sampleProject).exists() || !root.getProject(sampleProjectEar).exists())
     {
@@ -54,7 +56,8 @@
 	  command.setServerFactoryId(serverFactoryId);
 	  command.setServerInstanceId(existingServer.getId());
 	  command.setJ2eeLevel(j2eeVersion);
-	  Status status = command.execute(env);
+    command.setEnvironment( env );
+	  IStatus status = command.execute( monitor, null ) ;
 	  if (status.getSeverity()==Status.ERROR)
 	  {
 		  env.getStatusHandler().reportError(status);
@@ -72,7 +75,8 @@
 			commandEAR.setServerFactoryId(serverFactoryId);
 			commandEAR.setServerInstanceId(existingServer.getId());
 			commandEAR.setJ2eeLevel(j2eeVersion);
-			status = commandEAR.execute(env);
+      commandEAR.setEnvironment( env );
+			status = commandEAR.execute( monitor, null );
 			if (status.getSeverity()==Status.ERROR)
 			{
 			  env.getStatusHandler().reportError(status);
@@ -88,7 +92,8 @@
 			//TODO The EAR component name is not necessarily the same as the project name
 			//so the component name needs to somehow be piped into this command
 			associateCommand.setEar(sampleProjectEar);
-			status = associateCommand.execute(env);
+      associateCommand.setEnvironment( env );
+			status = associateCommand.execute( monitor, null );
 			if (status.getSeverity()==Status.ERROR)
 			{
 				env.getStatusHandler().reportError(status);
@@ -102,8 +107,8 @@
 			//TODO The EAR component name is not necessarily the same as the project name
 			//so the component name needs to somehow be piped into this command
 			commandInstall.setModule(sampleProjectEar);
-				
-			status = commandInstall.execute(env);
+			commandInstall.setEnvironment( env );	
+			status = commandInstall.execute( monitor, null ) ;
 			if (status.getSeverity()==Status.ERROR)
 			{
 				env.getStatusHandler().reportError(status);
@@ -117,8 +122,9 @@
 			commandInstall.setServerInstanceId(existingServer.getId());
 			commandInstall.setProject(sampleProject);
 			commandInstall.setModule(sampleProject);
+      commandInstall.setEnvironment( env );
 			
-			status = commandInstall.execute(env);
+			status = commandInstall.execute( monitor, null ) ;
 			if (status.getSeverity()==Status.ERROR)
 			{
 				env.getStatusHandler().reportError(status);
@@ -127,7 +133,7 @@
 		}
 		  
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   public void setSampleProject(String sampleProject)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishDefaultCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishDefaultCommand.java
index 855c35f..9c6df0c 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishDefaultCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishDefaultCommand.java
@@ -11,10 +11,11 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
 
@@ -25,26 +26,20 @@
 *
 *
 */
-public class FinishDefaultCommand extends SimpleCommand
+public class FinishDefaultCommand extends AbstractDataModelOperation
 {
-  private String LABEL = "JSPGenerationTask";
-  private String DESCRIPTION = "Run the JSP Generation";
-  
   private String sampleServerTypeID;
   private IServer sampleExistingServer;
-  private String existingServerId_;
   private String sampleServerInstanceId;
 
   
   public FinishDefaultCommand ()
   {
-    setDescription(DESCRIPTION);
-    setName(LABEL);  
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-  	Status status = new SimpleStatus( "" );
+  	IStatus status = Status.OK_STATUS;
   	if(sampleServerInstanceId != null){
   	  sampleExistingServer = ServerCore.findServer(sampleServerInstanceId);
   	if (sampleExistingServer != null)
@@ -73,7 +68,6 @@
 
   public void setExistingServerId(String existingServerId)
   {
-    existingServerId_ = existingServerId;
   }  
 
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishJavaTestFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishJavaTestFragment.java
index b6e822d..f90c1b5 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishJavaTestFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishJavaTestFragment.java
@@ -17,10 +17,10 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test;
 
 import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
 
 
 /**
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishTestFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishTestFragment.java
index 5000b77..aeb174a 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishTestFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/FinishTestFragment.java
@@ -20,8 +20,8 @@
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestExtension;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
 
 
 /**
@@ -33,7 +33,6 @@
 public class FinishTestFragment extends BooleanFragment{
 
   private boolean isTestWidget;	
-  private boolean launchedTest;
   private boolean generateProxy;
   private String launchedServiceTestName;
   private boolean testService;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestClientDepartureInitCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestClientDepartureInitCommand.java
index 1df7d18..6c61eba 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestClientDepartureInitCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestClientDepartureInitCommand.java
@@ -16,7 +16,12 @@
  */
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
  * @author gilberta
@@ -24,7 +29,7 @@
  * To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Generation - Code and Comments
  */
-public class TestClientDepartureInitCommand extends SimpleCommand 
+public class TestClientDepartureInitCommand extends AbstractDataModelOperation 
 {
   
   private boolean forceBuild;	
@@ -38,5 +43,10 @@
   {
   	return forceBuild;
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
   
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestDefaultingFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestDefaultingFragment.java
index 6db63c8..a595294 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestDefaultingFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestDefaultingFragment.java
@@ -16,14 +16,14 @@
  */
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.context.ScenarioContext;
-import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
@@ -32,18 +32,18 @@
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
-public class TestDefaultingFragment extends SimpleCommand
+public class TestDefaultingFragment extends AbstractDataModelOperation
 {
   
-  private WebServiceTestRegistry testRegistry;
   private SelectionList testFacilities;
   private String launchedServiceTestName;
   private ScenarioContext scenarioContext;	
+  private boolean generateProxy;
   
   
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-  	SimpleStatus status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
   	
   	scenarioContext = WebServicePlugin.getInstance().getScenarioContext().copy();
   	//  test facilities
@@ -71,8 +71,11 @@
     //put it on the bottom
     String[] testTypes = scenarioContext.getWebServiceTestTypes();	  
     String[] newTestTypes = new String[testTypes.length];
-    boolean launched = false;
-    int j = 0;
+	String[] wsdlCases = scenarioContext.getNonJavaTestService();
+	boolean launched = false;
+    
+	int j = 0;
+	
     for(int i = 0;i<testTypes.length;i++){
 	  if(testTypes[i].equals(launchedServiceTestName))
 	    launched = true;
@@ -84,8 +87,12 @@
 	   	
     if(launched)
 	  newTestTypes[testTypes.length - 1] = launchedServiceTestName;
-	  	
-    testFacilities = new SelectionList(newTestTypes,0);	
+    
+	
+	if(!generateProxy)
+      testFacilities = new SelectionList(wsdlCases,0);	
+	else
+	  testFacilities = new SelectionList(newTestTypes,0);	
   }
 
   public void setLaunchedServiceTestName(String launchedServiceTestName)
@@ -93,4 +100,9 @@
   	this.launchedServiceTestName = launchedServiceTestName;
   }
   
+  public void setGenerateProxy(boolean generateProxy)
+  {
+  	this.generateProxy = generateProxy;
+  }
+  
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestWebServiceClient.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestWebServiceClient.java
index b894a7c..a4efaab 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestWebServiceClient.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/TestWebServiceClient.java
@@ -1,11 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.ws.internal.provisional.wsrt.AbstractWebServiceClient;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceClientInfo;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.ws.internal.wsrt.AbstractWebServiceClient;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceClientInfo;
 
 public class TestWebServiceClient extends AbstractWebServiceClient {
   
@@ -13,30 +24,30 @@
 	super(clientInfo);  
   }
   
-  public ICommandFactory assemble(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear){
+  public ICommandFactory assemble(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject){
     return null;	  
   }
 			
-  public ICommandFactory deploy(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear){
+  public ICommandFactory deploy(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject){
     return null;	  
   }
 			
 
-  public ICommandFactory develop(Environment env, IContext ctx, ISelection sel,
-		      String project, String module, String earProject, String ear){
+  public ICommandFactory develop(IEnvironment env, IContext ctx, ISelection sel,
+		      String project, String earProject){
     return null;	  
   }
 				
-  public ICommandFactory install(Environment env, IContext ctx, ISelection sel,
-		      String project, String module, String earProject, String ear){
+  public ICommandFactory install(IEnvironment env, IContext ctx, ISelection sel,
+		      String project, String earProject){
     return null;
   }
 			
 
-  public ICommandFactory run(Environment env, IContext ctx, ISelection sel,
-		      String project, String module, String earProject, String ear){
+  public ICommandFactory run(IEnvironment env, IContext ctx, ISelection sel,
+		      String project, String earProject){
     return null;	  
   }
   
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WSDLTestLaunchCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WSDLTestLaunchCommand.java
index 9b9cd7a..89d839b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WSDLTestLaunchCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WSDLTestLaunchCommand.java
@@ -17,28 +17,30 @@
 
 import java.util.List;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestExtension;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.Command;
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceTester;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceTester;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
 /**
  * @author gilberta
  *
  * Window - Preferences - Java - Code Style - Code Templates
  */
-public class WSDLTestLaunchCommand extends SimpleCommand
+public class WSDLTestLaunchCommand extends AbstractDataModelOperation
 {
   private String testID; 
   private String launchedServiceTestName;
@@ -46,7 +48,6 @@
   private String serverProject;
   private String serverModule;
   private String wsdlURI;
-  private MessageUtils msgUtils;
   private boolean externalBrowser;
   private List endpoints;
   private IServer serviceExistingServer = null;
@@ -55,13 +56,12 @@
 	
   public WSDLTestLaunchCommand()
   {
-  	String pluginId = "org.eclipse.jst.ws.consumption.ui";
-	msgUtils = new MessageUtils(pluginId + ".plugin", this);  	
   }
   
-  public Status execute(Environment env)
-  {
-  	Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+  	IStatus status = Status.OK_STATUS;
   	
   	WebServiceTestRegistry testRegistry = WebServiceTestRegistry.getInstance();
   	WebServiceTestExtension wscte = (WebServiceTestExtension)testRegistry.getWebServiceExtensionsByName(testID);
@@ -69,12 +69,12 @@
 	TestInfo testInfo = getTestInfo();
 	
 	
-	status = commandFactoryExecution(iwst.launch(testInfo),env);
+	status = commandFactoryExecution(iwst.launch(testInfo),env, monitor);
 	
     //Dont need to shut everything down because the wsdl test doesnt work
     if(status.getSeverity() != Status.OK){
-      StatusHandler sHandler = env.getStatusHandler();
-      Status infoStatus = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_UNABLE_TO_LAUNCH_WSDL_TEST"), Status.INFO);
+      IStatusHandler sHandler = env.getStatusHandler();
+      IStatus infoStatus = StatusUtils.infoStatus( ConsumptionUIMessages.MSG_ERROR_UNABLE_TO_LAUNCH_WSDL_TEST );
       sHandler.reportInfo(infoStatus);
       return infoStatus;	
     }
@@ -82,15 +82,28 @@
   	
   }
 
-  private Status commandFactoryExecution(ICommandFactory commandFactory,Environment env)
+  private IStatus commandFactoryExecution(ICommandFactory commandFactory,IEnvironment env, IProgressMonitor monitor)
   {
-	Status status = new SimpleStatus( "" );  	
-	while(commandFactory.hasNext()){ 
-	  Command command = commandFactory.getNextCommand();
-	  if (command != null)
-	    status = command.execute(env);
+	IStatus status = Status.OK_STATUS;  	
+	while(commandFactory.hasNext())
+  { 
+	  AbstractDataModelOperation operation = commandFactory.getNextCommand();
+    
+	  if (operation != null)
+    {
+      try
+      {
+        operation.setEnvironment( env );
+	      status = operation.execute( monitor, null );
+      }
+      catch( Exception exc )
+      {
+        status = StatusUtils.errorStatus( exc );
+      }
+    }
+    
 	  if(status.getSeverity() == Status.ERROR){
-	    StatusHandler sHandler = env.getStatusHandler();
+	    IStatusHandler sHandler = env.getStatusHandler();
 		sHandler.reportError(status);
 		return status;
 	  }
@@ -119,6 +132,7 @@
     testInfo.setServiceServerTypeID(serviceServerTypeID);
 	testInfo.setServiceProject(serverProject);
 	testInfo.setWsdlServiceURL(wsdlURI);
+	testInfo.setExternalBrowser(externalBrowser);
 	testInfo.setEndpoint(endpoints);
 	return testInfo;
 	
@@ -152,7 +166,7 @@
 
   public void setExternalBrowser(boolean externalBrowser)
   {
-  	this.externalBrowser = externalBrowser;
+	  this.externalBrowser = externalBrowser;
   }
   
   public void setEndpoint(List endpoints)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceClientTestArrivalCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceClientTestArrivalCommand.java
index 0c669db..9202593 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceClientTestArrivalCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceClientTestArrivalCommand.java
@@ -14,23 +14,22 @@
 import java.util.ListIterator;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+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.Method;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.consumption.command.common.JavaMofReflectionCommand;
-import org.eclipse.jst.ws.internal.context.ScenarioContext;
-import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
@@ -38,27 +37,18 @@
 * client page
 *
 */
-public class WebServiceClientTestArrivalCommand extends SimpleCommand
+public class WebServiceClientTestArrivalCommand extends AbstractDataModelOperation
 {
   public static final String DEFAULT_WEB_MODULE_ROOT = "WebContent";
   public static final String DEFAULT_SAMPLE_WEB_PROJECT_EXT = "Sample";
-  
 
-  private String LABEL = "WebServiceClientTestArrivalTask";
-  private String DESCRIPTION = "default actions";
-  private MessageUtils msgUtils;
   public static String SAMPLE_DIR = "sample";
-  private String PROXY = "Proxy";
-
-  private ScenarioContext scenarioContext;
- 
   
   private String clientProject;
   private String clientProjectEAR;
   private String clientP;
   private String clientC;
   private IProject clientIProject;
-  private WebServiceTestRegistry testRegistry;
   private String folder;
   private String jspFolder;
   private BooleanSelection[] methods;
@@ -75,25 +65,19 @@
   */
   public WebServiceClientTestArrivalCommand ()
   {
-  	setDescription(DESCRIPTION);
-  	setName(LABEL);
-  	String pluginId = "org.eclipse.jst.ws.consumption.ui";
-	msgUtils = new MessageUtils(pluginId + ".plugin", this);  	
-    
-    scenarioContext = WebServicePlugin.getInstance().getScenarioContext().copy();
-  	testRegistry = WebServiceTestRegistry.getInstance();
+
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
   	
-	Status status = new SimpleStatus( "" );
+	IStatus status = Status.OK_STATUS;
   	
 	sampleProjectAndEarSetup(env);
   	
     //Get the sample Folder ready
     StringBuffer sb = new StringBuffer();
-	IPath path= null;
 	
 	sb.append("/").append(sampleC).append("/").append(DEFAULT_WEB_MODULE_ROOT).append("/");
     folder = SAMPLE_DIR + getBean(); 
@@ -107,8 +91,8 @@
     * Getting the method names using javamof introspection
     */
     if(proxyBean == null){
-      StatusHandler sHandler = env.getStatusHandler();
-      Status errorStatus = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_JTS_PROXY_NOT_COMPILED"), Status.ERROR);
+      IStatusHandler sHandler = env.getStatusHandler();
+      IStatus errorStatus = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_JTS_PROXY_NOT_COMPILED );
       sHandler.reportError(errorStatus);
       return errorStatus;
       
@@ -118,16 +102,17 @@
     JavaMofReflectionCommand javamofcommand = new JavaMofReflectionCommand(); 
     javamofcommand.setProxyBean(proxyBean);
     javamofcommand.setClientProject(clientP);
+    javamofcommand.setEnvironment( env );
     
     
     
     try{ 
-      Status mofStatus = javamofcommand.execute(env);
+      IStatus mofStatus = javamofcommand.execute( monitor, null);
       if(mofStatus.getSeverity() == Status.ERROR)
       	return mofStatus;
     }catch(Exception exc){
-    	StatusHandler sHandler = env.getStatusHandler();
-        Status errorStatus = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_JTS_PROXY_NOT_COMPILED"), Status.ERROR);
+    	IStatusHandler sHandler = env.getStatusHandler();
+        IStatus errorStatus = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_JTS_PROXY_NOT_COMPILED );
         sHandler.reportError(errorStatus);
         return errorStatus;
     }  
@@ -147,7 +132,6 @@
     {
       Method method = (Method)listIterator.next();
       if(method.isConstructor()) continue;
-      String signature = method.getMethodElementSignature();
       
       tempMethods[j] = new BooleanSelection( method.getMethodElementSignature(), true);      
       j++;
@@ -157,7 +141,7 @@
   }
   public static final String DEFAULT_SAMPLE_EAR_PROJECT_EXT = "EAR";
   
-  private void sampleProjectAndEarSetup(Environment env)
+  private void sampleProjectAndEarSetup(IEnvironment env)
   {
 	if(clientProject == null) return;
   	else{
@@ -168,7 +152,7 @@
 	  
 	clientIProject = (IProject)ProjectUtilities.getProject(clientP);
   	
-  	if(J2EEUtils.isWebComponent(clientIProject, clientC)){
+  	if(J2EEUtils.isWebComponent(clientIProject)){
       sampleProject = clientProject;
 	  sampleP = clientP;
 	  sampleC = clientC;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceTestClientDepartureFragment.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceTestClientDepartureFragment.java
index 9e0efec..00bdfd0 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceTestClientDepartureFragment.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/WebServiceTestClientDepartureFragment.java
@@ -18,9 +18,9 @@
 
 import org.eclipse.jst.ws.internal.consumption.command.common.BuildProjectCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.wssample.AddModuleDependenciesCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 /**
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/ExplorerServiceTestCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/ExplorerServiceTestCommand.java
index fcd2a22..ebbf6a4 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/ExplorerServiceTestCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/ExplorerServiceTestCommand.java
@@ -15,30 +15,24 @@
 import java.util.List;
 import java.util.Vector;
 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.command.common.StartProjectCommand;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.ext.test.WSDLTestFinishCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.ws.internal.explorer.LaunchOption;
 import org.eclipse.wst.ws.internal.explorer.LaunchOptions;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 import org.eclipse.wst.ws.internal.explorer.plugin.ExplorerPlugin;
 
-public class ExplorerServiceTestCommand extends SimpleCommand implements WSDLTestFinishCommand
+public class ExplorerServiceTestCommand extends AbstractDataModelOperation implements WSDLTestFinishCommand
 {
 
-  private String LABEL = "ExplorerServiceTestCommand";
-  private String DESCRIPTION = "Launch the Explorer";
   private boolean externalBrowser = true;
   private String wsdlServiceURL;
-  private String serviceServerTypeID;
-  private IServer serviceExistingServer;
-  private String serviceProject;
   private List endpoints;
   
   /**
@@ -46,25 +40,14 @@
   */
   public ExplorerServiceTestCommand ()
   {
-  	setDescription(DESCRIPTION);
-  	setName(LABEL);
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-  	Status status = new SimpleStatus( "" );
+    IEnvironment env = getEnvironment();
     
-    StartProjectCommand spc = new StartProjectCommand( true );
-    spc.setServiceServerTypeID(serviceServerTypeID);
-    spc.setServiceExistingServer(serviceExistingServer);
-    IProject project = (IProject) ResourceUtils.findResource(serviceProject);
-    spc.setServiceProject(project);
-    spc.setIsWebProjectStartupRequested(true);
+  	IStatus status = Status.OK_STATUS;
     
-    status = spc.execute(env);
-    if (status.getSeverity() == Status.ERROR)
-    	return status;
-
     WSExplorerLauncherCommand launchCommand = new WSExplorerLauncherCommand();
     launchCommand.setForceLaunchOutsideIDE(externalBrowser);
     Vector launchOptionVector = new Vector();
@@ -77,7 +60,8 @@
       for (Iterator it = endpoints.iterator(); it.hasNext();)
         launchOptionVector.add(new LaunchOption(LaunchOptions.WEB_SERVICE_ENDPOINT, it.next().toString()));
     launchCommand.setLaunchOptions((LaunchOption[])launchOptionVector.toArray(new LaunchOption[0]));
-    status = launchCommand.execute(env);
+    launchCommand.setEnvironment( env );
+    status = launchCommand.execute( monitor, null );
     return status;
   }
 
@@ -93,17 +77,17 @@
   
   public void setServerTypeID(String serviceServerTypeID)
   {
-  	this.serviceServerTypeID = serviceServerTypeID;
+    //TODO: Type mappings to this property should be removed.
   }
   
   public void setExistingServer(IServer serviceExistingServer)
   {
-  	this.serviceExistingServer = serviceExistingServer;
+    //TODO: Type mappings to this property should be removed.
   }
   
   public void setServiceProject(String serviceProject)
   {
-    this.serviceProject = serviceProject;
+    //TODO: Type mappings to this property should be removed.
   }
   
   public void setEndpoint(List endpoints)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEGenerateCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEGenerateCommand.java
index be7603a..8ad6eeb 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEGenerateCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEGenerateCommand.java
@@ -1,48 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.explorer;
 
 import java.util.Iterator;
 import java.util.Vector;
 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.ws.internal.consumption.command.common.StartProjectCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.explorer.LaunchOption;
 import org.eclipse.wst.ws.internal.explorer.LaunchOptions;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 import org.eclipse.wst.ws.internal.explorer.plugin.ExplorerPlugin;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
-public class WSEGenerateCommand extends SimpleCommand {
+public class WSEGenerateCommand extends AbstractDataModelOperation 
+{
 
   private TestInfo testInfo;
-  private Model proxyModel;
 	  
   public WSEGenerateCommand(TestInfo testInfo){
     this.testInfo = testInfo;
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-  	Status status = new SimpleStatus( "" );
+    IEnvironment env = getEnvironment();
     
-    StartProjectCommand spc = new StartProjectCommand( true );
-    spc.setServiceServerTypeID(testInfo.getServiceServerTypeID());
-    spc.setServiceExistingServer(testInfo.getServiceExistingServer());
-    IProject project = (IProject) ProjectUtilities.getProject(testInfo.getServiceProject());
-    spc.setServiceProject(project);
-    spc.setIsWebProjectStartupRequested(true);
+  	IStatus status = Status.OK_STATUS;
     
-    status = spc.execute(env);
-    if (status.getSeverity() == Status.ERROR)
-    	return status;
-
     WSExplorerLauncherCommand launchCommand = new WSExplorerLauncherCommand();
-    launchCommand.setForceLaunchOutsideIDE(false);
+    launchCommand.setForceLaunchOutsideIDE(testInfo.getExternalBrowser());
     Vector launchOptionVector = new Vector();
 	String stateLocation = ExplorerPlugin.getInstance().getPluginStateLocation();
 	String defaultFavoritesLocation = ExplorerPlugin.getInstance().getDefaultFavoritesLocation();
@@ -53,7 +53,8 @@
       for (Iterator it = testInfo.getEndpoint().iterator(); it.hasNext();)
         launchOptionVector.add(new LaunchOption(LaunchOptions.WEB_SERVICE_ENDPOINT, it.next().toString()));
     launchCommand.setLaunchOptions((LaunchOption[])launchOptionVector.toArray(new LaunchOption[0]));
-    status = launchCommand.execute(env);
+    launchCommand.setEnvironment( env );
+    status = launchCommand.execute( monitor, null );
     return status;
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEWebServiceTester.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEWebServiceTester.java
index 6ab3b93..cfa116d 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEWebServiceTester.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WSEWebServiceTester.java
@@ -1,11 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.explorer;
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceTester;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceTester;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
 public class WSEWebServiceTester implements IWebServiceTester  {
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WebServiceExplorerExecutable.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WebServiceExplorerExecutable.java
index 22b35f6..ecb320e 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WebServiceExplorerExecutable.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/explorer/WebServiceExplorerExecutable.java
@@ -12,7 +12,7 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.explorer;
 
 import org.eclipse.jst.ws.internal.ext.WebServiceExecutable;
-import org.eclipse.jst.ws.internal.ext.WebServiceFinishCommand;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
 * This is the interface for objects that represent a kind of
@@ -25,7 +25,7 @@
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
    
   
-  public WebServiceFinishCommand getFinishCommand()
+  public AbstractDataModelOperation getFinishCommand()
   {
     return new ExplorerServiceTestCommand();
   }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/AddModuleDependenciesCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/AddModuleDependenciesCommand.java
index da50317..610d5af 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/AddModuleDependenciesCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/AddModuleDependenciesCommand.java
@@ -11,10 +11,15 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.wssample;
 
 import java.io.IOException;
+import java.util.List;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
@@ -22,18 +27,24 @@
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.j2ee.project.facet.IJavaProjectMigrationDataModelProperties;
+import org.eclipse.jst.j2ee.project.facet.JavaProjectMigrationDataModelProvider;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.consumption.command.common.AddModuleToServerCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.AssociateModuleWithEARCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
-import org.eclipse.jst.ws.internal.consumption.command.common.StartServerCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.jst.ws.internal.consumption.ui.command.StartServerCommand;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
+import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsDataModelProvider;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
-public class AddModuleDependenciesCommand extends SimpleCommand
+public class AddModuleDependenciesCommand extends AbstractDataModelOperation
 {
   
   private TestInfo testInfo;	
@@ -53,19 +64,20 @@
    * Execute WebServerDefaultingTask Set the default server name and id given a
    * deployable.
    */
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
     try
     {
-      createSampleProjects(env);
+      createSampleProjects(env, monitor );
 	  clientIProject = ProjectUtilities.getProject(testInfo.getClientProject());
 	        
-      if (clientIProject != null && !J2EEUtils.isWebComponent(clientIProject, testInfo.getClientModule()))
+      if (clientIProject != null && !J2EEUtils.isWebComponent(clientIProject))
       {
         String uri = clientIProject.getName() + ".jar";
-		if (J2EEUtils.isJavaComponent(clientIProject,testInfo.getClientModule()))
-          addJavaProjectAsUtilityJar(clientIProject, sampleEARIProject, uri);
-        addJAROrModuleDependency(sampleIProject, testInfo.getGenerationModule(), uri);
+		if (J2EEUtils.isJavaComponent(clientIProject))
+          addJavaProjectAsUtilityJar(clientIProject, sampleEARIProject, uri,monitor);
+        addJAROrModuleDependency(sampleIProject, uri);
         addBuildPath(sampleIProject, clientIProject);
       }
     }
@@ -75,17 +87,32 @@
     catch (CoreException ce)
     {
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
-  private void addJavaProjectAsUtilityJar(IProject javaProject, IProject earProject, String uri)
+  private void addJavaProjectAsUtilityJar(IProject javaProject, IProject earProject, String uri,IProgressMonitor monitor)
   {
-		//  TODO  Remove refs to old command
-//    AddUtilityJARMapCommand cmd = new AddUtilityJARMapCommand(earProject, uri, javaProject);
-//    cmd.execute();
+	  try {
+		  IDataModel migrationdm = DataModelFactory.createDataModel(new JavaProjectMigrationDataModelProvider());
+		  migrationdm.setProperty(IJavaProjectMigrationDataModelProperties.PROJECT_NAME, javaProject.getName());
+		  migrationdm.getDefaultOperation().execute(monitor, null);
+ 
+ 
+		  IDataModel refdm = DataModelFactory.createDataModel(new CreateReferenceComponentsDataModelProvider());
+		  List targetCompList = (List) refdm.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
+ 
+		  IVirtualComponent targetcomponent = ComponentCore.createComponent(javaProject);
+		  targetCompList.add(targetcomponent);
+ 
+		  refdm.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earProject);
+		  refdm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, targetCompList);
+		  refdm.getDefaultOperation().execute(monitor, null);
+	  }catch (Exception e) {
+		  
+	  }
   }
 
-  private void addJAROrModuleDependency(IProject project, String compName, String uri) throws IOException, CoreException
+  private void addJAROrModuleDependency(IProject project, String uri) throws IOException, CoreException
   {
      ArchiveManifest manifest = J2EEProjectUtilities.readManifest(project);
      manifest.mergeClassPath(new String[]{uri});
@@ -95,21 +122,17 @@
 
   public static final String DEFAULT_SAMPLE_EAR_PROJECT_EXT = "EAR";
   
-  private void createSampleProjects(Environment env){
-	  
-	  
-	  
+  private void createSampleProjects(IEnvironment env, IProgressMonitor monitor )
+  {
 	  sampleIProject = ProjectUtilities.getProject(testInfo.getGenerationProject());
 	  clientIProject = ProjectUtilities.getProject(testInfo.getClientProject());
 	  
 	if (testInfo.getClientNeedEAR()) {
 	  if(testInfo.getClientEARProject() == null || testInfo.getClientEARProject().length() == 0){
-		  sampleEARProject = testInfo.getGenerationProject() + DEFAULT_SAMPLE_EAR_PROJECT_EXT;
-	      sampleEARModule = testInfo.getGenerationModule() + DEFAULT_SAMPLE_EAR_PROJECT_EXT;	
+		  sampleEARProject = testInfo.getGenerationProject() + DEFAULT_SAMPLE_EAR_PROJECT_EXT;	
 	  }
 	  else{ 
 	      sampleEARProject = testInfo.getClientEARProject();
-		  sampleEARModule = testInfo.getClientEARModule();
 	  }
 	  
 	  sampleEARIProject  = ProjectUtilities.getProject(sampleEARProject);
@@ -121,8 +144,9 @@
 	    createEAR.setServerInstanceId(testInfo.getClientExistingServer().getId());
 	    createEAR.setServerFactoryId(testInfo.getClientServerTypeID());
 	    createEAR.setModuleType(CreateModuleCommand.EAR);
-	    createEAR.setJ2eeLevel(J2EEUtils.getJ2EEVersionAsString(clientIProject,testInfo.getClientModule()));
-		Status status = createEAR.execute(env);
+	    createEAR.setJ2eeLevel(J2EEUtils.getJ2EEVersionAsString(clientIProject));
+		createEAR.setEnvironment( env );
+		  IStatus status = createEAR.execute( monitor, null );
 	    if (status.getSeverity()==Status.ERROR)
         {
           env.getStatusHandler().reportError(status);     
@@ -132,7 +156,8 @@
 		modToServer.setModule(sampleEARModule);
 		modToServer.setProject(sampleEARProject);
 		modToServer.setServerInstanceId(testInfo.getClientExistingServer().getId());
-		status = modToServer.execute(env);
+		modToServer.setEnvironment( env );
+		status = modToServer.execute( monitor, null );
 		if (status.getSeverity()==Status.ERROR)
 	    {
 	      env.getStatusHandler().reportError(status);     
@@ -145,30 +170,46 @@
       {
         CreateModuleCommand createSample = new CreateModuleCommand();
         createSample.setProjectName(testInfo.getGenerationProject());
-        createSample.setModuleName(testInfo.getGenerationModule());
 		createSample.setModuleType(CreateModuleCommand.WEB);
 		createSample.setServerInstanceId(testInfo.getClientExistingServer().getId());
         createSample.setServerFactoryId(testInfo.getClientServerTypeID());
-        createSample.setJ2eeLevel(J2EEUtils.getJ2EEVersionAsString(clientIProject,testInfo.getClientModule()));
-		Status status = createSample.execute(env);
+        createSample.setJ2eeLevel(J2EEUtils.getJ2EEVersionAsString(clientIProject));
+        createSample.setEnvironment( env );
+		IStatus status = createSample.execute( monitor, null );
       
 	   if (testInfo.getClientNeedEAR()) {
 //		Associate the client module and service EAR
 	    AssociateModuleWithEARCommand associateCommand = new AssociateModuleWithEARCommand();
 	    associateCommand.setProject(testInfo.getGenerationProject());
-	    associateCommand.setModule(testInfo.getGenerationModule());
 	    associateCommand.setEARProject(sampleEARProject);
 	    associateCommand.setEar(sampleEARModule);
-	    status = associateCommand.execute(env);
+		associateCommand.setEnvironment( env );
+	    status = associateCommand.execute( monitor, null );
 	    if (status.getSeverity()==Status.ERROR)
 	    {
 	      env.getStatusHandler().reportError(status);     
 	    }  
 	   }
+       else
+       {
+         // If no EAR is needed, the sample project needs to be added to
+         // to the server directly.
+        AddModuleToServerCommand addToServer = new AddModuleToServerCommand();
+        addToServer.setModule(testInfo.getGenerationProject());
+        addToServer.setProject(testInfo.getGenerationProject());
+        addToServer.setServerInstanceId(testInfo.getClientExistingServer().getId());
+        addToServer.setEnvironment( env );
+        status = addToServer.execute( monitor, null );
+        if (status.getSeverity()==Status.ERROR)
+        {
+          env.getStatusHandler().reportError(status);     
+        }              
+       }
 		
 		StartServerCommand startServer = new StartServerCommand(false, true);
 		startServer.setServerInstanceId(testInfo.getClientExistingServer().getId());
-		status = startServer.execute(env);
+		startServer.setEnvironment( env );
+		status = startServer.execute( monitor, null );
 	    if (status.getSeverity()==Status.ERROR)
 	    {
 	      env.getStatusHandler().reportError(status);     
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCGenerateCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCGenerateCommand.java
index ec9295c..e7d91d9 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCGenerateCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCGenerateCommand.java
@@ -1,13 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.wssample;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.codegen.InputFileGenerator;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.codegen.MethodFileGenerator;
@@ -16,14 +30,14 @@
 import org.eclipse.jst.ws.internal.consumption.sampleapp.command.GeneratePageCommand;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.command.JavaToModelCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.CopyWebServiceUtilsJarCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.ui.eclipse.EnvironmentUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.datamodel.Model;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
-public class GSTCGenerateCommand extends SimpleCommand {
+public class GSTCGenerateCommand extends AbstractDataModelOperation 
+{
 
   public static String INPUT       = "Input.jsp";
   public static String TEST_CLIENT = "TestClient.jsp";
@@ -38,16 +52,17 @@
   	this.testInfo = testInfo;
   }
 	
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    Status status = new SimpleStatus( "" );
+    IEnvironment env = getEnvironment();
+    IStatus status = Status.OK_STATUS;
 	CopyWebServiceUtilsJarCommand copy = new CopyWebServiceUtilsJarCommand();    
 	copy.setSampleProject(testInfo.getGenerationProject());
-    copy.setSampleComponent(testInfo.getGenerationModule());
-	status = copy.execute(env);
+    copy.setEnvironment( env );
+	status = copy.execute( monitor, null);
 	if (status.getSeverity() == Status.ERROR) return status;
 	setJSPFolder();
-	status = createModel(env);
+	status = createModel(env, monitor);
 	if (status.getSeverity() == Status.ERROR) return status;
 	status = generatePages(env);
 	if (status.getSeverity() == Status.ERROR) return status;
@@ -60,9 +75,9 @@
 	//flexible projects  
 	  
 	IProject clientIProject = ProjectUtilities.getProject(testInfo.getClientProject());
-    if (clientIProject != null && !J2EEUtils.isWebComponent(clientIProject, testInfo.getClientModule())){   
+    if (clientIProject != null && !J2EEUtils.isWebComponent(clientIProject)){   
 	  IProject project = ProjectUtilities.getProject(testInfo.getGenerationProject());
-	  IPath path = J2EEUtils.getWebContentPath(project,testInfo.getGenerationModule());
+	  IPath path = J2EEUtils.getWebContentPath(project);
 	  int index = testInfo.getJspFolder().lastIndexOf("/");
 	  String jsp = testInfo.getJspFolder().substring(index + 1);
 	  StringBuffer sb = new StringBuffer();	
@@ -76,14 +91,15 @@
   }
   
   //create the model from the resource
-  private Status createModel(Environment env) {
+  private IStatus createModel(IEnvironment env, IProgressMonitor monitor ) {
     JavaToModelCommand jtmc = new JavaToModelCommand();
 	jtmc.setMethods(testInfo.getMethods());
 	jtmc.setClientProject(testInfo.getClientProject());
 	jtmc.setProxyBean(testInfo.getProxyBean());
-	Status status = jtmc.execute(env);
+	jtmc.setEnvironment( env );
+	IStatus status = jtmc.execute( monitor, null);
 	if (status.getSeverity() == Status.ERROR) return status;
-    proxyModel = jtmc.getDataModel();
+    proxyModel = jtmc.getJavaDataModel();
 	return status;
   } 
   
@@ -91,10 +107,9 @@
    * Generate the four jsps that make up this
    * sample app.
    */
-   private Status generatePages(Environment env)
+   private IStatus generatePages(IEnvironment env)
    {
-   	Status status = new SimpleStatus( "" );
-	IProject sampleIProject = ProjectUtilities.getProject(testInfo.getClientProject()); 
+   	IStatus status = Status.OK_STATUS;
 	IPath fDestinationFolderPath = new Path(jspfolder);
     fDestinationFolderPath = fDestinationFolderPath.makeAbsolute();    
     IWorkspaceRoot fWorkspace = ResourcesPlugin.getWorkspace().getRoot();
@@ -104,7 +119,8 @@
      GeneratePageCommand gpcTest = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
        new TestClientFileGenerator(INPUT,METHOD,RESULT),fileTest);
      //gpcTest.setStatusMonitor(getStatusMonitor());
-     status = gpcTest.execute(env);
+     gpcTest.setEnvironment( env );
+     status = gpcTest.execute( null, null );
      if (status.getSeverity() == Status.ERROR )
      	return status;
      
@@ -116,7 +132,8 @@
      GeneratePageCommand gpcInput = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
        inputGenerator,fileInput);
      //gpcInput.setStatusMonitor(getStatusMonitor());
-     status = gpcInput.execute(env);
+     gpcInput.setEnvironment( env );
+     status = gpcInput.execute( null, null );
      if (status.getSeverity() == Status.ERROR )
      	return status;
 
@@ -128,7 +145,8 @@
      GeneratePageCommand gpcMethod = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
        methodGenerator,fileMethod);
      //gpcMethod.setStatusMonitor(getStatusMonitor());
-     status = gpcMethod.execute(env);
+     gpcMethod.setEnvironment( env );
+     status = gpcMethod.execute( null, null );
      if (status.getSeverity() == Status.ERROR )
      	return status;    
 
@@ -141,7 +159,8 @@
      rfg.setSetEndpointMethod(testInfo.getSetEndpointMethod());
      GeneratePageCommand gpcResult = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
        rfg,fileResult);
-     status = gpcResult.execute(env);
+     gpcResult.setEnvironment( env );
+     status = gpcResult.execute( null, null );
      
      return status;
    }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCLaunchCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCLaunchCommand.java
index ccf8446..897a23c 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCLaunchCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCLaunchCommand.java
@@ -1,31 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.wssample;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.consumption.command.common.PublishProjectCommand;
-import org.eclipse.jst.ws.internal.consumption.command.common.StartServerCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.command.PublishProjectCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
+import org.eclipse.jst.ws.internal.consumption.ui.command.StartServerCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.browser.IWebBrowser;
 import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
-public class GSTCLaunchCommand extends SimpleCommand {
+public class GSTCLaunchCommand extends AbstractDataModelOperation
+{
 
   public static String INPUT       = "Input.jsp";
   public static String TEST_CLIENT = "TestClient.jsp";
@@ -33,19 +49,19 @@
   public static String METHOD      = "Method.jsp";
 		
   private TestInfo testInfo;
-  private MessageUtils msgUtils;
   private String jspfolder;
   
   public GSTCLaunchCommand(TestInfo testInfo){
     this.testInfo = testInfo;
-	String pluginId = "org.eclipse.jst.ws.consumption.ui";
-	msgUtils = new MessageUtils(pluginId + ".plugin", this);
   }
 		
-  public Status execute(Environment env)
-  {
-      setJSPFolder();
-	  return launchSample(env);
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+    
+    setJSPFolder();
+    
+	  return launchSample(env, monitor);
   }
   private void setJSPFolder(){
 	    //if the client is not a webcomponent then the 
@@ -53,9 +69,9 @@
 		//flexible projects  
 		  
 		IProject clientIProject = ProjectUtilities.getProject(testInfo.getClientProject());
-	    if (clientIProject != null && !J2EEUtils.isWebComponent(clientIProject, testInfo.getClientModule())){   
+	    if (clientIProject != null && !J2EEUtils.isWebComponent(clientIProject)){   
 		  IProject project = ProjectUtilities.getProject(testInfo.getGenerationProject());
-		  IPath path = J2EEUtils.getWebContentPath(project,testInfo.getGenerationModule());
+		  IPath path = J2EEUtils.getWebContentPath(project);
 		  int index = testInfo.getJspFolder().lastIndexOf("/");
 		  String jsp = testInfo.getJspFolder().substring(index + 1);
 		  StringBuffer sb = new StringBuffer();	
@@ -68,28 +84,30 @@
 	  
 	  }
   
-  private Status launchSample (Environment env) {
-    Status status = new SimpleStatus( "" );
-	IPath fDestinationFolderPath = new Path(jspfolder);
-	fDestinationFolderPath = fDestinationFolderPath.makeAbsolute();    
+  private IStatus launchSample (IEnvironment env, IProgressMonitor monitor ) {
+    IStatus status = Status.OK_STATUS;
+	  IPath fDestinationFolderPath = new Path(jspfolder);
+	  fDestinationFolderPath = fDestinationFolderPath.makeAbsolute();    
     PublishProjectCommand ppc = new PublishProjectCommand();
     ppc.setServerTypeID(testInfo.getClientServerTypeID());
     ppc.setExistingServer(testInfo.getClientExistingServer());
     ppc.setProject(testInfo.getGenerationProject());
-	status = ppc.execute(env);
+    ppc.setEnvironment( env );
+	status = ppc.execute( monitor, null );
 
 	StartServerCommand serverCommand = new StartServerCommand( true, true );
 	serverCommand.setServerInstanceId( testInfo.getClientExistingServer().getId() );
+  serverCommand.setEnvironment( env );
 	
-	status = serverCommand.execute(env);
+	status = serverCommand.execute(monitor, null);
 	if (status.getSeverity() == Status.ERROR) return status;
 	
 	IProject sampleProject = ProjectUtilities.getProject(testInfo.getGenerationProject());
-	IPath newPath = new Path(ServerUtils.getWebComponentURL(sampleProject,testInfo.getGenerationModule(),testInfo.getClientServerTypeID(),testInfo.getClientExistingServer()));
-	int count = J2EEUtils.getWebContentPath(sampleProject,testInfo.getGenerationModule()).segmentCount();
+	String   newPath = ServerUtils.getWebComponentURL(sampleProject, testInfo.getClientServerTypeID(),testInfo.getClientExistingServer());
+	int count = J2EEUtils.getWebContentPath(sampleProject).segmentCount();
 	
-	newPath = newPath.append(fDestinationFolderPath.removeFirstSegments(count).makeAbsolute());
-	StringBuffer urlString = new StringBuffer(newPath.append(TEST_CLIENT).toString());
+	newPath = newPath + "/" + fDestinationFolderPath.removeFirstSegments(count);
+	StringBuffer urlString = new StringBuffer( newPath + "/" + TEST_CLIENT );
 	if (testInfo.getEndpoint() != null && !testInfo.getEndpoint().isEmpty())
 	{
 	  urlString.append("?endpoint=");
@@ -99,16 +117,23 @@
 	try{
 	      URL url;
 	      url = new URL(urlString.toString());
+        
+        InputStream resultStream = null;
+        InputStream methodStream = null;
+        InputStream inputStream  = null;
+        InputStream clientStream = null;
 
 	      for( int retries = 0; retries < 10; retries++ )
 	      {
 	        try
 	        {
 	          // Test the URLs
-	          (new URL(newPath.append(RESULT).toString())).openStream();
-	          (new URL(newPath.append(METHOD).toString())).openStream();
-	          (new URL(newPath.append(INPUT).toString())).openStream();
-	          (new URL(newPath.append(TEST_CLIENT).toString())).openStream();
+            
+	          resultStream = new URL(newPath + "/" + RESULT).openStream();
+	          methodStream = new URL(newPath + "/" + METHOD).openStream();
+	          inputStream  = new URL(newPath + "/" + INPUT).openStream();
+	          clientStream = new URL(newPath + "/" + TEST_CLIENT).openStream();
+            
 	          // Looks good, exit loop
 	          break;
 	        }
@@ -120,6 +145,19 @@
 	          }
 	          catch (InterruptedException ie) {} 	  	          
 	        }
+          finally
+          {
+            try
+            {
+              if( resultStream != null ) resultStream.close();
+              if( methodStream != null ) methodStream.close();
+              if( inputStream != null ) inputStream.close();
+              if( clientStream != null ) clientStream.close();
+            }
+            catch( IOException exc )
+            {
+            }
+          }
 	      }
 
 			IWorkbenchBrowserSupport browserSupport = WebServiceConsumptionUIPlugin.getInstance().getWorkbench().getBrowserSupport();
@@ -128,21 +166,21 @@
 	      return status;
 		 }catch(PartInitException exc){
 			//TODO: change error message
-			env.getLog().log(Log.WARNING, 5048, this, "launchSample", exc);
-			status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.WARNING );
+			env.getLog().log(ILog.WARNING, 5048, this, "launchSample", exc);
+			status = StatusUtils.warningStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL );
 			try {
 				env.getStatusHandler().report(status);
 			} catch (StatusException e) {
-				status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.ERROR );
+				status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL, e );
 			}
 	    	return status;
 	    }catch(MalformedURLException exc){
-	    	env.getLog().log(Log.WARNING, 5048, this, "launchSample", exc);
-			status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.WARNING );
+	    	env.getLog().log(ILog.WARNING, 5048, this, "launchSample", exc);
+			status = StatusUtils.warningStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL, exc );
 			try {
 				env.getStatusHandler().report(status);
 			} catch (StatusException e) {
-				status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.ERROR );
+				status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL, e );
 			}
 	    	return status;
 	    }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCWebServiceTester.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCWebServiceTester.java
index 4926adc..29f1651 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCWebServiceTester.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/GSTCWebServiceTester.java
@@ -1,11 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.wssample;
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceTester;
-import org.eclipse.wst.ws.internal.provisional.wsrt.TestInfo;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceTester;
+import org.eclipse.wst.ws.internal.wsrt.TestInfo;
 
 public class GSTCWebServiceTester implements IWebServiceTester  {
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WSSampleFinishCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WSSampleFinishCommand.java
index c5f1151..b0a0f58 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WSSampleFinishCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WSSampleFinishCommand.java
@@ -20,11 +20,14 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.command.common.PublishProjectCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.command.PublishProjectCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.StartProjectCommand;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.codegen.InputFileGenerator;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.codegen.MethodFileGenerator;
@@ -32,34 +35,30 @@
 import org.eclipse.jst.ws.internal.consumption.sampleapp.codegen.TestClientFileGenerator;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.command.GeneratePageCommand;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.command.JavaToModelCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.CopyWebServiceUtilsJarCommand;
 import org.eclipse.jst.ws.internal.ext.test.JavaProxyTestCommand;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.browser.IWebBrowser;
 import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.ui.eclipse.EnvironmentUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 
-public class WSSampleFinishCommand extends SimpleCommand implements JavaProxyTestCommand
+public class WSSampleFinishCommand extends AbstractDataModelOperation implements JavaProxyTestCommand
 {
 
   public static String INPUT       = "Input.jsp";
   public static String TEST_CLIENT = "TestClient.jsp";
   public static String RESULT      = "Result.jsp";
   public static String METHOD      = "Method.jsp";
-
-  private static String LABEL = "JavaBeanToSampleActiveTask";
-  private static String DESCRIPTION = "default actions";
-  private MessageUtils msgUtils;
   
   private Model proxyModel;
   private String sampleServerTypeID;
@@ -67,7 +66,6 @@
   
   
   private String clientProject;
-  private String qname;
   private String jspFolder;
   private boolean runClientTest;
   private String sampleProject;
@@ -81,26 +79,25 @@
   */
   public WSSampleFinishCommand ()
   {
-	String pluginId = "org.eclipse.jst.ws.consumption.ui";
-	msgUtils = new MessageUtils(pluginId + ".plugin", this);
-	setDescription(DESCRIPTION);
-	setName(LABEL);  	
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-  	Status status = new SimpleStatus( "" );
+    IEnvironment env = getEnvironment();
+    
+  	IStatus status = Status.OK_STATUS;
     //setters and getters to be removed
   	CopyWebServiceUtilsJarCommand copy = new CopyWebServiceUtilsJarCommand();    
   	copy.setSampleProject(sampleProject);
-  	status = copy.execute(env);
+    copy.setEnvironment( env );
+  	status = copy.execute( monitor, null );
     if (status.getSeverity() == Status.ERROR) return status;
-    status = createModel(env);
+    status = createModel(env, monitor );
     if (status.getSeverity() == Status.ERROR) return status;
-    status = generatePages(env);
+    status = generatePages(env, monitor );
     if (status.getSeverity() == Status.ERROR) return status;
     //if (!isSuccessful()) return;
-    status = launchSample(env);
+    status = launchSample(env, monitor);
     return status;   
   }
 
@@ -109,9 +106,9 @@
   * Generate the four jsps that make up this
   * sample app.
   */
-  protected Status generatePages(Environment env)
+  protected IStatus generatePages(IEnvironment env, IProgressMonitor monitor )
   {
-  	Status status = new SimpleStatus( "" );
+  	IStatus status = Status.OK_STATUS;
     IPath fDestinationFolderPath = new Path(jspFolder);
     fDestinationFolderPath = fDestinationFolderPath.makeAbsolute();    
     IWorkspaceRoot fWorkspace = ResourcesPlugin.getWorkspace().getRoot();
@@ -121,7 +118,8 @@
     GeneratePageCommand gpcTest = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
       new TestClientFileGenerator(INPUT,METHOD,RESULT),fileTest);
     //gpcTest.setStatusMonitor(getStatusMonitor());
-    status = gpcTest.execute(env);
+    gpcTest.setEnvironment( env );
+    status = gpcTest.execute( monitor, null );
     if (status.getSeverity() == Status.ERROR )
     	return status;
     
@@ -133,7 +131,8 @@
     GeneratePageCommand gpcInput = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
       inputGenerator,fileInput);
     //gpcInput.setStatusMonitor(getStatusMonitor());
-    status = gpcInput.execute(env);
+    gpcInput.setEnvironment( env );
+    status = gpcInput.execute( monitor, null );
     if (status.getSeverity() == Status.ERROR )
     	return status;
 
@@ -145,7 +144,8 @@
     GeneratePageCommand gpcMethod = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
       methodGenerator,fileMethod);
     //gpcMethod.setStatusMonitor(getStatusMonitor());
-    status = gpcMethod.execute(env);
+    gpcMethod.setEnvironment( env );
+    status = gpcMethod.execute( monitor, null );
     if (status.getSeverity() == Status.ERROR )
     	return status;    
 
@@ -159,15 +159,16 @@
     GeneratePageCommand gpcResult = new GeneratePageCommand(EnvironmentUtils.getResourceContext(env), proxyModel,
       rfg,fileResult);
     //gpcResult.setStatusMonitor(getStatusMonitor());
-    status = gpcResult.execute(env);
+    gpcResult.setEnvironment( env );
+    status = gpcResult.execute( monitor, null );
     
     return status;
   }
 
 
-  protected Status launchSample (Environment env) {
+  protected IStatus launchSample (IEnvironment env, IProgressMonitor monitor ) {
 
-  	Status status = new SimpleStatus( "" );
+  	IStatus status = Status.OK_STATUS;
     if (!runClientTest) return status;
     
 
@@ -178,7 +179,8 @@
     ppc.setServerTypeID(sampleServerTypeID);
     ppc.setExistingServer(sampleExistingServer);
     ppc.setProject(sampleProject);
-    status = ppc.execute(env);
+    ppc.setEnvironment( env );
+    status = ppc.execute( monitor, null );
 
     StartProjectCommand spc = new StartProjectCommand(false );
     spc.setServiceServerTypeID(sampleServerTypeID);
@@ -186,8 +188,9 @@
     IProject project = (IProject) ResourceUtils.findResource(sampleProject);
     spc.setSampleProject(project);
     spc.setIsWebProjectStartupRequested(true);
+    spc.setEnvironment( env );
     
-    status = spc.execute(env);
+    status = spc.execute( monitor, null );
     if (status.getSeverity() == Status.ERROR) return status;
     
     IPath newPath = new Path(ResourceUtils.getWebProjectURL(ResourceUtils.getProjectOf(fDestinationFolderPath),sampleServerTypeID,sampleExistingServer));
@@ -231,21 +234,21 @@
       return status;
 	 }catch(PartInitException exc){
 		//TODO: change error message
-		env.getLog().log(Log.WARNING, 5048, this, "launchSample", exc);
-		status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.WARNING );
+		env.getLog().log(ILog.WARNING, 5048, this, "launchSample", exc);
+		status = StatusUtils.warningStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL, exc );
 		try {
 			env.getStatusHandler().report(status);
 		} catch (StatusException e) {
-			status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.ERROR );
+			status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL, e );
 		}
     	return status;
     }catch(MalformedURLException exc){
-    	env.getLog().log(Log.WARNING, 5048, this, "launchSample", exc);
-		status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.WARNING );
+    	env.getLog().log(ILog.WARNING, 5048, this, "launchSample", exc);
+		status = StatusUtils.warningStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL, exc );
 		try {
 			env.getStatusHandler().report(status);
 		} catch (StatusException e) {
-			status = new SimpleStatus( "launchSample", msgUtils.getMessage("MSG_ERROR_MALFORMED_URL"), Status.ERROR );
+			status = StatusUtils.errorStatus( ConsumptionUIMessages.MSG_ERROR_MALFORMED_URL, e );
 		}
     	return status;
     }
@@ -253,18 +256,19 @@
 
   
 
-  protected Status createModel(Environment env) {
+  protected IStatus createModel(IEnvironment env, IProgressMonitor monitor ) {
 
   	//create the model from the resource
     JavaToModelCommand jtmc = new JavaToModelCommand();
     jtmc.setMethods(methods);
     jtmc.setClientProject(clientProject);
     jtmc.setProxyBean(proxyBean);
+    jtmc.setEnvironment( env );
     //jtmc.setStatusMonitor(getStatusMonitor());
-    Status status = jtmc.execute(env);
+    IStatus status = jtmc.execute( monitor, null);
     if (status.getSeverity() == Status.ERROR) return status;
 
-    proxyModel = jtmc.getDataModel();
+    proxyModel = jtmc.getJavaDataModel();
     return status;
   }
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WebServiceWSSampleExecutable.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WebServiceWSSampleExecutable.java
index bec3401..59f68f9 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WebServiceWSSampleExecutable.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/test/wssample/WebServiceWSSampleExecutable.java
@@ -12,7 +12,7 @@
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.test.wssample;
 
 import org.eclipse.jst.ws.internal.ext.WebServiceExecutable;
-import org.eclipse.jst.ws.internal.ext.WebServiceFinishCommand;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
 * This is the interface for objects that represent a kind of
@@ -23,7 +23,7 @@
 {
    
   
-  public WebServiceFinishCommand getFinishCommand()
+  public AbstractDataModelOperation getFinishCommand()
   {
   	return new WSSampleFinishCommand();
   }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/ClientProjectTypeRegistry.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/ClientProjectTypeRegistry.java
deleted file mode 100644
index daf6c46..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/ClientProjectTypeRegistry.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-public class ClientProjectTypeRegistry
-{
-  private static ClientProjectTypeRegistry instance_;
-  private IConfigurationElement[] configElements_;
-
-  private ClientProjectTypeRegistry()
-  {
-    init();
-  }
-
-  /**
-  * Returns a singleton instance of this class.
-  * @return A singleton ClientProjectTypeRegistry object.
-  */
-  public static ClientProjectTypeRegistry getInstance()
-  {
-    if (instance_ == null)
-      instance_ = new ClientProjectTypeRegistry();
-    return instance_;
-  }
-
-  public void init()
-  {
-    IExtensionRegistry reg = Platform.getExtensionRegistry();
-    configElements_ = reg.getConfigurationElementsFor("org.eclipse.jst.ws.consumption.ui", "clientProjectType");
-  }
-
-  public IConfigurationElement getDefaultElement()
-  {
-    return getElementById("org.eclipse.jst.ws.consumption.ui.clientProjectType.Web");
-  }
-
-  public IConfigurationElement getElementById(String id)
-  {
-    return getElementByAttribute("id", id);
-  }
-
-  public IConfigurationElement getElementByLabel(String label)
-  {
-    return getElementByAttribute("label", label);
-  }
-
-  public IConfigurationElement getElementByProject(IProject project)
-  {
-    for (int i = 0; i < configElements_.length; i++)
-      if (include(project, configElements_[i].getAttribute("include")) && exclude(project, configElements_[i].getAttribute("exclude")))
-        return configElements_[i];
-    return null;
-  }
-
-  private IConfigurationElement getElementByAttribute(String name, String value)
-  {
-    for (int i = 0; i < configElements_.length; i++)
-      if (configElements_[i].getAttribute(name).equals(value))
-        return configElements_[i];
-    return null;
-  }
-
-  public IProject[] getProjects(String id)
-  {
-    Vector v = new Vector();
-    IConfigurationElement element = getElementById(id);
-    if (element != null)
-    {
-      IProject[] workspaceProjs = ResourceUtils.getWorkspaceRoot().getProjects();
-      IVirtualComponent[] comps = J2EEUtils.getAllComponents();
-      for (int i = 0; i < comps.length; i++) {
-		  // TODO: Needs to be refactored to work with project/module topology described in XP
-        //if (include(workspaceProjs[i], element.getAttribute("include")) && exclude(workspaceProjs[i], element.getAttribute("exclude")))
-        // Note: Adding a project if the project contains a web or ejb module.
-		    if (J2EEUtils.isWebComponent(comps[i].getProject(), comps[i].getName()) 
-            || J2EEUtils.isEJBComponent(comps[i].getProject(), comps[i].getName()))	{
-          v.add(comps[i].getProject());
-        }
-      }
-    }
-    IProject[] projects = new IProject[v.size()];
-    v.copyInto(projects);
-    return projects;
-  }
-
-  private boolean include(IProject project, String include)
-  {
-    StringTokenizer st = new StringTokenizer(include);
-    while(st.hasMoreTokens())
-    {
-      try
-      {
-        if (project.hasNature(st.nextToken()))
-          return true;
-      }
-      catch (CoreException ce)
-      {
-      }
-    }
-    return false;
-  }
-
-  private boolean exclude(IProject project, String exclude)
-  {
-    StringTokenizer st = new StringTokenizer(exclude);
-    while(st.hasMoreTokens())
-    {
-      try
-      {
-        if (project.hasNature(st.nextToken()))
-          return false;
-      }
-      catch (CoreException ce)
-      {
-      }
-    }
-    return true;
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceRuntime.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceRuntime.java
deleted file mode 100644
index 23c7d93..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceRuntime.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service artifact. 
-*/
-public interface IWebServiceRuntime
-{
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  /**
-  * Returns the id of this Web Service runtime.
-  * @return id of this Web Service runtime.
-  */
-  public String getId ();
-
-  /**
-  * Returns a locale specific description of this Web Service runtime.
-  * @return A locale specific description of this Web Service runtime.
-  */
-  public String getDescription ();
-
-  /**
-  * Returns a short, locale specific Label of this Web Service runtime.
-  * @return A short, locale specific Label of this Web Service runtime.
-  */
-  public String getLabel ();
-  
-  /**
-   * Returns a String, J2EE version
-   * @return
-   */
-  public String[] getJ2EEVersions();
-
-  /**
-   * Returns the configuration element associated with
-   * this runtime.
-   * 
-   * @return org.eclipse.core.runtime.IConfigurationElement
-   */
-  public IConfigurationElement getConfigurationElement();
-
-}
-
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceServer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceServer.java
deleted file mode 100644
index 580d960..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceServer.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service artifact. The primary purpose of a WebServiceType
-* object is to manufacture the wizard pages that support the type.
-*/
-public interface IWebServiceServer
-{
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  /**
-  * Returns the id of this Web Service type.
-  * @return id of this Web Service type.
-  */
-  public String getId ();
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getFactoryId ();
-
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getLabel ();
-  
-  /**
-   * Returns true if set true in plugin.xml
-   * @return boolean
-   */
-  public boolean getIsDefault();
-  
-  /**
-   * Returns runtime target Id
-   * @return String
-   */
-  public String getRuntimeTypeId();
-  
-  /**
-   * Returns the configuration element associated with
-   * this runtime.
-   * 
-   * @return org.eclipse.core.runtime.IConfigurationElement
-   */
-  public IConfigurationElement getConfigurationElement();
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceType.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceType.java
deleted file mode 100644
index b149698..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/IWebServiceType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service artifact. The primary purpose of a WebServiceType
-* object is to manufacture the wizard pages that support the type.
-*/
-public interface IWebServiceType
-{
-  /**
-  * Returns the id of this Web Service type.
-  * @return id of this Web Service type.
-  */
-  public String getId ();
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getLabel ();
-
-  /**
-  * Returns a locale specific description of this Web Service type's extension metadata.
-  * @return A locale specific description of this Web Service type's extension metadata.
-  */
-  public String[] getExtensionMetadata ();
-  
-  /**
-  * Returns a locale specific description of this Web Service type's resource metadata.
-  * @return A locale specific description of this Web Service type's resource metadata.
-  */
-  public String[] getResourceTypeMetadata ();  
-  
-  /**
-  * Returns true if the plugin.xml contains an attribute of "canFinish" with a value of true.  Otherwise, 
-  * false is returned.  Note: if the "canFinish" attribute is not specified true is returned by default.
-  * @return Returns whether or not the user can finish on the pages before the web service type pages.
-  */
-  public boolean getCanFinish();  
-
-  /**
-   * Returns the configuration element associated with
-   * this runtime.
-   * 
-   * @return org.eclipse.core.runtime.IConfigurationElement
-   */
-  public IConfigurationElement getConfigurationElement();
-
-  public String getObjectSelectionWidget();
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/PublicUDDIRegistryTypeRegistry.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/PublicUDDIRegistryTypeRegistry.java
index 4d28732..0070383 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/PublicUDDIRegistryTypeRegistry.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/PublicUDDIRegistryTypeRegistry.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.ui.wizard;
 
 import java.util.Vector;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionRegistry;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/RuntimeServerSelectionDialog.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/RuntimeServerSelectionDialog.java
index 96f20a8..e8ba923 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/RuntimeServerSelectionDialog.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/RuntimeServerSelectionDialog.java
@@ -15,12 +15,11 @@
 
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.j2ee.internal.servertarget.IServerTargetConstants;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeInfo;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.RuntimeDescriptor;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Color;
@@ -28,7 +27,6 @@
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Event;
@@ -41,7 +39,6 @@
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.IModuleType;
 import org.eclipse.wst.server.core.IRuntimeType;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerType;
@@ -61,7 +58,7 @@
   private Button viewSelectionByRuntimeButton_;
   private Button viewSelectionByServerButton_;
   private Button viewSelectionByExploreButton_;
-  private Combo j2eeVersionCombo;
+
   /*
    * CONTEXT_ID PWRS0001 for the selection of runtime, server and project combination
    */
@@ -87,30 +84,14 @@
    * CONTEXT_ID PWRS0007 for the explore view radio button of the runtime selection dialog
    */
   private String INFOPOP_PWRS_RADIO_EXPLORE = WebServiceConsumptionUIPlugin.ID + ".PWRS0007";
-  /*
-   * CONTEXT_ID PWRS0008 for the Web Project combo box of the runtime selection dialog
-   */
-  //  private String INFOPOP_PWRS_COMBO_PROJECT =
-  // WebServiceConsumptionUIPlugin.ID + ".PWRS0008";
-  /*
-   * CONTEXT_ID PWRS0009 for the J2EE version combo box of the runtime selection dialog
-   */
-  private String INFOPOP_PWRS_J2EE_VERSION = WebServiceConsumptionUIPlugin.ID + ".PWRS0009";
-
-  // rskreg
-  //private WebServiceServerRuntimeTypeRegistry wssrtRegistry;
-  //private WebServiceClientTypeRegistry wsctRegistry;
-  // rskreg
   private Hashtable serverLabels_;
   private Hashtable existingServersTable_;
   private String defaultServer_;
   private String defaultRuntime_;
   private String typeId_;
-  private String clientTypeId_;
-  // rskreg
-  //private IWebServiceRuntime selectedRuntime_;
-  private WebServiceRuntimeInfo selectedRuntime_;
-  // rskreg
+
+  private RuntimeDescriptor selectedRuntime_;
+
   private IServer selectedServer_;
   private String selectedServerLabel_;
   private String selectedServerFactoryID_;
@@ -118,10 +99,8 @@
   private boolean validateOn_ = false;
   private byte selectionMode_;
   private final byte MODE_SERVICE = (byte) 0;
-  private final byte MODE_CLIENT = (byte) 1;
   private final String SERVER_TYPES_ICON = "icons/servers/servers_obj.gif";
   private final String EXISTING_SERVERS_ICON = "icons/servers/existing_server_obj.gif";
-  private String j2eeVersion;
   private String serverInstanceID_;
 
   public RuntimeServerSelectionDialog(Shell shell, byte mode, TypeRuntimeServer ids, String j2eeVersion) {
@@ -134,11 +113,6 @@
     setIsExistingServer(ids.getServerInstanceId() != null);
     serverLabels_ = new Hashtable();
     existingServersTable_ = new Hashtable();
-	// rskreg
-    //wsctRegistry = WebServiceClientTypeRegistry.getInstance();
-    //wssrtRegistry = WebServiceServerRuntimeTypeRegistry.getInstance();
-	// rskreg
-    this.j2eeVersion = j2eeVersion;
   }
 
   public TypeRuntimeServer getTypeRuntimeServer() {
@@ -166,10 +140,6 @@
     return ids;
   }
 
-  public String getJ2EEVersion() {
-    return j2eeVersion;
-  }
-
   private boolean getIsExistingServer() {
     return isExistingServer_;
   }
@@ -195,24 +165,24 @@
     GridData gd;
     // Window title
     if (selectionMode_ == MODE_SERVICE)
-      thisShell.setText(getMessage("%PAGE_TITLE_WS_RUNTIME_SELECTION"));
+      thisShell.setText(ConsumptionUIMessages.PAGE_TITLE_WS_RUNTIME_SELECTION);
     else
-      thisShell.setText(getMessage("%PAGE_TITLE_WS_CLIENT_RUNTIME_SELECTION"));
+      thisShell.setText(ConsumptionUIMessages.PAGE_TITLE_WS_CLIENT_RUNTIME_SELECTION);
     
     IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
     
     helpSystem.setHelp(thisShell, INFOPOP_PWRS_DIALOG);
     // Dialog description banner
     messageBanner_ = new Text(composite, SWT.READ_ONLY | SWT.WRAP);
-    messageBanner_.setText(getMessage("%PAGE_DESC_WS_RUNTIME_SELECTION") + "\n" + "      "); // reserves a second line for message display
-    messageBanner_.setToolTipText(getMessage("%PAGE_DESC_WS_RUNTIME_SELECTION"));
+    messageBanner_.setText(ConsumptionUIMessages.PAGE_DESC_WS_RUNTIME_SELECTION + "\n" + "      "); // reserves a second line for message display
+    messageBanner_.setToolTipText(ConsumptionUIMessages.PAGE_DESC_WS_RUNTIME_SELECTION);
     gd = new GridData(GridData.FILL_HORIZONTAL);
     messageBanner_.setLayoutData(gd);
     //  -----------------------------------------------------------------------//
     new Label(composite, SWT.HORIZONTAL);
     //  -----------------------------------------------------------------------//
     // Selection
-    thisShell.setToolTipText(getMessage("%TOOLTIP_PWRS_PAGE"));
+    thisShell.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_PAGE);
     viewSelectionGroup_ = new Group(composite, SWT.NONE);
     gl = new GridLayout();
     gl.marginHeight = 0;
@@ -221,24 +191,24 @@
     gd = new GridData(GridData.FILL_HORIZONTAL);
     viewSelectionGroup_.setLayoutData(gd);
     if (selectionMode_ == MODE_SERVICE)
-      viewSelectionGroup_.setText(getMessage("%LABEL_SELECTION_VIEW_TITLE"));
+      viewSelectionGroup_.setText(ConsumptionUIMessages.LABEL_SELECTION_VIEW_TITLE);
     else
-      viewSelectionGroup_.setText(getMessage("%LABEL_CLIENT_SELECTION_VIEW_TITLE"));
+      viewSelectionGroup_.setText(ConsumptionUIMessages.LABEL_CLIENT_SELECTION_VIEW_TITLE);
     viewSelectionByServerButton_ = new Button(viewSelectionGroup_, SWT.RADIO);
-    viewSelectionByServerButton_.setText(getMessage("%LABEL_SELECTION_VIEW_SERVER"));
+    viewSelectionByServerButton_.setText(ConsumptionUIMessages.LABEL_SELECTION_VIEW_SERVER);
     viewSelectionByServerButton_.addListener(SWT.Selection, this);
-    viewSelectionByServerButton_.setToolTipText(getMessage("%TOOLTIP_PWRS_RADIO_SERVER"));
+    viewSelectionByServerButton_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_RADIO_SERVER);
     viewSelectionByServerButton_.setSelection(true);
     helpSystem.setHelp(viewSelectionByServerButton_, INFOPOP_PWRS_RADIO_SERVER);
     viewSelectionByRuntimeButton_ = new Button(viewSelectionGroup_, SWT.RADIO);
-    viewSelectionByRuntimeButton_.setText(getMessage("%LABEL_SELECTION_VIEW_RUNTIME"));
+    viewSelectionByRuntimeButton_.setText(ConsumptionUIMessages.LABEL_SELECTION_VIEW_RUNTIME);
     viewSelectionByRuntimeButton_.addListener(SWT.Selection, this);
-    viewSelectionByRuntimeButton_.setToolTipText(getMessage("%TOOLTIP_PWRS_RADIO_RUNTIME"));
+    viewSelectionByRuntimeButton_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_RADIO_RUNTIME);
     helpSystem.setHelp(viewSelectionByRuntimeButton_, INFOPOP_PWRS_RADIO_RUNTIME);
     viewSelectionByExploreButton_ = new Button(viewSelectionGroup_, SWT.RADIO);
-    viewSelectionByExploreButton_.setText(getMessage("%LABEL_SELECTION_VIEW_EXPLORE"));
+    viewSelectionByExploreButton_.setText(ConsumptionUIMessages.LABEL_SELECTION_VIEW_EXPLORE);
     viewSelectionByExploreButton_.addListener(SWT.Selection, this);
-    viewSelectionByExploreButton_.setToolTipText(getMessage("%TOOLTIP_PWRS_RADIO_EXPLORE"));
+    viewSelectionByExploreButton_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_RADIO_EXPLORE);
     helpSystem.setHelp(viewSelectionByExploreButton_, INFOPOP_PWRS_RADIO_EXPLORE);
     primaryGroup_ = new Composite(composite, SWT.NONE);
     gl = new GridLayout();
@@ -252,12 +222,12 @@
     runtimesGroup_.setLayout(gl);
     gd = new GridData(GridData.FILL_BOTH);
     runtimesGroup_.setLayoutData(gd);
-    runtimesGroup_.setText(getMessage("%LABEL_RUNTIMES_LIST"));
+    runtimesGroup_.setText(ConsumptionUIMessages.LABEL_RUNTIMES_LIST);
     runtimesList_ = new Tree(runtimesGroup_, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
     gd = new GridData(GridData.FILL_BOTH);
     runtimesList_.setLayoutData(gd);
     runtimesList_.addListener(SWT.Selection, this);
-    runtimesList_.setToolTipText(getMessage("%TOOLTIP_PWRS_LIST_RUNTIMES"));
+    runtimesList_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_LIST_RUNTIMES);
     helpSystem.setHelp(runtimesList_, INFOPOP_PWRS_LIST_RUNTIMES);
     //  Server labels control
     serversGroup_ = new Group(primaryGroup_, SWT.NONE);
@@ -265,183 +235,44 @@
     serversGroup_.setLayout(gl);
     gd = new GridData(GridData.FILL_BOTH);
     serversGroup_.setLayoutData(gd);
-    serversGroup_.setText(getMessage("%LABEL_SERVERS_LIST"));
+    serversGroup_.setText(ConsumptionUIMessages.LABEL_SERVERS_LIST);
     serverList_ = new Tree(serversGroup_, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
     serverList_.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
     serverList_.addListener(SWT.Selection, this);
-    serverList_.setToolTipText(getMessage("%TOOLTIP_PWRS_LIST_SERVERS"));
+    serverList_.setToolTipText(ConsumptionUIMessages.TOOLTIP_PWRS_LIST_SERVERS);
     ServersList serverList = new ServersList();
     serverList.setServerTreeItems(serverList_);
     helpSystem.setHelp(serverList_, INFOPOP_PWRS_LIST_SERVERS);
     setRuntimesGroup();
-    // J2EE version
-    Composite j2eeVersionComposite = new Composite(composite, SWT.NONE);
-    gl = new GridLayout();
-    gl.marginHeight = 0;
-    gl.marginWidth = 0;
-    gl.numColumns = 2;
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    j2eeVersionComposite.setLayout(gl);
-    j2eeVersionComposite.setLayoutData(gd);
-    Label j2eeVersionLabel = new Label(j2eeVersionComposite, SWT.NONE);
-    j2eeVersionLabel.setText(getMessage("%LABEL_J2EE_VERSION"));
-    j2eeVersionCombo = new Combo(j2eeVersionComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
-    gl = new GridLayout();
-    gl.marginHeight = 0;
-    gl.marginWidth = 0;
-    gd = new GridData(GridData.FILL_HORIZONTAL);
-    j2eeVersionCombo.setLayout(gl);
-    j2eeVersionCombo.setLayoutData(gd);
-    j2eeVersionCombo.addListener(SWT.Selection, this);
-    j2eeVersionCombo.setToolTipText(getMessage("%TOOLTIP_PWRS_J2EE_VERSION"));
-    helpSystem.setHelp(j2eeVersionCombo, INFOPOP_PWRS_J2EE_VERSION);
     //  -----------------------------------------------------------------------//
     new Label(composite, SWT.HORIZONTAL);
     validateOn_ = true;
     org.eclipse.jface.dialogs.Dialog.applyDialogFont(parent);
-    setJ2EEVersions();
     return composite;
   }
 
-  private void setJ2EEVersions() {
-    j2eeVersionCombo.setEnabled(true);
-    j2eeVersionCombo.removeAll();
-    String[] versions = null;
-	// rskreg
-    //if (selectedRuntime_ != null)
-      //versions = selectedRuntime_.getJ2EEVersions();
-    if (selectedRuntime_ != null)
-	      versions = selectedRuntime_.getJ2eeLevels();
-	// rskreg	
-    if (versions != null) {
-      //j2eeVersionCombo.setItems(versions);
-      setJ2EEComboItems(versions);
-      j2eeVersionCombo.select(0);
-      if (j2eeVersion != null) {
-        int i = j2eeVersionCombo.indexOf(J2EEUtils.getLabelFromJ2EEVersion(j2eeVersion));
-        if (i > 0)
-          j2eeVersionCombo.select(i);
-      }
-    }
-    else
-      j2eeVersionCombo.setEnabled(false);
-  }
 
-  private void setJ2EEComboItems(String[] versions)
-  {
-    String[] j2eeLabels = new String[versions.length];
-    for (int i = 0; i < versions.length; i++)
-    {
-      String label = J2EEUtils.getLabelFromJ2EEVersion(versions[i]);
-      if (label != null && label.length() >0)
-        j2eeLabels[i] = J2EEUtils.getLabelFromJ2EEVersion(versions[i]);
-      else
-        j2eeLabels[i] = getMessage("%LABEL_NA"); 
-    }
-    j2eeVersionCombo.setItems(j2eeLabels);
-  }
-
-  private void setJ2EEVersionBasedOnServer()
-  {
-    //Get the list of J2EE versions
-    String[] versions = null;
-    if (selectedRuntime_ == null || selectedServerFactoryID_== null)
-      return;
-   
-	// rskreg
-    //versions = selectedRuntime_.getJ2EEVersions();
-	versions = selectedRuntime_.getJ2eeLevels();
-	// rskreg
-    if (versions==null)
-      return;
-    
-    //Pick the first version that the selected server supports
-    for (int i=0; i<versions.length; i++)
-    {
-      if (isServerValid(selectedServerFactoryID_, versions[i]))
-      {
-        //Set the j2ee level to this version
-        String label = J2EEUtils.getLabelFromJ2EEVersion(versions[i]);
-        j2eeVersionCombo.setText(label);
-        setJ2EEVersionFromJ2EEVersionCombo();
-      }
-    }      
-  }
-
-  
-  private boolean isServerValid(String serverFactoryId, String j2eeVersion)
-  {
-    String stJ2EEVersion = ServerUtils.getServerTargetJ2EEVersion(j2eeVersion);
-    if (stJ2EEVersion == null)
-      return false;
-    
-    IServerType serverType = ServerCore.findServerType(serverFactoryId);
-    if (serverType!=null)
-    {
-      IRuntimeType serverRuntime = serverType.getRuntimeType();
-      IModuleType[] mTypes = serverRuntime.getModuleTypes();
-      for (int i=0; i<mTypes.length; i++)      
-      {
-        IModuleType mType = mTypes[i];
-        String type = mType.getId();
-        String moduleVersion = mType.getVersion();
-        if (type.equals(IServerTargetConstants.WEB_TYPE) && moduleVersion.equals(stJ2EEVersion))
-        {
-          //Found a match, return true!
-          return true;
-        }
-      }
-    }
-    //no match found or the server type was null. Return false.
-    return false;
-  }
-  
   private void validateServerRuntimeSelection() {
     // Check if the extension exists
     if (selectionMode_ == MODE_SERVICE) {
       if (selectedServerFactoryID_!=null && selectedRuntime_!=null) {
-		  // rskreg
-      //WebServiceServerRuntimeType wssrt = wssrtRegistry.getWebServiceServerRuntimeType(selectedServerFactoryID_, selectedRuntime_.getId(), typeId_);
-		  // rskreg
-      // rm WebServiceServerRuntimeType wssrt =
-      // wssrtRegistry.getWebServiceServerRuntimeType(selectedServerFactoryID_,
-      // selectedRuntime_.getId(), wse.getWebServiceType());
-      // rm if (wssrt!=null &&
-      // wssrtRegistry.isServerSupportedForChosenType(wse.getWebServiceType(),selectedServerFactoryID_))
-      // {
-		  
-		  //rskreg
-      boolean wssrtSupported = WebServiceRuntimeExtensionUtils.isServerRuntimeTypeSupported(selectedServerFactoryID_,selectedRuntime_.getId(),typeId_);		  
-      //if (wssrt != null && wssrtRegistry.isServerSupportedForChosenType(typeId_, selectedServerFactoryID_)) {
-        //setOKStatusMessage();
-      //}
+
+      boolean wssrtSupported = WebServiceRuntimeExtensionUtils2.isServerRuntimeTypeSupported(selectedServerFactoryID_,selectedRuntime_.getId(),typeId_);
 	  
-      if (wssrtSupported && WebServiceRuntimeExtensionUtils.isServerSupportedForChosenType(typeId_, selectedServerFactoryID_)) {
+      if (wssrtSupported && WebServiceRuntimeExtensionUtils2.isServerSupportedForChosenServiceType(typeId_, selectedServerFactoryID_)) {
 	        setOKStatusMessage();
-	      }
-	  // rskreg
+	      }	  
       else {
-        setERRORStatusMessage("%MSG_INVALID_SRT_SELECTIONS");
+        setERRORStatusMessage(ConsumptionUIMessages.MSG_INVALID_SRT_SELECTIONS);
       }
       }
     }
     else {
-      // rm String clientId =
-      // wsctRegistry.getClientTypeIdByName(clientScenarioId_);
-      String clientId = typeId_;
-      // rm String clientId =
-      // wsctRegistry.getClientTypeIdByName(wse.getProxySelected());
-	  // rskreg
-	  
-      //WebServiceServer wss = wsctRegistry.getWebServiceServerByFactoryId(selectedServerFactoryID_);
 
-      //if (wss == null || selectedRuntime_ == null || !wsctRegistry.webServiceClientRuntimeTypeExists(wss.getId(), selectedRuntime_.getId(), clientId)) {
-        //setERRORStatusMessage("%MSG_INVALID_SRT_SELECTIONS");
-      //}
-      if (selectedServerFactoryID_==null || selectedRuntime_ == null || !WebServiceRuntimeExtensionUtils.webServiceClientRuntimeTypeExists(selectedServerFactoryID_, selectedRuntime_.getId(), clientId)) {
-	        setERRORStatusMessage("%MSG_INVALID_SRT_SELECTIONS");
+      String clientId = typeId_;
+      if (selectedServerFactoryID_==null || selectedRuntime_ == null || !WebServiceRuntimeExtensionUtils2.isServerClientRuntimeTypeSupported(selectedServerFactoryID_, selectedRuntime_.getId(), clientId)) {
+	        setERRORStatusMessage(ConsumptionUIMessages.MSG_INVALID_SRT_SELECTIONS);
 	  }	  
-	  // rskreg
       else {
         setOKStatusMessage();
       }
@@ -472,14 +303,14 @@
   }
 
   private void setOKStatusMessage() {
-    messageBanner_.setText(getMessage("%PAGE_DESC_WS_RUNTIME_SELECTION"));
+    messageBanner_.setText(ConsumptionUIMessages.PAGE_DESC_WS_RUNTIME_SELECTION);
     Color black = new Color(thisShell.getDisplay(), 0x00, 0, 0);
     messageBanner_.setForeground(black);
     enableOKButton();
   }
 
   private void setERRORStatusMessage(String message) {
-    messageBanner_.setText(getMessage(message));
+    messageBanner_.setText(message);
     Color red = new Color(thisShell.getDisplay(), 0xFF, 0, 0);
     messageBanner_.setForeground(red);
     disableOKButton();
@@ -496,26 +327,10 @@
   }
 
   protected void okPressed() {
-    setJ2EEVersionFromJ2EEVersionCombo();
-    //j2eeVersion = (j2eeVersionCombo.getEnabled()) ? j2eeVersionCombo.getText() : null;
     setReturnCode(OK);
     close();
   }
 
-  private void setJ2EEVersionFromJ2EEVersionCombo()
-  {
-    if (j2eeVersionCombo.getEnabled())
-    {
-      String j2eeLabel = j2eeVersionCombo.getText();
-      String j2eeVersionString = J2EEUtils.getJ2EEVersionFromLabel(j2eeLabel);
-      if (j2eeVersionString != null && j2eeVersionString.length() > 0)
-        j2eeVersion = j2eeVersionString;
-      else
-        j2eeVersion = null;
-    }
-    else
-      j2eeVersion = null;    
-  }
   /**
    * Called when an event occurs on the page. Handles the event and revalidates the page.
    * 
@@ -538,22 +353,14 @@
       handleExploreViewSelectionEvent();
       return;
     }
-    else if (j2eeVersionCombo == event.widget) {
-      setJ2EEVersionFromJ2EEVersionCombo();
-      //j2eeVersion = (j2eeVersionCombo.getEnabled()) ? j2eeVersionCombo.getText() : null;
-      return;
-    }
     else if (runtimesList_ == event.widget) {
       TreeItem[] runtimeSel = runtimesList_.getSelection();
       processRuntimeListSelection(runtimeSel[0].getText());
       validateServerRuntimeSelection();
-      setJ2EEVersions();
-      setJ2EEVersionBasedOnServer();
     }
     else if (serverList_ == event.widget) {
       processServerListSelection();
       validateServerRuntimeSelection();
-      setJ2EEVersionBasedOnServer();
     }
   }
 
@@ -606,16 +413,13 @@
   }
 
   private void processRuntimeListSelection(String runtimeName) {
-	  // rskreg
+
     if (selectionMode_ == MODE_SERVICE) {
-      //selectedRuntime_ = wssrtRegistry.getWebServiceRuntimeByLabel(runtimeName);
-		selectedRuntime_ = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeByLabel(runtimeName);
+		selectedRuntime_ = WebServiceRuntimeExtensionUtils2.getRuntimeByLabel(runtimeName);
     }
     else {
-      //selectedRuntime_ = wsctRegistry.getWebServiceRuntimeByName(runtimeName);
-		selectedRuntime_ = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeByLabel(runtimeName);
+		selectedRuntime_ = WebServiceRuntimeExtensionUtils2.getRuntimeByLabel(runtimeName);
     }
-	 // rskreg
   }
 
   private void processServerListSelection() {
@@ -631,7 +435,7 @@
         }
         else if (serverLabels_.containsKey(currentSelection)) {
           TreeItem parentItem = serverSel[0].getParentItem();
-          if (parentItem != null && !parentItem.getText().equalsIgnoreCase(getMessage("%LABEL_TREE_EXISTING_SERVERS"))) {
+          if (parentItem != null && !parentItem.getText().equalsIgnoreCase(ConsumptionUIMessages.LABEL_TREE_EXISTING_SERVERS)) {
             selectedServerLabel_ = currentSelection;
             selectedServer_ = null;
             selectedServerFactoryID_ = (String) serverLabels_.get(currentSelection);
@@ -640,7 +444,7 @@
 
         // check if isExistingServer or new ServerType
         TreeItem parentItem = serverSel[0].getParentItem();
-        if (parentItem != null && parentItem.getText().equalsIgnoreCase(getMessage("%LABEL_TREE_EXISTING_SERVERS"))) {
+        if (parentItem != null && parentItem.getText().equalsIgnoreCase(ConsumptionUIMessages.LABEL_TREE_EXISTING_SERVERS)) {
           setIsExistingServer(true);
         }
         else {
@@ -657,27 +461,19 @@
     }
   }
 
-  private static String getMessage(String key) {
-    return WebServiceConsumptionUIPlugin.getMessage(key);
-  }
-
-  private static String getMessage(String key, Object[] args) {
-    return WebServiceConsumptionUIPlugin.getMessage(key, args);
-  }
+//  private static String getMessage(String key) {
+//    return WebServiceConsumptionUIPlugin.getMessage(key);
+//  }
 
   private void setRuntimesGroup() {
     runtimesList_.removeAll();
     String[] runtimes = null;
 
     if (selectionMode_ == MODE_SERVICE) {
-		// rskreg
-      //runtimes = wssrtRegistry.getRuntimesByType(typeId_);
-		runtimes = WebServiceRuntimeExtensionUtils.getRuntimesByType(typeId_);
+		runtimes = WebServiceRuntimeExtensionUtils2.getRuntimesByServiceType(typeId_);
     }
     else {
-      //runtimes = wsctRegistry.getAllClientRuntimes();
-	  runtimes = WebServiceRuntimeExtensionUtils.getAllClientRuntimes();
-	  // rskreg
+	  runtimes = WebServiceRuntimeExtensionUtils2.getAllRuntimesForClientSide();
     }
 
     TreeItem[] runtimeName = new TreeItem[runtimes.length];
@@ -700,25 +496,12 @@
     return getRuntime(type).getLabel();
   }
 
-  // rskreg
-  private WebServiceRuntimeInfo getRuntime(String type) {
+  private RuntimeDescriptor getRuntime(String type) {
     if (selectionMode_ == MODE_SERVICE) {
-      //return wssrtRegistry.getRuntimeById(type);
-	  return WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(type);
+	  return WebServiceRuntimeExtensionUtils2.getRuntimeById(type);
     }
     else {
-      //return wsctRegistry.getRuntimeById(type);
-	  return WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(type);
-    }
-  }
-  // rskreg
-
-  // Returns the server Factory Id given a server name
-  private String getServerSelectionFactoryId(String selectedServerName) {
-    if (serverLabels_.containsKey(selectedServerName) && !isExistingServer_)
-      return (String) serverLabels_.get(selectedServerName);
-    else {
-      return ((IServer) existingServersTable_.get(selectedServerName)).getServerType().getId();
+	  return WebServiceRuntimeExtensionUtils2.getRuntimeById(type);
     }
   }
 
@@ -731,7 +514,6 @@
   public class ServersList {
 
     private TreeItem[] existingServersTree;
-    private TreeItem[] serverTypesTree;
     boolean existingServer = false;
 
     public void setServerTreeItems(Tree serversList) {
@@ -744,7 +526,7 @@
       existingServersTree = new TreeItem[1];
       TreeItem[] existingServerItems = new TreeItem[serverIds.length];
       existingServersTree[0] = new TreeItem(serverList, SWT.NONE);
-      existingServersTree[0].setText(getMessage("%LABEL_TREE_EXISTING_SERVERS"));
+      existingServersTree[0].setText(ConsumptionUIMessages.LABEL_TREE_EXISTING_SERVERS);
       ImageDescriptor id = WebServiceConsumptionUIPlugin.getImageDescriptor(EXISTING_SERVERS_ICON);
       if (id != null)
         existingServersTree[0].setImage(id.createImage());
@@ -771,7 +553,7 @@
 
       TreeItem[] serverTypesTree = new TreeItem[1];
       serverTypesTree[0] = new TreeItem(serverList, SWT.NONE);
-      serverTypesTree[0].setText(getMessage("%LABEL_TREE_SERVER_TYPES"));
+      serverTypesTree[0].setText(ConsumptionUIMessages.LABEL_TREE_SERVER_TYPES);
       ImageDescriptor id = WebServiceConsumptionUIPlugin.getImageDescriptor(SERVER_TYPES_ICON);
       if (id != null)
         serverTypesTree[0].setImage(id.createImage());
@@ -780,18 +562,10 @@
       String[] serverIds = null;
       // rm String wst = wse.getWebServiceType();
       if (selectionMode_ == MODE_SERVICE) {
-		  // rskreg
-        //serverIds = wssrtRegistry.getServerFactoryIdsByType(typeId_);
-		serverIds = WebServiceRuntimeExtensionUtils.getServerFactoryIdsByType(typeId_);
-		  // rskreg
+		serverIds = WebServiceRuntimeExtensionUtils2.getServerFactoryIdsByServiceType(typeId_);
       }
       else {
-        //serverIds = wsctRegistry.getServerFactoryIdsByClientType(typeId_);
-		  // rskreg
-        //serverIds = wsctRegistry.getAllClientServerFactoryIds();
-		serverIds = WebServiceRuntimeExtensionUtils.getAllClientServerFactoryIds();
-		// rskreg
-
+		serverIds = WebServiceRuntimeExtensionUtils2.getAllClientServerFactoryIds();
       }
       // rm serverId =
       // wssrtRegistry.getServerFactoryIdsByType(wse.getWebServiceType());
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter.java
index 8bd1b5d..2d28a71 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter.java
@@ -12,10 +12,7 @@
 package org.eclipse.jst.ws.internal.consumption.ui.wizard;
 
 import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Iterator;
-
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
@@ -23,7 +20,7 @@
 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.WebServiceRuntimeExtensionUtils;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 
 public class TypeSelectionFilter
@@ -31,85 +28,6 @@
   // Copyright
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
-  private IStructuredSelection initSelection_;
-
-  /*
-   * @deprecated should be removed
-   */
-  public String[] getWebServiceTypeByInitialSelection(IStructuredSelection initialSelection, HashMap webServiceTypes)
-  {
-        
-    HashSet supportedTypes = new HashSet();
-    if (initialSelection != null && initialSelection.size() == 1)
-    {
-      
-      // Check for null initial selection
-      Object initialObject = initialSelection.getFirstElement();
-      if (initialObject == null)
-      {
-        return null;
-      }
-      // Match up resource type metadata with initial selection
-      Iterator iter = webServiceTypes.values().iterator();
-      while (iter.hasNext())
-      {
-        IWebServiceType wst = (IWebServiceType)iter.next();
-        String typeId = (String)wst.getId();
-        if (!supportedTypes.contains(typeId))
-        {
-          String[] resourceTypes = wst.getResourceTypeMetadata();
-          for (int i=0; i<resourceTypes.length; i++)
-          {
-            if (resourceTypes[i]!=null)
-            {              
-              if ((initialObject.getClass().getName()).endsWith(resourceTypes[i]))
-              {
-                String name = null;
-                IResource resource = null;
-
-                try
-                {                  
-                  resource = ResourceUtils.getResourceFromSelection(initialObject);
-                }
-                catch( CoreException exc )
-                {
-                  resource = null;
-                }
-
-                if (resource instanceof IContainer)
-                {
-                  name = initialObject.getClass().getName();
-                }
-                else if( resource != null )
-                {
-                  name = resource.getFullPath().toString();
-                }
-                else
-                {
-                  name = initialObject.getClass().getName();
-                }
-                String[] extensions = wst.getExtensionMetadata();
-                if (acceptsName(name, extensions))
-                {
-                  supportedTypes.add(typeId);
-                }
-              }
-              
-            }
-          }
-        }
-      }
-      
-    }    
-  
-    if (supportedTypes.isEmpty())
-      return null;
-    else
-    {
-      return (String[])supportedTypes.toArray(new String[0]);
-    }
-  }
-
   public String[] getWebServiceTypeByInitialSelection(IStructuredSelection initialSelection, ArrayList webServiceTypeList)
   {
         
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
new file mode 100644
index 0000000..b58fb52
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter2.java
@@ -0,0 +1,193 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.wizard;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.viewers.IStructuredSelection;
+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;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
+
+
+public class TypeSelectionFilter2
+{
+  // Copyright
+  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
+
+  public String[] getWebServiceTypeByInitialSelection(IStructuredSelection initialSelection, ArrayList webServiceTypeList)
+  {
+        
+    ArrayList supportedTypes = new ArrayList();
+    if (initialSelection != null && initialSelection.size() == 1)
+    {
+      
+      // Check for null initial selection
+      Object initialObject = initialSelection.getFirstElement();
+      if (initialObject == null)
+      {
+        return null;
+      }
+      // Match up resource type metadata with initial selection
+      Iterator iter = webServiceTypeList.iterator();
+      while (iter.hasNext())
+      {
+        String wst = (String)iter.next();
+        String scenario = wst.substring(0,wst.indexOf("/"));
+        String implId = wst.substring(wst.indexOf("/")+1);        
+        //IWebServiceType wst = (IWebServiceType)iter.next();
+        //String typeId = (String)wst.getId();
+        if (scenario.equals(String.valueOf(WebServiceScenario.BOTTOMUP)) && !supportedTypes.contains(wst))
+        {
+
+          
+          WebServiceImpl wsimpl = WebServiceRuntimeExtensionUtils2.getWebServiceImplById(implId);
+          String[] resourceTypes = wsimpl.getResourceTypeMetadata();
+          for (int i=0; i<resourceTypes.length; i++)
+          {
+            if (resourceTypes[i]!=null)
+            {              
+              if ((initialObject.getClass().getName()).endsWith(resourceTypes[i]))
+              {
+                String name = null;
+                IResource resource = null;
+
+                try
+                {                  
+                  resource = ResourceUtils.getResourceFromSelection(initialObject);
+                }
+                catch( CoreException exc )
+                {
+                  resource = null;
+                }
+
+                if (resource instanceof IContainer)
+                {
+                  name = initialObject.getClass().getName();
+                }
+                else if( resource != null )
+                {
+                  name = resource.getFullPath().toString();
+                }
+                else
+                {
+                  name = initialObject.getClass().getName();
+                }
+                String[] extensions = wsimpl.getExtensionMetadata();
+                if (acceptsName(name, extensions))
+                {
+                  supportedTypes.add(wst);
+                }
+              }
+              
+            }
+          }
+        }
+      }
+      
+      //If no wsImpls have accepted this selection, check if this is WSDL. If it is,
+      //add the top-down Java service type to the list.
+      if (supportedTypes.isEmpty())
+      {
+        String[] resourceTypes = {"File", "IResource", "String", "ServiceImpl", "ServiceRefImpl", "WSDLResourceImpl"};
+        for (int i=0; i<resourceTypes.length; i++)
+        {
+          if (resourceTypes[i]!=null)
+          {              
+            if ((initialObject.getClass().getName()).endsWith(resourceTypes[i]))
+            {
+              String name = null;
+              IResource resource = null;
+
+              try
+              {                  
+                resource = ResourceUtils.getResourceFromSelection(initialObject);
+              }
+              catch( CoreException exc )
+              {
+                resource = null;
+              }
+
+              if (resource instanceof IContainer)
+              {
+                name = initialObject.getClass().getName();
+              }
+              else if( resource != null )
+              {
+                name = resource.getFullPath().toString();
+              }
+              else
+              {
+                name = initialObject.getClass().getName();
+              }
+              String[] extensions = {".wsdl", ".wsil", ".html", ".ServiceImpl", ".ServiceRefImpl", ".WSDLResourceImpl"};
+              if (acceptsName(name, extensions))
+              {
+                StringBuffer entrybuff = new StringBuffer();
+                entrybuff.append(String.valueOf(WebServiceScenario.TOPDOWN));
+                entrybuff.append("/");
+                entrybuff.append("org.eclipse.jst.ws.wsImpl.java");
+                String entry = entrybuff.toString();                
+                supportedTypes.add(entry);
+              }
+            }
+            
+          }
+        }      
+      }
+      
+    }    
+  
+
+    
+    if (supportedTypes.isEmpty())
+    {
+      //It's not a registered implementation and its not WSDL so return null;
+      return null;
+    }
+    else
+    {
+      return (String[])supportedTypes.toArray(new String[0]);
+    }
+  }
+  //
+  // Checks if the given name is acceptable based upon its extension
+  //
+  private boolean acceptsName ( String name, String[] extensions)
+  {
+    //Return true if "all" extensions are supported.
+
+    if (extensions[0]!=null)
+    {
+      if (extensions[0].equals("all"))
+      {
+        return true;
+      }
+    }
+
+    for (int i=0; i<extensions.length; i++)
+    {
+      if (extensions[i]!=null)
+      {
+        if (name.endsWith(extensions[i]))
+          return true;
+      }
+    }
+    return false;
+  }
+
+
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceClientTypeRegistry.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceClientTypeRegistry.java
deleted file mode 100644
index 670b4da..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceClientTypeRegistry.java
+++ /dev/null
@@ -1,660 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.ws.internal.consumption.fragments.ClientPreAssemblyFragment;
-import org.eclipse.jst.ws.internal.consumption.fragments.ClientPreDeployFragment;
-import org.eclipse.jst.ws.internal.consumption.fragments.ClientPreDevelopFragment;
-import org.eclipse.jst.ws.internal.consumption.fragments.ClientPreInstallFragment;
-import org.eclipse.jst.ws.internal.data.LabelsAndIds;
-import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactoryFactory;
-import org.eclipse.wst.command.internal.env.core.registry.CommandRegistry;
-import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
-import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
-import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBindingList;
-import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-
-public class WebServiceClientTypeRegistry implements CommandRegistry
-{
-  private static WebServiceClientTypeRegistry instance_;
-
-  private Vector  configElems_;
-  private HashSet typeNames_;  // no duplicate client type names
-  private HashMap types_;
-  private HashMap clientTypeAndIds_;
-  private HashMap clientIdToLabel_;
-
-  private HashMap webServiceServers;
-  private HashMap webServiceRuntimes;
-  private HashMap webServiceClientTypes;
-  
-  private DataMappingRegistry dataMappingRegistry_;
-  private WidgetRegistry      widgetRegistry_;
-  private CanFinishRegistry   canFinishRegistry_;
-  private HashMap             factoryCache_;
-    
-  private WebServiceClientTypeRegistry()
-  {
-  }
-  
-  //
-  // Loads WebServiceClientType objects into this registry.
-  // This is done by querying the plugin registry for all extensions
-  // hanging on the webServiceClientType extension point. Extensions
-  // must implement the org.eclipse.jst.ws.ui.wizard.WebServiceClientType
-  // interface.
-  //
-  private void loadTypes ()
-  {    
-    IExtensionRegistry reg = Platform.getExtensionRegistry();
-    IConfigurationElement[] config = reg.getConfigurationElementsFor(
-                                     "org.eclipse.jst.ws.consumption.ui",
-                                     "webServiceClientType");
-
-    for(int idx=0; idx<config.length; idx++) 
-    {
-      IConfigurationElement elem = config[idx];
-
-      if (elem.getName().equals("webServiceServer")) { 
-        WebServiceServer wss = new WebServiceServer(elem);
-        webServiceServers.put(elem.getAttribute("id"), wss);
-      }
-      else if (elem.getName().equals("webServiceRuntime")) {
-        WebServiceRuntime rt = new WebServiceRuntime(elem);
-        webServiceRuntimes.put(elem.getAttribute("id"), rt);
-      }
-      else if (elem.getName().equals("webServiceClientType"))
-      {
-
-        String name = elem.getAttribute( "name" );                
-        typeNames_.add( name );  
-        
-        String typeId = elem.getAttribute("clientType");
-        if (typeId==null) {
-          typeId = name;
-        }
-
-        String id = elem.getAttribute("id");       
-        clientTypeAndIds_.put(name, typeId);
-        String serverId = elem.getAttribute("server");
-        String runtimeId = elem.getAttribute("runtime");
-        WebServiceServerRuntimeClientType wst = new WebServiceServerRuntimeClientType(serverId, runtimeId, typeId, name, elem);
-        webServiceClientTypes.put(id, wst);
-        types_.put(id, null );  
-        clientIdToLabel_.put( typeId, name );
-      }
-      configElems_.add( elem );
-      
-    }
-  }
-
- 
-  /**
-  * Loads WebServiceClientType objects into this registry.
-  * See method getInstance().
-  */
-  private void load ()
-  {
-    typeNames_ = new HashSet();
-    configElems_ = new Vector();
-    types_       = new HashMap();
-    clientTypeAndIds_ = new HashMap();
-    webServiceClientTypes = new HashMap();
-    webServiceRuntimes = new HashMap();
-    webServiceServers = new HashMap();
-    clientIdToLabel_  = new HashMap();
-    loadTypes();
-  }
-
-  /**
-  * Returns a singleton instance of this class.
-  * @return A singleton WebServiceClientTypeRegistry object.
-  */
-  public static WebServiceClientTypeRegistry getInstance()
-  {
-    if (instance_ == null)
-    {
-      instance_ = new WebServiceClientTypeRegistry();
-      instance_.load();
-    }
-    return instance_;
-  }
-  
-  public WebServiceRuntime getRuntimeById( String id )
-  {
-    return (WebServiceRuntime)webServiceRuntimes.get( id ); 
-  }
-
-  public String[] getRuntimesByType(String typeId)
-  {
-    IConfigurationElement[] elems = getConfigurationElement(typeId);
-    Vector runtimesVector = new Vector();
-    String[] runtimeIds = new String[elems.length];
-    for (int i=0; i<elems.length; i++)
-    {
-      IConfigurationElement elem = (IConfigurationElement)elems[i];
-      runtimeIds[i] = elem.getAttribute("runtime");
-    }
-    return runtimeIds;    
-  }
-  
-  public boolean doesRuntimeSupportJ2EELevel(String j2eeVersionId, String runtimeId)
-  {
-    IWebServiceRuntime wsr = (IWebServiceRuntime)webServiceRuntimes.get(runtimeId);
-    String[] j2eeVersions = wsr.getJ2EEVersions();
-    if (j2eeVersions==null || j2eeVersions.length==0) 
-      return true;
-    
-    for(int i=0; i<j2eeVersions.length; i++)
-    {
-      if (j2eeVersions[i].equals(j2eeVersionId))
-      {
-      	return true;
-      }
-    }
-    return false;
-  }  
-  
-  public boolean doesRuntimeSupportServerTarget(String serverTargetId, String runtimeId)
-  {
-    //Vector serverFactoryIds = new Vector();
-    Iterator it = webServiceClientTypes.values().iterator();
-    while (it.hasNext()) {
-      WebServiceServerRuntimeClientType wssrt = (WebServiceServerRuntimeClientType)it.next();
-      if (wssrt.runtimeId_!=null) {
-        if ((wssrt.runtimeId_).equalsIgnoreCase(runtimeId)) {
-          WebServiceServer wss = (WebServiceServer)webServiceServers.get(wssrt.serverId_);
-          String thisFactoryId = wss.getFactoryId();
-          IServerType serverType = ServerCore.findServerType(thisFactoryId);
-          if (serverType == null)
-            continue;
-          
-          String thisServerTargetId = serverType.getRuntimeType().getId();          
-          if (thisServerTargetId.equals(serverTargetId))
-            return true;
-        }
-      }
-    }
-    return false;
-  }
-  
-  /**
-  * Returns the names of all registered <code>WebServiceClientType</code>
-  * objects.
-  * @return The names of all registered <code>WebServiceClientType</code>
-  * objects.
-  */
-  public String[] getWebServiceClientTypeNames ()
-  {
-    return (String[])typeNames_.toArray( new String[0] );
-  }
-
-  public LabelsAndIds getClientTypeLabels()
-  {
-    LabelsAndIds labelIds = new LabelsAndIds();
-    Iterator     iterator = clientIdToLabel_.entrySet().iterator();
-    int          size     = clientIdToLabel_.size();
-    String[]     labels   = new String[size];
-    String[]     ids      = new String[size];
-    int          index    = 0;
-    
-    labelIds.setLabels_( labels );
-    labelIds.setIds_( ids );
-    
-    while( iterator.hasNext() ) 
-    {
-      Map.Entry entry = (Map.Entry)iterator.next();
-      
-      ids[index]    = (String)entry.getKey();
-      labels[index] = (String)entry.getValue();
-      index++;
-    }    
-    
-    return labelIds;
-  }
-  
-  /**
-  * Returns the IConfigurationElement given the server, runtime, and type attributes
-  * The benefit of getting the IConfigurationElement is that the corresponding class
-  * file and plugin are not loaded immediately.
-  * @param server label
-  * @param runtime label
-  * @param type label
-  * @return IConfiguration element
-  */
-  public IConfigurationElement getConfigurationElementFor(String serverId, String runtimeId, String typeId)
-  {
-    Iterator iter = webServiceClientTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceServerRuntimeClientType wssrt = (WebServiceServerRuntimeClientType)iter.next();
-        if (wssrt.hasConfigurationElementFor(serverId, runtimeId, typeId)) {
-          return wssrt.element_;
-      }
-    }
-    return null;    
-  }
-  
-  public IConfigurationElement getConfigElementFor(String factoryId, String runtimeId, String typeId)
-  {
-    Iterator iter = webServiceClientTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceServerRuntimeClientType wssrt = (WebServiceServerRuntimeClientType)iter.next();
-        if (wssrt.hasConfigElementFor(factoryId, runtimeId, typeId)) {
-          return wssrt.element_;
-      }
-    }
-    return null;    
-  }
-
-  public String getClientExtensionIdFor(String serverId, String runtimeId, String typeId) {
-    IConfigurationElement element = getConfigurationElementFor(serverId, runtimeId, typeId);
-    return element.getAttribute("id");
-  }
-
-  public IConfigurationElement getConfigurationElementById(String id) {
-    
-    WebServiceServerRuntimeClientType wsrt = (WebServiceServerRuntimeClientType)webServiceClientTypes.get(id);
-    return (IConfigurationElement)wsrt.element_;    
-
-  }
-  
-  public IConfigurationElement[] getConfigurationElement(String clientTypeId)
-  {
-    Vector v = new Vector();
-    for (Iterator it = configElems_.iterator(); it.hasNext();)
-    {
-      IConfigurationElement element = (IConfigurationElement)it.next();
-      String clientType = element.getAttribute("clientType");
-      if (clientType != null && clientType.equals(clientTypeId))
-        v.add(element);
-    }
-    return (IConfigurationElement[])v.toArray(new IConfigurationElement[0]);
-  }
-
-  public IConfigurationElement[] getConfigurationElement(String clientTypeId, String runtimeId)
-  {
-    Vector v = new Vector();
-    for (Iterator it = configElems_.iterator(); it.hasNext();)
-    {
-      IConfigurationElement element = (IConfigurationElement)it.next();
-      String clientType = element.getAttribute("clientType");
-      String runtime = element.getAttribute("runtime");
-      if (clientType != null && runtime != null && clientType.equals(clientTypeId) && runtime.equals(runtimeId))
-        v.add(element);
-    }
-    return (IConfigurationElement[])v.toArray(new IConfigurationElement[0]);
-  }
-  
-
-
-  public String getServerIdForFactoryId(String factoryId) {
-
-    Iterator iter = webServiceServers.values().iterator();
-    while (iter.hasNext()) {
-      WebServiceServer wss = (WebServiceServer)iter.next();
-      if (wss.getFactoryId().equals(factoryId)) {
-        return wss.getId();
-      }
-    }
-    return null;
-
-  }
-
-  public String getServerFactoryIdByServerLabel(String label) {
-    Iterator iter = webServiceServers.values().iterator();
-    while (iter.hasNext()) {
-      WebServiceServer wss = (WebServiceServer)iter.next();
-      if (wss.getLabel().equals(label)) {
-        return wss.getFactoryId();
-      }
-    }
-    return null;
-  }
-
-  public WebServiceRuntime getWebServiceRuntimeByName(String runtimeName) {
-    Iterator iter = webServiceRuntimes.values().iterator();
-    while (iter.hasNext()) {
-      WebServiceRuntime wsr = (WebServiceRuntime)iter.next();
-      if (wsr.getLabel().equals(runtimeName)) {
-        return wsr;
-      }
-    }
-    return null;
-  }
-
-  public WebServiceServer getWebServiceServerByFactoryId(String factoryId) {
-    Iterator iter = webServiceServers.values().iterator();
-    while (iter.hasNext()) {
-      WebServiceServer wss = (WebServiceServer)iter.next();
-      if (wss.getFactoryId().equals(factoryId)) {
-        return wss;
-      }
-    }
-    return null;
-  }
-  
-  public String getServerInstanceLabelFromInstanceId( String instanceId )
-  {
-    IServer server = ServerCore.findServer( instanceId );
-    
-    return server.getName();
-  }
-  
-  public String[] getAllClientServerFactoryIds() {
-    String[] serverFactoryIds = new String[webServiceServers.size()];
-    int i=0;
-    Iterator iter = webServiceServers.values().iterator();
-    while (iter.hasNext()) {
-      WebServiceServer wss = (WebServiceServer)iter.next();
-      if (wss.getFactoryId()!=null) {
-        serverFactoryIds[i]=wss.getFactoryId();
-        i++;
-      }
-    }
-    return serverFactoryIds;
-  }
-
-  public String[] getAllClientRuntimes() {
-    String[] runtimes = new String[webServiceRuntimes.size()];
-    int i=0;
-    Iterator iter = webServiceRuntimes.values().iterator();
-    while (iter.hasNext()) {
-      WebServiceRuntime wsr = (WebServiceRuntime)iter.next();
-      if (wsr.getId() != null) {
-        runtimes[i]=wsr.getId();
-        i++;
-      }
-    }
-    return runtimes;
-  }
-
-  public String getRuntimeLabelById(String runtimeId) {
-    WebServiceRuntime wsRuntime = (WebServiceRuntime)webServiceRuntimes.get(runtimeId);
-    if (wsRuntime!=null) {
-      return wsRuntime.getLabel();
-    }
-    return null;
-  }
-
-  public String getClientTypeIdByName(String name) {
-    return (String)clientTypeAndIds_.get(name);
-  }
-  
-  public IWebServiceRuntime getWebServiceRuntimeById(String runtimeId)
-  {
-    return (IWebServiceRuntime)webServiceRuntimes.get(runtimeId); 
-  }
-
-
-  /**
-  * Gets the runtime IDs of all web service server runtime type
-  * with an server factory ID equals to the input
-  * @param server factory ID
-  * @return array of runtime IDs
-  */
-  public String[] getRuntimeIdsByServerFactoryId(String serverFactoryID) {
-    Vector runtimeIds = new Vector();
-    Iterator it = webServiceClientTypes.values().iterator();
-    while (it.hasNext()) {
-      WebServiceServerRuntimeClientType wssrt = (WebServiceServerRuntimeClientType)it.next();
-      if (wssrt.serverId_!=null) {
-      	String serverId = wssrt.serverId_;
-      	WebServiceServer wss = (WebServiceServer)webServiceServers.get(serverId);
-      	String wssfId = wss.getFactoryId();
-      	if (wssfId.equals(serverFactoryID))
-      		runtimeIds.add(wssrt.runtimeId_);
-      	/*
-        String wssFactoryId = ((WebServiceServer)webServiceServers.get(wssrt.serverId_)).getFactoryId();
-        if (wssFactoryId.equalsIgnoreCase(serverFactoryID)) {
-          runtimeIds.add(wssrt.runtimeId_);
-        }
-        */
-      }
-    }
-    return (String[])runtimeIds.toArray(new String[0]);
-  }
-
-  public String[] getServerFactoryIdsByClientType(String clientTypeName) {
-    
-    Vector factoryIds = new Vector();
-    String clientTypeId = getClientTypeIdByName(clientTypeName);
-    Iterator iter = webServiceClientTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceServerRuntimeClientType wssrt = (WebServiceServerRuntimeClientType)iter.next();
-      if ((wssrt.typeId_).equalsIgnoreCase(clientTypeId)) {
-        WebServiceServer wss = (WebServiceServer)webServiceServers.get(wssrt.serverId_);
-        factoryIds.add(wss.getFactoryId());
-      }
-  
-    }
-    return (String[])factoryIds.toArray(new String[0]);   
-
-  }
-
-  /**
-  * Gets the server factoryIds of all web service server runtime type
-  * with an runtime Id equals to the input
-  * @param runtime Id
-  * @return array of factory Ids
-  */
-  public String[] getServerFactoryIdsByRuntimeId(String runtimeID) {
-    Vector serverFactoryIds = new Vector();
-    Iterator it = webServiceClientTypes.values().iterator();
-    while (it.hasNext()) {
-      WebServiceServerRuntimeClientType wssrt = (WebServiceServerRuntimeClientType)it.next();
-      if (wssrt.runtimeId_!=null) {
-        if ((wssrt.runtimeId_).equalsIgnoreCase(runtimeID)) {
-          WebServiceServer wss = (WebServiceServer)webServiceServers.get(wssrt.serverId_);
-          serverFactoryIds.add(wss.getFactoryId());
-        }
-      }
-    }
-    return (String[])serverFactoryIds.toArray(new String[0]);
-  }
-
-  public boolean webServiceClientRuntimeTypeExists(String serverId, String runtimeId, String typeId) {
-    if (getConfigurationElementFor(serverId, runtimeId, typeId)==null)
-      return false;
-    return true;
-
-  }
-
-  public String[] getServerFactoryIdsByType(String clientTypeId)
-  {
-    String clientTypeName = (String)clientIdToLabel_.get(clientTypeId);
-    return getServerFactoryIdsByClientType(clientTypeName);
-  }
-  
-  public boolean isServerSupportedForChosenType(String clientTypeId, String serverFactoryID)
-  {
-    String[] supportedServerFactoryIds = getServerFactoryIdsByType(clientTypeId);
-    if (supportedServerFactoryIds!=null && supportedServerFactoryIds.length>0)
-    {
-	    for (int i=0; i<supportedServerFactoryIds.length; i++)
-	    {
-	      if (supportedServerFactoryIds[i].equals(serverFactoryID))
-	        return true;
-	    }
-    }
-    return false;
-  }  
-
-  /**
-  *  WebServiceServerRuntimeClientType is the cached metadata including the IConfiguration
-  */
-  public final class WebServiceServerRuntimeClientType
-  {
-    
-   private String typeId_ = null;
-   private String serverId_ = null;
-   private String runtimeId_ = null;
-   private IConfigurationElement element_;
-   private boolean requiresServerRuntime_ = false;
-   private String label_;
-   
-   protected WebServiceServerRuntimeClientType(String serverId, String runtimeId,String typeId, String label, IConfigurationElement elem)
-   {
-    typeId_ = new String(typeId.trim());
-    if (serverId!=null)
-      serverId_ = new String(serverId.trim());
-    if (runtimeId!=null)
-      runtimeId_ = new String(runtimeId.trim());
-    element_ = elem;
-    if (serverId_!=null && runtimeId_!=null) {
-      requiresServerRuntime_ = true;
-    }
-
-    label_ = label;
-   }
-
-   public boolean hasConfigurationElementFor(String serverID, String runtimeID, String typeID) {
-    if (typeId_.equalsIgnoreCase(typeID) && !requiresServerRuntime_)
-      return true;
-
-    if (requiresServerRuntime_) {
-      if (typeId_.equalsIgnoreCase(typeID) &&
-         serverId_.equalsIgnoreCase(serverID) &&
-         runtimeId_.equalsIgnoreCase(runtimeID))
-        return true;
-    }
-    return false;
-   }
-   
-   public boolean hasConfigElementFor(String factoryID, String runtimeID, String typeID) {
-     if (typeId_.equalsIgnoreCase(typeID) && !requiresServerRuntime_)
-       return true;
-
-     if (requiresServerRuntime_) 
-     {
-       String serverID = getServerIdForFactoryId( factoryID ); 
-       
-       if (typeId_.equalsIgnoreCase(typeID) &&
-          serverId_.equalsIgnoreCase(serverID) &&
-          runtimeId_.equalsIgnoreCase(runtimeID))
-         return true;
-     }
-     return false;
-    }
-   
-   public IConfigurationElement getClientTypeConfigurationElementFor(String serverID, String runtimeID, String typeID)
-   {
-    if (this.typeId_.equalsIgnoreCase(typeID) && serverID==null && runtimeID==null)
-      return this.element_;
-    
-    if (this.typeId_.equalsIgnoreCase(typeID) && 
-       this.serverId_.equalsIgnoreCase(serverID) && 
-       this.runtimeId_.equalsIgnoreCase(runtimeID))
-      return this.element_;
-    return null;
-   } 
-  }
-  
-  public CommandFragmentFactoryFactory getFactoryFactory( String[] ids )
-  {
-    String                hashKey = ids[2] + "#" + ids[1] + "#" + ids[0];
-    CommandWidgetBinding  binding = (CommandWidgetBinding)factoryCache_.get( hashKey );
-    
-    if( binding == null )
-    {
-      IConfigurationElement element = getConfigElementFor( ids[2], ids[1], ids[0] ); 
-    
-      if( element == null ) return null;
-    
-      binding = createBinding( element );
-      
-      factoryCache_.put( hashKey, binding );
-      
-      binding.registerDataMappings( dataMappingRegistry_ );
-      
-      if( widgetRegistry_ != null )
-      {
-        binding.registerWidgetMappings( widgetRegistry_ );
-        binding.registerCanFinish( canFinishRegistry_ );
-      }
-    }  
-      
-    return binding;    
-  }
-  
-  private CommandWidgetBinding createBinding(IConfigurationElement element ) 
-  {
-    Vector bindings = new Vector(4);
-    Vector fragments = new Vector(4);
-    
-    addBinding( element, "developBinding", bindings );
-    addBinding( element, "assemblyBinding", bindings );
-    addBinding( element, "deployBinding", bindings );
-    addBinding( element, "installBinding", bindings );
-    
-    fragments.add( new ClientPreDevelopFragment() );
-    fragments.add( new ClientPreAssemblyFragment() );
-    fragments.add( new ClientPreDeployFragment() );
-    fragments.add( new ClientPreInstallFragment() );
-     
-    return new CommandWidgetBindingList( bindings, fragments );
-  }
-  
-  private void addBinding( IConfigurationElement element, String bindingName, Vector list )
-  {
-    Object binding = null;
-    
-    if( element.getAttribute( bindingName ) != null )
-    {
-      try
-      {
-        binding = element.createExecutableExtension( bindingName ); 
-      }
-      catch( CoreException exc )
-      {
-      }
-    }
-    
-    list.add( binding );
-  }
-  
-  public void setDataMappingRegistry( DataMappingRegistry registry )
-  {
-    dataMappingRegistry_ = registry;
-    
-    // We need to rebuild the factory cache each time we start the client
-    // wizard.
-    factoryCache_        = new HashMap();
-  }
-  
-  public void setWidgetRegistry( WidgetRegistry registry )
-  {
-    widgetRegistry_ = registry;;  
-  }
-  
-  public void setCanFinishRegistry( CanFinishRegistry registry )
-  {
-    canFinishRegistry_ = registry;
-  }
-  
-  
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceRuntime.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceRuntime.java
deleted file mode 100644
index 3b9eef6..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceRuntime.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
-
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service artifact. 
-*/
-public class WebServiceRuntime implements IWebServiceRuntime
-{
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  private IConfigurationElement element_;
-  public String runtimeId_;
-  public String runtimeLabel_;
-  public String runtimeDescription_;
-  public String[] j2eeVersions;
-  
-  
-  public WebServiceRuntime(IConfigurationElement elem)
-  {
-    super();
-    this.element_ = elem; 
-  }
-  
-  /**
-  * Returns the id of this Web Service runtime.
-  * @return id of this Web Service runtime.
-  */
-  public String getId ()
-  {
-    if (runtimeId_ == null)
-      runtimeId_ = element_.getAttribute("id");
-    return runtimeId_;
-  }
-  
-  
-  /**
-  * Returns a locale specific description of this Web Service runtime.
-  * @return A locale specific description of this Web Service runtime.
-  */
-  public String getDescription ()
-  {
-    if (runtimeDescription_ == null)
-      runtimeDescription_ = element_.getAttribute("description");
-    return runtimeDescription_;
-  }
-
-  /**
-  * Returns a short, locale specific Label of this Web Service runtime.
-  * @return A short, locale specific Label of this Web Service runtime.
-  */
-  public String getLabel ()
-  {
-    if (runtimeLabel_==null)
-      runtimeLabel_ = WebServiceConsumptionUIPlugin.getMessage((String)element_.getAttribute("label"));    
-    return runtimeLabel_;
-  }
-
-  /**
-   *  Returns a True if this runtime has been set as default
-   *  @return a boolean
-   */
-  public boolean getIsDefault()
-  {
-    return Boolean.valueOf(element_.getAttribute("isDefault")).booleanValue();
-  }
-
-  /**
-   * Returns a String, J2EE version
-   * @return
-   */
-  public String[] getJ2EEVersions()
-  {
-    if (j2eeVersions == null)
-    {
-      String attr = element_.getAttribute("j2eeversion");
-      if (attr != null)
-      {
-        StringTokenizer st = new StringTokenizer(attr, " ");
-        int size = st.countTokens();
-        j2eeVersions = new String[size];
-        for (int i = 0; i < j2eeVersions.length; i++)
-          j2eeVersions[i] = st.nextToken();
-      }
-    }
-    return j2eeVersions;
-  }
-
-  /**
-   * Returns the configuration element associated with
-   * this runtime.
-   * 
-   * @return org.eclipse.core.runtime.IConfigurationElement
-   */
-  public IConfigurationElement getConfigurationElement()
-  {
-    return element_;
-  }
-
-}
-
-
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServer.java
deleted file mode 100644
index b42e47a..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.ServerUICore;
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service artifact. The primary purpose of a WebServiceType
-* object is to manufacture the wizard pages that support the type.
-*/
-public class WebServiceServer implements IWebServiceServer
-{
-
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  public IConfigurationElement element_;
-  public String serverId_;
-  public String factoryId_;
-  public String serverLabel_;
-
-  public WebServiceServer(IConfigurationElement elem)
-  {
-    super();
-    this.element_ = elem; 
-  }
-  /**
-  * Returns the id of this Web Service type.
-  * @return id of this Web Service type.
-  */
-  public String getId ()
-  {
-    if (serverId_==null)
-      serverId_ = element_.getAttribute("id");
-    return serverId_;
-  }
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getFactoryId ()
-  {
-    if (factoryId_==null)
-      factoryId_ = element_.getAttribute("factoryId");
-    return factoryId_;
-  }
-
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getLabel ()
-  {
-    if (serverLabel_ == null)
-    {
-      IServerType serverType = ServerCore.findServerType(getFactoryId());    
-      serverLabel_ = ServerUICore.getLabelProvider().getText(serverType);
-    }
-    return serverLabel_;    
-  }  
-
-  /**
-   *  Returns a True if this server has been set as default
-   *  @return a boolean
-   */
-  public boolean getIsDefault()
-  {
-
-    return Boolean.valueOf(element_.getAttribute("isDefault")).booleanValue();
-  }
-  
-  /**
-   * Returns runtime target Id
-   * @return String
-   */
-  public String getRuntimeTypeId()
-  {
-    return element_.getAttribute("runtimeTypeIds");
-  }
-  
-  /**
-   * Returns the configuration element associated with
-   * this type.
-   * 
-   * @return org.eclipse.core.runtime.IConfigurationElement
-   */
-  public IConfigurationElement getConfigurationElement()
-  {
-    return this.element_; 
-  } 
-
-  }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServerRuntimeType.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServerRuntimeType.java
deleted file mode 100644
index df6e1d7..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServerRuntimeType.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service-Server-Runtime artifact. The primary purpose of a WebServiceServerRuntimeType
-* object is to manufacture the wizard pages that support the type, server, and runtime configuration.
-*/
-public interface WebServiceServerRuntimeType
-{
-  /**
-  * Returns a short, locale specific name of this Web Service Server-Runtime type.
-  * @return A short, locale specific name of this Web Service Server-Runtime type.
-  */
-  public String getName ();
-
-  /**
-  * Returns a locale specific description of this Web Service Server-Runtime type.
-  * @return A locale specific description of this Web Service Server-Runtime type.
-  */
-  public String getDescription ();
-
-  /**
-  * Returns a label for the Server supported by this Web Service Server-Runtime type
-  * @return A server label from server plugins
-  */
-  public String getServerLabel();
-
-  /**
-  * Sets a label for the Server supported by this Web Service Server-Runtime type
-  * @param A server label from server plugins
-  */
-  public void setServerLabel(String serverLabel);
-
-  /**
-  * Returns a label for the deployment runtime of this Web Service Server-Runtime type
-  * @return A label for the deployment runtime
-  */
-  public String getRuntimeLabel();
-
-  /**
-  * Sets a label for the deployment runtime of this Web Service Server-Runtime type
-  * @param A label for the deployment runtime
-  */
-  public void setRuntimeLabel(String runtimeLabel);
-
-  /**
-  * Returns a label for the Web Service type associated with this WebServiceServerRuntimeType
-  * @return A label for the Web Service type
-  */
-  public String getWebServiceTypeLabel();
-
-  /**
-  * Returns whether or not a Web Module is required for this WebServiceServerRuntimeType
-  * @return true if requireWebModule
-  */
-  public boolean isWebModuleRequired();
-
-  /**
-  * Sets the boolean value at runtime according to requireWebModule attribute from the manifest file
-  * @param requireWebModule 
-  */
-  public void setWebModuleRequired(boolean requireWebModule);
-
-  /**
-  * Returns whether or not an EJB Module is required for this WebServiceServerRuntimeType
-  * @return true is requireEJBModule is true
-  */
-  public boolean isEJBModuleRequired();
-
-  /**
-  * Sets the boolean value at runtime according to requireEJBModule attribute from the manifest file
-  * @param requireEJBModule 
-  */
-  public void setEJBModuleRequired(boolean requireEJBModule); 
-}
-
-
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServerRuntimeTypeRegistry.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServerRuntimeTypeRegistry.java
deleted file mode 100644
index ab46c7b..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceServerRuntimeTypeRegistry.java
+++ /dev/null
@@ -1,1199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.fragments.ServicePreAssemblyFragment;
-import org.eclipse.jst.ws.internal.consumption.fragments.ServicePreDeployFragment;
-import org.eclipse.jst.ws.internal.consumption.fragments.ServicePreDevelopFragment;
-import org.eclipse.jst.ws.internal.consumption.fragments.ServicePreInstallFragment;
-import org.eclipse.jst.ws.internal.data.LabelsAndIds;
-import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactoryFactory;
-import org.eclipse.wst.command.internal.env.core.registry.CommandRegistry;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
-import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
-import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBindingList;
-import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-
-public class WebServiceServerRuntimeTypeRegistry implements CommandRegistry
-{
-
-  private static WebServiceServerRuntimeTypeRegistry instance_;
-
-  private IConfigurationElement[] indexedConfigElems_;
-
-  private HashMap webServiceServers;
-  private HashMap webServiceRuntimes;
-  private HashMap webServiceTypes;
-  private HashMap webServiceServerRuntimeTypes;
- 
-  private Hashtable runtimesByType_;
-  private Hashtable runtimeLabelById_;
-  private Hashtable runtimeIdByLabel_;
-  private Hashtable serversByType_;
-  private Hashtable serverLabelByFactoryId_;
-  private Hashtable serverFactoryIdByLabel_;
-
-  private Hashtable configElemsById_;
-  
-  private DataMappingRegistry dataMappingRegistry_;
-  private WidgetRegistry      widgetRegistry_;
-  private CanFinishRegistry   canFinishRegistry_;
-  private HashMap             factoryCache_;
-  
-  private SelectionListChoices serverToRuntimeToJ2EE_;
-  private Log					log_;
-  
-  public WebServiceServerRuntimeTypeRegistry() {
-    log_ = new EclipseLog();
-  }
-  //
-  // Loads WebServiceServerRuntimeType objects into this registry.
-  // This is done by querying the plugin registry for all extensions
-  // hanging on the WebServiceServerRuntimeType extension point. Extensions
-  // must implement the org.eclipse.jst.ws.ui.wizard.WebServiceServerRuntimeType
-  // interface.
-  //
-  private void loadTypes ()
-  {
-    IExtensionRegistry reg = Platform.getExtensionRegistry();
-    IConfigurationElement[] config = reg.getConfigurationElementsFor(
-                                     "org.eclipse.jst.ws.consumption.ui",
-                                     "webServiceServerRuntimeType");
-
-    for(int idx=0; idx<config.length; idx++) 
-    {
-      IConfigurationElement elem = config[idx];
-      try 
-      {
-        if (elem.getName().equals("webServiceServer"))
-        { 
-          WebServiceServer wss = new WebServiceServer(elem);
-          webServiceServers.put(elem.getAttribute("id"), wss);
-          String serverLabel = wss.getLabel();
-          if (serverLabel != null && serverLabel.length()>0)
-          {
-            if (!serverLabelByFactoryId_.containsKey(wss.getFactoryId()));
-              serverLabelByFactoryId_.put(wss.getFactoryId(), serverLabel);
-            if (!serverFactoryIdByLabel_.containsKey(serverLabel));
-              serverFactoryIdByLabel_.put(serverLabel, wss.getFactoryId());
-          }
-          
-        }
-        else if (elem.getName().equals("webServiceRuntime"))
-        {
-          WebServiceRuntime rt = new WebServiceRuntime(elem);
-          webServiceRuntimes.put(elem.getAttribute("id"), rt);
-          if(!runtimeLabelById_.containsKey(rt.getId()))
-          	runtimeLabelById_.put(rt.getId(), rt.getLabel());
-          if(!runtimeIdByLabel_.containsKey(rt.getLabel()))
-          	runtimeIdByLabel_.put(rt.getLabel(), rt.getId());
-          
-        }
-        else if (elem.getName().equals("webServiceType"))
-        {
-          WebServiceTypeImpl wst = new WebServiceTypeImpl(elem);
-          webServiceTypes.put(elem.getAttribute("id"), wst);
-        }
-        else if (elem.getName().equals("webServiceServerRuntimeType"))
-        {
-          configElemsById_.put(elem.getAttribute("id"), elem);
-
-          String typeId = elem.getAttribute("type");
-          String serverId = elem.getAttribute("server");
-          String runtimeId = elem.getAttribute("runtime");
-          WebServiceServerRuntimeType_ wssrt = new WebServiceServerRuntimeType_(serverId, runtimeId, typeId, elem);
-          webServiceServerRuntimeTypes.put(elem.getAttribute("id"), wssrt);
-
-          setRuntimesByType(typeId,runtimeId);
-          setServersByType(typeId, serverId);
-        
-        }
-
-      } 
-      catch (Exception e)
-      {
-        log_.log(Log.ERROR, 5058, this, "loadTypes", e);
-      }
-      
-    }
-  }
-
-
-  /**
-  * Sets the Web service runtimes and type from each extension 
-  * in a Hashtable.  The type is the key, and value is a Vector containing 
-  * each runtime supported in that Web service type.
-  * @param runtime name
-  * @param type name
-  */
-  private void setRuntimesByType(String typeId, String runtime)
-  {
-    if(runtimesByType_.get(typeId)!=null)
-    {
-      Vector v = (Vector)runtimesByType_.get(typeId);
-      if (!v.contains(runtime.trim())) {
-        v.add(runtime.trim());
-      }
-    }
-    else
-    {
-      Vector vect = new Vector();
-      vect.add(runtime.trim());
-      runtimesByType_.put(typeId,vect);
-    }
-  }
-
-  public WebServiceRuntime getRuntimeById( String id )
-  {
-    return (WebServiceRuntime)webServiceRuntimes.get( id ); 
-  }
-  
-  /**
-  * Gets the Web sevice runtimes vector given a type
-  * @param Web service type
-  * @return array of runtime labels
-  */
-  public String[] getRuntimesByType(String webServiceType) 
-  {
-    String[] runtimes;
-    if (runtimesByType_.containsKey(webServiceType))
-    {
-      Vector vect =(Vector)runtimesByType_.get(webServiceType);
-      runtimes = new String[vect.size()];
-      for (int i=0; i<vect.size(); i++)
-      {
-        String runtimeId = (String)vect.elementAt(i);
-        WebServiceRuntime wsr = (WebServiceRuntime)webServiceRuntimes.get(runtimeId);
-        if (wsr!=null) {
-          runtimes[i] = (String)wsr.getId();
-        }
-      }
-      return runtimes;
-
-    }
-    else
-    {
-      log_.log(Log.ERROR, 5059, this, "getRuntimesByType", "runtimes not found for Web service type "+webServiceType);
-      return null;
-    }
-
-  }
-  
-  public boolean isRuntimeSupportedForType(String webServiceTypeId, String runtimeId)
-  {
-  	String[] runtimes = getRuntimesByType(webServiceTypeId);
-	for(int i=0;i<runtimes.length;i++)
-	{
-  		if (runtimes[i].equals(runtimeId))
-  		  return true;
-	}
-  	return false;
-  }
-
-  public boolean doesRuntimeSupportJ2EELevel(String j2eeVersionId, String runtimeId)
-  {
-    IWebServiceRuntime wsr = (IWebServiceRuntime)webServiceRuntimes.get(runtimeId);
-    String[] j2eeVersions = wsr.getJ2EEVersions();
-    if (j2eeVersions==null || j2eeVersions.length==0) 
-      return true;
-    
-    for(int i=0; i<j2eeVersions.length; i++)
-    {
-      if (j2eeVersions[i].equals(j2eeVersionId))
-      {
-      	return true;
-      }
-    }
-    return false;
-  }
-  
-  public boolean doesRuntimeSupportServerTarget(String serverTargetId, String runtimeId)
-  {
-    Iterator it = webServiceServerRuntimeTypes.values().iterator();
-    while (it.hasNext()) 
-    {
-      WebServiceServerRuntimeType_ wssrt = (WebServiceServerRuntimeType_)it.next();
-      if (wssrt!=null) {
-        if (wssrt.runtimeId_.equals(runtimeId))
-        {
-          IWebServiceServer wsserver = getWebServiceServerById(wssrt.serverId_);
-          String thisFactoryId = wsserver.getFactoryId();
-          IServerType serverType = ServerCore.findServerType(thisFactoryId);
-          if (serverType == null)
-            continue;
-          
-          String thisServerTargetId = serverType.getRuntimeType().getId(); 
-          if (thisServerTargetId.equals(serverTargetId))
-            return true;
-        }
-      }
-    } 
-    return false;  
-  }
-  
-  /**
-  * Gets the server factoryIDs of all web service server runtime type
-  * with an runtime ID equals to the input
-  * @param runtime ID
-  * @return array of factory IDs
-  */
-  public String[] getServerFactoryIDByRuntimeID(String runtimeID) {
-    Vector v = new Vector();
-    Iterator it = webServiceServerRuntimeTypes.values().iterator();
-    while (it.hasNext()) {
-      WebServiceServerRuntimeType_ wssrt = (WebServiceServerRuntimeType_)it.next();
-      if (wssrt!=null) {
-        if (wssrt.runtimeId_.equals(runtimeID))
-          v.add(getWebServiceServerById(wssrt.serverId_).getFactoryId());
-
-      }
-    }
-    String[] serverFactoryIDs = new String[v.size()];
-    for (int i = 0; i < v.size(); i++) {
-      serverFactoryIDs[i] = (String)v.get(i);
-    }
-    return serverFactoryIDs;
-  }
-
-  /**
-  * Gets the runtime IDs of all web service server runtime type
-  * with an server factory ID equals to the input
-  * @param server factory ID
-  * @return array of runtime IDs
-  */
-  public String[] getRuntimeIDsByServerFactoryID(String serverFactoryID) {
-    Vector v = new Vector();
-    Iterator it = webServiceServerRuntimeTypes.values().iterator();
-    while (it.hasNext()) {
-      WebServiceServerRuntimeType_ wssrt = (WebServiceServerRuntimeType_)it.next();
-      if (wssrt!=null) {
-      	IWebServiceServer wss = getWebServiceServerById(wssrt.serverId_);
-      	String wssfId = wss.getFactoryId();
-      	if (wssfId.equals(serverFactoryID))
-      	{
-      		if (!v.contains(wssrt.runtimeId_))
-      		{
-      			v.add(wssrt.runtimeId_);	
-      		}      		
-      	}
-        /*if (getWebServiceServerById(wssrt.serverId_).getFactoryId().equals(serverFactoryID))
-          v.add(getWebServiceRuntimeById(wssrt.runtimeId_).getId());*/
-      }
-    }
-    String[] runtimeIDs = new String[v.size()];
-    for (int i = 0; i < v.size(); i++) {
-      runtimeIDs[i] = (String)v.get(i);
-    }
-    return runtimeIDs;
-  }
-  
-  /**
-  * Sets the Web service servers and type from each extension 
-  * in a Hashtable.  The type is the key, and value is a Vector containing 
-  * each runtime supported in that Web service type.
-  * @param server name
-  * @param type name
-  */
-  private void setServersByType(String typeId, String server)
-  {
-    if(serversByType_.get(typeId)!=null)
-    {
-      Vector v = (Vector)serversByType_.get(typeId);
-      if (!v.contains(server.trim())) 
-      {
-        v.add(server.trim());      
-      }
-    }
-    else
-    {
-      Vector vect = new Vector();
-      vect.add(server.trim());
-      serversByType_.put(typeId, vect);
-    }
-
-  }
-
-  /**
-  * Gets the Web service servers vector given a type
-  * @param Web service type
-  * @return array of server factory Ids
-  */
-  public String[] getServerFactoryIdsByType(String webServiceType) 
-  {
-    String[] servers; 
-    if (serversByType_.containsKey(webServiceType))
-    {
-      Vector vect = (Vector)serversByType_.get(webServiceType);
-      servers = new String[vect.size()];
-      for (int i=0; i<vect.size(); i++)
-      {
-        String serverId = (String)vect.elementAt(i);
-        WebServiceServer wss = (WebServiceServer)webServiceServers.get(serverId);
-        if (wss!=null) {
-          servers[i] = (String)wss.getFactoryId(); //Note: returning server factory Ids
-        }
-      }
-      return servers;
-    }
-    else
-    {     
-      log_.log(Log.ERROR, 5060, this, "getServerByType", "Web service server not found for Web service type "+webServiceType);
-      return null;
-    }
-
-  }
-
-  public IWebServiceRuntime getWebServiceRuntimeByLabel(String runtimeLabel)
-  {
-    Iterator iter = webServiceRuntimes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceRuntime wsr = (WebServiceRuntime)iter.next();
-      if (wsr!=null) {
-        if (runtimeLabel.equals(wsr.getLabel()))
-          return wsr;
-      }
-    }
-    return null;      
-  }
-  
-  public IWebServiceRuntime getWebServiceRuntimeById(String runtimeId)
-  {
-    return (IWebServiceRuntime)webServiceRuntimes.get(runtimeId); 
-  }
-
-  public IWebServiceServer getWebServiceServerByFactoryId(String serverFactoryId)
-  {
-    if (serverFactoryId==null)
-      return null;
-
-    Iterator iter = webServiceServers.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceServer wss = (WebServiceServer)iter.next();
-      if (wss!=null && wss.getFactoryId()!=null) {
-        if (serverFactoryId.equals(wss.getFactoryId())) {
-          return wss;
-        }
-      }
-    }
-    return null;    
-    
-  }
-
-  public IWebServiceServer getWebServiceServerByLabel(String serverLabel)
-  {
-    if (serverLabel==null) 
-      return null;
-    
-    Iterator iter = webServiceServers.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceServer wss = (WebServiceServer)iter.next();
-      if (wss!=null) {
-        if (serverLabel.equals(wss.getLabel()))
-          return wss;
-      }
-    }
-    return null;    
-    
-  }
-  
-  public IWebServiceServer getWebServiceServerById(String serverId)
-  {
-    return (IWebServiceServer)webServiceServers.get(serverId);
-  }
-
-  public IWebServiceType getWebServiceTypeByLabel(String typeLabel)
-  {
-    Iterator iter = webServiceTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceTypeImpl wst = (WebServiceTypeImpl)iter.next();
-      if (wst!=null) {
-        if (typeLabel.equals(wst.getLabel()))
-          return wst;
-      }
-    }
-    return null;
-  }
-
-  public IWebServiceType getWebServiceTypeById(String typeId)
-  {
-    if (webServiceTypes.get(typeId)!= null)
-      return (WebServiceTypeImpl)webServiceTypes.get(typeId);
-    return null;
-  }
-
-  /**
-   * Returns true if an EJB project is needed to host a Web service
-   * of the type identified by typeId. If multiple natureIds are specified in the 
-   * "includeNatures" attribute, only the first one is checked. If no natureIds are specified, 
-   * false is returned.
-   * 
-   * @deprecated  
-   * 	Should be refactored in future 
-   */
-//  public boolean requiresEJBProject(String typeId)
-//  {
-//    IWebServiceType wst = WebServiceServerRuntimeTypeRegistry.getInstance().getWebServiceTypeById(typeId);
-//    if (wst != null)
-//    {
-//      IConfigurationElement elem = wst.getConfigurationElement();
-//      String includedNatures = elem.getAttribute("includeNatures");
-//      if (includedNatures==null || includedNatures.length()==0)
-//      {
-//        return false;
-//      }
-//      else
-//      {
-//        StringTokenizer st = new StringTokenizer(includedNatures);
-//        if(st.hasMoreTokens())
-//        {
-//          String firstIncludedNature = st.nextToken();
-//          if (firstIncludedNature.equals(IEJBNatureConstants.NATURE_ID))
-//            return true;
-//        }
-//      }
-//    }
-//    return false;
-//  }
-  
-  /**
-   * Returns a list of valid projects for the Web service type with an id of typeId.
-   * In the case where the Web service type extension does not specify which project
-   * natures are included, a array of all Web and EJB projects in the workspace will
-   * be returned.
-   * @param typeId
-   * @return IProject[] an array of valid projects
-   */
-  public IProject[] getProjectsByWebServiceType(String typeId)
-  {
-    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-    ArrayList validProjects = new ArrayList();
-//    IWebServiceType wst = WebServiceServerRuntimeTypeRegistry.getInstance().getWebServiceTypeById(typeId);
-//    if (wst != null)
-//    {
-
-		//TODO: This section needs to be refactored to filter ArtifactEdits
-		// and uphold project topology described in the extension
-		
-//      IConfigurationElement elem = wst.getConfigurationElement();
-//      String includedNatures = elem.getAttribute("includeNatures");
-//      String excludedNatures = elem.getAttribute("excludeNatures");
-//      if (includedNatures!=null && includedNatures.length()>0)
-//      {
-//        for (int i = 0; i < projects.length; i++)
-//        {
-//          if (include(projects[i], includedNatures) && exclude(projects[i], excludedNatures))
-//            validProjects.add(projects[i]);
-//        }
-//        return (IProject[])validProjects.toArray(new IProject[0]);
-//      }
-//    }
-    
-    //If wst was null or the extension didn't specify which project natures are
-    // to be included, revert to the old behaviour
-    for (int j = 0; j < projects.length; j++)
-    {
-      if (ResourceUtils.isWebProject(projects[j]) || ResourceUtils.isEJBProject(projects[j]))
-        validProjects.add(projects[j]);
-    }    
-    return (IProject[])validProjects.toArray(new IProject[0]);
-  }
-  
-  private boolean include(IProject project, String include)
-  {
-    StringTokenizer st = new StringTokenizer(include);
-    while(st.hasMoreTokens())
-    {
-      try
-      {
-        if (project.hasNature(st.nextToken()))
-          return true;
-      }
-      catch (CoreException ce)
-      {
-      }
-    }
-    return false;
-  }
-
-  private boolean exclude(IProject project, String exclude)
-  {
-    StringTokenizer st = new StringTokenizer(exclude);
-    while(st.hasMoreTokens())
-    {
-      try
-      {
-        if (project.hasNature(st.nextToken()))
-          return false;
-      }
-      catch (CoreException ce)
-      {
-      }
-    }
-    return true;
-  }
-  
-  //
-  // Loads WebServiceServerRuntimeType objects into this registry.
-  // See method getInstance().
-  //
-  private void load ()
-  {
-    runtimesByType_ = new Hashtable();
-    serversByType_ = new Hashtable();
-    configElemsById_ = new Hashtable();
-    runtimeIdByLabel_ = new Hashtable();
-    runtimeLabelById_ = new Hashtable();
-    serverFactoryIdByLabel_ = new Hashtable();
-    serverLabelByFactoryId_ = new Hashtable();
-
-    webServiceServers = new HashMap();
-    webServiceRuntimes = new HashMap();
-    webServiceTypes = new HashMap();
-    
-    webServiceServerRuntimeTypes = new HashMap();
-    
-    loadTypes();
-  }
-
-  /**
-  * Returns a singleton instance of this class.
-  * @return A singleton WebServiceServerRuntimeTypeRegistry object.
-  */
-  public static WebServiceServerRuntimeTypeRegistry getInstance ()
-  {
-    if (instance_ == null)
-    {
-      instance_ = new WebServiceServerRuntimeTypeRegistry();
-      instance_.load();
-    }
-    return instance_;
-  }
-
-  /**
-  * Returns the Web Service type names of all registered <code>WebServiceServerRuntimeType</code>
-  * objects.
-  * @return The Web Service type names of all registered <code>WebServiceServerRuntimeType</code>
-  * objects.
-  */
-  public String[] getWebServiceTypeNames()
-  {
-    
-    String[] types = new String[webServiceTypes.size()];
-
-    int i=0;
-    Iterator iter = webServiceTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceTypeImpl wst = (WebServiceTypeImpl)iter.next();
-      if (wst!=null) {
-        types[i] = wst.getLabel();
-        i++;
-      }
-    }
-    return types;
-  }
-  
-  public LabelsAndIds getServiceTypeLabels()
-  {
-    LabelsAndIds labelIds = new LabelsAndIds();
-    Iterator     iterator = webServiceTypes.values().iterator();
-    int          size     = webServiceTypes.size();
-    String[]     labels   = new String[size];
-    String[]     ids      = new String[size];
-    int          index    = 0;
-    
-    labelIds.setLabels_( labels );
-    labelIds.setIds_( ids );
-    
-    while( iterator.hasNext() ) 
-    {
-      WebServiceTypeImpl type = (WebServiceTypeImpl)iterator.next();
-      
-      ids[index]    = type.getId();
-      labels[index] = type.getLabel();
-      index++;
-    }    
-    
-    return labelIds;
-  }
-  
-  /**
-  * Returns the IConfigurationElement given the server, runtime, and type attributes
-  * The benefit of getting the IConfigurationElement is that the corresponding class
-  * file and plugin are not loaded immediately.
-  * @param server label
-  * @param runtime label
-  * @param type label
-  * @return IConfiguration element
-  */
-  public IConfigurationElement getConfigurationElementFor(String serverId, String runtimeId, String typeId)
-  {
-    if (serverId==null || runtimeId==null || typeId==null)
-        return null;
-    Iterator iter = webServiceServerRuntimeTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceServerRuntimeType_ wssrt = (WebServiceServerRuntimeType_)iter.next();
-      if (wssrt!=null ) {
-        if (wssrt.getConfigurationElementFor(serverId, runtimeId, typeId)!=null)
-          return wssrt.getConfigurationElementFor(serverId, runtimeId,typeId);
-      }
-    }
-    return null;    
-  }
-  
-  public IConfigurationElement getConfigElementFor(String factoryId, String runtimeId, String typeId)
-  {
-    Iterator iter = webServiceServerRuntimeTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceServerRuntimeType_ wssrt = (WebServiceServerRuntimeType_)iter.next();
-        if (wssrt.hasConfigElementFor(factoryId, runtimeId, typeId)) {
-          return wssrt.element_;
-      }
-    }
-    return null;    
-  }
-
-  public boolean requiresWebModuleFor(String server, String runtime, String type)
-  {
-    IConfigurationElement elem = getConfigurationElementFor(server, runtime, type);
-    if (elem==null)
-    {
-      return false;  // report error here instead
-    }
-    return Boolean.valueOf(elem.getAttribute("requireWebModule")).booleanValue();
-  }
-
-  public boolean requiresEJBModuleFor(String server, String runtime, String type)
-  {
-    IConfigurationElement elem = getConfigurationElementFor(server, runtime, type);    
-    if (elem==null)
-    {
-      return false;
-    }
-    return Boolean.valueOf(elem.getAttribute("requireEJBModule")).booleanValue();
-  }
-
-  /**
-  * Returns the id of the <code>WebServiceServerRuntimeType</code> corresponding to the Server,
-  * Runtime, and Web Service Type.
-  */
-  public boolean webServiceServerRuntimeTypeExists(String serverID, String runtimeID, String typeID) 
-  {
-    return (getConfigurationElementFor(serverID, runtimeID, typeID) != null);
-  }
-
-  /**
-  * Returns the id of the <code>WebServiceServerRuntimeType</code> corresponding to the Server,
-  * Runtime, and Web Service Type.
-  */
-  public String getWebServiceServerRuntimeTypeName(String server, String runtime, String type) 
-  {
-    IConfigurationElement elem = (IConfigurationElement)getConfigurationElementFor(server, runtime, type);
-    return (elem==null ? null : elem.getAttribute("id"));
-  }
-
-  /**
-  * Returns the <code>WebServiceServerRuntimeType</code> corresponding to the Server, 
-  * Runtime, and Web Service type. This will return the <code>WebServiceServerRuntimeType</code>
-  * object and set the properties found in the manifest file. i.e. isWebModuleRequired, isEJBModuleRequired
-  * @param server label
-  * @param runtime label
-  * @param Web service type
-  * @return WebServiceServerRuntimeType object
-  */
-  public WebServiceServerRuntimeType getWebServiceServerRuntimeType(String server, String runtime, String type)
-  {
-
-    WebServiceServerRuntimeType wssrt = null;
-    String serverId = getWebServiceServerByFactoryId(server).getId();
-    IConfigurationElement elem = getConfigurationElementFor(server, runtime, type);
-   
-    if( elem == null )
-    {
-      // We couldn't find the server and runtime specified so we will
-      // find the default server and runtime.
-      
-      server  = getDefaultServerValueFor(type);
-      runtime = getDefaultRuntimeValueFor(type);
-
-      elem = getConfigurationElementFor(server, runtime, type);
-      
-    }
-   
-    return wssrt;
-
-  }
-
-
-  /**
-  * Returns the <code>WebServiceServerRuntimeType</code> given the type name.
-  * @param type name
-  * @retrun WebServiceServerRuntimeType object
-  */
-  public WebServiceServerRuntimeType getWebServiceServerRuntimeTypeById(String id)
-  {
-    WebServiceServerRuntimeType wssrt = null;
-    if (configElemsById_.containsKey(id))
-    {
-      try {
-        IConfigurationElement elem = (IConfigurationElement)configElemsById_.get(id);
-        Object webServiceType = elem.createExecutableExtension("class");
-        if (webServiceType instanceof WebServiceServerRuntimeType) 
-        {
-          wssrt = (WebServiceServerRuntimeType)webServiceType;
-          wssrt.setServerLabel(elem.getAttribute("server"));
-          wssrt.setRuntimeLabel(elem.getAttribute("runtime"));
-          wssrt.setWebModuleRequired( Boolean.valueOf(elem.getAttribute("requireWebModule")).booleanValue() );
-          wssrt.setEJBModuleRequired( Boolean.valueOf(elem.getAttribute("requireEJBModule")).booleanValue() );
-        }
-        else
-        {
-          String implementedInterface = "org.eclipse.jst.ws.ui.wizard.WebServiceServerRuntimeType ";
-          String errMsg = "Extensions of the WebServiceServerRuntimeTypes extension point must implement the ";
-          errMsg = errMsg + implementedInterface + "interface.";
-          log_.log(Log.ERROR, 5061, this, "getWebServiceServerRuntimeTypeById", errMsg);
-        }
-      }
-      catch (CoreException ce)
-      {
-        log_.log(Log.ERROR, 5062, this, "getWebServiceServerRuntimeTypeById", ce);
-      }
-    }
-
-    return wssrt;
-  }
-
-  public String[] getWebServiceTypeBySelection(IStructuredSelection selection)
-  {
-
-    TypeSelectionFilter tsf = new TypeSelectionFilter();
-    String[] wst = tsf.getWebServiceTypeByInitialSelection(selection, webServiceTypes);
-    return wst == null ? null : wst;
-
-  }
-
-  public IWebServiceType getWebServiceTypeByTypeLabel(String webServiceTypeLabel)
-  {
-
-    Iterator iter = webServiceTypes.values().iterator();
-    while (iter.hasNext())
-    {
-      WebServiceTypeImpl wst = (WebServiceTypeImpl)iter.next();
-      if (wst!=null) {
-        if (wst.getLabel().equals(webServiceTypeLabel)) {
-          return wst; 
-        }
-      }
-    }
-    return null;
-  }
-
-  public boolean isInitialSelectionValidForChosenType(IStructuredSelection selection, String typeName)
-  {
-    String[] supportedTypes = getWebServiceTypeBySelection(selection);
-    if (supportedTypes!=null)
-    {
-      for (int i=0; i<supportedTypes.length; i++)
-      {
-        if (supportedTypes[i].equals(typeName))
-          return true;
-      }
-    }
-    return false;
-
-  }
-
-  public boolean isServerSupportedForChosenType(String typeId, String serverID)
-  {
-    if (serversByType_.containsKey(typeId))
-    {
-      Vector vect = (Vector)serversByType_.get(typeId);
-      for (int i=0; i<vect.size(); i++)
-      {
-        WebServiceServer wss = (WebServiceServer)webServiceServers.get((String)vect.elementAt(i));
-        if (serverID!=null) {
-          if (serverID.equalsIgnoreCase(wss.getFactoryId()))
-            return true;
-        }
-      }
-    }
-    return false;
-  }
-  
-  public boolean isServerRuntimeTypeSupported(String server, String runtime, String type)  {
-
-      WebServiceServerRuntimeType wssrt = null;
-      IConfigurationElement elem = getConfigurationElementFor(server, runtime, type);
-      return elem == null ? false : true; 
-          
-  }
-  
-  public String getDefaultServerValueFor(String typeId)
-  {
-    String[] servers; 
-    if (serversByType_.containsKey(typeId))
-    {
-      Vector vect = (Vector)serversByType_.get(typeId);
-      servers = new String[vect.size()];
-      for (int i=0; i<vect.size(); i++)
-      {
-        String serverId = (String)vect.elementAt(i);
-        WebServiceServer wss = (WebServiceServer)webServiceServers.get(serverId);
-        servers[i] = (String)wss.getId();
-      }
-      return servers[0];
-    }
-    else
-    {
-      log_.log(Log.ERROR, 5063, this, "getServerByType", "Unable to find default server for "+typeId);
-      return null;
-    }
-
-  }
-
-  public String getDefaultRuntimeValueFor(String typeId)
-  {
-    String[] runtimeName = getRuntimesByType(typeId);
-    for (int i=0; i<runtimeName.length; i++)
-    {
-        WebServiceRuntime wsr = (WebServiceRuntime)webServiceRuntimes.get(runtimeName[i]);
-        if (wsr.getIsDefault())
-        	return runtimeName[i];
-    }   
-    return runtimeName[0];
-  }
-  
-  public String getServerIdForFactoryId(String factoryId) {
-
-    Iterator iter = webServiceServers.values().iterator();
-    while (iter.hasNext()) {
-      WebServiceServer wss = (WebServiceServer)iter.next();
-      if (wss.getFactoryId().equals(factoryId)) {
-        return wss.getId();
-      }
-    }
-    return null;
-
-  }
- 
-  public final class WebServiceServerRuntimeType_
-  {
-    
-   public String typeId_;
-   public String serverId_;
-   public String runtimeId_;
-   public IConfigurationElement element_;
-   
-   public WebServiceServerRuntimeType_(String serverId, String runtimeId,String typeId, IConfigurationElement elem)
-   {
-    this.typeId_ = typeId;
-    this.serverId_ = serverId;
-    this.runtimeId_ = runtimeId;
-    this.element_ = elem;
-   }
-    
-   public IConfigurationElement getConfigurationElementFor(String serverID, String runtimeID, String typeID)
-   {
-    if (this.typeId_.equals(typeID) && this.serverId_.equals(serverID) && this.runtimeId_.equals(runtimeID))
-      return this.element_;
-    return null;
-   }
-   
-   public boolean hasConfigElementFor(String factoryID, String runtimeID, String typeID) 
-   {
-     String serverID = getServerIdForFactoryId( factoryID ); 
-       
-     if (typeId_.equalsIgnoreCase(typeID) &&
-         serverId_.equalsIgnoreCase(serverID) &&
-         runtimeId_.equalsIgnoreCase(runtimeID))
-     {
-        return true;
-     }
-     
-     return false;
-    }
-    
-    
-  }
-
-  public CommandFragmentFactoryFactory getFactoryFactory( String[] ids )
-  {
-    String                hashKey = ids[2] + "#" + ids[1] + "#" + ids[0];
-    CommandWidgetBinding  binding = (CommandWidgetBinding)factoryCache_.get( hashKey );
-    
-    if( binding == null ) 
-    {
-      IConfigurationElement element = getConfigElementFor( ids[2], ids[1], ids[0] ); 
-    
-      if( element == null ) return null;
-    
-      binding = createBinding( element );
-      
-      factoryCache_.put( hashKey, binding );
-      
-      binding.registerDataMappings( dataMappingRegistry_ );
-      
-      if( widgetRegistry_ != null )
-      {
-        binding.registerWidgetMappings( widgetRegistry_ );
-        binding.registerCanFinish( canFinishRegistry_ );
-      }
-    }
-         
-    return binding;    
-  }
-  
-  private CommandWidgetBinding createBinding(IConfigurationElement element ) 
-  {
-    Vector bindings = new Vector(4);
-    Vector fragments = new Vector(4);
-    
-    addBinding( element, "developBinding", bindings );
-    addBinding( element, "assemblyBinding", bindings );
-    addBinding( element, "deployBinding", bindings );
-    addBinding( element, "installBinding", bindings );
-    
-    fragments.add( new ServicePreDevelopFragment() );
-    fragments.add( new ServicePreAssemblyFragment() );
-    fragments.add( new ServicePreDeployFragment() );
-    fragments.add( new ServicePreInstallFragment() );
-     
-    return new CommandWidgetBindingList( bindings, fragments );
-  }
-  
-  private void addBinding( IConfigurationElement element, String bindingName, Vector list )
-  {
-    Object binding = null;
-    
-    if( element.getAttribute( bindingName ) != null )
-    {
-      try
-      {
-        binding = element.createExecutableExtension( bindingName ); 
-      }
-      catch( CoreException exc )
-      {
-      }
-    }
-    
-    list.add( binding );
-  }
-  
-  public void setDataMappingRegistry( DataMappingRegistry registry )
-  {
-    dataMappingRegistry_ = registry;
-    
-    // We need to rebuild the factory cache each time we start the server
-    // wizard.
-    factoryCache_        = new HashMap();
-  }
-  
-  public void setWidgetRegistry( WidgetRegistry registry )
-  {
-    widgetRegistry_ = registry;;  
-  }
-  
-  public void setCanFinishRegistry( CanFinishRegistry registry )
-  {
-    canFinishRegistry_ = registry;
-  }
-
-  public String[] getAllServerFactoryIds()
-  {
-  	Object[] servers = webServiceServers.values().toArray();
-  	String[] factoryIds = new String[servers.length];
-  	for (int i=0; i<servers.length; i++)
-  	{
-  		WebServiceServer wss = (WebServiceServer)servers[i];
-  		factoryIds[i] = wss.getFactoryId();
-  	}
-  	return factoryIds;
-  }
-  
-  public String getServerFactoryIdFromServerId(String serverId)
-  {
-  	Object[] servers = webServiceServers.values().toArray();
-  	for (int i=0; i<servers.length; i++)
-  	{
-  		WebServiceServer wss = (WebServiceServer)servers[i];
-  		if (serverId == wss.getId())
-  		{
-  			return wss.getFactoryId();
-  		}
-  			
-  	}
-  	return null;
-  }
-  
-  /*
-   * Returns a cascading list of valid choices for server, runtime, and J2EE levels. 
-   * This is an intersection of what is available for service and client. 
-   */
-  public SelectionListChoices getServerToRuntimeToJ2EE()
-  {
-  	if (serverToRuntimeToJ2EE_!=null)
-  	{
-  		return serverToRuntimeToJ2EE_;
-  	}
-  	
-  	String[] servers = getStringArrayIntersection(getAllServerFactoryIds(), WebServiceClientTypeRegistry.getInstance().getAllClientServerFactoryIds());
-    SelectionList serversList = new SelectionList(servers, 0);
-    Vector choices = new Vector();
-    for (int i=0; i<servers.length; i++)
-    {
-    	choices.add(getRuntimeChoices(servers[i]));
-    }
-    serverToRuntimeToJ2EE_ = new SelectionListChoices(serversList, choices);
-    return serverToRuntimeToJ2EE_;
-  	
-  }
-  
-  private SelectionListChoices getRuntimeChoices(String serverFactoryId)
-  {
-  	String[] serviceRuntimes = getRuntimeIDsByServerFactoryID(serverFactoryId);
-  	String[] clientRuntimes = WebServiceClientTypeRegistry.getInstance().getRuntimeIdsByServerFactoryId(serverFactoryId);
-  	String[] runtimes = getStringArrayIntersection(serviceRuntimes, clientRuntimes);
-  	SelectionList runtimesList = new SelectionList(runtimes, 0);
-  	Vector choices = new Vector();
-    for (int i=0; i<runtimes.length; i++)
-    {
-    	choices.add(getJ2EEChoices(runtimes[i]));
-    }
-    return new SelectionListChoices(runtimesList, choices);    
-  }
-  
-  private SelectionListChoices getJ2EEChoices(String runtimeId)
-  {
-  	String[] serviceJ2EEVersions = getWebServiceRuntimeById(runtimeId).getJ2EEVersions();
-  	String[] clientJ2EEVersions = WebServiceClientTypeRegistry.getInstance().getWebServiceRuntimeById(runtimeId).getJ2EEVersions();
-  	String[] j2eeVersions = getStringArrayIntersection(serviceJ2EEVersions, clientJ2EEVersions);
-  	SelectionList j2eeVersionsList = new SelectionList(j2eeVersions, 0);
-  	return new SelectionListChoices(j2eeVersionsList, null);
-  }
-  
-  public String getServerLabel(String factoryId)
-  {
-  	if (factoryId==null || factoryId.length()==0)
-  		return null;
-  	
-  	if (serverLabelByFactoryId_.containsKey(factoryId))
-  	{
-  	  return (String)serverLabelByFactoryId_.get(factoryId);
-  	}
-  	else
-  	{
-  	  return null;
-  	}
-  }
-  
-  public String getServerFactoryId(String label)
-  {
-  	if (label==null || label.length()==0)
-  		return null;
-  	
-  	if (serverFactoryIdByLabel_.containsKey(label))
-  	{
-  	  return (String)serverFactoryIdByLabel_.get(label);  
-  	}
-  	else
-  	{
-  	  return null;
-  	}  	  	
-  }
-  
-  public String getRuntimeLabel(String id)
-  {
-  	if (id==null || id.length()==0)
-  		return null;
-  	
-  	return (String) runtimeLabelById_.get(id);
-  }
-  
-  public String getRuntimeId(String label)
-  {
-  	if (label==null || label.length()==0)
-  		return null;
-  	
-  	return (String)runtimeIdByLabel_.get(label);  	
-  }  
-  
-  private String[] getStringArrayIntersection(String[] a1, String[] a2)
-  {
-  	Vector vf = new Vector();
-  	if (a1==null || a2==null)
-  	{
-  		return convertToStringArray(vf.toArray());
-  	}  	
-  	
-  	for (int i=0; i<a1.length; i++)
-  	{
-  		for (int j=0; j<a2.length; j++)
-  		{
-  			if (a1[i].equals(a2[j]))
-  			{
-  				vf.add(a1[i]);
-  				break;
-  			}
-  		}
-  	}
-  	
-  	return convertToStringArray(vf.toArray());
-  }
-  
-  private String[] convertToStringArray(Object[] a)
-  {
-  	if (a==null) return new String[0];
-  	
-  	int length = a.length;
-  	String[] sa = new String[length];
-  	for (int i=0; i<length; i++)
-  	{
-  		Object obj = a[i];
-  		if (obj instanceof String)
-  		{
-  			sa[i] = (String)obj;
-  		}
-  	}
-  	return sa;
-  }
-}
-
-
-
-
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceType.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceType.java
deleted file mode 100644
index 3a8f4fb..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceType.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service artifact. The primary purpose of a WebServiceType
-* object is to manufacture the wizard pages that support the type.
-*/
-public interface WebServiceType
-{
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getName ();
-
-  /**
-  * Returns a locale specific description of this Web Service type.
-  * @return A locale specific description of this Web Service type.
-  */
-  public String getDescription ();
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceTypeImpl.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceTypeImpl.java
deleted file mode 100644
index 229de46..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceTypeImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-
-/**
-* This is the interface for objects that represent a kind of
-* Web Service artifact. The primary purpose of a WebServiceType
-* object is to manufacture the wizard pages that support the type.
-*/
-public class WebServiceTypeImpl implements IWebServiceType
-{
-
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  public IConfigurationElement element_;
-  public String typeId_;
-  public String typeLabel_;
-  public String[] extensionMetadata_;
-  public String[] resourceTypeMetadata_;
-  public Boolean canFinish_;
-
-  public WebServiceTypeImpl(IConfigurationElement elem)
-  {
-    super();
-    this.element_ = elem; 
-  }
-  /**
-  * Returns the id of this Web Service type.
-  * @return id of this Web Service type.
-  */
-  public String getId ()
-  {
-    if (typeId_==null)
-      typeId_ = element_.getAttribute("id");
-    return typeId_;
-  }
-  /**
-  * Returns a short, locale specific name of this Web Service type.
-  * @return A short, locale specific name of this Web Service type.
-  */
-  public String getLabel ()
-  {
-    if (typeLabel_ == null)
-      typeLabel_ = element_.getAttribute("label");
-    return typeLabel_;    
-  }
-
-  /**
-  * Returns a locale specific description of this Web Service type's extension metadata.
-  * @return A locale specific description of this Web Service type's extension metadata.
-  */
-  public String[] getExtensionMetadata ()
-  {
-    if (extensionMetadata_ ==null)
-    {
-      StringTokenizer st = new StringTokenizer(element_.getAttribute("extensionMetadata"));
-      extensionMetadata_ = new String[st.countTokens()];
-      int i=0;
-      while (st.hasMoreElements())
-      {
-        String exten = (String)st.nextToken();
-        if (exten!=null)
-        {
-          extensionMetadata_[i]=exten;
-        }
-        i++;
-      }    
-    }
-    return this.extensionMetadata_;
-  }    
-
-  /**
-  * Returns a locale specific description of this Web Service type's resource metadata.
-  * @return A locale specific description of this Web Service type's resource metadata.
-  */
-  public String[] getResourceTypeMetadata ()
-  {
-    if (resourceTypeMetadata_ == null)
-    {
-      StringTokenizer st = new StringTokenizer(element_.getAttribute("resourceTypeMetadata"));    
-      resourceTypeMetadata_ = new String[st.countTokens()];
-      int i=0;
-      while (st.hasMoreElements())
-      {
-        String resourceType = (String)st.nextToken();
-        if (resourceType!=null)
-        {
-          resourceTypeMetadata_[i]=resourceType;
-        }
-        i++;
-      }
-    }
-    return resourceTypeMetadata_;
-  }
-
-  /**
-  * Returns true if the plugin.xml contains an attribute of "canFinish" with a value of true.  Otherwise, 
-  * false is returned.  Note: if the "canFinish" attribute is not specified true is returned by default.
-  * @return Returns whether or not the user can finish on the pages before the web service type pages.
-  */
-  public boolean getCanFinish()
-  {
-    if( canFinish_ == null )
-    {      
-      String canFinishString = element_.getAttribute("canFinish");
-
-      canFinish_ = canFinishString == null ? new Boolean( true ) : Boolean.valueOf( canFinishString );
-    }
-
-    return canFinish_.booleanValue();
-  }
-  
-  /**
-   * Returns the configuration element associated with
-   * this type.
-   * 
-   * @return org.eclipse.core.runtime.IConfigurationElement
-   */
-  public IConfigurationElement getConfigurationElement()
-  {
-    return this.element_; 
-  }
-
-  public String getObjectSelectionWidget()
-  {
-    return element_.getAttribute("objectSelectionWidget");
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceTypeRegistry.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceTypeRegistry.java
deleted file mode 100644
index e158231..0000000
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/WebServiceTypeRegistry.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.ui.wizard;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-
-public class WebServiceTypeRegistry
-{
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-  private static WebServiceTypeRegistry instance_;
-
-  private Hashtable typesByName_;
-  private String[] typeNames_;
-
-  //
-  // Loads WebServiceType objects into this registry.
-  // This is done by querying the plugin registry for all extensions
-  // hanging on the webServiceType extension point. Extensions
-  // must implement the org.eclipse.jst.ws.ui.wizard.WebServiceType
-  // interface.
-  //
-  private void loadTypes ()
-  {
-  	Log log = new EclipseLog();
-    IExtensionRegistry reg = Platform.getExtensionRegistry();
-    IConfigurationElement[] config = reg.getConfigurationElementsFor(
-                                     "org.eclipse.jst.ws.consumption.ui",
-                                     "webServiceType");
-
-    for(int idx=0; idx<config.length; idx++) 
-    {
-      IConfigurationElement elem = config[idx];
-      try 
-      {
-        Object webServiceType = elem.createExecutableExtension("class");
-        if (webServiceType instanceof WebServiceType) 
-        {
-          add((WebServiceType)webServiceType);
-        }
-        else
-        {
-          String implementedInterface = "org.eclipse.jst.ws.ui.wizard.WebServiceType ";
-          String errMsg = "Extensions of the webServiceTypes extension point must implement the ";
-          errMsg = errMsg + implementedInterface + "interface.";
-      	  log.log(Log.ERROR, 5056, this, "loadTypes", errMsg);
-        }
-      } catch (CoreException e)
-      {
-      	log.log(Log.ERROR, 5057, this, "loadTypes", e);
-      }
-    }
-  }
-
-  //
-  // Loads WebServiceType objects into this registry.
-  // See method getInstance().
-  //
-  private void load ()
-  {
-    typesByName_ = new Hashtable();
-    loadTypes();
-    indexTypesByName();
-  }
-
-  //
-  // Add the given WebServiceType to this registry.
-  // See method load().
-  //
-  private void add ( WebServiceType wst )
-  {
-    typesByName_.put(wst.getName(),wst);
-  }
-
-  //
-  // Builds an index of WebServiceType objects by their names.
-  // See method load().
-  //
-  private void indexTypesByName ()
-  {
-    if (typeNames_ == null)
-    {
-      typeNames_ = new String[typesByName_.size()];
-      Enumeration e = typesByName_.keys();
-      for (int i=0; e.hasMoreElements(); i++)
-      {
-        typeNames_[i] = (String)e.nextElement();
-      }
-    }
-  }
-
-  /**
-  * Returns a singleton instance of this class.
-  * @return A singleton WebServiceTypeRegistry object.
-  */
-  public static WebServiceTypeRegistry getInstance ()
-  {
-    if (instance_ == null)
-    {
-      instance_ = new WebServiceTypeRegistry();
-      instance_.load();
-    }
-    return instance_;
-  }
-
-  /**
-  * Returns all registered <code>WebServiceType</code> objects.
-  * @return All registered <code>WebServiceType</code> objects.
-  */
-  public WebServiceType[] getWebServiceTypes ()
-  {
-    WebServiceType[] wsts = new WebServiceType[typesByName_.size()];
-    Enumeration e = typesByName_.elements();
-    for (int i=0; e.hasMoreElements(); i++)
-    {
-      wsts[i] = (WebServiceType)e.nextElement();
-    }
-    return wsts;
-  }
-
-  /**
-  * Returns the names of all registered <code>WebServiceType</code>
-  * objects.
-  * @return The names of all registered <code>WebServiceType</code>
-  * objects.
-  */
-  public String[] getWebServiceTypeNames ()
-  {
-    return typeNames_;
-  }
-
-  /**
-  * Returns the <code>WebServiceType</code> object of the given
-  * <code>name</code> or null if there is no such object.
-  * @param name The name of the <code>WebServiceType</code> to find.
-  * @return The <code>WebServiceType</code> or null if no such object
-  * was found.
-  */
-  public WebServiceType getWebServiceTypeByName ( String name )
-  {
-    return (name == null ? null : (WebServiceType)typesByName_.get(name));
-  }
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBM.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBM.java
index e1e8d3d..7f3aa24 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBM.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBM.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistryIBM implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_IBM");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_IBM;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBMTest.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBMTest.java
index 1df4395..78d2c0c 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBMTest.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryIBMTest.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistryIBMTest implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_IBM_TEST");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_IBM_TEST;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoft.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoft.java
index 89bdd3e..bbbb8d7 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoft.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoft.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistryMicrosoft implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_MICROSOFT");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_MICROSOFT;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoftTest.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoftTest.java
index 80fb5f6..a6f9bee 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoftTest.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryMicrosoftTest.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistryMicrosoftTest implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_MICROSOFT_TEST");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_MICROSOFT_TEST;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryNTTComm.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryNTTComm.java
index 0158b0f..26e14b4 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryNTTComm.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryNTTComm.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistryNTTComm implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_NTTCOMM");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_NTTCOMM;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAP.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAP.java
index 04d6d1f..1ad68fe 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAP.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAP.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistrySAP implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_SAP");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_SAP;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAPTest.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAPTest.java
index 31762a6..5fad148 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAPTest.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistrySAPTest.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistrySAPTest implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_SAP_TEST");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_SAP_TEST;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryXMethods.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryXMethods.java
index 0041287..8e7bde3 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryXMethods.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/uddi/PublicUDDIRegistryXMethods.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard.uddi;
 
-import org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin;
+import org.eclipse.wst.ws.parser.PluginMessages;
 
 public class PublicUDDIRegistryXMethods implements PublicUDDIRegistryType
 {
@@ -23,7 +23,7 @@
     }
 
     public String getName() {
-        return ParserPlugin.getMessage("%PUBLICUDDIREGISTRYTYPE_NAME_XMETHODS");
+        return PluginMessages.PUBLICUDDIREGISTRYTYPE_NAME_XMETHODS;
     }
 
     public String getInquiryURL() {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/AddWSDLToWSILWrapperCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/AddWSDLToWSILWrapperCommand.java
index 4e146a7..23193c1 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/AddWSDLToWSILWrapperCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/AddWSDLToWSILWrapperCommand.java
@@ -11,36 +11,40 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wsil;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.wsil.AddWSDLToWSILCommand;
 
 
 
-public class AddWSDLToWSILWrapperCommand extends SimpleCommand
+public class AddWSDLToWSILWrapperCommand extends AbstractDataModelOperation
 {
   private AddWSDLToWSILCommand command;
   private Arguments args;
 
   public AddWSDLToWSILWrapperCommand()
   {
-    super("org.eclipse.jst.ws.internal.consumption.ui.wsil.AddWSDLToWSILWrapperCommand", "org.eclipse.jst.ws.internal.consumption.ui.wsil.AddWSDLToWSILWrapperCommand");
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
+    
     if (command == null)
       command = new AddWSDLToWSILCommand();
     if (!args.isEmpty())
     {
       command.setArguments(args.getStringArguments());
       command.setWWWAuthenticationHandler(new DialogWWWAuthentication(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()));
-      return command.execute(env);
+      command.setEnvironment( env );
+      return command.execute( null, null);
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   /**
    * @param args The args to set.
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/DialogWWWAuthentication.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/DialogWWWAuthentication.java
index 61f9d54..565c91d 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/DialogWWWAuthentication.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/DialogWWWAuthentication.java
@@ -12,6 +12,7 @@
 package org.eclipse.jst.ws.internal.consumption.ui.wsil;
 
 import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -81,7 +82,7 @@
   protected void configureShell(Shell shell)
   {
     super.configureShell(shell);
-    shell.setText(getMessage("%DIALOG_TITLE_HTTP_BASIC_AUTH"));
+    shell.setText(ConsumptionUIMessages.DIALOG_TITLE_HTTP_BASIC_AUTH);
   }
 
   /** 
@@ -103,7 +104,7 @@
     composite.setLayout(gl);
 
     Label label = new Label(composite, SWT.WRAP);
-    label.setText(getMessage("%LABEL_URL"));
+    label.setText(ConsumptionUIMessages.LABEL_URL);
     label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 
     label = new Label(composite, SWT.WRAP);
@@ -111,32 +112,27 @@
     label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
     label = new Label(composite, SWT.WRAP);
-    label.setText(getMessage("%LABEL_HTTP_BASIC_AUTH_USERNAME"));
+    label.setText(ConsumptionUIMessages.LABEL_HTTP_BASIC_AUTH_USERNAME);
     label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 
     username_ = new Text(composite, SWT.BORDER);
     username_.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    username_.setToolTipText(getMessage("%TOOLTIP_HTTP_BASIC_AUTH_USERNAME"));
+    username_.setToolTipText(ConsumptionUIMessages.TOOLTIP_HTTP_BASIC_AUTH_USERNAME);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(username_, INFOPOP_DBAS_USERNAME);
 
     label = new Label(composite, SWT.WRAP);
-    label.setText(getMessage("%LABEL_HTTP_BASIC_AUTH_PASSWORD"));
+    label.setText(ConsumptionUIMessages.LABEL_HTTP_BASIC_AUTH_PASSWORD);
     label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 
     password_ = new Text(composite, SWT.BORDER);
     password_.setEchoChar('*');
     password_.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    password_.setToolTipText(getMessage("%TOOLTIP_HTTP_BASIC_AUTH_PASSWORD"));
+    password_.setToolTipText(ConsumptionUIMessages.TOOLTIP_HTTP_BASIC_AUTH_PASSWORD);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(username_, INFOPOP_DBAS_PASSWORD);
 
     return composite;
   }
 
-  private String getMessage(String msgId)
-  {
-    return WebServiceConsumptionUIPlugin.getMessage(msgId);
-  }
-
   public void handleWWWAuthentication(WWWAuthenticationException wwwae)
   {
     usernameString_ = null;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/TableViewerEditor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/TableViewerEditor.java
index aa98c14..6b47c12 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/TableViewerEditor.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/TableViewerEditor.java
@@ -26,7 +26,7 @@
 import org.eclipse.jface.viewers.TableLayout;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.TableEditor;
 import org.eclipse.swt.events.KeyEvent;
@@ -160,7 +160,7 @@
     buttonComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING));
 
     add_ = new Button(buttonComposite, SWT.PUSH);
-    add_.setText(WebServiceConsumptionUIPlugin.getMessage("%LABEL_ADD"));
+    add_.setText(ConsumptionUIMessages.LABEL_ADD);
     add_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
     add_.addSelectionListener(
       new SelectionListener()
@@ -176,7 +176,7 @@
     );
 
     remove_ = new Button(buttonComposite, SWT.PUSH);
-    remove_.setText(WebServiceConsumptionUIPlugin.getMessage("%LABEL_REMOVE"));
+    remove_.setText(ConsumptionUIMessages.LABEL_REMOVE);
     remove_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
     remove_.addSelectionListener(
       new SelectionListener()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/Utils.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/Utils.java
index 41e17c3..4dae50b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/Utils.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsil/Utils.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.ui.wsil;
 
 import java.net.MalformedURLException;
-
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientRuntimeDescriptor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientRuntimeDescriptor.java
new file mode 100644
index 0000000..65bedf5
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientRuntimeDescriptor.java
@@ -0,0 +1,147 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
+
+public class ClientRuntimeDescriptor
+{
+  private IConfigurationElement elem;
+  private Hashtable allWebServiceClientImpls;
+  private Hashtable allRuntimes;
+  private String id;
+  private WebServiceClientImpl clientImplementationType;
+  private RuntimeDescriptor runtime;
+  private String clientRuntimeClassName;
+  private IWebServiceRuntime webServiceRuntime;
+  private RequiredFacetVersion[] requiredFacetVersions;
+  private Set projectFacetVersions;
+  
+  public ClientRuntimeDescriptor(IConfigurationElement elem, Hashtable allWebServiceClientImpls, Hashtable allRuntimes)
+  {
+    this.elem = elem;
+    this.allWebServiceClientImpls = allWebServiceClientImpls;
+    this.allRuntimes = allRuntimes;
+  }
+  
+  public WebServiceClientImpl getClientImplementationType()
+  {
+    if (clientImplementationType == null)
+    {
+     String clientImplementationTypeId = elem.getAttribute("clientImplementationTypeId");
+     clientImplementationType = (WebServiceClientImpl)allWebServiceClientImpls.get(clientImplementationTypeId);
+    }
+    return clientImplementationType;
+  }
+  
+  public String getClientRuntimeClassName()
+  {
+    if (clientRuntimeClassName == null)
+    {
+      clientRuntimeClassName = elem.getAttribute("class");
+    }
+    return clientRuntimeClassName;
+  }
+  
+  public String getId()
+  {
+    if (id == null)
+    {
+      id = elem.getAttribute("id");
+    }    
+    return id;
+  }
+  
+  public RequiredFacetVersion[] getRequiredFacetVersions()
+  {
+    if (requiredFacetVersions == null)
+    {
+      ArrayList requiredFacetVersionList = new ArrayList();
+      IConfigurationElement[] facetElems = elem.getChildren("required-facet-version");
+      for (int i = 0; i < facetElems.length; i++)
+      {
+        RequiredFacetVersion rfv = new RequiredFacetVersion();
+        IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(facetElems[i].getAttribute("facet"));        
+        IProjectFacetVersion projectFacetVersion = projectFacet.getVersion(facetElems[i].getAttribute("version"));
+        rfv.setProjectFacetVersion(projectFacetVersion);
+        String allowNewerValue = facetElems[i].getAttribute("allow-newer");
+        if (allowNewerValue == null)
+        {
+          rfv.setAllowNewer(false);
+        }
+        else
+        {
+          rfv.setAllowNewer(Boolean.valueOf(allowNewerValue).booleanValue());
+        }
+        
+        requiredFacetVersionList.add(rfv);
+      }
+      
+      requiredFacetVersions = (RequiredFacetVersion[])requiredFacetVersionList.toArray(new RequiredFacetVersion[]{});
+    }
+    
+    return requiredFacetVersions;
+  }
+  
+  public Set getProjectFacetVersions()
+  {
+    if (projectFacetVersions == null)
+    {
+     projectFacetVersions = new HashSet();
+     RequiredFacetVersion[] rfv = getRequiredFacetVersions();
+     for (int i=0; i<rfv.length; i++)
+     {
+       projectFacetVersions.add(rfv[i].getProjectFacetVersion());
+     }
+    }
+    
+    return projectFacetVersions;    
+  }  
+  
+  public RuntimeDescriptor getRuntime()
+  {
+    if (runtime == null)
+    {
+     String runtimeId = elem.getAttribute("runtimeId");
+     runtime = (RuntimeDescriptor)allRuntimes.get(runtimeId);
+    }    
+    return runtime;
+  }
+  
+  public IWebServiceRuntime getWebServiceRuntime()
+  {
+    if (webServiceRuntime == null)
+    {
+        try
+        {
+            webServiceRuntime = (IWebServiceRuntime)elem.createExecutableExtension("class");
+        }
+        catch(CoreException ce)
+        {
+            
+        }
+    }
+    
+    return webServiceRuntime;
+  }
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java
index 2e3d20c..85a0260 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ClientType.java
@@ -12,7 +12,6 @@
 
 import java.util.Hashtable;
 import java.util.StringTokenizer;
-
 import org.eclipse.core.runtime.IConfigurationElement;
 
 public class ClientType {
@@ -24,7 +23,6 @@
 	private WebServiceClientImpl webServiceClientImpl;
 	private String[] moduleTypesInclude;
   private String[] moduleTypesExclude;
-  private String webServiceClientTypeId;
 	
   
   
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java
index 3abfb44..034a6e8 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Context.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
 
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 /**
  * @author rsinha
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/RuntimeDescriptor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/RuntimeDescriptor.java
new file mode 100644
index 0000000..b629537
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/RuntimeDescriptor.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+
+public class RuntimeDescriptor
+{
+
+  private IConfigurationElement elem;
+  private String id;
+  private String label;
+  
+
+  public RuntimeDescriptor(IConfigurationElement elem)
+  {
+    this.elem = elem;
+  }
+  
+  public String getId()
+  {
+    if (id == null)
+    {
+      id = elem.getAttribute("id");
+    }
+    return id;
+  }
+  
+  public String getLabel()
+  {
+    if (label == null)
+    {
+      label = elem.getAttribute("label");
+    }
+    return label;
+  }
+  
+  public String[] getJ2eeLevels()
+  {
+    return new String[]{"13", "14"};
+  }
+  
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java
index ec46403..631454b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/Selection.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
 
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
 
 public class Selection implements ISelection {
 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceRuntimeDescriptor.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceRuntimeDescriptor.java
new file mode 100644
index 0000000..fc5c871
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceRuntimeDescriptor.java
@@ -0,0 +1,164 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
+
+
+public class ServiceRuntimeDescriptor
+{
+  private IConfigurationElement elem;
+  private Hashtable allWebServiceImpls;
+  private Hashtable allRuntimes;
+  private String id;
+  private WebServiceImpl serviceImplementationType;
+  private RuntimeDescriptor runtime;
+  private boolean bottomUp = false;
+  private boolean topDown = false;
+  private String serviceRuntimeClassName;
+  private IWebServiceRuntime webServiceRuntime;
+  private RequiredFacetVersion[] requiredFacetVersions;
+  private Set projectFacetVersions;
+  
+  public ServiceRuntimeDescriptor(IConfigurationElement elem, Hashtable allWebServiceImpls, Hashtable allRuntimes)
+  {
+    this.elem = elem;
+    this.allWebServiceImpls = allWebServiceImpls;
+    this.allRuntimes = allRuntimes;
+
+    bottomUp = (Boolean.valueOf(elem.getAttribute("bottomUp"))).booleanValue();
+    topDown = (Boolean.valueOf(elem.getAttribute("topDown"))).booleanValue();    
+  }
+  
+  public boolean getBottomUp()
+  {    
+    return bottomUp;
+  }
+  
+  public String getId()
+  {
+    if (id == null)
+    {
+      id = elem.getAttribute("id");
+    }
+    return id;
+  }
+  
+  
+  public RequiredFacetVersion[] getRequiredFacetVersions()
+  {
+    if (requiredFacetVersions == null)
+    {
+      ArrayList requiredFacetVersionList = new ArrayList();
+      IConfigurationElement[] facetElems = elem.getChildren("required-facet-version");
+      for (int i = 0; i < facetElems.length; i++)
+      {
+        RequiredFacetVersion rfv = new RequiredFacetVersion();
+        IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(facetElems[i].getAttribute("facet"));        
+        IProjectFacetVersion projectFacetVersion = projectFacet.getVersion(facetElems[i].getAttribute("version"));
+        rfv.setProjectFacetVersion(projectFacetVersion);
+        String allowNewerValue = facetElems[i].getAttribute("allow-newer");
+        if (allowNewerValue == null)
+        {
+          rfv.setAllowNewer(false);
+        }
+        else
+        {
+          rfv.setAllowNewer(Boolean.valueOf(allowNewerValue).booleanValue());
+        }
+        
+        requiredFacetVersionList.add(rfv);
+      }
+      
+      requiredFacetVersions = (RequiredFacetVersion[])requiredFacetVersionList.toArray(new RequiredFacetVersion[]{});
+    }
+    
+    return requiredFacetVersions;
+  }
+  
+  public Set getProjectFacetVersions()
+  {
+    if (projectFacetVersions == null)
+    {
+     projectFacetVersions = new HashSet();
+     RequiredFacetVersion[] rfv = getRequiredFacetVersions();
+     for (int i=0; i<rfv.length; i++)
+     {
+       projectFacetVersions.add(rfv[i].getProjectFacetVersion());
+     }
+    }
+    
+    return projectFacetVersions;    
+  }
+  
+  public RuntimeDescriptor getRuntime()
+  {
+    if (runtime == null)
+    {
+     String runtimeId = elem.getAttribute("runtimeId");
+     runtime = (RuntimeDescriptor)allRuntimes.get(runtimeId);     
+    }
+    return runtime;
+  }
+  
+  public WebServiceImpl getServiceImplementationType()
+  {
+    if (serviceImplementationType == null)
+    {      
+      String serviceImplementationTypeId = elem.getAttribute("serviceImplementationTypeId");
+      serviceImplementationType = (WebServiceImpl)allWebServiceImpls.get(serviceImplementationTypeId);
+    }
+    return serviceImplementationType;
+  }
+  
+  public String getServiceRuntimeClassName()
+  {
+    if (serviceRuntimeClassName == null)
+    {
+      serviceRuntimeClassName = elem.getAttribute("class");
+    }
+    return serviceRuntimeClassName;
+  }
+  
+  public boolean getTopDown()
+  {
+    return topDown;
+  }
+  
+  public IWebServiceRuntime getWebServiceRuntime()
+  {
+    if (webServiceRuntime == null)
+    {
+        try
+        {
+            webServiceRuntime = (IWebServiceRuntime)elem.createExecutableExtension("class");
+        }
+        catch(CoreException ce)
+        {
+            
+        }
+    }
+    
+    return webServiceRuntime;
+  }  
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java
index 28c6f50..85bf5af 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/ServiceType.java
@@ -10,35 +10,30 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
 
-import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.StringTokenizer;
-
 import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.IWebServiceType;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 public class ServiceType {
 
   private IConfigurationElement elem_;
   private Hashtable webServiceImpls_;
-  private HashMap webServiceTypes_;
-	private String id;
-	private WebServiceImpl webServiceImpl;
-	private String[] bottomUpModuleTypesInclude;
-	private String[] topDownModuleTypesInclude;
+  private String id;
+  private WebServiceImpl webServiceImpl;
+  private String[] bottomUpModuleTypesInclude;
+  private String[] topDownModuleTypesInclude;
   private String[] bottomUpModuleTypesExclude;
   private String[] topDownModuleTypesExclude;
-  private IWebServiceType webServiceType;
+
   
 
   
-  public ServiceType(IConfigurationElement elem_, Hashtable webServiceImpls_, HashMap webServiceTypes_)
+  public ServiceType(IConfigurationElement elem_, Hashtable webServiceImpls_)
   {
     super();
     this.elem_ = elem_;
     this.webServiceImpls_ = webServiceImpls_;
-    this.webServiceTypes_ = webServiceTypes_;
   }
 
   public String[] getBottomUpModuleTypesExclude()
@@ -143,23 +138,6 @@
     this.topDownModuleTypesInclude = topDownModuleTypesInclude;
   }
   
-  /*
-  public IWebServiceType getWebSerivceType()
-  {
-    if (webServiceType==null)
-    {
-      String wsid = elem_.getAttribute("webServiceTypeId");
-      webServiceType = (IWebServiceType)webServiceTypes_.get(wsid);
-    }
-    return webServiceType;
-  }
-  */
-  
-  public void setWebServiceType(IWebServiceType webServiceType)
-  {
-    this.webServiceType = webServiceType;
-  }
-  
   public WebServiceImpl getWebServiceImpl()
   {
     if (webServiceImpl == null)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java
index 971875c..b5630e9 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceImpl.java
@@ -11,7 +11,6 @@
 package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
 
 import java.util.StringTokenizer;
-
 import org.eclipse.core.runtime.IConfigurationElement;
 
 public class WebServiceImpl {
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java
index 3bbef16..acb0acc 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry.java
@@ -14,12 +14,10 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Hashtable;
-
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceTypeImpl;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 public class WebServiceRuntimeExtensionRegistry
 {
@@ -70,23 +68,7 @@
     webServiceRuntimes_ = new Hashtable();
 
     IExtensionRegistry reg = Platform.getExtensionRegistry();
-  
-    //Load WebServiceTypes
-    IConfigurationElement[] config = reg.getConfigurationElementsFor(
-                                     "org.eclipse.jst.ws.consumption.ui",
-                                     "webServiceServerRuntimeType");
     
-    for(int idx=0; idx<config.length; idx++) 
-    {
-      IConfigurationElement elem = config[idx];
-
-        if (elem.getName().equals("webServiceType"))
-        {
-          WebServiceTypeImpl wst = new WebServiceTypeImpl(elem);
-          webServiceTypes_.put(elem.getAttribute("id"), wst);
-        }        
-    }
-
     //Load WebServiceImpls
     IConfigurationElement[] wsImplExts = reg.getConfigurationElementsFor(
         "org.eclipse.jst.ws.consumption.ui", "wsImpl");
@@ -127,7 +109,7 @@
 
         if (elem.getName().equals("serviceType"))
         {
-          ServiceType st = new ServiceType(elem,webServiceImpls_,webServiceTypes_);
+          ServiceType st = new ServiceType(elem,webServiceImpls_);
           serviceTypes_.put(elem.getAttribute("id"), st);
         }        
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry2.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry2.java
new file mode 100644
index 0000000..1cec7ca
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionRegistry2.java
@@ -0,0 +1,195 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
+
+public class WebServiceRuntimeExtensionRegistry2
+{
+
+  private static WebServiceRuntimeExtensionRegistry2 instance_;
+
+
+  Hashtable webServiceImpls_;
+
+  Hashtable webServiceClientImpls_;
+
+  Hashtable runtimes_;
+  
+  Hashtable serviceRuntimes_;
+  
+  Hashtable clientRuntimes_;
+  
+  ArrayList webServiceTypesList_;
+  
+  ArrayList webServiceClientTypesList_;  
+  
+  
+  /**
+   * Returns a singleton instance of this class.
+   * 
+   * @return A singleton WebServiceRuntimeExtensionRegistry2 object.
+   */
+  public static WebServiceRuntimeExtensionRegistry2 getInstance()
+  {
+    if (instance_ == null)
+    {
+      instance_ = new WebServiceRuntimeExtensionRegistry2();
+      instance_.load();
+    }
+    return instance_;
+  }
+
+  private void load()
+  {
+    webServiceImpls_ = new Hashtable();
+    webServiceClientImpls_ = new Hashtable();
+    runtimes_ = new Hashtable();
+    serviceRuntimes_ = new Hashtable();
+    clientRuntimes_ = new Hashtable();
+    webServiceTypesList_ = new ArrayList();
+    webServiceClientTypesList_ = new ArrayList();
+    
+    
+    IExtensionRegistry reg = Platform.getExtensionRegistry();
+    
+    //Load WebServiceImpls
+    IConfigurationElement[] wsImplExts = reg.getConfigurationElementsFor(
+        "org.eclipse.jst.ws.consumption.ui", "wsImpl");
+    
+    for(int idx=0; idx<wsImplExts.length; idx++) 
+    {
+      IConfigurationElement elem = wsImplExts[idx];        
+        if (elem.getName().equals("webServiceImpl"))
+        {
+          WebServiceImpl wsimpl = new WebServiceImpl(elem);          
+          webServiceImpls_.put(elem.getAttribute("id"), wsimpl);
+        }        
+    }
+    
+    //Load WebServiceClientImpls
+    IConfigurationElement[] wsClientImplExts = reg.getConfigurationElementsFor(
+        "org.eclipse.jst.ws.consumption.ui", "wsClientImpl");
+    
+    for(int idx=0; idx<wsClientImplExts.length; idx++) 
+    {
+      IConfigurationElement elem = wsClientImplExts[idx];
+
+        if (elem.getName().equals("webServiceClientImpl"))
+        {
+          WebServiceClientImpl wsClientImpl = new WebServiceClientImpl(elem);
+          webServiceClientImpls_.put(elem.getAttribute("id"), wsClientImpl);
+        }        
+    }
+    
+    //Load runtimes
+    IConfigurationElement[] runtimeExts = reg.getConfigurationElementsFor(
+        "org.eclipse.jst.ws.consumption.ui", "runtimes");
+    
+    for(int idx=0; idx<runtimeExts.length; idx++) 
+    {
+      IConfigurationElement elem = runtimeExts[idx];
+
+        if (elem.getName().equals("runtime"))
+        {
+          RuntimeDescriptor rd = new RuntimeDescriptor(elem);
+          runtimes_.put(elem.getAttribute("id"), rd);
+        }        
+    }
+    
+    //Load serviceRuntimes
+    IConfigurationElement[] serviceRuntimeExts = reg.getConfigurationElementsFor(
+        "org.eclipse.jst.ws.consumption.ui", "serviceRuntimes");
+    
+    for(int idx=0; idx<serviceRuntimeExts.length; idx++) 
+    {
+      IConfigurationElement elem = serviceRuntimeExts[idx];
+
+        if (elem.getName().equals("serviceRuntime"))
+        {
+          ServiceRuntimeDescriptor rd = new ServiceRuntimeDescriptor(elem, webServiceImpls_, runtimes_);
+          serviceRuntimes_.put(elem.getAttribute("id"), rd);          
+          updateWebServiceTypeList(rd);
+        }        
+    }
+    
+    //Load serviceRuntimes
+    IConfigurationElement[] clientRuntimeExts = reg.getConfigurationElementsFor(
+        "org.eclipse.jst.ws.consumption.ui", "clientRuntimes");
+    
+    for(int idx=0; idx<clientRuntimeExts.length; idx++) 
+    {
+      IConfigurationElement elem = clientRuntimeExts[idx];
+
+      if (elem.getName().equals("clientRuntime"))
+      {
+        ClientRuntimeDescriptor rd = new ClientRuntimeDescriptor(elem, webServiceClientImpls_, runtimes_);
+        clientRuntimes_.put(elem.getAttribute("id"), rd);
+        updateWebServiceClientTypeList(rd);
+          
+      }        
+    }
+  }  
+    
+  private void updateWebServiceTypeList(ServiceRuntimeDescriptor descriptor)
+  {
+    String serviceImplId = descriptor.getServiceImplementationType().getId();
+    boolean bottomUp = descriptor.getBottomUp();
+    boolean topDown = descriptor.getTopDown();
+    if (bottomUp)
+    {
+      StringBuffer entrybuff = new StringBuffer();
+      entrybuff.append(String.valueOf(WebServiceScenario.BOTTOMUP));
+      entrybuff.append("/");
+      entrybuff.append(serviceImplId);
+      String entry = entrybuff.toString();
+      if (!webServiceTypesList_.contains(entry))
+      {
+        webServiceTypesList_.add(entry);
+      }      
+    }
+    
+    if (topDown)
+    {
+      StringBuffer entrybuff = new StringBuffer();
+      entrybuff.append(String.valueOf(WebServiceScenario.TOPDOWN));
+      entrybuff.append("/");
+      entrybuff.append(serviceImplId);
+      String entry = entrybuff.toString();
+      if (!webServiceTypesList_.contains(entry))
+      {
+        webServiceTypesList_.add(entry);
+      }      
+    }
+  }
+  
+  private void updateWebServiceClientTypeList(ClientRuntimeDescriptor descriptor)
+  {
+    String clientImplId = descriptor.getClientImplementationType().getId();
+    StringBuffer entrybuff = new StringBuffer();
+    entrybuff.append(String.valueOf(WebServiceScenario.CLIENT));
+    entrybuff.append("/");
+    entrybuff.append(clientImplId);
+    String entry = entrybuff.toString();
+    if (!webServiceClientTypesList_.contains(entry))
+    {
+      webServiceClientTypesList_.add(entry);
+    }    
+  }
+  
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils.java
index 8a30da2..9dc843b 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils.java
@@ -1,3 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
 
 import java.util.ArrayList;
@@ -8,20 +19,18 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.IWebServiceType;
 import org.eclipse.jst.ws.internal.consumption.ui.wizard.TypeSelectionFilter;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceTypeImpl;
 import org.eclipse.jst.ws.internal.data.LabelsAndIds;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionListChoices;
 import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerType;
 import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceRuntime;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 public class WebServiceRuntimeExtensionUtils
 {
@@ -40,18 +49,7 @@
 	}
 	
 	return webserviceRuntime;
-  }
-  
-  public static IWebServiceType getWebServiceTypeById(String id)
-  {
-    Object result = registry.webServiceTypes_.get(id);
-	
-    if (result!=null)
-    {
-      return (WebServiceTypeImpl)result;
-    }
-    return null;
-  }
+  }  
   
   public static WebServiceImpl getWebServiceImplById(String id)
   {
@@ -386,8 +384,8 @@
   
   public static LabelsAndIds getServiceTypeLabels()
   {
-    String       pluginId = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId + ".plugin", registry );
+    String       pluginId = "org.eclipse.jst.ws.internal.consumption.ui";
+    MessageUtils msgUtils = new MessageUtils( pluginId + ".ConsumptionUI", registry );
     
     LabelsAndIds labelIds = new LabelsAndIds();
     Iterator     iterator = registry.webServiceTypesList_.iterator();
@@ -966,5 +964,4 @@
     
     return (String)runtimeIdByLabel_.get(label);    
   }    
-
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils2.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils2.java
new file mode 100644
index 0000000..d97b1b9
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeExtensionUtils2.java
@@ -0,0 +1,1542 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.ui.wsrt;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Vector;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jst.server.core.FacetUtil;
+import org.eclipse.jst.ws.internal.consumption.common.FacetMatcher;
+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.wizard.TypeSelectionFilter2;
+import org.eclipse.jst.ws.internal.data.LabelsAndIds;
+import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionListChoices;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.ui.ServerUICore;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
+
+public class WebServiceRuntimeExtensionUtils2
+{
+  private static WebServiceRuntimeExtensionRegistry2 registry = WebServiceRuntimeExtensionRegistry2.getInstance();
+  
+  public static RuntimeDescriptor getRuntimeById(String id)
+  {
+    Object result = registry.runtimes_.get(id);
+    if (result!=null)
+    {
+      return (RuntimeDescriptor)result;
+    }
+    return null;        
+  }
+  
+  public static String[] getAllClientProjectTypes()
+  {
+    ArrayList finalTemplateIdList = new ArrayList();
+    Iterator iter = registry.clientRuntimes_.values().iterator();
+
+    //Loop through all the clientRuntimes
+    while (iter.hasNext())   
+    {
+      ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
+      
+      //Get the templates for this client runtime
+      Set templateIds = FacetUtils.getTemplates(desc.getRequiredFacetVersions());
+      
+      //Add the template ids to the list if they have not already been added
+      Iterator itr = templateIds.iterator();
+      while (itr.hasNext())
+      {
+        IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
+        if (!finalTemplateIdList.contains(template.getId()))
+        {
+          finalTemplateIdList.add(template.getId());
+        }
+      }            
+    }
+    
+    return (String[])finalTemplateIdList.toArray(new String[]{});
+  }
+  
+  public static String getRuntimeLabelById(String runtimeId) 
+  {
+    RuntimeDescriptor desc = getRuntimeById(runtimeId);
+    if (desc == null)
+      return null;
+    
+    return desc.getLabel();
+  }    
+  
+  public static RuntimeDescriptor getRuntimeByLabel(String label)
+  {
+    Iterator iter = registry.runtimes_.values().iterator();
+    while (iter.hasNext())
+    {
+      RuntimeDescriptor descriptor = (RuntimeDescriptor)iter.next();
+      if (descriptor!=null) {
+        if (label.equals(descriptor.getLabel()))
+          return descriptor;
+      }
+    }
+    return null;      
+  }      
+
+  public static String getServerLabelById(String serverFactoryId)
+  {
+    IServerType serverType = ServerCore.findServerType(serverFactoryId);
+    if (serverType == null)
+      return null;
+    
+    String serverLabel = ServerUICore.getLabelProvider().getText(serverType);   
+    return serverLabel;
+  }
+  
+  public static String getServerInstanceLabelFromInstanceId( String instanceId )
+  {
+    IServer server = ServerCore.findServer( instanceId );    
+    return server.getName();
+  }  
+
+  private static String[] getServerFactoryIdsByFacetRuntimes(Set facetRuntimes)
+  {
+    
+    ArrayList supportedServerFactoryIds = new ArrayList();
+    String[] serverTypeIds = getAllServerFactoryIdsWithRuntimes();
+    Iterator itr = facetRuntimes.iterator();
+    while(itr.hasNext())
+    {
+      IRuntime fRuntime = (IRuntime)itr.next();
+      org.eclipse.wst.server.core.IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
+      for (int i=0; i<serverTypeIds.length; i++)
+      {
+        IServerType serverType = ServerCore.findServerType(serverTypeIds[i]);
+        String runtimeTypeId = serverType.getRuntimeType().getId();
+        if (runtimeTypeId.equals(sRuntime.getRuntimeType().getId()))
+        {
+          supportedServerFactoryIds.add(serverTypeIds[i]);          
+        }        
+      }
+    }
+    
+    return (String[])supportedServerFactoryIds.toArray(new String[0]);
+    
+    //Temporarily return all factory ids with runtimes
+    //return getAllServerFactoryIdsWithRuntimes();    
+  }
+  
+  //Service-side utilities
+  public static WebServiceImpl getWebServiceImplById(String id)
+  {
+    Object result = registry.webServiceImpls_.get(id);
+    if (result!=null)
+    {
+      return (WebServiceImpl)result;
+    }
+    return null;    
+  }
+  
+  public static ServiceRuntimeDescriptor getServiceRuntimeDescriptorById(String id)
+  {
+    Object result = registry.serviceRuntimes_.get(id);
+    if (result!=null)
+    {
+      return (ServiceRuntimeDescriptor)result;
+    }
+    return null;        
+  }  
+  
+  public static IWebServiceRuntime getServiceRuntime( String serviceRuntimeId )
+  {
+    ServiceRuntimeDescriptor descriptor = getServiceRuntimeDescriptorById(serviceRuntimeId);
+    IWebServiceRuntime    webserviceRuntime     = null;
+    if (descriptor != null)
+    {
+        webserviceRuntime = descriptor.getWebServiceRuntime();
+    }
+    
+    return webserviceRuntime;
+  }
+  
+  public static String getServiceRuntimeId(TypeRuntimeServer trs, String projectName, String templateId)
+  {
+    //Find the first client runtime that supports the implementation type, runtime, server, and project
+    String[] descs = getServiceRuntimesByServiceType(trs.getTypeId());
+    for (int i=0; i<descs.length; i++)
+    {
+      ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(descs[i]);      
+      if (desc.getRuntime().getId().equals(trs.getRuntimeId()))
+      {
+        boolean supportsServer = doesServiceRuntimeSupportServer(desc.getId(), trs.getServerId());
+        if (!supportsServer)
+        {
+          continue;
+        }
+        
+        IProject project = ProjectUtilities.getProject(projectName);
+        if (project.exists())
+        {
+          if (doesServiceRuntimeSupportProject(desc.getId(), projectName))
+          {
+            return desc.getId();
+          }
+        }
+        else
+        {
+          //Check if template is supported
+          if (doesServiceRuntimeSupportTemplate(desc.getId(), templateId))
+          {
+            return desc.getId();
+          }
+        }
+      }
+    }
+    
+    return "";
+    
+  }  
+  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   */    
+  public static int getScenarioFromTypeId(String typeId)
+  {
+    return Integer.parseInt(typeId.substring(0,typeId.indexOf("/")));
+  }
+  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   */    
+  public static String getWebServiceImplIdFromTypeId(String typeId)
+  {
+    return typeId.substring(typeId.indexOf("/")+1);
+  }    
+  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   * 
+   * @returns String[] containing the ids of all runtimes that
+   * support this type.
+   */
+  public static String[] getRuntimesByServiceType(String typeId) 
+  {
+    int scenario = getScenarioFromTypeId(typeId);
+    String implId = getWebServiceImplIdFromTypeId(typeId);    
+    ArrayList ids = new ArrayList();
+    Iterator iter = registry.serviceRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
+      //Check if this serviceRuntime supports the implementation type
+      if (desc.getServiceImplementationType().getId().equals(implId))
+      {
+        switch (scenario)
+        {
+          case WebServiceScenario.BOTTOMUP:
+            if (desc.getBottomUp())
+            {
+              String runtimeId = desc.getRuntime().getId(); 
+              if (!ids.contains(runtimeId))
+              {
+                ids.add(runtimeId);
+              }
+            }
+            break;
+          case WebServiceScenario.TOPDOWN:
+            if (desc.getTopDown())
+            {
+              String runtimeId = desc.getRuntime().getId(); 
+              if (!ids.contains(runtimeId))
+              {
+                ids.add(runtimeId);
+              }
+            }
+            break;
+          default:          
+        }
+      }
+    }
+    
+    return (String[])ids.toArray(new String[]{});
+  }
+  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   * 
+   * @returns String[] containing the ids of all service runtimes that
+   * support this type.
+   */
+  public static String[] getServiceRuntimesByServiceType(String typeId) 
+  {
+    int scenario = getScenarioFromTypeId(typeId);
+    String implId = getWebServiceImplIdFromTypeId(typeId);    
+    ArrayList ids = new ArrayList();
+    Iterator iter = registry.serviceRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
+      //Check if this serviceRuntime supports the implementation type
+      if (desc.getServiceImplementationType().getId().equals(implId))
+      {
+        switch (scenario)
+        {
+          case WebServiceScenario.BOTTOMUP:
+            if (desc.getBottomUp())
+            {
+              String serviceRuntimeId = desc.getId(); 
+              ids.add(serviceRuntimeId);
+            }
+            break;
+          case WebServiceScenario.TOPDOWN:
+            if (desc.getTopDown())
+            {
+              String serviceRuntimeId = desc.getId(); 
+              ids.add(serviceRuntimeId);
+            }
+            break;
+          default:          
+        }
+      }
+    }
+    
+    return (String[])ids.toArray(new String[]{});
+  }  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   * @param runtimeId id of a Web service runtime (RuntimeDescriptor)
+   */  
+  public static boolean isRuntimeSupportedForServiceType(String typeId, String runtimeId)
+  {
+    String[] serviceRuntimeIds = getServiceRuntimesByServiceType(typeId);
+    if (serviceRuntimeIds!=null)
+    {
+      for (int i=0; i < serviceRuntimeIds.length; i++)
+      {
+        ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(serviceRuntimeIds[i]);
+        if (desc.getRuntime().getId().equals(runtimeId))
+        {
+          return true;
+        }
+      }
+    }
+    
+    return false;
+  }  
+  
+  public static String[] getServerFactoryIdsByServiceType(String typeId)
+  {
+    ArrayList serverFactoryIds = new ArrayList();
+    String[] srts = getServiceRuntimesByServiceType(typeId);
+    if (srts != null)
+    {
+      for (int i = 0; i < srts.length; i++)
+      {
+        //Get the runtimes that work for the facets required for this service runtime        
+        String[] fIds = getServerFactoryIdsByServiceRuntime(srts[i]);
+        for (int j=0; j<fIds.length; j++)
+        {
+          if (!serverFactoryIds.contains(fIds[j]))
+          {
+            serverFactoryIds.add(fIds[j]);            
+          }
+        }
+      }
+    }
+    
+    return (String[])serverFactoryIds.toArray(new String[]{});
+    
+    //Temporarily return all server type ids.
+    //return getAllServerFactoryIdsWithRuntimes();
+  }
+  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   */
+  public static boolean isServerSupportedForChosenServiceType(String typeId, String serverFactoryId)
+  {
+    String[] fIds = getServerFactoryIdsByServiceType(typeId);
+    if (fIds == null)
+    {
+      return false;
+    }
+
+    for (int i=0;i<fIds.length;i++)
+    {
+      if (serverFactoryId.equals(fIds[i]))
+      {
+        return true;
+      }      
+    }
+    
+    return false;
+  }
+  
+  public static String[] getServerFactoryIdsByServiceRuntime(String serviceRuntimeId)
+  {       
+    ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(serviceRuntimeId);
+    Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
+            
+    //Temporarily return all server types
+    //return getAllServerFactoryIdsWithRuntimes();
+    return getServerFactoryIdsByFacetRuntimes(facetRuntimes);
+  } 
+  
+
+  
+
+  public static boolean doesServiceRuntimeSupportServer(String serviceRuntimeId, String serverFactoryId)
+  {
+    String[] serverIds = getServerFactoryIdsByServiceRuntime(serviceRuntimeId);
+    for (int i=0; i<serverIds.length; i++)
+    {
+      if (serverIds[i].equals(serverFactoryId))
+      {
+        return true;
+      }
+    }
+    
+    return false;
+  }
+    
+  
+  public static LabelsAndIds getServiceTypeLabels()
+  {
+    String       pluginId = "org.eclipse.jst.ws.internal.consumption.ui";
+    MessageUtils msgUtils = new MessageUtils( pluginId + ".ConsumptionUI", registry );
+    
+    LabelsAndIds labelIds = new LabelsAndIds();
+    Iterator     iterator = registry.webServiceTypesList_.iterator();
+    int          size     = registry.webServiceTypesList_.size();
+    String[]     labels   = new String[size];
+    String[]     ids      = new String[size];
+    int          index    = 0;
+    
+    labelIds.setLabels_( labels );
+    labelIds.setIds_( ids );
+    
+    while( iterator.hasNext() ) 
+    {
+      String wst = (String)iterator.next();
+      int scenario = getScenarioFromTypeId(wst);
+      String implId = getWebServiceImplIdFromTypeId(wst);
+      WebServiceImpl wsimpl = getWebServiceImplById(implId);
+      String impllabel = wsimpl.getLabel();
+      ids[index]    = wst;
+      String scenLabel = "";
+      switch(scenario)
+      {
+      case WebServiceScenario.BOTTOMUP:
+        scenLabel = msgUtils.getMessage(WebServiceScenario.BOTTOMUP_LABEL);
+        break;
+      case WebServiceScenario.TOPDOWN:
+        scenLabel = msgUtils.getMessage(WebServiceScenario.TOPDOWN_LABEL);
+        break; 
+      default:
+      }
+      labels[index] = msgUtils.getMessage( "COMBINED_TYPE_AND_RUNTIME_LABEL", new String[]{ scenLabel, impllabel } );
+      index++;
+    }    
+    
+    return labelIds;
+  }
+  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   */
+  public static String getDefaultRuntimeValueFor(String typeId)
+  {
+    String[] srIds = getServiceRuntimesByServiceType(typeId);
+    if (srIds == null)
+    {
+      return null;
+    }
+    
+    ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(srIds[0]);
+    return desc.getRuntime().getId();
+  }      
+  
+  public static String getDefaultServerValueFor(String typeId)
+  {
+    String[] fIds = getServerFactoryIdsByServiceType(typeId);
+    if (fIds==null)
+      return null;
+    
+    return fIds[0];
+  }    
+  
+  /*
+   * @param typeId will be a String of the format "0/implId"
+   * where the digit before the "/" represents the scenario
+   * (e.g. WebServiceScenario.BOTTOM_UP) and the implId is the id
+   * of the WebServiceImpl
+   * @param runtimeId is the id of a RuntimeDescriptor
+   * @param serverFactoryId server factory id
+   */    
+  public static boolean isServerRuntimeTypeSupported(String serverFactoryId, String runtimeId, String typeId)  
+  {
+    //Ensure there is at least one service runtime that supports the given type
+    String[] serviceRuntimes = getServiceRuntimesByServiceType(typeId);
+    if (serviceRuntimes!=null && serviceRuntimes.length>0)
+    {
+      //Ensure that at least one of these server runtimes supports the given server
+      for (int i=0; i<serviceRuntimes.length; i++)
+      {
+        ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(serviceRuntimes[i]);
+        if (desc.getRuntime().getId().equals(runtimeId))
+        {
+          //Matches the type and the runtime. Check if it matches the server
+          Set runtimes = getRuntimes(desc.getRequiredFacetVersions());
+          String[] fIds = getServerFactoryIdsByFacetRuntimes(runtimes);
+          for (int j=0; j<fIds.length; j++)
+          {
+            if (fIds[j].equals(serverFactoryId))
+            {
+              return true;
+            }
+          }          
+        }        
+      }
+    }
+    
+    //didn't find a match. return false.
+    return false;
+  }  
+  
+  public static String[] getWebServiceTypeBySelection(IStructuredSelection selection)
+  {
+    TypeSelectionFilter2 tsf = new TypeSelectionFilter2();
+    String[] wst = tsf.getWebServiceTypeByInitialSelection(selection, registry.webServiceTypesList_);
+    return wst == null ? null : wst;
+  }    
+  
+  /*
+   * @param runtimeId : id of a RuntimeDescriptor
+   * @param factoryId : id of a server type
+   */
+  public static boolean doesRuntimeSupportServerForServiceSide(String runtimeId, String factoryId)
+  {
+    //Get all the ServiceRuntimeDescriptors that point to this runtimeId
+    Iterator iter = registry.serviceRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
+      //check if this service runtime points to runtimeId
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
+        String[] fIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
+        for (int j=0; j<fIds.length; j++)
+        {
+          if (fIds[j].equals(factoryId))
+          {
+            return true;
+          }
+        }              
+      }            
+    }
+    
+    //No service runtime matched. Return false.
+    return false;
+  }
+  
+  /*
+   * @param runtimeId: id of a RuntimeDescriptor
+   * @return: server factory id
+   */
+  public static String getFirstSupportedServerForServiceSide(String runtimeId)
+  {
+    //Get all the ServiceRuntimeDescriptors that point to this runtimeId
+    Iterator iter = registry.serviceRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ServiceRuntimeDescriptor desc = (ServiceRuntimeDescriptor)iter.next();
+      //check if this service runtime points to runtimeId
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
+        String[] factoryIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
+        if (factoryIds!=null && factoryIds.length >0)
+        {
+          return factoryIds[0];
+        }
+      }            
+    }
+    
+    //didn't get a single suitable server type id, return null.
+    return null;
+  }  
+  
+  public static String[] getProjectsForServiceTypeAndRuntime(String typeId, String runtimeId)
+  {
+    String[] descs = getServiceRuntimesByServiceType(typeId);
+    IProject[] projects = FacetUtils.getAllProjects();
+    ArrayList validProjects = new ArrayList();
+    
+    for (int i=0; i<projects.length;i++)
+    {
+      //check if this projects suits any of the service runtimes
+      for (int j=0; j<descs.length; j++)
+      {
+        ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(descs[j]);
+        RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions();
+        Set facetVersions = FacetUtils.getFacetsForProject(projects[i].getName());
+        if (facetVersions != null)
+        {
+          FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+          if (fm.isMatch())
+          {
+            validProjects.add(projects[i].getName());
+            break;
+          }
+        }
+      }
+    }
+    
+    return (String[])validProjects.toArray(new String[0]);
+    
+  }
+  
+  public static boolean doesServiceTypeAndRuntimeSupportProject(String typeId, String runtimeId, String projectName)
+  {
+    String[] descs = getServiceRuntimesByServiceType(typeId);
+    IProject[] projects = FacetUtils.getAllProjects();
+    
+    for (int i=0; i<projects.length;i++)
+    {
+      //if this is the test project, check if this project suits any of the service runtimes
+      if (projects[i].getName().equals(projectName))
+      {
+        for (int j = 0; j < descs.length; j++)
+        {
+          ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(descs[j]);
+          RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions();
+          Set facetVersions = FacetUtils.getFacetsForProject(projects[i].getName());
+          if (facetVersions != null)
+          {
+            FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+            if (fm.isMatch())
+            {
+              // found a match. done.
+              return true;
+            }
+          }
+        }
+      }
+    }
+    
+    return false;
+    
+  }  
+  public static boolean doesServiceRuntimeSupportProject(String serviceRuntimeId, String projectName)
+  {
+    IProject project = ProjectUtilities.getProject(projectName);
+    if (project==null || !project.exists())
+      return false;
+    
+    ServiceRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId);
+    RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions(); 
+    Set facetVersions = FacetUtils.getFacetsForProject(projectName);
+    if (facetVersions != null)
+    {
+      FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+      if (fm.isMatch())
+      {
+        return true;
+      }
+    }
+    return false;
+  }  
+  
+  /*
+   * Returns a list of valid faceted project template ids
+   * @param typeId id of the form "0/implId" on the service side.
+   * @param runtimeId id of a RuntimeDescriptor
+   * 
+   * @return String[] array of IFacetedProjectTemplate ids
+   */
+  public static String[] getServiceProjectTemplates(String typeId, String runtimeId)
+  {
+    String[] srIds = getServiceRuntimesByServiceType(typeId);
+    if (srIds == null)
+    {
+      return null;
+    }
+
+    ArrayList templateIdList = new ArrayList();
+    for (int i = 0; i < srIds.length; i++)
+    {
+      ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(srIds[i]);
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        //Get the templates for this client runtime
+        Set templateIds = FacetUtils.getTemplates(desc.getRequiredFacetVersions());
+        
+        //Add the template ids to the list if they have not already been added
+        Iterator itr = templateIds.iterator();
+        while (itr.hasNext())
+        {
+          IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
+          if (!templateIdList.contains(template.getId()))
+          {
+            templateIdList.add(template.getId());
+          }
+        }
+      }
+      
+    }  
+    
+    return (String[])templateIdList.toArray(new String[]{});    
+  }
+
+  public static boolean doesServiceTypeAndRuntimeSupportTemplate(String typeId, String runtimeId, String templateId)
+  {
+    String[] srIds = getServiceRuntimesByServiceType(typeId);
+    if (srIds == null)
+    {
+      return false;
+    }
+
+    for (int i = 0; i < srIds.length; i++)
+    {
+      ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(srIds[i]);
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        //Get the templates for this service runtime
+        Set templateIds = FacetUtils.getTemplates(desc.getRequiredFacetVersions());
+        
+        //Check if any of the template ids match the given one.
+        Iterator itr = templateIds.iterator();
+        while (itr.hasNext())
+        {
+          IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
+          if (template.getId().equals(templateId))
+          {
+            return true;
+          }
+
+        }
+      }
+      
+    }  
+    
+    return false;    
+  }
+  
+  public static boolean doesServiceRuntimeSupportTemplate(String serviceRuntimeId, String templateId)
+  {
+    ServiceRuntimeDescriptor desc = getServiceRuntimeDescriptorById(serviceRuntimeId);
+    //Get the templates for this client runtime
+    Set templates = FacetUtils.getTemplates(desc.getRequiredFacetVersions());
+    IFacetedProjectTemplate checkingTemplate = ProjectFacetsManager.getTemplate(templateId);
+    return templates.contains(checkingTemplate);
+  }  
+  
+  //Client-side utilities
+  public static WebServiceClientImpl getWebServiceClientImplById(String id)
+  {
+    Object result = registry.webServiceClientImpls_.get(id);
+    if (result!=null)
+    {
+      return (WebServiceClientImpl)result;
+    }
+    return null;    
+  }
+  
+  public static ClientRuntimeDescriptor getClientRuntimeDescriptorById(String id)
+  {
+    Object result = registry.clientRuntimes_.get(id);
+    if (result!=null)
+    {
+      return (ClientRuntimeDescriptor)result;
+    }
+    return null;        
+  }    
+  
+  public static IWebServiceRuntime getClientRuntime( String clientRuntimeId )
+  {
+    ClientRuntimeDescriptor descriptor = getClientRuntimeDescriptorById(clientRuntimeId);
+    IWebServiceRuntime    webserviceRuntime     = null;
+    if (descriptor != null)
+    {
+        webserviceRuntime = descriptor.getWebServiceRuntime();
+    }
+    
+    return webserviceRuntime;
+  }
+  
+  public static String getClientRuntimeId(TypeRuntimeServer trs, String projectName, String templateId)
+  {
+    //Find the first client runtime that supports the implementation type, runtime, server, and project
+    String[] descs = getClientRuntimesByType(trs.getTypeId());
+    for (int i=0; i<descs.length; i++)
+    {
+      ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(descs[i]);      
+      if (desc.getRuntime().getId().equals(trs.getRuntimeId()))
+      {
+        boolean supportsServer = doesClientRuntimeSupportServer(desc.getId(), trs.getServerId());
+        if (!supportsServer)
+        {
+          continue;
+        }
+        
+        IProject project = ProjectUtilities.getProject(projectName);
+        if (project.exists())
+        {
+          if (doesClientRuntimeSupportProject(desc.getId(), projectName))
+          {
+            return desc.getId();
+          }
+        }
+        else
+        {
+          //Check if template is supported
+          if (doesClientRuntimeSupportTemplate(desc.getId(), templateId))
+          {
+            return desc.getId();
+          }
+        }
+      }
+    }
+    
+    return "";
+    
+  }
+  
+  /*
+   * @return String[] array of ids of RuntimeDescriptors
+   */
+  public static String[] getAllRuntimesForClientSide() 
+  {
+    ArrayList runtimeIds = new ArrayList();
+    Iterator iter = registry.clientRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
+      String thisRuntimeId = desc.getRuntime().getId(); 
+      if (!runtimeIds.contains(thisRuntimeId))
+      runtimeIds.add(thisRuntimeId);
+    }      
+    return (String[])runtimeIds.toArray(new String[]{});
+  }
+  
+  /*
+   * @param clientImpld The id of a client implementation type
+   * 
+   * @returns String[] containing the ids of all clientRuntimes that
+   * support this client implementation type
+   */
+  public static String[] getClientRuntimesByType(String clientImplId) 
+  {
+    ArrayList ids = new ArrayList();
+    Iterator iter = registry.clientRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
+      //Check if this serviceRuntime supports the implementation type
+      if (desc.getClientImplementationType().getId().equals(clientImplId))
+      {
+        ids.add(desc.getId());
+      }
+    }
+    
+    return (String[])ids.toArray(new String[]{});
+  }  
+  
+  /*
+   * @param clientImplId id of a WebServiceClientImpl
+   * @return String[] array of RuntimeDescriptor ids
+   */
+  public static String[] getRuntimesByClientType(String clientImplId) 
+  {
+    ArrayList runtimeIds = new ArrayList();
+    Iterator iter = registry.clientRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
+      //Check if this serviceRuntime supports the implementation type
+      if (desc.getClientImplementationType().getId().equals(clientImplId))
+      {
+        runtimeIds.add(desc.getRuntime().getId());
+      }
+    }
+    
+    return (String[])runtimeIds.toArray(new String[]{});
+  }
+  
+  /*
+   * @param clientImplId The id of a client implementation type
+   * @param runtimeId id of a runtime (RuntimeDescriptor)
+   */  
+  public static boolean isRuntimeSupportedForClientType(String clientImplId, String runtimeId)
+  {
+    String[] clientRuntimeIds = getClientRuntimesByType(clientImplId);
+    if (clientRuntimeIds!=null)
+    {
+      for (int i=0; i < clientRuntimeIds.length; i++)
+      {
+        ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(clientRuntimeIds[i]);
+        if (desc.getRuntime().getId().equals(runtimeId))
+        {
+          return true;
+        }
+      }
+    }
+    
+    return false;
+  }
+  
+  public static String[] getAllClientServerFactoryIds() 
+  {    
+    //Iterator iter = registry.clientRuntimes_.values().iterator();
+    //while (iter.hasNext())   
+    //{
+      //TODO iterate over all the server types and see if their runtime types have an
+      //id that matches the runtime type of any of the runtimes.            
+      // ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
+      // Set runtimes = getRuntimes(desc.getRequiredFacetVersions());
+      // IServerType[] allServerTypes = ServerCore.getServerTypes();
+    //}
+    //return (String[])serverFactoryIds.toArray(new String[]{});
+    //Temporarily return all server types
+    return getAllServerFactoryIdsWithRuntimes();    
+  }
+  
+  public static String[] getServerFactoryIdsByClientType(String clientImplId)
+  {
+    ArrayList serverFactoryIds = new ArrayList();
+    String[] crts = getClientRuntimesByType(clientImplId);
+    if (crts != null)
+    {
+      for (int i = 0; i < crts.length; i++)
+      {
+        //Get the runtimes that work for the facets required for this service runtime        
+        String[] fIds = getServerFactoryIdsByClientRuntime(crts[i]);
+        for (int j=0; j<fIds.length; j++)
+        {
+          if (!serverFactoryIds.contains(fIds[j]))
+          {
+            serverFactoryIds.add(fIds[j]);            
+          }
+        }
+      }        
+    }
+    
+    return (String[])serverFactoryIds.toArray(new String[]{});
+  }  
+  
+  /*
+   * 
+   */
+  public static boolean isServerSupportedForChosenClientType(String clientImplId, String serverFactoryId)
+  {
+    String[] fIds = getServerFactoryIdsByClientType(clientImplId);
+    if (fIds == null)
+    {
+      return false;
+    }
+
+    for (int i=0;i<fIds.length;i++)
+    {
+      if (serverFactoryId.equals(fIds[i]))
+      {
+        return true;
+      }      
+    }
+    
+    return false;
+  }  
+  
+  /*
+   * @prarm clientRuntimeId : id of a ClientRuntimeDescriptor
+   * 
+   */
+  public static String[] getServerFactoryIdsByClientRuntime(String clientRuntimeId)
+  {       
+    ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(clientRuntimeId);
+    Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
+
+    String[] fIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
+    return fIds;    
+  }    
+
+  /*
+   * @param clientRuntimeId id of a ClientRuntimeDescriptor
+   */
+  public static boolean doesClientRuntimeSupportServer(String clientRuntimeId, String serverFactoryId)
+  {
+    String[] serverIds = getServerFactoryIdsByClientRuntime(clientRuntimeId);
+    for (int i=0; i<serverIds.length; i++)
+    {
+      if (serverIds[i].equals(serverFactoryId))
+      {
+        return true;
+      }
+    }
+    
+    return false;
+  }
+  
+  /*
+   * @param runtimeId : id of a RuntimeDescriptor
+   * @param factoryId : id of a server type
+   */
+  public static boolean doesRuntimeSupportServerForClientSide(String runtimeId, String factoryId)
+  {
+    //Get all the ClientRuntimeDescriptors that point to this runtimeId
+    Iterator iter = registry.clientRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
+      //check if this client runtime points to runtimeId
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
+        String[] fIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
+        for (int i=0; i<fIds.length; i++)
+        {
+          if (fIds[i].equals(factoryId))
+          {
+            return true;
+          }
+        }
+      }            
+    }
+    
+    //No match.
+    return false;
+  }    
+  
+  /*
+   * @param runtimeId: id of a RuntimeDescriptor
+   * @return: server factory id
+   */
+  public static String getFirstSupportedServerForClientSide(String runtimeId)
+  {
+    //Get all the ClientRuntimeDescriptors that point to this runtimeId
+    Iterator iter = registry.clientRuntimes_.values().iterator();
+    while (iter.hasNext())   
+    {
+      ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)iter.next();
+      //check if this service runtime points to runtimeId
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        Set facetRuntimes = getRuntimes(desc.getRequiredFacetVersions());
+        String[] factoryIds = getServerFactoryIdsByFacetRuntimes(facetRuntimes);
+        if (factoryIds!=null && factoryIds.length >0)
+        {
+          return factoryIds[0];
+        }
+      }            
+    }
+    
+    //No suitable servers found. Return null.
+    return null;
+
+  }
+  
+  /*
+   * @param clientImplId is the id of a WebServiceClientImpl
+   * @param runtimeId is the id of a RuntimeDescriptor
+   * @param serverFactoryId server factory id
+   */    
+  public static boolean isServerClientRuntimeTypeSupported(String serverFactoryId, String runtimeId, String clientImplId)  
+  {
+    //Ensure there is at least one client runtime that supports the given type
+    String[] clientRuntimes = getClientRuntimesByType(clientImplId);
+    if (clientRuntimes!=null && clientRuntimes.length>0)
+    {
+      //Ensure that at least one of these server runtimes supports the given server
+      for (int i=0; i<clientRuntimes.length; i++)
+      {
+        ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(clientRuntimes[i]);
+        if (desc.getRuntime().getId().equals(runtimeId))
+        {
+          //Matched type and runtime. Check the server.
+          String[] factoryIds = getServerFactoryIdsByClientRuntime(desc.getId());
+          for (int j=0; j<factoryIds.length; j++)
+          {
+            if (factoryIds[j].equals(serverFactoryId))
+            {
+              return true;
+            }
+          }
+        }
+      }
+    }
+    
+    //No match found. return false.
+    return false;
+  }    
+  
+  /*
+   * Returns a list of valid faceted project template ids
+   * @param clientImplId id of a WebServiceClientImpl
+   * @param runtimeId id of a RuntimeDescriptor
+   * 
+   * @return String[] array of IFacetedProjectTemplate ids
+   */
+  public static String[] getClientProjectTemplates(String clientImplId, String runtimeId)
+  {
+    String[] crIds = getClientRuntimesByType(clientImplId);
+    if (crIds == null)
+    {
+      return null;
+    }
+
+    ArrayList templateIdList = new ArrayList();
+    for (int i = 0; i < crIds.length; i++)
+    {
+      ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(crIds[i]);
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        //Get the templates for this client runtime
+        Set templateIds = FacetUtils.getTemplates(desc.getRequiredFacetVersions());
+        
+        //Add the template ids to the list if they have not already been added
+        Iterator itr = templateIds.iterator();
+        while (itr.hasNext())
+        {
+          IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
+          if (!templateIdList.contains(template.getId()))
+          {
+            templateIdList.add(template.getId());
+          }
+        }
+      }
+      
+    }  
+    
+    return (String[])templateIdList.toArray(new String[]{});    
+  }  
+  
+  public static boolean doesClientTypeAndRuntimeSupportTemplate(String clientImplId, String runtimeId, String templateId)
+  {
+    String[] crIds = getClientRuntimesByType(clientImplId);
+    if (crIds == null)
+    {
+      return false;
+    }
+
+    for (int i = 0; i < crIds.length; i++)
+    {
+      ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(crIds[i]);
+      String thisRuntimeId = desc.getRuntime().getId();
+      if (thisRuntimeId.equals(runtimeId))
+      {
+        //Get the templates for this client runtime
+        Set templateIds = FacetUtils.getTemplates(desc.getRequiredFacetVersions());
+        
+        //Check if the template ids contains the template we're checking for
+        Iterator itr = templateIds.iterator();
+        while (itr.hasNext())
+        {
+          IFacetedProjectTemplate template = (IFacetedProjectTemplate)itr.next();
+          if (template.getId().equals(templateId))
+          {
+            return true;
+          }
+        }
+      }
+      
+    }  
+    
+    return false;    
+  }  
+  
+  
+  /*
+  public static boolean doesClientTypeAndRuntimeSupportTemplate(String clientImplId, String runtimeId, String templateId)
+  {
+    String[] templateIds = getClientProjectTemplates(clientImplId, runtimeId);
+    if (templateIds!=null)
+    {
+      for (int i=0; i<templateIds.length; i++)
+      {
+       if (templateIds[i].equals(templateId))
+       {
+         return true;
+       }
+      }
+    }
+    
+    return false;
+  }
+  */ 
+  
+  public static boolean doesClientRuntimeSupportTemplate(String clientRuntimeId, String templateId)
+  {
+    ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(clientRuntimeId);
+    //Get the templates for this client runtime
+    Set templates = FacetUtils.getTemplates(desc.getRequiredFacetVersions());
+    IFacetedProjectTemplate checkingTemplate = ProjectFacetsManager.getTemplate(templateId);
+    return templates.contains(checkingTemplate);
+  }
+  
+    
+  public static LabelsAndIds getClientTypeLabels()
+  {
+    
+    LabelsAndIds labelIds = new LabelsAndIds();
+    String[] idsArray = new String[0];
+    String[] labelsArray = new String[0];
+    labelIds.setIds_(idsArray);
+    labelIds.setLabels_(labelsArray);
+  
+    ArrayList ids = new ArrayList();
+    ArrayList labels = new ArrayList();
+  
+    Iterator itr = registry.clientRuntimes_.values().iterator();
+    while(itr.hasNext())
+    {
+      ClientRuntimeDescriptor desc = (ClientRuntimeDescriptor)itr.next();
+      WebServiceClientImpl thisClientImpl = desc.getClientImplementationType();
+      if (!ids.contains(thisClientImpl.getId()))
+      {
+        ids.add(thisClientImpl.getId());
+        labels.add(thisClientImpl.getLabel());
+      }
+    }
+
+    if (ids.size() > 0)
+    {
+      idsArray = (String[]) ids.toArray(new String[0]);
+      labelsArray = (String[]) labels.toArray(new String[0]);
+      labelIds.setIds_(idsArray);
+      labelIds.setLabels_(labelsArray);
+    }
+
+    return labelIds;
+
+  }  
+  
+  public static String[] getAllServerFactoryIdsWithRuntimes()
+  {
+    ArrayList fids = new ArrayList();
+    IServerType[] sts = ServerCore.getServerTypes();
+    org.eclipse.wst.server.core.IRuntime[] rts = ServerCore.getRuntimes();
+    
+    for (int i=0; i<sts.length; i++)
+    {
+      IServerType st = sts[i];
+      for (int j=0; j<rts.length; j++)
+      {
+        org.eclipse.wst.server.core.IRuntime rt = rts[j];
+        // If the server type has the same runtime type as this runtime, add it to the list
+        String serverTypeRuntimeTypeId = st.getRuntimeType().getId();
+        String runtimeRuntimeTypeId = rt.getRuntimeType().getId();
+        if (serverTypeRuntimeTypeId.equals(runtimeRuntimeTypeId))
+        {
+          if (!fids.contains(st.getId()))
+          {
+            fids.add(st.getId());
+          }
+        }
+      }
+    }
+   
+    return (String[])fids.toArray(new String[0]);
+  }
+  
+  public static String[] getProjectsForClientTypeAndRuntime(String typeId, String runtimeId)
+  {
+    String[] descs = getClientRuntimesByType(typeId);
+    IProject[] projects = FacetUtils.getAllProjects();
+    ArrayList validProjects = new ArrayList();
+    
+    for (int i=0; i<projects.length;i++)
+    {
+      //check if this projects suits any of the client runtimes
+      for (int j=0; j<descs.length; j++)
+      {
+        ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(descs[j]);
+        RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions();
+        Set facetVersions = FacetUtils.getFacetsForProject(projects[i].getName());
+        if (facetVersions != null)
+        {
+          FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+          if (fm.isMatch())
+          {
+            validProjects.add(projects[i].getName());
+            break;
+          }
+        }
+      }
+    }
+    
+    return (String[])validProjects.toArray(new String[0]);
+    
+  }  
+  
+  public static boolean doesClientTypeAndRuntimeSupportProject(String typeId, String runtimeId, String projectName)
+  {
+    String[] descs = getClientRuntimesByType(typeId);
+    IProject[] projects = FacetUtils.getAllProjects();
+    
+    for (int i=0; i<projects.length;i++)
+    {
+      // check if this projects suits any of the client runtimes
+      if (projects[i].getName().equals(projectName))
+      {
+        for (int j = 0; j < descs.length; j++)
+        {
+          ClientRuntimeDescriptor desc = getClientRuntimeDescriptorById(descs[j]);
+          RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions();
+          Set facetVersions = FacetUtils.getFacetsForProject(projects[i].getName());
+          if (facetVersions != null)
+          {
+            FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+            if (fm.isMatch())
+            {
+              return true;
+            }
+          }
+        }
+      }
+    }
+    
+    return false;
+    
+  }  
+  
+  
+  public static boolean doesClientRuntimeSupportProject(String clientRuntimeId, String projectName)
+  {
+    IProject project = ProjectUtilities.getProject(projectName);
+    if (project==null || !project.exists())
+      return false;
+    
+    ClientRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId);
+    RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions();
+    Set facetVersions = FacetUtils.getFacetsForProject(projectName);
+    if (facetVersions != null)
+    {
+      FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+      if (fm.isMatch())
+      {
+        return true;
+      }
+    }   
+    return false;
+  }
+  
+  //Utilities used by the ServerRuntimePreferencePage
+  
+  private static SelectionListChoices serverToRuntimeToJ2EE_;
+  private static Hashtable serverFactoryIdByLabel_;
+  private static Hashtable runtimeIdByLabel_;
+  
+  public static SelectionListChoices getServerToRuntimeToJ2EE()
+  {
+    if (serverToRuntimeToJ2EE_!=null)
+    {
+      return serverToRuntimeToJ2EE_;
+    }
+    
+    //String[] servers = getStringArrayIntersection(getAllServerFactoryIds(), WebServiceClientTypeRegistry.getInstance().getAllClientServerFactoryIds());
+    String[] servers = getAllServerFactoryIds();
+    SelectionList serversList = new SelectionList(servers, 0);
+    Vector choices = new Vector();
+    for (int i=0; i<servers.length; i++)
+    {
+      choices.add(getRuntimeChoices(servers[i]));
+    }
+    serverToRuntimeToJ2EE_ = new SelectionListChoices(serversList, choices);
+    return serverToRuntimeToJ2EE_;
+    
+  }
+
+  private static SelectionListChoices getRuntimeChoices(String serverFactoryId)
+  {
+    //Return all the runtimes for now.
+    Set runtimes = registry.runtimes_.keySet();
+    Iterator itr = registry.runtimes_.keySet().iterator();
+    String[] runtimeIds = new String[runtimes.size()];
+    //TODO String[] runtimeIds = getRuntimeIDsByServerFactoryID(serverFactoryId);    
+    int i = 0;
+    while (itr.hasNext())
+    {
+      String runtimeId = (String)itr.next();
+      runtimeIds[i] = runtimeId;
+      i++;
+     
+    }
+
+    SelectionList runtimesList = new SelectionList(runtimeIds, 0);
+    Vector choices = new Vector();
+    for (int j=0; j<runtimeIds.length; j++)
+    {
+      choices.add(getJ2EEChoices(runtimeIds[j]));
+    }
+    return new SelectionListChoices(runtimesList, choices);    
+  }  
+  
+  private static SelectionListChoices getJ2EEChoices(String runtimeId)
+  {
+    //J2EE levels will be removed from the Server Runtime preference page.
+    //Return some hard coded values for now.
+    String[] j2eeVersions = new String[]{"13", "14"};
+    SelectionList j2eeVersionsList = new SelectionList(j2eeVersions, 0);
+    return new SelectionListChoices(j2eeVersionsList, null);        
+  }  
+  
+  private static String[] getAllServerFactoryIds()
+  {
+    //Return all server type ids for now.
+    //TODO Only the servers that are appropriate for the Web service runtimes should be displayed.
+    ArrayList ids = new ArrayList();
+    if (serverFactoryIdByLabel_ == null)
+    {
+      serverFactoryIdByLabel_ = new Hashtable();
+      IServerType[] serverTypes = ServerCore.getServerTypes();
+      for (int i=0; i<serverTypes.length; i++)
+      {
+        String id = serverTypes[i].getId();
+        String label = getServerLabelById(id);
+        serverFactoryIdByLabel_.put(label, id);
+        ids.add(id);
+      }    
+    }
+    else
+    {
+      Iterator fids =  serverFactoryIdByLabel_.values().iterator();
+      while (fids.hasNext())
+      {
+        String fid = (String)fids.next();
+        ids.add(fid);
+      }           
+    }
+    
+    if (ids.size() > 0)
+    {
+      String[] serverFactoryIds = (String[])ids.toArray(new String[0]);
+      return serverFactoryIds;
+    }
+    
+    return null;
+  }  
+  
+  //TODO this needs to be implemented once facet runtime to server runtime bridge is available.
+  /*
+  private static String[] getRuntimeIDsByServerFactoryID(String serverFactoryID) 
+  {
+    ArrayList ids = new ArrayList();
+    Iterator iter = registry.webServiceRuntimes_.values().iterator();
+    while (iter.hasNext())
+    {
+      WebServiceRuntimeInfo wsr = (WebServiceRuntimeInfo)iter.next();
+      if (doesRuntimeSupportServer(wsr.getId(), serverFactoryID))
+      {
+        ids.add(wsr.getId());
+      }
+      
+    }
+    
+    if (ids.size() > 0)
+    {
+      String[] runtimeIds = (String[])ids.toArray(new String[0]);
+      return runtimeIds;
+    }
+    
+    return null;    
+    
+    
+  }
+  */
+  
+  public static String getServerFactoryId(String label)
+  {
+    if (label==null || label.length()==0)
+      return null;
+    
+    if (serverFactoryIdByLabel_ == null)
+    {
+      getAllServerFactoryIds();
+    }
+    
+    if (serverFactoryIdByLabel_.containsKey(label))
+    {
+      return (String)serverFactoryIdByLabel_.get(label);  
+    }
+    else
+    {
+      return null;
+    }       
+  }  
+  
+  public static String getRuntimeId(String label)
+  {
+    
+    if (label==null || label.length()==0)
+      return null;
+    
+    if (runtimeIdByLabel_ == null)
+    {
+      runtimeIdByLabel_ = new Hashtable();
+      Iterator iter = registry.runtimes_.values().iterator();
+      while (iter.hasNext())
+      {
+        RuntimeDescriptor desc = (RuntimeDescriptor)iter.next();
+        runtimeIdByLabel_.put(desc.getLabel(), desc.getId());        
+      }      
+    }
+    
+    return (String)runtimeIdByLabel_.get(label);    
+  }    
+  
+    
+  private static Set getRuntimes(RequiredFacetVersion[] requiredFacetVersions)
+  {
+    return FacetUtils.getRuntimes(requiredFacetVersions);
+  }
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java
index f49b706..a69832c 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wsrt/WebServiceRuntimeInfo.java
@@ -13,10 +13,9 @@
 
 import java.util.Hashtable;
 import java.util.StringTokenizer;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceRuntime;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
 
 
 public class WebServiceRuntimeInfo {
@@ -199,7 +198,7 @@
 		}
 		catch(CoreException ce)
 		{
-			
+			ce.printStackTrace();
 		}
 	}
 	
diff --git a/bundles/org.eclipse.jst.ws.consumption/.cvsignore b/bundles/org.eclipse.jst.ws.consumption/.cvsignore
index 0a24de6..bd9ea09 100644
--- a/bundles/org.eclipse.jst.ws.consumption/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.consumption/.cvsignore
@@ -3,3 +3,5 @@
 temp.folder
 webserviceutils.jar
 wsc.jar
+webserviceutilssrc.zip
+wscsrc.zip
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 334ab29..d521465 100644
--- a/bundles/org.eclipse.jst.ws.consumption/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.consumption/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.consumption; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-ClassPath: wsc.jar,
  webserviceutils.jar
 Bundle-Activator: org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.ws.consumption,
+Export-Package: org.eclipse.jst.ws.internal.consumption,
  org.eclipse.jst.ws.internal.consumption.codegen,
  org.eclipse.jst.ws.internal.consumption.codegen.bean,
  org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions,
@@ -53,5 +53,8 @@
  org.eclipse.wst.common.frameworks,
  org.wsdl4j,
  org.eclipse.jem.util,
- org.eclipse.ui
+ org.eclipse.wst.common.uriresolver,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.common.project.facet.core,
+ org.eclipse.jst.server.core
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.ws.consumption/plugin.xml b/bundles/org.eclipse.jst.ws.consumption/plugin.xml
index e3da89c..f6640aa 100644
--- a/bundles/org.eclipse.jst.ws.consumption/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.consumption/plugin.xml
@@ -3,15 +3,17 @@
 
 <plugin>
 
-     <extension-point
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
+   <extension-point
       id="wsfinder"
       name="%XP_WSFINDER"/>
 
-   <!-- The following extension point will be removed. -->
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
    <extension-point
       id="webServiceStartServerType"
       name="%XP_WEB_SERVICE_START_SERVER_TYPE"/>
 
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
    <extension-point
       id="serverDefaulter"
       name="%XP_SERVER_DEFAULTER"/>
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/consumption/plugin.properties b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/consumption/plugin.properties
deleted file mode 100644
index 1957689..0000000
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/consumption/plugin.properties
+++ /dev/null
@@ -1,176 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# Sample messages
-#
-MSG_ERROR_JTS_PROXY_HAS_NO_METHODS=IWAB0179E Unable to create a sample to the proxy because the proxy does not contain methods.
-MSG_ERROR_JTS_PROXY_HAS_NO_DEFAULT=IWAB0180E Unable to create a sample to the proxy because the proxy is not a bean (i.e.. the sample does not have public default constructor).
-MSG_ERROR_JTS_NO_PROXY_METHODS_PROCESSED=IWAB0181E Unable to create a sample to the proxy because none of the methods in the proxy were processed.
-MSG_WARN_JTS_UNSUPPORTED_TYPE=IWAB0182W The Sample JSP client does not support the following type:
-MSG_WARN_JTS_UNSUPPORTED_INDEXED_PROPERTIES=IWAB0187W The Sample JSP client does not support Indexed properties.
-MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_ARRAYS=IWAB0237W The Sample JSP client does not support arrays:
-MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_INPUTS=IWAB0124W The Sample JSP client does not support input parameters that are not beans:
-MSG_ERROR_JTS_CYCLIC_BEAN=IWAB0188E The Sample JSP client does not support beans containing attributes that reference the beans.
-MSG_WARN_JTS_PROXY_METHODS_OMITTED=IWAB0189W The Sample JSP client omitted some methods because they contained unsupported types.
-MSG_ERROR_SAMPLE_CREATION_CANCELED=IWAB0021E Sample creation was canceled
-MSG_WARN_UNABLE_TO_FIND_PROXY=IWAB0022W The Proxy Resource cound not not be found.
-
-MSG_ERROR_CANNOT_CREATE_COMPONENT=The Web service wizard cannot automatically create component "{0}". Cancel the wizard and create the component manually.
-
-#
-# Filters
-#
-FILTER_MSG_ERROR_NULL_OBJECT=IWAB0097E No object has been provided.
-FILTER_MSG_ERROR_NOT_FILE=IWAB0098E The object "{0}" is not a file.
-FILTER_MSG_ERROR_NOT_FOLDER=IWAB0137E The object "{0}" is not a folder.
-
-JAVA_FILTER_NAME=Java files
-JAVA_FILTER_DESC=Files with names ending in ".java" or ".class".
-JAVA_FILTER_MSG_ERROR_WRONG_EXTENSION=IWAB0102E The file "{0}" does not end in ".java" or ".class".
-
-WSDL_FILTER_NAME=WSDL files
-WSDL_FILTER_DESC=Files with names ending in ".wsdl".
-WSDL_FILTER_MSG_ERROR_WRONG_EXTENSION=IWAB0103E The file "{0}" does not end in ".wsdl".
-
-ISD_FILTER_NAME=ISD files
-ISD_FILTER_DESC=Files with names ending in ".isd".
-ISD_FILTER_MSG_ERROR_WRONG_EXTENSION=IWAB0095E The file "{0}" does not end in ".isd".
-
-FOLDER_FILTER_NAME=Folders
-FOLDER_FILTER_DESC=Folders.
-
-
-#
-# Common messages
-#
-
-
-MSG_ERROR_PROJECT_NOT_FOUND=IWAB0069E Web project was not found.
-MSG_ERROR_INSTANCE_NOT_FOUND=IWAB0070E Server was not found.
-
-PROGRESS_INFO_PUBLISH_WEB_PROJECT=IWAB0072I Publishing Web project.
-
-#
-# Deployment status
-#
-PROGRESS_INFO_COPY_WEBSERVICE_UTILS=IWAB0023I Copying the webservice utilities.
-PROGRESS_INFO_COPYING_FILE=IWAB0197I Copying SOAP run-time file.
-PROGRESS_INFO_START_WEB_PROJECT=IWAB0198I Starting Web project.
-PROGRESS_INFO_PUBLISHING_SERVER=IWAB0199I Publishing server.
-PROGRESS_INFO_STARTING_SERVER=IWAB0200I Starting server.
-PROGRESS_INFO_PUBLISH_WEB_PROJECT=IWAB0205I Publishing Web project.
-
-
-#
-# Deployment messages
-#
-MSG_ERROR_PROJECT_NOT_FOUND=IWAB0207E Web project was not found.
-MSG_ERROR_FILECOPY_WEBSERVICE_UTILS=IWAB0024E Error in copying Webservice Utility file.
-MSG_ERROR_INSTANCE_NOT_FOUND=IWAB0212E Server was not found.
-MSG_ERROR_SERVER=IWAB0213E Error in starting server.
-MSG_ERROR_PUBLISH=IWAB0217E Error in publishing Web project.
-MSG_ERROR_ADD_MODULE=Error occured when adding the module, {0}, to the server
-
-MSG_WARN_NO_DB_DRIVER=IWAB0221W Unable to locate db2java.zip, please ensure db2java.zip is added to the server class path.
-
-MSG_ERROR_BAD_SERVER_CONFIG=IWAB0534E Unable to add EAR project to Server Configuration.
-MSG_ERROR_CREATE_SERVER=IWAB0025E Unable to create server.
-MSG_ERROR_STUB_ONLY=Unable to create server because only stub runtimes are available for the {0} server type. Go to Window > Preferences. Select Server > Installed Runtimes to install a non-stub runtime.
-
-
-
-#
-# EJB messages
-#
-TASK_LABEL_CREATE_EJB_PROJECT=CreateEJBProjectTask
-TASK_DESC_CREATE_EJB_PROJECT=Create an EJB Project.
-MSG_ERROR_CANNOT_CREATE_EJB_PROJECT=IWAB0432E Unable to create EJB project.
-MSG_ERROR_CANNOT_CREATE_APP_CLIENT_PROJECT=IWAB0026E Unable to create application client project {0}.
-MSG_ERROR_CANNOT_CREATE_JAVA_PROJECT=IWAB0027E Unable to create Java project {0}.
-MSG_ERROR_CANNOT_CREATE_EAR_PROJECT=IWAB0062E Unable to create EAR project {0}.
-
-#
-# WebServiceMappingPage Messages
-#
-
-#
-# Validator task descriptions
-#
-TASK_LABEL_WEBSERVICE_DISABLE_VALIDATION=Disable validators.
-TASK_DESC_WEBSERVICE_DISABLE_VALIDATION=Temporarily disabling validators.
-TASK_LABEL_WEBSERVICE_RESTORE_VALIDATION=Restore validators.
-TASK_DESC_WEBSERVICE_RESTORE_VALIDATION=Restoring states of validators.
-TASK_LABEL_WEBSERVICE_DISABLE_BUILD=Disable auto build.
-TASK_DESC_WEBSERVICE_DISABLE_BUILD=Temporarily disabling auto build.
-TASK_LABEL_WEBSERVICE_RESTORE_BUILD=Restore auto build.
-TASK_DESC_WEBSERVICE_RESTORE_BUILD=Restoring state of auto build.
-TASK_LABEL_WEBSERVICE_BUILD_PROJECT=Build project.
-TASK_DESC_WEBSERVICE_BUILD_PROJECT=Building project.
-
-#
-# MISC
-#
-TASK_DESC_CREATE_WEB_PROJECT=Create Web Project
-TASK_LABEL_CREATE_WEB_PROJECT=Create Web Project
-MSG_ERROR_WEB_PROJECT_CREATE=IWAB0310E An error occurred during creation of the Web Project.
-MSG_ERROR_SERVER_VIEW_OPEN=IWAB0126E The server configuration editor is open for {0}.  Close it and restart the wizard.
-
-#
-# Default Proxy project messages
-#
-
-
-#
-#	DetectNonJavaCharsCommand
-#
-MSG_WARN_JAVA_METHOD_START_WITH_UPPER_CASE=IWAB0129W Java method {0} in class {1} starts with an upper case letter. Method names should begin with lower case letters.
-MSG_WARN_METHOD_NAME_INVALID=IWAB0131W Java method {0} name contains underscore or numeric digits followed by a lower case letter.\
-Method names should not contain lower case letters after a numeric or underscore.
-MSG_WARN_BOOLEAN_PROPERTY_ACCESSORS=IWAB0132W Boolean property accessor {0} in bean {1} begins with "get". Boolean getter methods should begin wth "is".
-MSG_WARN_PACKAGE_NAME_HAS_UPPER_CASE=IWAB0133W The package name {0} of class {1} includes upper case letters. Package names should consist of lower case letters only.
-
-#
-# JavaToModelCommand
-#
-LABEL_OK=OK
-DESCRIPTION_OK=Select OK to continue
-
-LABEL_CANCEL=Cancel
-DESCRIPTION_CANCEL=Select Cancel to cancel
-
-#
-# CreateMonitorCommand
-#
-MSG_ERROR_UNABLE_TO_START_MONITOR=IWAB0001E Unable to monitor port {0} of {1}.
-MSG_INFO_MONITORING_NOT_SUPPORTED=IWAB0002I {0} does not support port monitoring.
-
-#
-# CopyWSDLCommand
-#
-COMMAND_LABEL_COPY_WSDL=Copying WSDL
-COMMAND_DESC_COPY_WSDL=Copying WSDL into the workspace for Web service deployment
-MSG_ERROR_COPY_WSDL=IWAB0028E Failed to copy WSDL {0} to {1}
-
-#
-# AssociateModuleWithEARCommand
-#
-MSG_ERROR_UNABLE_TO_ASSOCIATE=Unable to associate component {0} to ear component {1}.
-
-#
-# CreateModuleCommand
-#
-MSG_ERROR_CREATE_FLEX_PROJET=An error occured during creation of flexible project {0}.
-MSG_ERROR_CREATE_WEB_COMPONENT=An error occured during creation of Web component {0}.
-MSG_ERROR_CREATE_EJB_COMPONENT=An error occured during creation of EJB component {0}.
-MSG_ERROR_CREATE_APPCLIENT_COMPONENT=An error occured during creation of Application Client component {0}.
-MSG_ERROR_CREATE_EAR_COMPONENT=An error occured during creation of EAR component {0}. 
-MSG_ERROR_COMPONENT_CREATION=Unable to create project {0} and/or component {1}.
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/Consumption.properties b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/Consumption.properties
new file mode 100644
index 0000000..a2cd92c
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/Consumption.properties
@@ -0,0 +1,180 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Sample messages
+#
+MSG_ERROR_JTS_PROXY_HAS_NO_METHODS=IWAB0179E Unable to create a sample to the proxy because the proxy does not contain methods.
+MSG_ERROR_JTS_PROXY_HAS_NO_DEFAULT=IWAB0180E Unable to create a sample to the proxy because the proxy is not a bean (i.e.. the sample does not have public default constructor).
+MSG_ERROR_JTS_NO_PROXY_METHODS_PROCESSED=IWAB0181E Unable to create a sample to the proxy because none of the methods in the proxy were processed.
+MSG_WARN_JTS_UNSUPPORTED_TYPE=IWAB0182W The Sample JSP client does not support the following type:
+MSG_WARN_JTS_UNSUPPORTED_INDEXED_PROPERTIES=IWAB0187W The Sample JSP client does not support Indexed properties.
+MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_ARRAYS=IWAB0237W The Sample JSP client does not support arrays:
+MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_INPUTS=IWAB0124W The Sample JSP client does not support input parameters that are not beans:
+MSG_ERROR_JTS_CYCLIC_BEAN=IWAB0188E The Sample JSP client does not support beans containing attributes that reference the beans.
+MSG_WARN_JTS_PROXY_METHODS_OMITTED=IWAB0189W The Sample JSP client omitted some methods because they contained unsupported types.
+MSG_ERROR_SAMPLE_CREATION_CANCELED=IWAB0021E Sample creation was canceled
+MSG_WARN_UNABLE_TO_FIND_PROXY=IWAB0022W The Proxy Resource cound not not be found.
+MSG_ERROR_JTS_JSP_GEN=Error in generating sample JSP
+
+# Not used
+#MSG_ERROR_CANNOT_CREATE_COMPONENT=The Web service wizard cannot automatically create component "{0}". Cancel the wizard and create the component manually.
+
+
+#
+# Filters
+#
+FILTER_MSG_ERROR_NULL_OBJECT=IWAB0097E No object has been provided.
+FILTER_MSG_ERROR_NOT_FILE=IWAB0098E The object "{0}" is not a file.
+FILTER_MSG_ERROR_NOT_FOLDER=IWAB0137E The object "{0}" is not a folder.
+
+JAVA_FILTER_NAME=Java files
+JAVA_FILTER_DESC=Files with names ending in ".java" or ".class".
+JAVA_FILTER_MSG_ERROR_WRONG_EXTENSION=IWAB0102E The file "{0}" does not end in ".java" or ".class".
+
+WSDL_FILTER_NAME=WSDL files
+WSDL_FILTER_DESC=Files with names ending in ".wsdl".
+WSDL_FILTER_MSG_ERROR_WRONG_EXTENSION=IWAB0103E The file "{0}" does not end in ".wsdl".
+
+ISD_FILTER_NAME=ISD files
+ISD_FILTER_DESC=Files with names ending in ".isd".
+ISD_FILTER_MSG_ERROR_WRONG_EXTENSION=IWAB0095E The file "{0}" does not end in ".isd".
+
+PROPERTIES_FILTER_NAME=Properties files
+PROPERTIES_FILTER_DESC=Files with names ending in ".properties"
+PROPERTIES_FILTER_MSG_ERROR_WRONG_EXTENSION= The file "{0}" does not end in ".properties".
+
+FOLDER_FILTER_NAME=Folders
+FOLDER_FILTER_DESC=Folders.
+
+#
+# Deployment status
+#
+PROGRESS_INFO_COPY_WEBSERVICE_UTILS=IWAB0023I Copying the webservice utilities.
+PROGRESS_INFO_COPYING_FILE=IWAB0197I Copying SOAP run-time file.
+PROGRESS_INFO_START_WEB_PROJECT=IWAB0198I Starting Web project.
+PROGRESS_INFO_PUBLISHING_SERVER=IWAB0199I Publishing server.
+PROGRESS_INFO_STARTING_SERVER=IWAB0200I Starting server.
+PROGRESS_INFO_PUBLISH_WEB_PROJECT=IWAB0205I Publishing Web project.
+
+
+#
+# Deployment messages
+#
+MSG_ERROR_PROJECT_NOT_FOUND=IWAB0207E Web project was not found.
+MSG_ERROR_FILECOPY_WEBSERVICE_UTILS=IWAB0024E Error in copying Webservice Utility file.
+MSG_ERROR_INSTANCE_NOT_FOUND=IWAB0212E Server was not found.
+MSG_ERROR_SERVER=IWAB0213E Error in starting server.
+MSG_ERROR_PUBLISH=IWAB0217E Error in publishing Web project.
+MSG_ERROR_ADD_MODULE=Error occured when adding the module, {0}, to the server
+
+MSG_ERROR_CREATE_SERVER=IWAB0025E Unable to create server.
+MSG_ERROR_STUB_ONLY=Unable to create server because only stub runtimes are available for the {0} server type. Go to Window > Preferences. Select Server > Installed Runtimes to install a non-stub runtime.
+
+#
+# EJB messages
+# 4 unused messages in jst.ws and wst.ws
+TASK_LABEL_CREATE_EJB_PROJECT=CreateEJBProjectTask
+TASK_DESC_CREATE_EJB_PROJECT=Create an EJB Project.
+MSG_ERROR_CANNOT_CREATE_EJB_PROJECT=IWAB0432E Unable to create EJB project.
+MSG_ERROR_CANNOT_CREATE_APP_CLIENT_PROJECT=IWAB0026E Unable to create application client project {0}.
+
+MSG_ERROR_CANNOT_CREATE_JAVA_PROJECT=IWAB0027E Unable to create Java project {0}.
+MSG_ERROR_CANNOT_CREATE_EAR_PROJECT=IWAB0062E Unable to create EAR project {0}.
+
+#
+# Validator task descriptions
+#
+TASK_LABEL_WEBSERVICE_DISABLE_VALIDATION=Disable validators.
+TASK_DESC_WEBSERVICE_DISABLE_VALIDATION=Temporarily disabling validators.
+TASK_LABEL_WEBSERVICE_RESTORE_VALIDATION=Restore validators.
+TASK_DESC_WEBSERVICE_RESTORE_VALIDATION=Restoring states of validators.
+TASK_LABEL_WEBSERVICE_DISABLE_BUILD=Disable auto build.
+TASK_DESC_WEBSERVICE_DISABLE_BUILD=Temporarily disabling auto build.
+TASK_LABEL_WEBSERVICE_RESTORE_BUILD=Restore auto build.
+TASK_DESC_WEBSERVICE_RESTORE_BUILD=Restoring state of auto build.
+
+#
+# MISC
+#
+MSG_ERROR_WEB_PROJECT_CREATE=IWAB0310E An error occurred during creation of the Web Project.
+
+#
+# CheckProjectOKCommand
+#
+MSG_ERROR_SERVER_VIEW_OPEN=IWAB0126E The server configuration editor is open for {0}.  Close it and restart the wizard.
+
+
+#
+#	DetectNonJavaCharsCommand
+#
+MSG_WARN_JAVA_METHOD_START_WITH_UPPER_CASE=IWAB0129W Java method {0} in class {1} starts with an upper case letter. Method names should begin with lower case letters.
+MSG_WARN_METHOD_NAME_INVALID=IWAB0131W Java method {0} name contains underscore or numeric digits followed by a lower case letter.\
+Method names should not contain lower case letters after a numeric or underscore.
+MSG_WARN_BOOLEAN_PROPERTY_ACCESSORS=IWAB0132W Boolean property accessor {0} in bean {1} begins with "get". Boolean getter methods should begin wth "is".
+MSG_WARN_PACKAGE_NAME_HAS_UPPER_CASE=IWAB0133W The package name {0} of class {1} includes upper case letters. Package names should consist of lower case letters only.
+
+WARN_BEAN_NAME_STARTS_WITH_LOWER_CASE
+
+#
+# JavaToModelCommand
+#
+LABEL_OK=OK
+DESCRIPTION_OK=Select OK to continue
+
+LABEL_CANCEL=Cancel
+DESCRIPTION_CANCEL=Select Cancel to cancel
+
+#
+# CreateMonitorCommand
+#
+MSG_ERROR_UNABLE_TO_START_MONITOR=IWAB0001E Unable to monitor port {0} of {1}.
+MSG_INFO_MONITORING_NOT_SUPPORTED=IWAB0002I {0} does not support port monitoring.
+
+#
+# CopyWSDLCommand
+#
+COMMAND_LABEL_COPY_WSDL=Copying WSDL
+COMMAND_DESC_COPY_WSDL=Copying WSDL into the workspace for Web service deployment
+MSG_ERROR_COPY_WSDL=IWAB0028E Failed to copy WSDL {0} to {1}
+
+#
+# AssociateModuleWithEARCommand
+#
+MSG_ERROR_UNABLE_TO_ASSOCIATE=Unable to associate component {0} to ear component {1}.
+
+#
+# CreateModuleCommand
+#
+MSG_ERROR_CREATE_FLEX_PROJET=An error occured during creation of flexible project {0}.
+MSG_ERROR_CREATE_EJB_COMPONENT=An error occured during creation of EJB component {0}.
+MSG_ERROR_CREATE_APPCLIENT_COMPONENT=An error occured during creation of Application Client component {0}.
+MSG_ERROR_COMPONENT_CREATION=Unable to create project {0} and/or component {1}.
+
+
+#
+# CreateFacetedProjectCommand
+#
+MSG_ERROR_PROJECT_CREATION=Unable to create project {0}.
+
+
+#
+# PreServiceDevelopCommand
+#
+MSG_ERROR_PROJECT_DOES_NOT_EXIST=The project {0} does not exist.
+MSG_ERROR_PROJECT_IS_NOT_OPEN=The project {0} is not open.
+
+#
+# SPECIAL NOTE TO TRANSLATORS: Substitution {1} in MSG_ERROR_ADDING_FACETS_TO_PROJECT will be a delimited
+# list of translated labels. The list is formed through repeated use of MSG_FACETS.
+#
+MSG_ERROR_ADDING_FACETS_TO_PROJECT=Unable to add the follwing facets to project {0}: {1}.
+MSG_FACETS={0}, {1}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/ConsumptionMessages.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/ConsumptionMessages.java
new file mode 100644
index 0000000..05a2f11
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/ConsumptionMessages.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.consumption;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class ConsumptionMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.consumption.Consumption";//$NON-NLS-1$
+
+	private ConsumptionMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_JTS_PROXY_HAS_NO_METHODS;
+	public static String MSG_ERROR_JTS_PROXY_HAS_NO_DEFAULT;
+	public static String MSG_ERROR_JTS_NO_PROXY_METHODS_PROCESSED;
+	public static String MSG_WARN_JTS_UNSUPPORTED_TYPE;
+	public static String MSG_WARN_JTS_UNSUPPORTED_INDEXED_PROPERTIES;
+	public static String MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_ARRAYS;
+	public static String MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_INPUTS;
+	public static String MSG_ERROR_JTS_CYCLIC_BEAN;
+	public static String MSG_WARN_JTS_PROXY_METHODS_OMITTED;
+	public static String MSG_ERROR_SAMPLE_CREATION_CANCELED;
+	public static String MSG_WARN_UNABLE_TO_FIND_PROXY;
+	public static String MSG_ERROR_JTS_JSP_GEN;
+	public static String FILTER_MSG_ERROR_NULL_OBJECT;
+	public static String FILTER_MSG_ERROR_NOT_FILE;
+	public static String FILTER_MSG_ERROR_NOT_FOLDER;
+	public static String JAVA_FILTER_NAME;
+	public static String JAVA_FILTER_DESC;
+	public static String JAVA_FILTER_MSG_ERROR_WRONG_EXTENSION;
+	public static String WSDL_FILTER_NAME;
+	public static String WSDL_FILTER_DESC;
+	public static String WSDL_FILTER_MSG_ERROR_WRONG_EXTENSION;
+	public static String ISD_FILTER_NAME;
+	public static String ISD_FILTER_DESC;
+	public static String ISD_FILTER_MSG_ERROR_WRONG_EXTENSION;
+	public static String PROPERTIES_FILTER_NAME;
+	public static String PROPERTIES_FILTER_DESC;
+	public static String PROPERTIES_FILTER_MSG_ERROR_WRONG_EXTENSION;
+	public static String FOLDER_FILTER_NAME;
+	public static String FOLDER_FILTER_DESC;
+	public static String PROGRESS_INFO_COPY_WEBSERVICE_UTILS;
+	public static String PROGRESS_INFO_COPYING_FILE;
+	public static String PROGRESS_INFO_START_WEB_PROJECT;
+	public static String PROGRESS_INFO_PUBLISHING_SERVER;
+	public static String PROGRESS_INFO_STARTING_SERVER;
+	public static String PROGRESS_INFO_PUBLISH_WEB_PROJECT;
+	public static String MSG_ERROR_PROJECT_NOT_FOUND;
+	public static String MSG_ERROR_FILECOPY_WEBSERVICE_UTILS;
+	public static String MSG_ERROR_INSTANCE_NOT_FOUND;
+	public static String MSG_ERROR_SERVER;
+	public static String MSG_ERROR_PUBLISH;
+	public static String MSG_ERROR_ADD_MODULE;
+	public static String MSG_ERROR_CREATE_SERVER;
+	public static String MSG_ERROR_STUB_ONLY;
+	public static String TASK_LABEL_CREATE_EJB_PROJECT;
+	public static String TASK_DESC_CREATE_EJB_PROJECT;
+	public static String MSG_ERROR_CANNOT_CREATE_EJB_PROJECT;
+	public static String MSG_ERROR_CANNOT_CREATE_APP_CLIENT_PROJECT;
+	public static String MSG_ERROR_CANNOT_CREATE_JAVA_PROJECT;
+	public static String MSG_ERROR_CANNOT_CREATE_EAR_PROJECT;
+	public static String TASK_LABEL_WEBSERVICE_DISABLE_VALIDATION;
+	public static String TASK_DESC_WEBSERVICE_DISABLE_VALIDATION;
+	public static String TASK_LABEL_WEBSERVICE_RESTORE_VALIDATION;
+	public static String TASK_DESC_WEBSERVICE_RESTORE_VALIDATION;
+	public static String TASK_LABEL_WEBSERVICE_DISABLE_BUILD;
+	public static String TASK_DESC_WEBSERVICE_DISABLE_BUILD;
+	public static String TASK_LABEL_WEBSERVICE_RESTORE_BUILD;
+	public static String TASK_DESC_WEBSERVICE_RESTORE_BUILD;
+	public static String MSG_ERROR_WEB_PROJECT_CREATE;
+	public static String MSG_ERROR_SERVER_VIEW_OPEN;
+	public static String MSG_WARN_JAVA_METHOD_START_WITH_UPPER_CASE;
+	public static String MSG_WARN_METHOD_NAME_INVALID;
+	public static String MSG_WARN_BOOLEAN_PROPERTY_ACCESSORS;
+	public static String MSG_WARN_PACKAGE_NAME_HAS_UPPER_CASE;
+	public static String WARN_BEAN_NAME_STARTS_WITH_LOWER_CASE;
+	public static String LABEL_OK;
+	public static String DESCRIPTION_OK;
+	public static String LABEL_CANCEL;
+	public static String DESCRIPTION_CANCEL;
+	public static String MSG_ERROR_UNABLE_TO_START_MONITOR;
+	public static String MSG_INFO_MONITORING_NOT_SUPPORTED;
+	public static String COMMAND_LABEL_COPY_WSDL;
+	public static String COMMAND_DESC_COPY_WSDL;
+	public static String MSG_ERROR_COPY_WSDL;
+	public static String MSG_ERROR_UNABLE_TO_ASSOCIATE;
+	public static String MSG_ERROR_CREATE_FLEX_PROJET;
+	public static String MSG_ERROR_CREATE_EJB_COMPONENT;
+	public static String MSG_ERROR_CREATE_APPCLIENT_COMPONENT;
+	public static String MSG_ERROR_COMPONENT_CREATION;
+	public static String MSG_ERROR_PROJECT_CREATION;
+    public static String MSG_ERROR_PROJECT_DOES_NOT_EXIST;
+    public static String MSG_ERROR_PROJECT_IS_NOT_OPEN;
+    public static String MSG_ERROR_ADDING_FACETS_TO_PROJECT;
+    public static String MSG_FACETS;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, ConsumptionMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Generator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Generator.java
index 45687af..a260ac0 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Generator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Generator.java
@@ -12,9 +12,8 @@
 package org.eclipse.jst.ws.internal.consumption.codegen;
 
 import java.util.Vector;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 
 
 
@@ -226,10 +225,10 @@
   }
 
 
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
    //implemented by subclasses
-  	return new SimpleStatus("");
+  	return Status.OK_STATUS;
   }
   
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/RelVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/RelVisitor.java
index 6bfb556..fac00ac 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/RelVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/RelVisitor.java
@@ -12,9 +12,8 @@
 package org.eclipse.jst.ws.internal.consumption.codegen;
       
 import java.util.Enumeration;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 import org.eclipse.wst.ws.internal.datamodel.Rel;
 
@@ -65,9 +64,9 @@
   {
     //implemented by subclasses
   }  
-  public Status run (Object sourceElement,VisitorAction vAction)
+  public IStatus run (Object sourceElement,VisitorAction vAction)
   {
-  	    Status status = new SimpleStatus("");
+  	    IStatus status = Status.OK_STATUS;
         initialize(vAction);
   
         vAction.setVisitor(this);
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Visitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Visitor.java
index 3739460..c68cdad 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Visitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/Visitor.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.codegen;
 
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IStatus;
 
 
 /**
@@ -24,7 +24,7 @@
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
   
-  public Status run (Object object, VisitorAction vAction);
+  public IStatus run (Object object, VisitorAction vAction);
         
 
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/VisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/VisitorAction.java
index 47b72dc..9a3d653 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/VisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/VisitorAction.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.jst.ws.internal.consumption.codegen;
 
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IStatus;
 
 
 /**
@@ -25,7 +25,7 @@
   // Copyright
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
-  public Status visit (Object object);
+  public IStatus visit (Object object);
   public void setVisitor(Visitor visitor);
   public void initialize(String residentString);
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/AttributeVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/AttributeVisitor.java
index 30ffda6..a01a641 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/AttributeVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/AttributeVisitor.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.codegen.bean;
 
 import java.util.Vector;
-
 import org.eclipse.jst.ws.internal.consumption.codegen.RelVisitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeElement;
@@ -29,7 +28,6 @@
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
   
-  private String fResidentString; 
   private Vector fResidentVector1;
   private Vector fResidentVector2;
 
@@ -41,18 +39,15 @@
   public AttributeVisitor ()
   {
     super(TypeElement.REL_ATTRIBUTES);
-    fResidentString = "";
   }
 
   public AttributeVisitor (String rel)
   {
     super(rel);
-    fResidentString = "";
   }
   
   public void setResidentString(String resident)
   {
-    fResidentString = resident;
   }
 
   public void setResidentVector1(Vector resident)
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/FieldVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/FieldVisitor.java
index d6db38b..5a9ad69 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/FieldVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/bean/FieldVisitor.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.codegen.bean;
 
 import java.util.Vector;
-
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeElement;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.codegen.InputFileAttributeGenerator;
@@ -28,7 +27,6 @@
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
   
-  private String fResidentString; 
   private Vector fResidentVector1;
   private Vector fResidentVector2;
 
@@ -40,12 +38,10 @@
   public FieldVisitor ()
   {
     super(TypeElement.REL_FIELDS);
-    fResidentString = "";
   }
   
   public void setResidentString(String resident)
   {
-    fResidentString = resident;
   }
 
   public void setResidentVector1(Vector resident)
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsBeanVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsBeanVisitorAction.java
index d5965e3..7300776 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsBeanVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsBeanVisitorAction.java
@@ -13,10 +13,11 @@
 
 import java.util.Vector;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofMethodVisitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 
@@ -30,14 +31,10 @@
 public class DetectNonJavaCharsBeanVisitorAction extends VisitorActionImpl
 {
   private static char UNDERSCORE = '_';
-  private boolean serviceBean = false;
 
   public DetectNonJavaCharsBeanVisitorAction ( Vector messages, Vector beans)
   	{
   		super (messages, beans);
-  		// if first bean fisited that means it is the Service bean
-  		if ( beans == null ) 
-  			serviceBean = true;
   	}
 
   /**
@@ -45,7 +42,7 @@
   * Walk the methods
   * @param JavaClass the class to be used to create the bean model
   **/
-  public Status visit (Object javaclass)
+  public IStatus visit (Object javaclass)
   {
     JavaClass javaClass = (JavaClass)javaclass;
     String packageName = javaClass.getJavaPackage().getPackageName();
@@ -61,7 +58,7 @@
     	methodVisitor.run(javaClass,methodVisitorAction);
      }
     
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
    }
 
    private void checkBeanName(String beanName)
@@ -69,7 +66,7 @@
 	 
 	 // check if the bean starts with a lower case
 	 if ( Character.isLowerCase(beanName.charAt(0)))
-    	addMessage("WARN_BEAN_NAME_STARTS_WITH_LOWER_CASE", new String[]{beanName});  
+    	addMessage(ConsumptionMessages.WARN_BEAN_NAME_STARTS_WITH_LOWER_CASE, new String[]{beanName});  
 
 	
      //check if the name has an underscore, then next letter should be upper case
@@ -78,7 +75,7 @@
 	 while(underScoreIndex !=-1) {
 		tempName = tempName.substring(underScoreIndex+1);
 		if ( Character.isLowerCase(tempName.charAt(0))) {
-      		addMessage("MSG_WARN_METHOD_NAME_INVALID", new String[] { beanName });  
+      		addMessage(ConsumptionMessages.MSG_WARN_METHOD_NAME_INVALID, new String[] { beanName });  
       		break;
 			}
 		else
@@ -89,6 +86,6 @@
 	private void checkPackageName(String packageName, String beanName)
 		{
 			if (!packageName.equals(packageName.toLowerCase()))
-				addMessage("MSG_WARN_PACKAGE_NAME_HAS_UPPER_CASE", new String[] { packageName, beanName });
+				addMessage(ConsumptionMessages.MSG_WARN_PACKAGE_NAME_HAS_UPPER_CASE, new String[] { packageName, beanName });
 		}
  }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsMethodVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsMethodVisitorAction.java
index 49dd60d..16bca06 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsMethodVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsMethodVisitorAction.java
@@ -12,11 +12,11 @@
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions;
 
 import java.util.Vector;
-
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.Method;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofParameterVisitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -41,7 +41,7 @@
   * Create a method element from the method 
   * @param Method the class to be used to create the method
   **/
-  public Status visit (Object imethod)
+  public IStatus visit (Object imethod)
   {
     
     Method method = (Method)imethod;
@@ -64,14 +64,14 @@
     	parameterVisitor.run(method, parameterVisitorAction);   
 	  }
 	 
-	 return new SimpleStatus("");
+	 return Status.OK_STATUS;
 	}
 
   private void checkUpperCase(String name, String className)
   {
   	 // in a service bean check if any method starts with upper case letter
 	 if ( Character.isUpperCase(name.charAt(0)))
-    		addMessage("MSG_WARN_JAVA_METHOD_START_WITH_UPPER_CASE", new String[]{name, className});  
+    		addMessage(ConsumptionMessages.MSG_WARN_JAVA_METHOD_START_WITH_UPPER_CASE, new String[]{name, className});  
 
   }
 
@@ -83,7 +83,7 @@
 	 while(underScoreIndex !=-1) {
 		tempName = tempName.substring(underScoreIndex+1);
 		if ( Character.isLowerCase(tempName.charAt(0))) {
-    		addMessage("MSG_WARN_METHOD_NAME_INVALID", new String[]{name, className});  
+    		addMessage(ConsumptionMessages.MSG_WARN_METHOD_NAME_INVALID, new String[]{name, className});  
      		break;
 		}
 		else
@@ -99,7 +99,7 @@
      		if ( Character.isDigit(name.charAt(i)))
      			{
      				if (Character.isLowerCase(name.charAt(i+1))) {
-			    		addMessage("MSG_WARN_METHOD_NAME_INVALID", new String[]{name, className});  
+			    		addMessage(ConsumptionMessages.MSG_WARN_METHOD_NAME_INVALID, new String[]{name, className});  
 			     		break;
  					}
 		}
@@ -110,7 +110,7 @@
   		if (!serviceBean && method.getName().startsWith("get") && 
   			(method.getReturnType().getName().equals("boolean") ||
   			 method.getReturnType().getName().equals("java.lang.Boolean")))
-  			addMessage("MSG_WARN_BOOLEAN_PROPERTY_ACCESSORS", new String[]{method.getName(), className});  
+  			addMessage(ConsumptionMessages.MSG_WARN_BOOLEAN_PROPERTY_ACCESSORS, new String[]{method.getName(), className});  
   	}
 
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsParameterVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsParameterVisitorAction.java
index 92f3c60..680c079 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsParameterVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/DetectNonJavaCharsParameterVisitorAction.java
@@ -12,15 +12,14 @@
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions;
 
 import java.util.Vector;
-
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.ArrayType;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jem.java.JavaHelpers;
 import org.eclipse.jem.java.JavaParameter;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofBeanVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 
@@ -42,7 +41,7 @@
   * Create a method element from the method 
   * @param Method the class to be used to create the method
   **/
-  public Status visit (Object ijavaParameter)
+  public IStatus visit (Object ijavaParameter)
   {
     
     JavaParameter javaParameter = (JavaParameter) ijavaParameter;
@@ -69,7 +68,7 @@
 			beanVisitor.run(javaClass,beanVisitorAction);
   	  	}
    	
-   	return new SimpleStatus("");
+   	return Status.OK_STATUS;
   }
   
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofAttributeVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofAttributeVisitorAction.java
index fda6836..1a9ac05 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofAttributeVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofAttributeVisitorAction.java
@@ -11,20 +11,21 @@
 
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaHelpers;
 import org.eclipse.jem.java.JavaParameter;
 import org.eclipse.jem.java.Method;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofTypeVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.AttributeElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanModelElementsFactory;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.common.SamplePropertyDescriptor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.StatusException;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -36,33 +37,18 @@
 * */
 public class JavaMofAttributeVisitorAction extends JavaMofBeanVisitorAction
 {
-	
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-  private MessageUtils msgUtils_;
 
   /*
   *Constructor
   **/
-  public JavaMofAttributeVisitorAction(Element parentElement, String project, Environment env)
+  public JavaMofAttributeVisitorAction(Element parentElement, String project, IEnvironment env)
   {
     super(parentElement,project, env);
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
   }
 
-  /**
-  * Create a type element from the JavaHelper
-  * @param JavaParameter the mof element to be used to create the attribute
-  **/
-
-
-  //bean info code
-
-
-  public Status visit (Object propertyDecorator)
+  public IStatus visit (Object propertyDecorator)
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
   	  	
     //PropertyDecorator pd = (PropertyDecorator)propertyDecorator;
     SamplePropertyDescriptor pd = (SamplePropertyDescriptor)propertyDecorator;  
@@ -72,9 +58,9 @@
        //if the type of this attribute is unsupported dont make an Attribute
       if(!(getReturnParam() && TypeFactory.isRecognizedReturnType((JavaHelpers)pd.getPropertyType())) 
       	&& (TypeFactory.isUnSupportedType((JavaHelpers)pd.getPropertyType()))){
-      	  status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_JTS_UNSUPPORTED_TYPE") + ((JavaHelpers)pd.getPropertyType()).getJavaName(), Status.WARNING );
+      	  status = StatusUtils.warningStatus( ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_TYPE + ((JavaHelpers)pd.getPropertyType()).getJavaName() );
 	      //getStatusMonitor().reportStatus( new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
-	      //WebServiceConsumptionPlugin.getMessage( "%MSG_WARN_JTS_UNSUPPORTED_TYPE") + ((JavaHelpers)pd.getPropertyType()).getJavaName(),null));
+	      //ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_TYPE + ((JavaHelpers)pd.getPropertyType()).getJavaName(),null));
 	      return status;
 	  }	
 
@@ -105,9 +91,9 @@
 	      JavaParameter javaParameter[] = getMethod.listParametersWithoutReturn();
 	        if(javaParameter.length > 0){
 	          if(getReturnParam()) return status;
-	          status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_JTS_UNSUPPORTED_INDEXED_PROPERTIES") + getMethod.getName(), Status.WARNING );
+	          status = StatusUtils.warningStatus( ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_INDEXED_PROPERTIES + getMethod.getName() );
 	          //getStatusMonitor().reportStatus (new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
-	          //		WebServiceConsumptionPlugin.getMessage( "%MSG_WARN_JTS_UNSUPPORTED_INDEXED_PROPERTIES" ) + getMethod.getName(),null));
+	          //		ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_INDEXED_PROPERTIES + getMethod.getName(),null));
 	          return status;
 	        }
         }
@@ -127,18 +113,16 @@
       return status;
     }catch(Exception e)
     {
-    	env_.getLog().log(Log.WARNING, 5054, this, "visit", e);
-    	status = new SimpleStatus("JavaMofAttributeVisitorAction", //$NON-NLS-1$
-    			msgUtils_.getMessage("MSG_ERROR_JTS_JSP_GEN"), Status.WARNING, e);
+    	env_.getLog().log(ILog.WARNING, 5054, this, "visit", e);
+    	status = StatusUtils.warningStatus(	ConsumptionMessages.MSG_ERROR_JTS_JSP_GEN, e);
     	try {
 			env_.getStatusHandler().report(status);
 		} catch (StatusException e1) {
-			status = new SimpleStatus("JavaMofAttributeVisitorAction", //$NON-NLS-1$
-	    			msgUtils_.getMessage("MSG_ERROR_JTS_JSP_GEN"), Status.ERROR);
+			status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_JTS_JSP_GEN);
 		}
     	return status;
     }
-    //env.Log.write(this,"visit",Log.OK,e);}
+    //env.Log.write(this,"visit",ILog.OK,e);}
 
   }
  
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofBeanVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofBeanVisitorAction.java
index f125a98..9af1152 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofBeanVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofBeanVisitorAction.java
@@ -15,11 +15,14 @@
 import java.util.Iterator;
 import java.util.Vector;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jem.java.JavaParameter;
 import org.eclipse.jem.java.Method;
 import org.eclipse.jst.ws.internal.command.NullStatusMonitor;
 import org.eclipse.jst.ws.internal.command.StatusMonitor;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofAttributeVisitor;
@@ -27,12 +30,10 @@
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofMethodVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanModelElementsFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 
@@ -45,13 +46,7 @@
 public class JavaMofBeanVisitorAction implements VisitorAction
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  private MessageUtils msgUtils_;
-  protected Environment env_;
- // protected BeanElement fBeanElement;
-
+  protected IEnvironment env_;
   protected Visitor fVisitor;
 
   /*
@@ -88,12 +83,10 @@
   */
   protected boolean fReturnParam=false;
 
-  public JavaMofBeanVisitorAction(String clientProject,BooleanSelection[] methods, Environment env)
+  public JavaMofBeanVisitorAction(String clientProject,BooleanSelection[] methods, IEnvironment env)
   {
     this.clientProject = clientProject;
     fMethodsSelected = methods;
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this); 
 	env_ = env;
   }
 
@@ -104,12 +97,10 @@
   * @param Model model is the Model that this bean will be placed in
   * @param IProject used in nature
   **/
-  public JavaMofBeanVisitorAction(Model model, String clientProject, Environment env)
+  public JavaMofBeanVisitorAction(Model model, String clientProject, IEnvironment env)
   {
     this.clientProject = clientProject;
     fModel = model;
-    String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
 	env_ = env;
   }
 
@@ -118,12 +109,10 @@
   * @param Element the parent element that this element will be added too
   * @param IProject used in nature
   **/
-  public JavaMofBeanVisitorAction(Element parentElement, String clientProject, Environment env )
+  public JavaMofBeanVisitorAction(Element parentElement, String clientProject, IEnvironment env )
   {
     fParentElement = parentElement;
     this.clientProject = clientProject;
-    String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
 	env_ = env;
   }
 
@@ -132,11 +121,11 @@
   * Walk the methods
   * @param JavaClass the class to be used to create the bean model
   **/
-  public Status visit (Object javaclass)
+  public IStatus visit (Object javaclass)
   {
-  	Choice OKChoice = new Choice('O', msgUtils_.getMessage("LABEL_OK"), msgUtils_.getMessage("DESCRIPTION_OK"));
-  	Choice CancelChoice = new Choice('C', msgUtils_.getMessage("LABEL_CANCEL"), msgUtils_.getMessage("DESCRIPTION_CANCEL"));
-  	Status status = new SimpleStatus("");
+  	Choice OKChoice = new Choice('O', ConsumptionMessages.LABEL_OK, ConsumptionMessages.DESCRIPTION_OK);
+  	Choice CancelChoice = new Choice('C', ConsumptionMessages.LABEL_CANCEL, ConsumptionMessages.DESCRIPTION_CANCEL);
+  	IStatus status = Status.OK_STATUS;
     JavaClass javaClass = (JavaClass)javaclass;
     
     
@@ -154,7 +143,7 @@
        while(e.hasMoreElements()){
           String name = (String)e.nextElement();
           if(name.equals(javaClass.getName())){
-          	status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_JTS_CYCLIC_BEAN"), Status.WARNING);
+          	status = StatusUtils.warningStatus( ConsumptionMessages.MSG_ERROR_JTS_CYCLIC_BEAN );
             //getStatusMonitor().reportStatus(new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
             			//WebServiceConsumptionPlugin.getMessage( "%MSG_ERROR_JTS_CYCLIC_BEAN" ),null));
             return status;
@@ -183,7 +172,7 @@
          if (result.getLabel().equals(CancelChoice.getLabel()))
          {
          	 //return an error status since the user canceled
-         	  return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+         	  return StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
          }
          	
        }
@@ -209,7 +198,7 @@
          if (result.getLabel().equals(CancelChoice.getLabel()))
          {
          	 //return an error status since the user canceled
-         	  return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+         	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
          }
          	
        }
@@ -244,7 +233,7 @@
         if (result.getLabel().equals(CancelChoice.getLabel()))
         {
         	 //return an error status since the user canceled
-        	  return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+        	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
         }
         	
       }
@@ -256,7 +245,7 @@
       //first no methods
       if (!methodVisitorAction.wereMethodsProcessed()){
         //this has to be done to insure the dialog is an error
-      	status = new SimpleStatus("",msgUtils_.getMessage("MSG_ERROR_JTS_NO_PROXY_METHODS_PROCESSED"), Status.ERROR);
+      	status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_JTS_NO_PROXY_METHODS_PROCESSED );
       	return status;
         //getStatusMonitor().reportStatus( new Status(IStatus.ERROR,WebServiceConsumptionPlugin.ID,0,
         //		WebServiceConsumptionPlugin.getMessage( "%MSG_ERROR_JTS_NO_PROXY_METHODS_PROCESSED" ),null));
@@ -264,10 +253,10 @@
       //now methods omitted
       else if(methodVisitorAction.wereMethodsOmitted()){
         //The dialog is already a warning so we just need to set the overall message
-      	status = new SimpleStatus("",msgUtils_.getMessage("MSG_WARN_JTS_PROXY_METHODS_OMITTED"), Status.WARNING);
+      	status = StatusUtils.warningStatus( ConsumptionMessages.MSG_WARN_JTS_PROXY_METHODS_OMITTED );
       	return status;
         //getStatusMonitor().reportStatus( new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
-        //		WebServiceConsumptionPlugin.getMessage( "%MSG_WARN_JTS_PROXY_METHODS_OMITTED" ),null));
+        //		ConsumptionMessages.MSG_WARN_JTS_PROXY_METHODS_OMITTED,null));
       }	
     }
     return status;
@@ -293,14 +282,14 @@
   * at Least one method
   * @param JavaClass javaClass is used to traverse the methods on the proxy
   */
-  public boolean proxyCheck(JavaClass javaClass, Status status)
+  public boolean proxyCheck(JavaClass javaClass, IStatus status)
   {
      // first check for a method
      Iterator m=javaClass.getPublicMethods().iterator();
      if (!m.hasNext()){
-     	status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_JTS_PROXY_HAS_NO_METHODS"),Status.ERROR);
+     	status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_JTS_PROXY_HAS_NO_METHODS );
        //getStatusMonitor().reportStatus( new Status(IStatus.ERROR,WebServiceConsumptionPlugin.ID,0,
-       //			WebServiceConsumptionPlugin.getMessage( "%MSG_ERROR_JTS_PROXY_HAS_NO_METHODS" ),null));
+       //			ConsumptionMessages.MSG_ERROR_JTS_PROXY_HAS_NO_METHODS,null));
        return false;
      }	
      //now check for a default constructor
@@ -311,9 +300,9 @@
           JavaParameter javaParameter[] = method.listParametersWithoutReturn();
           if (javaParameter.length > 0){
              //then we have no default constructor
-          	 status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_JTS_PROXY_HAS_NO_DEFAULT"),Status.ERROR);
+          	 status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_JTS_PROXY_HAS_NO_DEFAULT );
              //getStatusMonitor().reportStatus( new Status(IStatus.ERROR,WebServiceConsumptionPlugin.ID,0,
-             		//WebServiceConsumptionPlugin.getMessage( "%MSG_ERROR_JTS_PROXY_HAS_NO_DEFAULT" ),null));
+             		//ConsumptionMessages.MSG_ERROR_JTS_PROXY_HAS_NO_DEFAULT,null));
              return false;
           }
        }
@@ -357,7 +346,7 @@
     fBeansCreated = new Vector();
   }
 
-  public void setEnvironment(Environment env)
+  public void setEnvironment(IEnvironment env)
   {
   	env_ = env;
   }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofFieldVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofFieldVisitorAction.java
index 634bc6f..143774f 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofFieldVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofFieldVisitorAction.java
@@ -11,18 +11,19 @@
 
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.Field;
 import org.eclipse.jem.java.JavaHelpers;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofTypeVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanModelElementsFactory;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.FieldElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.StatusException;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -35,42 +36,27 @@
 public class JavaMofFieldVisitorAction extends JavaMofBeanVisitorAction
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-  private MessageUtils msgUtils_;
-
-
   /*
   *Constructor
   **/
-  public JavaMofFieldVisitorAction(Element parentElement, String project, Environment env)
+  public JavaMofFieldVisitorAction(Element parentElement, String project, IEnvironment env)
   {
     super(parentElement,project, env);
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
   }
 
-  /**
-  * Create a type element from the JavaHelper
-  * @param JavaParameter the mof element to be used to create the attribute
-  **/
 
-
-  //bean info code
-
-
-  public Status visit (Object field_)
+  public IStatus visit (Object field_)
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
     Field field = (Field)field_;
      
     try{
        //if the type of this attribute is unsupported dont make an Attribute
       if(!(getReturnParam() && TypeFactory.isRecognizedReturnType((JavaHelpers)field.getJavaClass())) 
       	&& (TypeFactory.isUnSupportedType((JavaHelpers)field.getJavaClass()))){
-      	  status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_JTS_UNSUPPORTED_TYPE") + ((JavaHelpers)field.getJavaClass()).getJavaName(), Status.WARNING );
+      	  status = StatusUtils.warningStatus( ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_TYPE + ((JavaHelpers)field.getJavaClass()).getJavaName() );
 	      //getStatusMonitor().reportStatus( new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
-	      //WebServiceConsumptionPlugin.getMessage( "%MSG_WARN_JTS_UNSUPPORTED_TYPE") + ((JavaHelpers)field.getJavaClass()).getJavaName(),null));
+	      //ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_TYPE + ((JavaHelpers)field.getJavaClass()).getJavaName(),null));
 	      return status;
 	  }	
 
@@ -95,14 +81,14 @@
     
     }catch(Exception e)
 	{
-    	env_.getLog().log(Log.WARNING, 5055, this, "visit", e);
-    	status = new SimpleStatus("JavaMofFieldVisitorAction", //$NON-NLS-1$
-    			msgUtils_.getMessage("MSG_ERROR_JTS_JSP_GEN"), Status.WARNING, e);
+    	env_.getLog().log(ILog.WARNING, 5055, this, "visit", e);
+    	status = StatusUtils.warningStatus(	ConsumptionMessages.MSG_ERROR_JTS_JSP_GEN, e);
     	try {
     		env_.getStatusHandler().report(status);
-    	} catch (StatusException e1) {
-    		status = new SimpleStatus("JavaMofFieldVisitorAction", //$NON-NLS-1$
-    				msgUtils_.getMessage("MSG_ERROR_JTS_JSP_GEN"), Status.ERROR);
+    	} 
+      catch (StatusException e1) 
+      {
+    		status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_JTS_JSP_GEN, e1 );
     	}
     	return status;
 	}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofMethodVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofMethodVisitorAction.java
index 96fbe5f..abe7279 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofMethodVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofMethodVisitorAction.java
@@ -14,18 +14,19 @@
 import java.util.Iterator;
 import java.util.Vector;
 
+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.JavaParameter;
 import org.eclipse.jem.java.Method;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofParameterVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanModelElementsFactory;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.MethodElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -38,10 +39,6 @@
 public class JavaMofMethodVisitorAction extends JavaMofBeanVisitorAction 
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  private MessageUtils msgUtils_;
   public String fUnsupportedParameterName;
 
  /*
@@ -58,11 +55,9 @@
   /*
   *Constructor
   **/
-  public JavaMofMethodVisitorAction(Element parentElement,String project, Environment env)
+  public JavaMofMethodVisitorAction(Element parentElement,String project, IEnvironment env)
   {
     super(parentElement,project, env);
-    String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
     fMethodsOmitted = new Vector();
     fMethodsProcessed = new Vector();
 
@@ -72,9 +67,9 @@
   * Create a method element from the method 
   * @param Method the class to be used to create the method
   **/
-  public Status visit (Object imethod)
+  public IStatus visit (Object imethod)
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
     Method method = (Method)imethod;
            
     if (methodCheck(method)){
@@ -82,16 +77,16 @@
       //if there is an unsupported type in these we can react immediately
       //we add it to the omitted methods an go to the next one
       if(!parameterCheck(method)){
-      	status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_ARRAYS") + fUnsupportedParameterName, Status.WARNING );
+      	status = StatusUtils.warningStatus(ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_ARRAYS + fUnsupportedParameterName );
         //getStatusMonitor().reportStatus (new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
-        //		WebServiceConsumptionPlugin.getMessage( "%MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_ARRAYS" ) + fUnsupportedParameterName,null));
+        //		ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_ARRAYS + fUnsupportedParameterName,null));
         fMethodsOmitted.addElement(method.getMethodElementSignature());
         return status;
       }
       if(!nullConstructor(method)){
-      	status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_INPUTS") + fUnsupportedParameterName, Status.WARNING );
+      	status = StatusUtils.warningStatus( ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_INPUTS + fUnsupportedParameterName );
         //getStatusMonitor().reportStatus (new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
-       	//	WebServiceConsumptionPlugin.getMessage( "%MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_INPUTS" ) + fUnsupportedParameterName,null));
+       	//	ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_PARAMETERS_INPUTS + fUnsupportedParameterName,null));
         fMethodsOmitted.addElement(method.getMethodElementSignature());
         return status;
       
@@ -164,7 +159,6 @@
     
     //now the inputs
     JavaParameter javaParameter[] = method.listParametersWithoutReturn(); 
-    boolean paramSupported = true;
     for (int i = 0;i<javaParameter.length;i++) {
       JavaParameter param=javaParameter[i];
       JavaHelpers javaHelper1 = param.getJavaType();
@@ -188,7 +182,6 @@
     boolean ok = true;
     //now the inputs
     JavaParameter javaParameter[] = method.listParametersWithoutReturn(); 
-    boolean paramSupported = true;
     for (int i = 0;i<javaParameter.length;i++) {
       JavaParameter param=javaParameter[i];
       JavaHelpers javaHelper1 = param.getJavaType();
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofParameterVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofParameterVisitorAction.java
index d8926f3..2a1fb45 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofParameterVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofParameterVisitorAction.java
@@ -11,14 +11,15 @@
 
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofTypeVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanModelElementsFactory;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.ParameterElement;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -32,29 +33,24 @@
 public class JavaMofParameterVisitorAction extends JavaMofBeanVisitorAction 
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-  private MessageUtils msgUtils_;
-    
+
   /*
   *Constructor
   **/
-  public JavaMofParameterVisitorAction(Element parentElement,String project, Environment env)
+  public JavaMofParameterVisitorAction(Element parentElement,String project, IEnvironment env)
   {
     super(parentElement,project, env);
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);    
   }
    
   /**
   * Create a parameter element from the method 
   * @param JavaParameter the mof element to be used to create the Parameter
   **/
-  public Status visit (Object ijavaParameter)
+  public IStatus visit (Object ijavaParameter)
   {
-  	Status status = new SimpleStatus("");
-  	Choice OKChoice = new Choice('O', msgUtils_.getMessage("LABEL_OK"), msgUtils_.getMessage("DESCRIPTION_OK"));
-  	Choice CancelChoice = new Choice('C', msgUtils_.getMessage("LABEL_CANCEL"), msgUtils_.getMessage("DESCRIPTION_CANCEL"));
+  	IStatus status = Status.OK_STATUS;
+  	Choice OKChoice = new Choice('O',ConsumptionMessages.LABEL_OK, ConsumptionMessages.DESCRIPTION_OK);
+  	Choice CancelChoice = new Choice('C', ConsumptionMessages.LABEL_CANCEL, ConsumptionMessages.DESCRIPTION_CANCEL);
   	
     ParameterElement parameterElement = (ParameterElement)BeanModelElementsFactory.getBeanModelElement(ijavaParameter,fParentElement);
     JavaMofTypeVisitorAction typeVisitorAction = new JavaMofTypeVisitorAction(parameterElement,clientProject, env_);
@@ -74,7 +70,7 @@
       if (result.getLabel().equals(CancelChoice.getLabel()))
       {
       	 //return an error status since the user canceled
-      	  return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+      	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
       }
       	
     }
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 83e77a6..88aa459 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
@@ -11,17 +11,17 @@
 
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions;
 
+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.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.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -36,29 +36,23 @@
 public class JavaMofTypeVisitorAction extends JavaMofBeanVisitorAction
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-  private MessageUtils msgUtils_;
-
   /*
   *Constructor
   **/
-  public JavaMofTypeVisitorAction(Element parentElement,String project, Environment env)
+  public JavaMofTypeVisitorAction(Element parentElement,String project, IEnvironment env)
   {
     super(parentElement,project, env);
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);    
   }
 
   /**
   * Create a type element from the JavaHelper
   * @param JavaHelper the mof element to be used to create the Type
   **/
-  public Status visit (Object typeNavigator)
+  public IStatus visit (Object typeNavigator)
   {
-  	 Status status = new SimpleStatus("");
-   	 Choice OKChoice = new Choice('O', msgUtils_.getMessage("LABEL_OK"), msgUtils_.getMessage("DESCRIPTION_OK"));
-  	 Choice CancelChoice = new Choice('C', msgUtils_.getMessage("LABEL_CANCEL"), msgUtils_.getMessage("DESCRIPTION_CANCEL"));  	 
+  	 IStatus status = Status.OK_STATUS;
+   	 Choice OKChoice = new Choice('O', ConsumptionMessages.LABEL_OK, ConsumptionMessages.DESCRIPTION_OK);
+  	 Choice CancelChoice = new Choice('C', ConsumptionMessages.LABEL_CANCEL, ConsumptionMessages.DESCRIPTION_CANCEL);  	 
 
      //if bean
 	 JavaClass javaClass = null;
@@ -72,20 +66,22 @@
      *  We need to first see if it is a special case for return types if not we treat it the same as everything
      *  else.
      */
-     if(getReturnParam() && TypeFactory.isRecognizedReturnType((JavaHelpers)typeNavigator)){
-       TypeElement typeElement = (TypeElement)BeanModelElementsFactory.getBeanModelElement(typeNavigator,fParentElement);
+     if(getReturnParam() && TypeFactory.isRecognizedReturnType((JavaHelpers)typeNavigator))
+     {
+       BeanModelElementsFactory.getBeanModelElement(typeNavigator,fParentElement);
      }	
      else{
 	    if(TypeFactory.isUnSupportedType((JavaHelpers)typeNavigator)){
-	      status = new SimpleStatus("", msgUtils_.getMessage("MSG_WARN_JTS_UNSUPPORTED_TYPE") + ((JavaHelpers)typeNavigator).getJavaName(), Status.WARNING );	    	
+	      status = StatusUtils.warningStatus( ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_TYPE + ((JavaHelpers)typeNavigator).getJavaName() );	    	
 	      //getStatusMonitor().reportStatus( new Status(IStatus.WARNING,WebServiceConsumptionPlugin.ID,0,
-              //WebServiceConsumptionPlugin.getMessage( "%MSG_WARN_JTS_UNSUPPORTED_TYPE" ) + ((JavaHelpers)typeNavigator).getJavaName(),null));
+              //ConsumptionMessages.MSG_WARN_JTS_UNSUPPORTED_TYPE + ((JavaHelpers)typeNavigator).getJavaName(),null));
 	      return status;
 	    }	
 	    
 	    //if javaclass is null then we have a simple type 
-	    if((javaClass == null) || TypeFactory.recognizedBean(javaClass.getJavaName())){
-	      TypeElement typeElement = (TypeElement)BeanModelElementsFactory.getBeanModelElement(typeNavigator,fParentElement);
+	    if((javaClass == null) || TypeFactory.recognizedBean(javaClass.getJavaName()))
+      {
+	      BeanModelElementsFactory.getBeanModelElement(typeNavigator,fParentElement);
 	    }
 	    else{
 	      JavaMofBeanVisitorAction beanVisitorAction = new JavaMofBeanVisitorAction(fParentElement,clientProject, env_);
@@ -108,7 +104,7 @@
        if (result.getLabel().equals(CancelChoice.getLabel()))
        {
        	 //return an error status since the user canceled
-       	  return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+       	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
        }
        	
      }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/VisitorActionImpl.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/VisitorActionImpl.java
index 12e00d3..35833fb 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/VisitorActionImpl.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/VisitorActionImpl.java
@@ -16,7 +16,7 @@
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.osgi.util.NLS;
 
 
 
@@ -29,16 +29,13 @@
 public abstract class VisitorActionImpl implements VisitorAction 
 {
 
-  private Visitor fVisitor = null;
   private Vector beansVisited = null;
   private Vector messages = null;
-  private MessageUtils msgUtils_;
 
   public VisitorActionImpl( Vector messages, Vector beansVisited)
   	{
   	 this.messages = messages;
   	 this.beansVisited = beansVisited;
-     msgUtils_ = new MessageUtils( "org.eclipse.jst.ws.consumption.plugin", this );
   	}
   
   public void initialize(String resident)
@@ -82,17 +79,16 @@
 
   public void setVisitor(Visitor visitor)
   {
-      fVisitor = visitor;
   }
 
   protected void addMessage ( String key )
   {
-    getMessages().add(msgUtils_.getMessage(key));
+    getMessages().add(key);
   }
 
   protected void addMessage ( String key, Object[] args )
   {
-    getMessages().add(msgUtils_.getMessage(key,args));
+    getMessages().add(NLS.bind(key,args));
   }
 
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofAttributeVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofAttributeVisitor.java
index 1f0ca5c..6d2d6a0 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofAttributeVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofAttributeVisitor.java
@@ -15,19 +15,19 @@
 import java.util.Hashtable;
 import java.util.Iterator;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jem.java.Field;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jem.java.JavaHelpers;
 import org.eclipse.jem.java.JavaParameter;
 import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.impl.FieldImpl;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
 import org.eclipse.jst.ws.internal.consumption.command.common.JavaMofReflectionCommand;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.common.SamplePropertyDescriptor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.IEnvironment;
 
 
 /**
@@ -42,10 +42,10 @@
 
   private String clientProject;
   private boolean returnParameter;
-  private Environment env;
+  private IEnvironment env;
   
   
-  public void setEnvironment(Environment env)
+  public void setEnvironment(IEnvironment env)
   {
   	this.env = env;
   }
@@ -77,9 +77,9 @@
   * @param JavaParameter javaParameter that owns the type
   * @param VisitorAction Action to be performed on each method
   **/
-  public Status run ( Object javaclass, VisitorAction vAction)
+  public IStatus run ( Object javaclass, VisitorAction vAction)
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
     JavaClass javaClass = (JavaClass)javaclass;     
 
     Hashtable spdMap = new Hashtable();  
@@ -112,10 +112,10 @@
         else 
           spd.setReadMethod(method);
 
-        FieldImpl field = (FieldImpl)javaClass.getFieldNamed(propertyName);
+        Field field = javaClass.getFieldNamed(propertyName);
         JavaHelpers propertyType = null; 
         if(field != null){
-          propertyType = field.getJavaType();
+          propertyType = (JavaHelpers)field.getEType();
           spd.setfStatic(field.isStatic());
         }
         else{
@@ -159,7 +159,8 @@
     JavaMofReflectionCommand javaMofRef = new JavaMofReflectionCommand();
     javaMofRef.setClientProject(getProject());
     javaMofRef.setProxyBean(((JavaHelpers)spd.getPropertyType()).getQualifiedName());
-    javaMofRef.execute(env);
+    javaMofRef.setEnvironment( env );
+    javaMofRef.execute(null, null);
     if(javaMofRef.getJavaClass() instanceof JavaClass){
        if(TypeFactory.recognizedBean(javaMofRef.getJavaClass().getJavaName())) return true;
        return defaultCheck((JavaClass)javaMofRef.getJavaClass());
@@ -181,8 +182,8 @@
   	JavaParameter javaParameter[] = writeMethod.listParametersWithoutReturn();
     for(int i = 0;i< javaParameter.length;i++){
       JavaParameter jp = javaParameter[i]; 	
-      String name1 = jp.getJavaType().getJavaName();
-      String name = readMethod.getReturnType().getJavaName();
+      jp.getJavaType().getJavaName();
+      readMethod.getReturnType().getJavaName();
       if(jp.getJavaType().getJavaName().equals(readMethod.getReturnType().getJavaName()))
         return true; 
     }
@@ -212,30 +213,5 @@
     
        return defaultConst;
   }
-  
-  private boolean polarityCheck(JavaClass javaClass){
-    
-       Iterator m=javaClass.getMethods().iterator();
-        //now check for a default constructor
-        boolean defaultConst = true;
-        while (m.hasNext()) {
-          Method method=(Method)m.next();
-          if (javaClass.getName().equals(method.getName())){
-                //now the inputs
-                JavaParameter javaParameter[] = method.listParametersWithoutReturn();
-                if (javaParameter.length > 0){
-                      //then we have no default constructor
-                      defaultConst = false; 
-                }
-                else if(javaParameter.length == 0){
-                     if (method.getJavaVisibility().getValue() == 0)
-                       return true;
-                }
-          }
-       }
-    
-       return defaultConst;
-  }
-        
-  
+          
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofBeanVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofBeanVisitor.java
index 1359603..2b571f8 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofBeanVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofBeanVisitor.java
@@ -11,10 +11,10 @@
 
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 
@@ -36,7 +36,7 @@
   {
   }
  
-  public Status run ( Object javaClass, VisitorAction vAction)
+  public IStatus run ( Object javaClass, VisitorAction vAction)
   {
     return vAction.visit((JavaClass)javaClass);   
   }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofFieldVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofFieldVisitor.java
index e5351e1..f693dfa 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofFieldVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofFieldVisitor.java
@@ -14,19 +14,19 @@
 import java.util.Iterator;
 import java.util.ListIterator;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.jem.java.Field;
 import org.eclipse.jem.java.JavaClass;
+import org.eclipse.jem.java.JavaHelpers;
 import org.eclipse.jem.java.JavaParameter;
 import org.eclipse.jem.java.JavaVisibilityKind;
 import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.impl.FieldImpl;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
 import org.eclipse.jst.ws.internal.consumption.command.common.JavaMofReflectionCommand;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -69,9 +69,9 @@
   * @param JavaParameter javaParameter that owns the type
   * @param VisitorAction Action to be performed on each method
   **/
-  public Status run ( Object javaclass, VisitorAction vAction)
+  public IStatus run ( Object javaclass, VisitorAction vAction)
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
     JavaClass javaClass = (JavaClass)javaclass;     
 
     boolean holderClass = false;
@@ -89,7 +89,7 @@
       while(list.hasNext()){
         Field field = (Field)list.next();     
         if(field.getJavaVisibility().getValue() == JavaVisibilityKind.PUBLIC && !field.isFinal() && !field.isStatic()){
-          if(fieldCheck((FieldImpl)field))
+          if(fieldCheck(field))
             status = vAction.visit(field);
         }
       }
@@ -97,13 +97,13 @@
     
     return status;
   }       
-  private boolean fieldCheck(FieldImpl field)
+  private boolean fieldCheck(Field field)
   {
     // so its a bean make sure it has a default constructor 
     JavaMofReflectionCommand javaMofRef = new JavaMofReflectionCommand();
-    javaMofRef.setProxyBean(field.getJavaType().getQualifiedName());
+    javaMofRef.setProxyBean(((JavaHelpers)field.getEType()).getQualifiedName());
     javaMofRef.setClientProject(getProject());
-    javaMofRef.execute(null);
+    javaMofRef.execute(null, null);
     if(javaMofRef.getJavaClass() instanceof JavaClass){
       if(TypeFactory.recognizedBean(javaMofRef.getJavaClass().getJavaName())) return true;
       return defaultCheck((JavaClass)javaMofRef.getJavaClass());
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofMethodVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofMethodVisitor.java
index b2917ab..3e37c71 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofMethodVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofMethodVisitor.java
@@ -12,14 +12,13 @@
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors;
 
 import java.util.Iterator;
-
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jem.java.Method;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
 
 
 /**
@@ -49,9 +48,9 @@
   * @param JavaClass javaclass that holds the methods
   * @param VisitorAction Action to be performed on each method
   **/
-  public Status run ( Object javaclass, VisitorAction vAction)
+  public IStatus run ( Object javaclass, VisitorAction vAction)
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
     JavaClass javaClass = (JavaClass)javaclass;
     for (Iterator m=javaClass.getPublicMethods().iterator(); m.hasNext(); ) {
       Method method=(Method)m.next();
@@ -61,8 +60,10 @@
           if(fMethodsSelected[i] == null) continue;
           if ( fMethodsSelected[i].getValue().equals(method.getMethodElementSignature()))
             methodSelected = (boolean) fMethodsSelected[i].isSelected();
-        }		        	
-        String methodName = method.getName();
+        }
+        
+        method.getName();
+        
         if(methodSelected)
           status = vAction.visit(method);  
         
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofParameterVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofParameterVisitor.java
index ac910d0..f297c3d 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofParameterVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofParameterVisitor.java
@@ -13,16 +13,17 @@
 
 import java.util.List;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaHelpers;
 import org.eclipse.jem.java.JavaParameter;
 import org.eclipse.jem.java.Method;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IEnvironment;
 
 
 /**
@@ -30,19 +31,13 @@
 * */
 public class JavaMofParameterVisitor implements Visitor 
 {
-
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-  private MessageUtils msgUtils_;
-  private Environment env_;
+  private IEnvironment env_;
 
   /*
   * Constructor
   **/
-  public JavaMofParameterVisitor(Environment env)
+  public JavaMofParameterVisitor(IEnvironment env)
   {
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);  	
   	env_ = env;
   }
   
@@ -51,11 +46,11 @@
   * @param JavaClass javaclass that holds the parameters
   * @param VisitorAction Action to be performed on each method
   **/
-  public Status run ( Object imethod, VisitorAction vAction)
+  public IStatus run ( Object imethod, VisitorAction vAction)
   {
-  	Status status = new SimpleStatus("");
-  	Choice OKChoice = new Choice('O', msgUtils_.getMessage("LABEL_OK"), msgUtils_.getMessage("DESCRIPTION_OK"));
-  	Choice CancelChoice = new Choice('C', msgUtils_.getMessage("LABEL_CANCEL"), msgUtils_.getMessage("DESCRIPTION_CANCEL"));  	
+  	IStatus status = Status.OK_STATUS;
+  	Choice OKChoice = new Choice('O', ConsumptionMessages.LABEL_OK, ConsumptionMessages.DESCRIPTION_OK);
+  	Choice CancelChoice = new Choice('C', ConsumptionMessages.LABEL_CANCEL, ConsumptionMessages.DESCRIPTION_CANCEL);  	
     Method method = (Method)imethod;
    
     JavaHelpers javaReturnParameter = method.getReturnType();
@@ -73,7 +68,7 @@
       if (result.getLabel().equals(CancelChoice.getLabel()))
       {
       	 //return an error status since the user canceled
-      	  return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+      	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
       }
       	
     }
@@ -97,7 +92,7 @@
         if (result.getLabel().equals(CancelChoice.getLabel()))
         {
         	 //return an error status since the user canceled
-        	  return new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+        	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
         }
         	
       }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofTypeVisitor.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofTypeVisitor.java
index 4d4ff28..db1f255 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofTypeVisitor.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitors/JavaMofTypeVisitor.java
@@ -10,17 +10,16 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.Field;
 import org.eclipse.jem.java.JavaHelpers;
 import org.eclipse.jem.java.JavaParameter;
-import org.eclipse.jem.java.impl.FieldImpl;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
 import org.eclipse.jst.ws.internal.consumption.command.common.JavaMofReflectionCommand;
 import org.eclipse.jst.ws.internal.consumption.sampleapp.common.SamplePropertyDescriptor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.IEnvironment;
 
 
 
@@ -33,14 +32,14 @@
   // Copyright
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
-  private Environment env_;
+  private IEnvironment env_;
 
   private String clientProject;
 
   /*
   * Constructor
   **/
-  public JavaMofTypeVisitor(Environment env)
+  public JavaMofTypeVisitor(IEnvironment env)
   {
   	env_ = env;
   }
@@ -66,9 +65,9 @@
   * @param JavaParameter javaParameter that owns the type
   * @param VisitorAction Action to be performed on each method
   **/
-  public Status run ( Object typeNavigator, VisitorAction vAction)
+  public IStatus run ( Object typeNavigator, VisitorAction vAction)
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
     if (typeNavigator instanceof JavaParameter){
 
       JavaParameter javaParameter = (JavaParameter)typeNavigator;
@@ -83,19 +82,21 @@
       JavaMofReflectionCommand javaMofRef = new JavaMofReflectionCommand();
       javaMofRef.setClientProject(clientProject);
       javaMofRef.setProxyBean(((JavaHelpers)pd.getPropertyType()).getQualifiedName());
-      status = javaMofRef.execute(env_);
+      javaMofRef.setEnvironment( env_ );
+      status = javaMofRef.execute( null, null );
       if (status.getSeverity()==Status.ERROR)
       	return status;
       
       status = vAction.visit(javaMofRef.getJavaClass());
     }
     else if (typeNavigator instanceof Field){
-      FieldImpl field = (FieldImpl)typeNavigator;
+      Field field = (Field)typeNavigator;
       JavaMofReflectionCommand javaMofRef = new JavaMofReflectionCommand();
       javaMofRef.setClientProject(clientProject);
-      javaMofRef.setProxyBean(field.getJavaType().getQualifiedName());
+      javaMofRef.setProxyBean(((JavaHelpers)field.getEType()).getQualifiedName());
+      javaMofRef.setEnvironment( env_ );
      
-      status = javaMofRef.execute(env_);
+      status = javaMofRef.execute( null, null );
       if (status.getSeverity()==Status.ERROR)
       	return status;
       
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AbstractStartServer.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AbstractStartServer.java
index ad15880..2cd7ffc 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AbstractStartServer.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AbstractStartServer.java
@@ -17,23 +17,20 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
 import org.eclipse.wst.server.core.IServer;
 
 public abstract class AbstractStartServer {
  
-private IProject project = null;
 protected IProgressMonitor monitor;
-private Log log_;
-private MessageUtils msgUtils_;
+private ILog log_;
 
 public AbstractStartServer()
 {
-	log_ = new EclipseLog();
-    msgUtils_ = new MessageUtils( "org.eclipse.jst.ws.consumption.plugin", this );
+	log_ = EnvironmentService.getEclipseLog();
 }
 
 /**
@@ -41,7 +38,6 @@
  */
 public void StartServer (IProject project, IServer server, IProgressMonitor monitor, boolean restart) throws CoreException
 {
-	this.project = project;
 	this.monitor = monitor;
 
    try
@@ -57,7 +53,7 @@
       {    
       	
         server.synchronousStop(false);
-        log_.log(Log.INFO, 5050, this, "StartServer", "project="+project+", Stop command completed, restart needed");
+        log_.log(ILog.INFO, 5050, this, "StartServer", "project="+project+", Stop command completed, restart needed");
         publishProject(server);
     	startProject(server);
       }
@@ -82,30 +78,30 @@
   	throw ce;
   	}
   catch (Exception e) {
-    throw new CoreException(new Status(IStatus.ERROR,WebServiceConsumptionPlugin.ID,0,msgUtils_.getMessage("MSG_ERROR_SERVER"),e));
+    throw new CoreException(new Status(IStatus.ERROR,WebServiceConsumptionPlugin.ID,0,ConsumptionMessages.MSG_ERROR_SERVER,e));
   }
 }
 
 protected void publishProject(IServer server) throws CoreException
 {
-      monitor.subTask( msgUtils_.getMessage( "PROGRESS_INFO_PUBLISHING_SERVER" ) );
+      monitor.subTask( ConsumptionMessages.PROGRESS_INFO_PUBLISHING_SERVER );
       IStatus status = server.publish(IServer.PUBLISH_INCREMENTAL, monitor);
       if (status.getSeverity() != IStatus.OK)
       	throw new CoreException(status);
-      log_.log(Log.INFO, 5051, this, "publishProject", "IServer="+server+", Publish command completed");
+      log_.log(ILog.INFO, 5051, this, "publishProject", "IServer="+server+", Publish command completed");
  }
 
 protected void startProject(IServer server) throws CoreException
 {
   try
   {
-    monitor.subTask( msgUtils_.getMessage( "PROGRESS_INFO_STARTING_SERVER" ) );    
+    monitor.subTask( ConsumptionMessages.PROGRESS_INFO_STARTING_SERVER );    
     server.synchronousStart(ILaunchManager.RUN_MODE, monitor);
-    log_.log(Log.INFO, 5052, this, "startProject", "IServer="+server+", Start command completed");
+    log_.log(ILog.INFO, 5052, this, "startProject", "IServer="+server+", Start command completed");
     
   }
   catch (Exception e) {
-    throw new CoreException(new Status(IStatus.ERROR,WebServiceConsumptionPlugin.ID,0,msgUtils_.getMessage("MSG_ERROR_SERVER"),e));
+    throw new CoreException(new Status(IStatus.ERROR,WebServiceConsumptionPlugin.ID,0,ConsumptionMessages.MSG_ERROR_SERVER,e));
   }  
 }
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AddModuleToServerCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AddModuleToServerCommand.java
index 82dfb5a..d25b4ec 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AddModuleToServerCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AddModuleToServerCommand.java
@@ -1,47 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.server.core.ServerUtil;
 
-public class AddModuleToServerCommand extends SimpleCommand
+public class AddModuleToServerCommand extends AbstractDataModelOperation
 {
-	  private java.lang.String DESCRIPTION = "(Re)Start and publish the server";
-	  private java.lang.String LABEL = "StartServerCommand";
-	  private MessageUtils msgUtils_;
-	  
+  
   private String serverInstanceId;
-	private String project;
-	private String module;
+  private String project;
+  private String module;
 	
 	public AddModuleToServerCommand()
 	{
-	  String pluginId = "org.eclipse.jst.ws.consumption";
-	  msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	  setDescription(DESCRIPTION);
-	  setName(LABEL);		
 	}
 	
-	public Status execute(Environment env)
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
 	{
-	    Status status = new SimpleStatus("");	    
+      IEnvironment env = getEnvironment();
+      
+	    IStatus status = Status.OK_STATUS;	    
 	    
 	    IServer server = ServerCore.findServer(serverInstanceId);
 	    if (server == null)
 	    {
-	      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_INSTANCE_NOT_FOUND"), Status.ERROR);
+	      status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_INSTANCE_NOT_FOUND );
 	      env.getStatusHandler().reportError(status);
 	      return status;
 	    }
@@ -52,9 +62,9 @@
 	    {
 	    //Ensure the module is not a Java utility
 	    IProject iproject = ProjectUtilities.getProject(project);
-	    if (!J2EEUtils.isJavaComponent(iproject, module))
+	    if (!J2EEUtils.isJavaComponent(iproject))
 	    {      
-	      IModule imodule = ServerUtils.getModule(iproject, module);
+	      IModule imodule = ServerUtils.getModule(iproject);
 	      if (!ServerUtil.containsModule(server, imodule, null))
 	      {
 	        IModule[] imodules = new IModule[]{imodule};
@@ -65,7 +75,7 @@
 	    }
 	    } catch (CoreException e)
 	    {
-	      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_ADD_MODULE", new String[]{module}), Status.ERROR);
+	      status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_ADD_MODULE, new String[]{module}) );
 	      env.getStatusHandler().reportError(status);
 	      return status;      
 	    } finally
@@ -78,7 +88,7 @@
 	        }
 	      } catch (CoreException ce)
 	      {
-	        status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_ADD_MODULE", new String[] { module }), Status.ERROR);
+	        status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_ADD_MODULE, new String[] { module }) );
 	        env.getStatusHandler().reportError(status);
 	        return status;
 	      }      
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AssociateModuleWithEARCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AssociateModuleWithEARCommand.java
index 2b673f2..82ab8a3 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AssociateModuleWithEARCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/AssociateModuleWithEARCommand.java
@@ -1,31 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
-public class AssociateModuleWithEARCommand extends SimpleCommand
+public class AssociateModuleWithEARCommand extends AbstractDataModelOperation
 {
 	private String project_;
 	private String module_;
 	private String earProject_;
 	private String ear_;
 	
-	private MessageUtils msgUtils_;
-  
+
   public AssociateModuleWithEARCommand(){
-	    msgUtils_ = new MessageUtils(WebServiceConsumptionPlugin.ID + ".plugin", this);
+
   }
   
-	public Status execute(Environment env)
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
 	{
-		Status status = new SimpleStatus("");
+    IEnvironment env = getEnvironment();
+    
+		IStatus status = Status.OK_STATUS;
 		IProject moduleProject = null;
 		IProject earProject = null;
 
@@ -37,13 +52,13 @@
 		
 		// associate modules if not already associated
 		if (moduleProject!=null && earProject!=null) {
-			if (!J2EEUtils.isComponentAssociated(earProject, ear_, moduleProject, module_))
-				J2EEUtils.associateComponentToEAR(moduleProject, module_, earProject, ear_);
+			if (!J2EEUtils.isComponentAssociated(earProject, moduleProject))
+				J2EEUtils.associateComponentToEAR(moduleProject, earProject);
 		}
 		
 		// ensure modules are associated otherwise report error
-		if (!J2EEUtils.isComponentAssociated(earProject, ear_, moduleProject, module_)){
-			status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_UNABLE_TO_ASSOCIATE", new String[]{module_, ear_}), Status.ERROR);
+		if (!J2EEUtils.isComponentAssociated(earProject, moduleProject)){
+			status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_UNABLE_TO_ASSOCIATE, new String[]{module_, ear_}) );
 			if (env!=null)
 				env.getStatusHandler().reportError(status);
 		    return status; 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/BuildProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/BuildProjectCommand.java
index 048f79b..90c6ff9 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/BuildProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/BuildProjectCommand.java
@@ -14,18 +14,18 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.datamodel.validate.ValidationManager;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class BuildProjectCommand extends SimpleCommand 
+public class BuildProjectCommand extends AbstractDataModelOperation 
 {
   private ValidationManager validationManager;
   private IProject project_;
@@ -37,14 +37,12 @@
    */
   public BuildProjectCommand()
   {
-    super( WebServiceConsumptionPlugin.getMessage("%TASK_LABEL_WEBSERVICE_BUILD_PROJECT"),
-           WebServiceConsumptionPlugin.getMessage("%TASK_DESC_WEBSERVICE_BUILD_PROJECT") );
   }
 
   /**
    * Execute the command
    */
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
     try
     {
@@ -72,7 +70,7 @@
       // continue execution
     }
     
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   /**
    * @param forceBuild The forceBuild to set.
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CheckProjectOKCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CheckProjectOKCommand.java
index fbf408f..c5274a5 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CheckProjectOKCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CheckProjectOKCommand.java
@@ -11,31 +11,32 @@
 
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
 
-public class CheckProjectOKCommand extends SimpleCommand {
+public class CheckProjectOKCommand extends AbstractDataModelOperation 
+{
 
   private String serviceServerTypeId_;
 
-  private MessageUtils msgUtils_;
 
   /**
    * Default CTOR
    */
   public CheckProjectOKCommand() {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-
   }
 
-  public Status execute(Environment env) {
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  { 
+    IStatus status = Status.OK_STATUS;
     
     String typeid = serviceServerTypeId_;
     IServer[] servers = ServerCore.getServers();
@@ -57,8 +58,8 @@
     }
 
     if (viewOpen) {
-      String errorMessage = msgUtils_.getMessage("MSG_ERROR_SERVER_VIEW_OPEN", new String[] { serverName});
-      return new SimpleStatus("", errorMessage, Status.ERROR, null);
+      String errorMessage = NLS.bind(ConsumptionMessages.MSG_ERROR_SERVER_VIEW_OPEN, new String[] { serverName});
+      return StatusUtils.errorStatus( errorMessage );
       
     }
     
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ClientServerDeployableConfigCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ClientServerDeployableConfigCommand.java
deleted file mode 100644
index 7a948eb..0000000
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ClientServerDeployableConfigCommand.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.command.common;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-
-public class ClientServerDeployableConfigCommand extends SimpleCommand {
-
-  private String LABEL = "ClientServerDeployableConfigCommand";
-  private String DESCRIPTION = "Ensure Deployable is added to Server Configuration for client projects";
-  private MessageUtils msgUtils_;
-  private Boolean creationScenario_ = Boolean.TRUE;
-  private TypeRuntimeServer clientIds_;
-  private IProject sampleProject_;
-  private String serviceServerTypeID_;
-  private String sampleServerTypeID_;
-  private IServer serviceExistingServer_;
-  private IServer sampleExistingServer_;
-  private String serviceProjectURL_;
-  private String sampleProjectURL_;
-
-  //addedProjectToServer_ is set to true if
-  //- the project exists AND
-  //- the server exists (i.e. this command did not create it) AND
-  //- this command added the project to the server
-  private boolean addedProjectToServer_ = false;  
-  /**
-   * Default CTOR
-   */
-  public ClientServerDeployableConfigCommand() {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    setDescription(DESCRIPTION);
-    setName(LABEL);
-  }
-
-  /**
-   * Default CTOR
-   */
-  public ClientServerDeployableConfigCommand(boolean creationScenario) {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    setDescription(DESCRIPTION);
-    setName(LABEL);
-    creationScenario_ = new Boolean(creationScenario);
-  }
-
-  /**
-   * execute
-   */
-  public Status execute(Environment env) {
-
-    Status status = new SimpleStatus("");
-    try {
-
-      // determine client or service project
-      IProject project =  sampleProject_;
-      if (project == null)
-        return status;
-
-      // get sample server factory Id and instanceId
-      String serverFactoryId = clientIds_.getServerId();
-      String existingServerInstId = clientIds_.getServerInstanceId();
-      IServer server = null;
-      if (existingServerInstId ==null) {
-      	server= sampleExistingServer_;
-      }
-      else {
-      // get an IServer object; either existing or create one
-       server = ServerCore.findServer(existingServerInstId);
-      }
-   
-      if (server != null) {
-      	// find exact server for given project
-        IServer[] servers = ServerUtil.getServersByModule(ResourceUtils.getModule(project), null);
-        boolean foundServer = false;
-        for (int i = 0; i < servers.length; i++) {
-          if (servers[i].equals(server))
-            foundServer = true;
-        }
-        if (!foundServer) {
-        	Status modStatus = ServerUtils.getInstance().modifyModules(env ,server, ResourceUtils.getModule(project), true, EnvironmentUtils.getIProgressMonitor(env));
-        	if (modStatus.getSeverity()==Status.ERROR)
-        		return modStatus;
-        	
-            addedProjectToServer_ = true;
-        }
-      }
-      else {
-        if (ResourceUtils.isTrueJavaProject(project))
-        {
-          //Don't attempt to add a Java project to a server, therefore passing in null for the module.
-          server = ServerUtils.getInstance().createServer(env, null, serverFactoryId, EnvironmentUtils.getIProgressMonitor(env));
-        }
-        else
-        {
-          server = ServerUtils.getInstance().createServer(env, ResourceUtils.getModule(project), serverFactoryId, EnvironmentUtils.getIProgressMonitor(env));
-        }
-        if (server == null) {
-          status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_CREATE_SERVER"), Status.ERROR);
-          env.getStatusHandler().reportError(status);
-          return status;
-        }
-        
-        IModule[] parentModules = server.getRootModules(ResourceUtils.getModule(project),null);
-        if (parentModules!=null && parentModules.length!=0) {
-          if (!ServerUtil.containsModule(server, ResourceUtils.getModule(project), null)) {
-            Status mmStatus = ServerUtils.getInstance().modifyModules(env, server, ResourceUtils.getModule(project), true, EnvironmentUtils.getIProgressMonitor(env));
-            if (mmStatus.getSeverity()==Status.ERROR)
-              return mmStatus;
-          }
-        }        
-
-      }
-      
-      //
-      String projectURL = ResourceUtils.getWebProjectURL(project, serverFactoryId, server);
-      if (creationScenario_.booleanValue()) {
-        serviceExistingServer_ = server;
-        serviceProjectURL_ = projectURL;
-      }
-      else {
-        sampleExistingServer_ = server;
-        sampleProjectURL_ = projectURL;
-      }
-
-      return status;
-    }
-    catch (Exception e) {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_SERVER_CONFIG"), Status.ERROR, e);
-      env.getStatusHandler().reportError(status);
-      return status;
-    }
-  }
-
-
-  public void setSampleProject(IProject sampleProject) {
-    sampleProject_ = sampleProject;
-  }
-
-  public void setServiceServerTypeID(String serviceServerTypeID) {
-    serviceServerTypeID_ = serviceServerTypeID;
-  }
-
-  public void setSampleServerTypeID(String sampleServerTypeID) {
-    sampleServerTypeID_ = sampleServerTypeID;
-  }
-
-  public void setServiceExistingServer(IServer serviceExistingServer) {
-    serviceExistingServer_ = serviceExistingServer;
-  }
-
-  public IServer getServiceExistingServer() {
-    return serviceExistingServer_;
-  }
-
-  public String getServiceExistingServerInstId() {
-	String id = null;
-	IServerWorkingCopy wc = null;
-	if (serviceExistingServer_!=null){
-	  wc = serviceExistingServer_.createWorkingCopy();
-	  id = (wc!=null ? wc.getId() : null);
-	}
-	return id;
-  }
-
-  public void setSampleExistingServer(IServer sampleExistingServer) {
-    sampleExistingServer_ = sampleExistingServer;
-  }
-
-  public IServer getSampleExistingServer() {
-    return sampleExistingServer_;
-  }
-
-  public String getSampleExistingServerInstId() {
-	String id = null;
-	IServerWorkingCopy wc = null;
-	if (sampleExistingServer_!=null){
-	  wc = sampleExistingServer_.createWorkingCopy();
-	  id = (wc!=null ? wc.getId() : null);
-	}
-	return id;
-  }
-  
-  public String getServiceProjectURL() {
-    return serviceProjectURL_;
-  }
-
-  public String getSampleProjectURL() {
-    return sampleProjectURL_;
-  }
-  
-  public void setClientTypeRuntimeServer(TypeRuntimeServer trs){
-  	this.clientIds_ = trs;
-  }
-
-  /**
-   * @return Returns the addedProjectToServer_.
-  */
-  public boolean getAddedProjectToServer() {
-    return addedProjectToServer_;
-  }  
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ComputeEndpointCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ComputeEndpointCommand.java
index 323af44..329a3e5 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ComputeEndpointCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ComputeEndpointCommand.java
@@ -13,17 +13,20 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Iterator;
-
 import javax.wsdl.Definition;
 import javax.wsdl.Port;
 import javax.wsdl.Service;
 import javax.wsdl.extensions.ExtensibilityElement;
 import javax.wsdl.extensions.soap.SOAPAddress;
-
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
-public class ComputeEndpointCommand extends SimpleCommand
+public class ComputeEndpointCommand extends AbstractDataModelOperation
 {
   private WebServicesParser webServicesParser;
   private String wsdlURI;
@@ -32,7 +35,6 @@
 
   public ComputeEndpointCommand()
   {
-    super("org.eclipse.jst.ws.internal.consumption.command.common.ComputeEndpointCommand", "org.eclipse.jst.ws.internal.consumption.command.common.ComputeEndpointCommand");
   }
 
   /**
@@ -127,4 +129,9 @@
     }
     return null;
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLCommand.java
index d1e3ea0..c50a2a4 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLCommand.java
@@ -13,6 +13,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Iterator;
@@ -36,13 +37,18 @@
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIException;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.uri.URIException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
 import org.eclipse.wst.ws.internal.parser.discovery.NetUtils;
 import org.eclipse.wst.ws.internal.parser.wsil.WWWAuthenticationException;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
@@ -54,7 +60,7 @@
 import org.eclipse.xsd.util.XSDParser;
 import org.w3c.dom.Element;
 
-public class CopyWSDLCommand extends SimpleCommand
+public class CopyWSDLCommand extends AbstractDataModelOperation
 {
   private String wsdlURI;
   private WebServicesParser webServicesParser;
@@ -64,32 +70,33 @@
 
   public CopyWSDLCommand()
   {
-    super(WebServiceConsumptionPlugin.getMessage("COMMAND_LABEL_COPY_WSDL"), WebServiceConsumptionPlugin.getMessage("COMMAND_DESC_COPY_WSDL"));
   }
 
   /**
    * Execute the command
    */
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
+    
     try
     {
       ignoreList = new Vector();
       if (def == null)
         def = webServicesParser.getWSDLDefinition(wsdlURI);
       copyWSDL(env, wsdlURI, getBaseURI(destinationURI), getLocalname(destinationURI), def);
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
     }
     catch (Throwable t)
     {
       t.printStackTrace();
-      Status status = new SimpleStatus(WebServiceConsumptionPlugin.ID, WebServiceConsumptionPlugin.getMessage("MSG_ERROR_COPY_WSDL", new String[]{wsdlURI, destinationURI}), Status.ERROR, t);
+      IStatus status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_COPY_WSDL, new String[]{wsdlURI, destinationURI}), t);
       env.getStatusHandler().reportError(status);
       return status;
     }
   }
 
-  private void copyWSDL(Environment env, String uri, String destURI, String destLocalname) throws WSDLException, IOException, WWWAuthenticationException, TransformerException, TransformerConfigurationException, URIException, URISyntaxException
+  private void copyWSDL(IEnvironment env, String uri, String destURI, String destLocalname) throws WSDLException, IOException, WWWAuthenticationException, TransformerException, TransformerConfigurationException, URIException
   {
   	Definition definition;
 	
@@ -101,14 +108,11 @@
 	}
   }
 
-  private void copyWSDL(Environment env, String uri, String destURI, String destLocalname, Definition definition) throws WSDLException, IOException, WWWAuthenticationException, TransformerException, TransformerConfigurationException, URIException, URISyntaxException
+  private void copyWSDL(IEnvironment env, String uri, String destURI, String destLocalname, Definition definition) throws WSDLException, IOException, WWWAuthenticationException, TransformerException, TransformerConfigurationException, URIException
   {
-	URI normalizedURI = new URI(uri);
-	uri = normalizedURI.normalize().toString();
-	  	
-    if (ignoreList.contains(uri))
-      return;
-    ignoreList.add(uri);
+	if (!needToCopy(uri)) {
+	   	return;
+	}
     
     String baseURI = getBaseURI(uri);
     if (destLocalname == null || destLocalname.length() <= 0)
@@ -222,14 +226,12 @@
     return (uri.indexOf(':') == -1);
   }
 
-  private void copyXMLSchema(Environment env, String uri, String destURI) throws TransformerException, TransformerConfigurationException, IOException, URIException, URISyntaxException
+  private void copyXMLSchema(IEnvironment env, String uri, String destURI) throws TransformerException, TransformerConfigurationException, IOException, URIException
   {
-	URI normalizedURI = new URI(uri);
-	uri = normalizedURI.normalize().toString();
+	  if (!needToCopy(uri)) {
+	    	return;
+	    }
 	
-    if (ignoreList.contains(uri))
-      return;
-    ignoreList.add(uri);
     // load as a cached schema
     XSDSchema xsdSchema = XSDSchemaImpl.getSchemaForSchema(uri);
     // if schema is not cached, parse it
@@ -260,7 +262,7 @@
     }
   }
 
-  private void copyXMLSchema(Environment env, XSDSchema xsdSchema, String baseURI, String destURI) throws TransformerException, TransformerConfigurationException, IOException, URIException, URISyntaxException
+  private void copyXMLSchema(IEnvironment env, XSDSchema xsdSchema, String baseURI, String destURI) throws TransformerException, TransformerConfigurationException, IOException, URIException
   {
     if (xsdSchema != null)
     {
@@ -287,6 +289,28 @@
     }
   }
 
+  private boolean needToCopy (String uri) {
+	  String normalizedURI = normalize(uri);	
+	  if (ignoreList.contains(normalizedURI))
+		  return false;
+	  ignoreList.add(normalizedURI);
+	  return true;
+  }
+  
+  private String normalize(String uri )
+  {
+	  try {
+		  String encodedURI = URIEncoder.encode(uri,"UTF-8");
+		  URI normalizedURI = new URI(encodedURI);
+		  normalizedURI = normalizedURI.normalize();
+		  return normalizedURI.toString();
+	  } catch (URISyntaxException e) {
+		  return uri;
+	  } catch (UnsupportedEncodingException e) {
+		  return uri;
+	  }
+  }
+	  
   public void setWsdlURI(String wsdlURI)
   {
     this.wsdlURI = wsdlURI;
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateEARProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateEARProjectCommand.java
index 610d8ef..1d10ea9 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateEARProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateEARProjectCommand.java
@@ -14,22 +14,25 @@
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.j2ee.datamodel.properties.IEarComponentCreationDataModelProperties;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.earcreation.EarComponentCreationDataModelProvider;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
 
 
-public class CreateEARProjectCommand extends SimpleCommand
+public class CreateEARProjectCommand extends AbstractDataModelOperation
 {
   private String earProjectName_;
   private String serverFactoryId_;
@@ -40,13 +43,11 @@
    */
   public CreateEARProjectCommand()
   {
-    super("org.eclipse.jst.ws.internal.consumption.command.common.CreateEARProjectCommand", "org.eclipse.jst.ws.internal.consumption.command.common.CreateEARProjectCommand");
-    //setRunInWorkspaceModifyOperation(false);
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-	MessageUtils msgUtils_ = new MessageUtils( "org.eclipse.jst.ws.consumption.plugin", this );
+    IEnvironment  env       = getEnvironment();
 	
     try
     {
@@ -57,16 +58,13 @@
         info.setProperty(IEarComponentCreationDataModelProperties.PROJECT_NAME, project.getName());
         
         //Set the J2EE version
-        String finalJ2EEVersion = null;
         if (j2eeVersion_ != null && j2eeVersion_.length()>0)
         {
           info.setProperty(IEarComponentCreationDataModelProperties.COMPONENT_VERSION, new Integer(j2eeVersion_));
-          finalJ2EEVersion = j2eeVersion_;
         }
         else
         {
           info.setProperty(IEarComponentCreationDataModelProperties.COMPONENT_VERSION, new Integer(J2EEVersionConstants.J2EE_1_3_ID));
-          finalJ2EEVersion = String.valueOf(J2EEVersionConstants.J2EE_1_3_ID);
         }
         
         //Set the server target
@@ -85,11 +83,11 @@
     }
     catch (ExecutionException ite)
     {
-      Status status = new SimpleStatus(WebServiceConsumptionPlugin.ID, msgUtils_.getMessage("MSG_ERROR_CANNOT_CREATE_EAR_PROJECT", new String[] {earProjectName_}), Status.ERROR, ite);
+      IStatus status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_CANNOT_CREATE_EAR_PROJECT, new String[] {earProjectName_}), ite);
       env.getStatusHandler().reportError(status);
       return status;
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   /**
    * @param earProjectName_ The earProjectName_ to set.
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateFacetedProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateFacetedProjectCommand.java
new file mode 100644
index 0000000..ddec492
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateFacetedProjectCommand.java
@@ -0,0 +1,254 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.command.common;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.server.core.FacetUtil;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.jst.ws.internal.consumption.common.FacetMatcher;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
+import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.VersionFormatException;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.ServerCore;
+
+public class CreateFacetedProjectCommand extends AbstractDataModelOperation
+{
+
+  private String   projectName;
+  private String   templateId;
+  private RequiredFacetVersion[]   requiredFacetVersions;
+  //private FacetMatcher facetMatcher;
+  private String   serverFactoryId;
+  private String   serverInstanceId;
+  
+  private org.eclipse.wst.common.project.facet.core.runtime.IRuntime facetRuntime;
+  
+  private IProgressMonitor monitor_;
+  
+  
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info)
+  {
+    monitor_ = monitor;
+    IStatus status = Status.OK_STATUS;
+    
+    // check if data ready
+    status = checkDataReady();
+    if (status.getSeverity()==Status.ERROR)
+    {
+      return status;
+    }
+
+    IProject project = ProjectUtilities.getProject(projectName);
+    if (!project.exists())
+    {
+      try
+      {
+        IFacetedProject fproject = ProjectFacetsManager.create(projectName, null, monitor_);
+        
+        //Decide which facets to install based on the templateId and the selected server. 
+        Set facetsToAdd = getFacetsToAdd();
+        
+        //Set up the install actions.
+        Set actions = FacetUtils.getInstallActions(facetsToAdd);
+        fproject.modify(actions, monitor_);
+        
+        Set newFacetVersions = fproject.getProjectFacets();
+        Set fixedFacets = new HashSet();
+        for (Iterator iter = newFacetVersions.iterator(); iter.hasNext();) {
+            IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
+            fixedFacets.add(facetVersion.getProjectFacet());
+        }
+        fproject.setFixedProjectFacets(fixedFacets);
+        
+        
+        //Set the runtime        
+        if (facetRuntime != null)
+        {
+          fproject.setRuntime(facetRuntime, monitor);
+        }
+
+ 
+      } catch (CoreException ce)
+      {
+        return StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_PROJECT_CREATION, new String[] { projectName }));
+      }
+    }
+    return status;
+  }
+    
+  private IStatus checkDataReady()
+  {
+
+    if (projectName == null || serverFactoryId == null)
+    {
+      return StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_PROJECT_CREATION, new String[] {projectName}));
+    }
+
+    return Status.OK_STATUS;
+  }
+  
+  /*
+   * @return Set Returns the Set of facets to add to the new project, 
+   * choosing the highest level of each facet that works on the selected server.
+   */
+  private Set getFacetsToAdd()
+  {
+    Set facets = new HashSet();
+    
+    //Set the facet runtime.
+    setFacetRuntime();
+    if (facetRuntime != null)
+    {
+      IFacetedProjectTemplate template = ProjectFacetsManager.getTemplate(templateId);
+      Set templateFacets = template.getFixedProjectFacets();
+      Iterator templateFacetsItr = templateFacets.iterator();
+      while (templateFacetsItr.hasNext())
+      {
+        IProjectFacet fixedFacet = (IProjectFacet)templateFacetsItr.next();
+        List versions = null;
+        //IProjectFacetVersion[] versions = FacetUtils.getOrderedVersions(fixedFacet);
+        try {
+			versions = fixedFacet.getSortedVersions(false);
+		} catch (VersionFormatException e) {
+			Set versionSet = fixedFacet.getVersions();
+			Iterator itr = versionSet.iterator();
+			versions = new ArrayList();
+			while (itr.hasNext())
+			{
+				versions.add(itr.next());
+			}            
+		} catch (CoreException e) {
+			Set versionSet = fixedFacet.getVersions();
+			Iterator itr = versionSet.iterator();
+			versions = new ArrayList();
+			while (itr.hasNext())
+			{
+				versions.add(itr.next());
+			}            
+		} 
+        Iterator versionsItr = versions.iterator();
+        while(versionsItr.hasNext())
+        //for (int i=0; i<versions.length; i++)
+        {
+          IProjectFacetVersion pfv = (IProjectFacetVersion)versionsItr.next();
+          Set pfvs = new HashSet();
+          pfvs.add(pfv);
+          
+          //Check against RequiredFacetVersions
+          FacetMatcher fm = FacetUtils.match(requiredFacetVersions, pfvs);
+          if (fm.isMatch())
+          {
+            //Check against Runtime
+            if (FacetUtils.doesRuntimeSupportFacets(facetRuntime, pfvs))
+            {
+              //We have a match. Add this one to the master set.
+              facets.add(pfv);
+              break;
+            }
+          }          
+        }
+      }
+    }
+    else
+    {
+      facets = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+    }
+ 
+    
+    return facets;
+  }
+
+  private void setFacetRuntime()
+  {
+    
+    if (serverInstanceId != null && serverInstanceId.length()>0)
+    {
+      IServer server = ServerCore.findServer(serverInstanceId);
+      IRuntime sRuntime = server.getRuntime();
+      facetRuntime = FacetUtil.getRuntime(sRuntime);      
+    }
+    else
+    {
+      IServerType st = ServerCore.findServerType(serverFactoryId);
+      String runtimeTypeId = st.getRuntimeType().getId();   
+      //Find the facet runtime
+      IRuntime[] runtimes = ServerCore.getRuntimes();
+      for (int i=0; i<runtimes.length; i++)
+      {
+        IRuntime sRuntime = runtimes[i];
+        if ( !sRuntime.isStub() && sRuntime.getRuntimeType().getId().equals(runtimeTypeId))
+        {
+          facetRuntime = FacetUtil.getRuntime(sRuntime);
+        }
+      }
+    }
+  }
+  
+  /*
+  public void setFacetMatcher(FacetMatcher facetMatcher)
+  {
+    this.facetMatcher = facetMatcher;
+  }
+  */
+  
+  public void setProjectName(String projectName)
+  {
+    this.projectName = projectName;
+  }  
+  
+  public void setTemplateId(String templateId)
+  {
+    this.templateId = templateId;
+  }    
+
+  public void setRequiredFacetVersions(RequiredFacetVersion[] requiredFacetVersions)
+  {
+    this.requiredFacetVersions = requiredFacetVersions;
+  }
+
+  public void setServerFactoryId(String serverFactoryId)
+  {
+    this.serverFactoryId = serverFactoryId;
+  }
+
+  public void setServerInstanceId(String serverInstanceId)
+  {
+    this.serverInstanceId = serverInstanceId;
+  }
+
+  
+  
+
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateJavaProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateJavaProjectCommand.java
index e46d304..b173081 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateJavaProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateJavaProjectCommand.java
@@ -15,21 +15,24 @@
 import org.eclipse.core.resources.IProjectDescription;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 
-public class CreateJavaProjectCommand extends SimpleCommand
+public class CreateJavaProjectCommand extends AbstractDataModelOperation
 {
   private String projectName_;
 
@@ -38,18 +41,17 @@
    */
   public CreateJavaProjectCommand()
   {
-    super("org.eclipse.jst.ws.internal.consumption.command.common.CreateJavaProjectCommand", "org.eclipse.jst.ws.internal.consumption.command.common.CreateJavaProjectCommand");
-    //setRunInWorkspaceModifyOperation(false);
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
     IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName_);
+    
     if (project != null && !project.exists())
     {
       try
       {
-        NullProgressMonitor monitor = new NullProgressMonitor();
         project.create(ResourcesPlugin.getWorkspace().newProjectDescription(project.getName()), monitor);
         project.open(monitor);
         IProjectDescription desc = project.getDescription();
@@ -65,12 +67,12 @@
       }
       catch (CoreException ce)
       {
-        Status status = new SimpleStatus(WebServiceConsumptionPlugin.ID, WebServiceConsumptionPlugin.getMessage("%MSG_ERROR_CANNOT_CREATE_JAVA_PROJECT", new String[] {projectName_}), Status.ERROR, ce);
+        IStatus status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_CANNOT_CREATE_JAVA_PROJECT, new String[] {projectName_}), ce);
         env.getStatusHandler().reportError(status);
         return status;
       }
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
   public void setProjectName(String projectName)
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateModuleCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateModuleCommand.java
index 847bb00..d73851b 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateModuleCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateModuleCommand.java
@@ -1,41 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.j2ee.application.internal.operations.FlexibleJavaProjectCreationDataModelProvider;
-import org.eclipse.jst.j2ee.applicationclient.internal.creation.AppClientComponentCreationDataModelProvider;
-import org.eclipse.jst.j2ee.datamodel.properties.IAppClientComponentCreationDataModelProperties;
-import org.eclipse.jst.j2ee.datamodel.properties.IEarComponentCreationDataModelProperties;
-import org.eclipse.jst.j2ee.ejb.datamodel.properties.IEjbComponentCreationDataModelProperties;
-import org.eclipse.jst.j2ee.internal.earcreation.EarComponentCreationDataModelProvider;
-import org.eclipse.jst.j2ee.internal.ejb.archiveoperations.EjbComponentCreationDataModelProvider;
-import org.eclipse.jst.j2ee.internal.web.archive.operations.WebComponentCreationDataModelProvider;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.project.datamodel.properties.IFlexibleJavaProjectCreationDataModelProperties;
-import org.eclipse.jst.j2ee.web.datamodel.properties.IWebComponentCreationDataModelProperties;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
+import org.eclipse.jst.server.core.FacetUtil;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IComponentCreationDataModelProperties;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.VersionFormatException;
+import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerType;
 import org.eclipse.wst.server.core.ServerCore;
 
-public class CreateModuleCommand extends SimpleCommand
+public class CreateModuleCommand extends AbstractDataModelOperation
 {
 	
-	public final static int WEB = J2EEUtils.WEB;
-	public final static int EJB = J2EEUtils.EJB;
+	public final static int WEB = J2EEUtils.WEB;    
+	public final static int EJB = J2EEUtils.EJB;    
 	public final static int APPCLIENT = J2EEUtils.APPCLIENT;
 	public final static int EAR = J2EEUtils.EAR;
+    
+    //Templates
+    //TODO  Remove these template constants once J2EE tools defines constants (bug 117531)
+    public final static String WEB_TEMPLATE = "template.jst.web";
+    public final static String EJB_TEMPLATE = "template.jst.ejb";
+    public final static String APPCLIENT_TEMPLATE = "template.jst.appclient";
+    public final static String EAR_TEMPLATE = "template.jst.ear";
 	
 	private String   projectName;
 	private String   moduleName;  // may be null for non-flexible project
@@ -43,35 +73,62 @@
 	private String   j2eeLevel;
 	private String   serverFactoryId;
 	private String   serverInstanceId_;
-	private Environment env;
-	private boolean supportMultipleModules;
+	private IEnvironment env;
+    private IProgressMonitor monitor_;
 	
-	private MessageUtils msgUtils;
-	
+    private org.eclipse.wst.common.project.facet.core.runtime.IRuntime facetRuntime;
+    
 	public CreateModuleCommand(){
-		msgUtils = new MessageUtils(WebServiceConsumptionPlugin.ID + ".plugin", this);
 	}
 	
-	public Status execute(Environment environment)
-	{
-		this.env = environment;
-		Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    monitor_ = monitor;
+		this.env = getEnvironment();
+		IStatus status = Status.OK_STATUS;
 		
 		// check if data ready
 		status = checkDataReady();
 		if (status.getSeverity()==Status.ERROR){
 			return status;
 		}	
+
+        //ensure the project does not exist
+        IProject project = ProjectUtilities.getProject(projectName);
+        if (!project.exists())
+        {
+          // create the component according to the component type specified
+          int type = getModuleType();
+          switch (type) {
+          case WEB:
+            status = createWebComponent();
+            break;
+          case EJB:
+             status = createEJBComponent();
+            break;
+          case APPCLIENT:
+            status = createAppClientComponent();
+            break;
+          case EAR:
+            status = createEARComponent();
+            break;
+
+          default:
+            return StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_COMPONENT_CREATION, new String[]{moduleName}) );         
+          }          
+        }
 		
-		// check if flexible project exists
-		IProject project = ProjectUtilities.getProject(projectName);
+        
+        // check if flexible project exists
+        /*
 		if (project==null || !project.exists()){
 			status = createFlexibleJavaProject();
 			if (status.getSeverity()==Status.ERROR){
 				return status;
 			}			
 		}
-
+        */
+        /*
 		// check if project and/or component exists
         if (projectName!=null) {
           if (moduleName==null){
@@ -84,40 +141,23 @@
           }
         }
 		else {
-			return new SimpleStatus("",msgUtils.getMessage("MSG_ERROR_COMPONENT_CREATION", new String[]{projectName, moduleName}),Status.ERROR, null);
-		}        
+			return StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_COMPONENT_CREATION, new String[]{projectName, moduleName}) );
+		} 
+        */       
         
-		// create the component according to the component type specified
-		int type = getModuleType();
-		switch (type) {
-		case WEB:
-			status = createWebComponent();
-			break;
-		case EJB:
-			status = createEJBComponent();
-			break;
-		case APPCLIENT:
-			status = createAppClientComponent();
-			break;
-		case EAR:
-			status = createEARComponent();
-			break;
 
-		default:
-			return new SimpleStatus("",msgUtils.getMessage("MSG_ERROR_COMPONENT_CREATION", new String[]{moduleName}),Status.ERROR,null);			
-		}
 		
 	
 		return status;
 	}
 
-	private Status checkDataReady(){
+	private IStatus checkDataReady(){
 		
 		if (projectName==null || serverFactoryId==null){
-			return new SimpleStatus("",msgUtils.getMessage("MSG_ERROR_COMPONENT_CREATION", new String[]{projectName, moduleName}),Status.ERROR,null);
+			return StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_COMPONENT_CREATION, new String[]{projectName, moduleName}) );
 		}
 		
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	}
 	
 	
@@ -125,118 +165,267 @@
 	 * Create a Web component
 	 * @return
 	 */
-	public Status createWebComponent(){
-		Status status = new SimpleStatus("");
-		try
-		{
-		  IDataModel projectInfo = DataModelFactory.createDataModel(new WebComponentCreationDataModelProvider());
+	public IStatus createWebComponent(){   
+    
+      IStatus status = Status.OK_STATUS;      
+      
+      try
+      {
+        IFacetedProject fproject = ProjectFacetsManager.create(projectName, null, monitor_);
 
-		  if (supportMultipleModules){
-			  projectInfo.setProperty(IComponentCreationDataModelProperties.SUPPORT_MULTIPLE_MODULES, Boolean.TRUE);
-		  }		  
-		  
-		  projectInfo.setProperty(IWebComponentCreationDataModelProperties.PROJECT_NAME,projectName);
-          if (moduleName!=null)
-            projectInfo.setProperty(IWebComponentCreationDataModelProperties.COMPONENT_NAME, moduleName);
-          
-          // get the Web servlet level
-          Integer servletLevel = J2EEUtils.getServletVersionForJ2EEVersion(j2eeLevel);
-          
-		  if (j2eeLevel!=null)
-			  projectInfo.setProperty(IWebComponentCreationDataModelProperties.COMPONENT_VERSION, servletLevel);
-		  IDataModelOperation op = projectInfo.getDefaultOperation();
-		  if (env!=null)
-			  op.execute(EnvironmentUtils.getIProgressMonitor(env), null);
-		  else 
-			  op.execute(new NullProgressMonitor(), null);
-		}
-		catch (Exception e)
-		{
-			status = new SimpleStatus("",e.getMessage(),Status.ERROR,e);
-		}
-		return status;		
+        //Decide which facets to install based on the templateId and the selected server. 
+        Set facetsToAdd = getFacetsToAdd(WEB_TEMPLATE); 
+        Set facetsToAddModified = facetsToAdd;
+        //If the J2EE level has been set, modify the Web facet version to be consistent.
+        if (j2eeLevel!=null && j2eeLevel.length()>0)
+        {
+          String webVersion = getWebVersionFromJ2EELevel(j2eeLevel);
+          facetsToAddModified = new HashSet();
+          Iterator itr = facetsToAdd.iterator();
+          while (itr.hasNext())
+          {
+            //If this is the web facet, get the right version.
+            IProjectFacetVersion pfv = (IProjectFacetVersion)itr.next();
+            IProjectFacet pf = pfv.getProjectFacet(); 
+            if (pf.getId().equals(IModuleConstants.JST_WEB_MODULE))
+            {
+              IProjectFacetVersion webfv = pf.getVersion(webVersion);
+              facetsToAddModified.add(webfv);
+            }
+            else
+            {
+              facetsToAddModified.add(pfv); 
+            }
+          }
+        }
+        
+        //Set up the install actions.
+        Set actions = FacetUtils.getInstallActions(facetsToAddModified);
+        fproject.modify(actions, monitor_);
+        
+        Set newFacetVersions = fproject.getProjectFacets();
+        Set fixedFacets = new HashSet();
+        for (Iterator iter = newFacetVersions.iterator(); iter.hasNext();) {
+            IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
+            fixedFacets.add(facetVersion.getProjectFacet());
+        }
+        fproject.setFixedProjectFacets(fixedFacets);
+        
+        
+        //Set the runtime        
+        if (facetRuntime != null)
+        {
+          fproject.setRuntime(facetRuntime, monitor_);
+        }        
+        
+      } catch (CoreException ce)
+      {
+        System.out.println("Exception occurred when creating a faceted project.");
+        return StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_PROJECT_CREATION, new String[] { projectName }), ce);
+      }
+		return status;
+      		
 	}
 	
 	/**
 	 * Create an EAR component
 	 * @return
 	 */
-	public Status createEARComponent(){
-		Status status = new SimpleStatus("");
-		try
-		{
-		  IDataModel projectInfo = DataModelFactory.createDataModel(new EarComponentCreationDataModelProvider());
-		  if (supportMultipleModules){
-			  projectInfo.setProperty(IComponentCreationDataModelProperties.SUPPORT_MULTIPLE_MODULES, Boolean.TRUE);
-		  }
-		  projectInfo.setProperty(IEarComponentCreationDataModelProperties.PROJECT_NAME,projectName);
-          if (moduleName!=null)
-              projectInfo.setProperty(IEarComponentCreationDataModelProperties.COMPONENT_NAME, moduleName);
-		  if (j2eeLevel!=null)
-			  projectInfo.setProperty(IEarComponentCreationDataModelProperties.COMPONENT_VERSION, Integer.valueOf(j2eeLevel));
-		  IDataModelOperation op =projectInfo.getDefaultOperation();
-		  if (env!=null)
-			  op.execute(EnvironmentUtils.getIProgressMonitor(env), null);
-		  else 
-			  op.execute(new NullProgressMonitor(), null);
-		}
-		catch (Exception e)
-		{
-			status = new SimpleStatus("",e.getMessage(),Status.ERROR,e);
-		}
-		return status;				
+	public IStatus createEARComponent(){
+      IStatus status = Status.OK_STATUS;      
+      
+      try
+      {
+        IFacetedProject fproject = ProjectFacetsManager.create(projectName, null, monitor_);
+
+        //Decide which facets to install based on the templateId and the selected server. 
+        Set facetsToAdd = getFacetsToAdd(EAR_TEMPLATE); 
+        Set facetsToAddModified = facetsToAdd;
+        //If the J2EE level has been set, modify the Web facet version to be consistent.
+        if (j2eeLevel!=null && j2eeLevel.length()>0)
+        {
+          String webVersion = getEARVersionFromJ2EELevel(j2eeLevel);
+          facetsToAddModified = new HashSet();
+          Iterator itr = facetsToAdd.iterator();
+          while (itr.hasNext())
+          {
+            //If this is the ear facet, get the right version.
+            IProjectFacetVersion pfv = (IProjectFacetVersion)itr.next();
+            IProjectFacet pf = pfv.getProjectFacet(); 
+            if (pf.getId().equals(IModuleConstants.JST_EAR_MODULE))
+            {
+              IProjectFacetVersion webfv = pf.getVersion(webVersion);
+              facetsToAddModified.add(webfv);
+            }
+            else
+            {
+              facetsToAddModified.add(pfv); 
+            }
+          }
+        }
+        
+        //Set up the install actions.
+        Set actions = FacetUtils.getInstallActions(facetsToAddModified);
+        fproject.modify(actions, monitor_);
+        
+        Set newFacetVersions = fproject.getProjectFacets();
+        Set fixedFacets = new HashSet();
+        for (Iterator iter = newFacetVersions.iterator(); iter.hasNext();) {
+            IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
+            fixedFacets.add(facetVersion.getProjectFacet());
+        }
+        fproject.setFixedProjectFacets(fixedFacets);
+        
+        
+        //Set the runtime        
+        if (facetRuntime != null)
+        {
+          fproject.setRuntime(facetRuntime, monitor_);
+        }        
+        
+      } catch (CoreException ce)
+      {
+        System.out.println("Exception occurred when creating a faceted project.");
+        return StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_PROJECT_CREATION, new String[] { projectName }), ce);
+      }
+        return status;
 	}
 	
 	/**
 	 * Create an EJB Component
 	 * @return
 	 */
-	public Status createEJBComponent(){
-		Status status = new SimpleStatus("");
-		try
-		{
-		  IDataModel projectInfo = DataModelFactory.createDataModel(new EjbComponentCreationDataModelProvider());
-		  if (supportMultipleModules){
-			  projectInfo.setProperty(IComponentCreationDataModelProperties.SUPPORT_MULTIPLE_MODULES, Boolean.TRUE);
-		  }
-		  projectInfo.setProperty(IEjbComponentCreationDataModelProperties.PROJECT_NAME,projectName);
-          if (moduleName!=null)  
-              projectInfo.setProperty(IEjbComponentCreationDataModelProperties.COMPONENT_NAME, moduleName);
-          
-          // get the EJB spec level
-          Integer ejbLevel = J2EEUtils.getEJBVersionForJ2EEVersion(j2eeLevel);
-         
-		  if (j2eeLevel!=null)
-			  projectInfo.setProperty(IEjbComponentCreationDataModelProperties.COMPONENT_VERSION, ejbLevel);
-		  
-		  //Don't create an EAR. The ADD_TO_EAR property gets defaulted to TRUE for everything except Web projects.
-		  projectInfo.setProperty(IEjbComponentCreationDataModelProperties.ADD_TO_EAR, Boolean.FALSE);
-		  
-		  IDataModelOperation op = projectInfo.getDefaultOperation();
-		  if (env!=null)
-			  op.execute(EnvironmentUtils.getIProgressMonitor(env), null);
-		  else 
-			  op.execute(new NullProgressMonitor(), null);
-		}
-		catch (Exception e)
-		{
-			status = new SimpleStatus("",msgUtils.getMessage("MSG_ERROR_CREATE_EJB_COMPONENT", new String[]{projectName}),Status.ERROR,e);
-		}
-		return status;		
+	public IStatus createEJBComponent(){
+      IStatus status = Status.OK_STATUS;      
+      
+      try
+      {
+        IFacetedProject fproject = ProjectFacetsManager.create(projectName, null, monitor_);
+
+        //Decide which facets to install based on the templateId and the selected server. 
+        Set facetsToAdd = getFacetsToAdd(EJB_TEMPLATE); 
+        Set facetsToAddModified = facetsToAdd;
+        //If the J2EE level has been set, modify the Web facet version to be consistent.
+        if (j2eeLevel!=null && j2eeLevel.length()>0)
+        {
+          String webVersion = getEJBVersionFromJ2EELevel(j2eeLevel);
+          facetsToAddModified = new HashSet();
+          Iterator itr = facetsToAdd.iterator();
+          while (itr.hasNext())
+          {
+            //If this is the web facet, get the right version.
+            IProjectFacetVersion pfv = (IProjectFacetVersion)itr.next();
+            IProjectFacet pf = pfv.getProjectFacet(); 
+            if (pf.getId().equals(IModuleConstants.JST_EJB_MODULE))
+            {
+              IProjectFacetVersion webfv = pf.getVersion(webVersion);
+              facetsToAddModified.add(webfv);
+            }
+            else
+            {
+              facetsToAddModified.add(pfv); 
+            }
+          }
+        }
+        
+        //Set up the install actions.
+        Set actions = FacetUtils.getInstallActions(facetsToAddModified);
+        fproject.modify(actions, monitor_);
+        
+        Set newFacetVersions = fproject.getProjectFacets();
+        Set fixedFacets = new HashSet();
+        for (Iterator iter = newFacetVersions.iterator(); iter.hasNext();) {
+            IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
+            fixedFacets.add(facetVersion.getProjectFacet());
+        }
+        fproject.setFixedProjectFacets(fixedFacets);
+        
+        
+        //Set the runtime        
+        if (facetRuntime != null)
+        {
+          fproject.setRuntime(facetRuntime, monitor_);
+        }        
+        
+      } catch (CoreException ce)
+      {
+        System.out.println("Exception occurred when creating a faceted project.");
+        return StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_CREATE_EJB_COMPONENT, new String[] { projectName }), ce);
+      }
+        return status;      
+
 	}
 	
 	/**
 	 * Create an Application Client component
 	 * @return
 	 */
-	public Status createAppClientComponent(){
-		Status status = new SimpleStatus("");
+	public IStatus createAppClientComponent()
+    {
+      IStatus status = Status.OK_STATUS;      
+      
+      try
+      {
+        IFacetedProject fproject = ProjectFacetsManager.create(projectName, null, monitor_);
+
+        //Decide which facets to install based on the templateId and the selected server. 
+        Set facetsToAdd = getFacetsToAdd(APPCLIENT_TEMPLATE); 
+        Set facetsToAddModified = facetsToAdd;
+        //If the J2EE level has been set, modify the Web facet version to be consistent.
+        if (j2eeLevel!=null && j2eeLevel.length()>0)
+        {
+          String webVersion = getAppClientVersionFromJ2EELevel(j2eeLevel);
+          facetsToAddModified = new HashSet();
+          Iterator itr = facetsToAdd.iterator();
+          while (itr.hasNext())
+          {
+            //If this is the web facet, get the right version.
+            IProjectFacetVersion pfv = (IProjectFacetVersion)itr.next();
+            IProjectFacet pf = pfv.getProjectFacet(); 
+            if (pf.getId().equals(IModuleConstants.JST_APPCLIENT_MODULE))
+            {
+              IProjectFacetVersion webfv = pf.getVersion(webVersion);
+              facetsToAddModified.add(webfv);
+            }
+            else
+            {
+              facetsToAddModified.add(pfv); 
+            }
+          }
+        }
+        
+        //Set up the install actions.
+        Set actions = FacetUtils.getInstallActions(facetsToAddModified);
+        fproject.modify(actions, monitor_);
+        
+        Set newFacetVersions = fproject.getProjectFacets();
+        Set fixedFacets = new HashSet();
+        for (Iterator iter = newFacetVersions.iterator(); iter.hasNext();) {
+            IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
+            fixedFacets.add(facetVersion.getProjectFacet());
+        }
+        fproject.setFixedProjectFacets(fixedFacets);
+        
+        
+        //Set the runtime        
+        if (facetRuntime != null)
+        {
+          fproject.setRuntime(facetRuntime, monitor_);
+        }        
+        
+      } catch (CoreException ce)
+      {
+        System.out.println("Exception occurred when creating a faceted project.");
+        return StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_CREATE_APPCLIENT_COMPONENT, new String[] { projectName }), ce);
+      }
+        return status;      
+      
+        /*
+		IStatus status = Status.OK_STATUS;
+        
 		try
 		{
 		  IDataModel projectInfo = DataModelFactory.createDataModel(new AppClientComponentCreationDataModelProvider());
-		  if (supportMultipleModules){
-			  projectInfo.setProperty(IComponentCreationDataModelProperties.SUPPORT_MULTIPLE_MODULES, Boolean.TRUE);
-		  }
 		  projectInfo.setProperty(IAppClientComponentCreationDataModelProperties.PROJECT_NAME,projectName);
           if (moduleName!=null)      
 		      projectInfo.setProperty(IAppClientComponentCreationDataModelProperties.COMPONENT_NAME, moduleName);
@@ -248,16 +437,15 @@
 		  
 		  IDataModelOperation op = projectInfo.getDefaultOperation();
 
-		  if (env!=null)
-			  op.execute(EnvironmentUtils.getIProgressMonitor(env), null);
-		  else 
-			  op.execute(new NullProgressMonitor(), null);
+			op.execute( monitor_, null);
 		}
 		catch (Exception e)
 		{
-			status = new SimpleStatus("",msgUtils.getMessage("MSG_ERROR_CREATE_APPCIENT_PROJET", new String[]{projectName}),Status.ERROR,e);
+			status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_CREATE_APPCLIENT_COMPONENT, new String[]{projectName}), e);
 		}
-		return status;		
+        
+		return status;
+        */		
 	}
 	
 	/**
@@ -268,8 +456,8 @@
 	 * Note: This call may not be necessary once J2EE implements creating a flex project automatically
 	 * 		with the creation of components.
 	 */
-	public Status createFlexibleJavaProject(){
-		Status status = new SimpleStatus("");
+	public IStatus createFlexibleJavaProject(){
+		IStatus status = Status.OK_STATUS;
 		try
 		{
 		  IDataModel projectInfo = DataModelFactory.createDataModel(new FlexibleJavaProjectCreationDataModelProvider());
@@ -292,18 +480,180 @@
 		  projectInfo.setProperty(IFlexibleJavaProjectCreationDataModelProperties.ADD_SERVER_TARGET,Boolean.TRUE);
 		  IDataModelOperation op = projectInfo.getDefaultOperation();
 		  if (env!=null)
-			  op.execute(EnvironmentUtils.getIProgressMonitor(env), null);
+			  op.execute( monitor_, null);
 		  else 
 			  op.execute(new NullProgressMonitor(), null);
 
 		}
 		catch (Exception e)
 		{
-			status = new SimpleStatus("",msgUtils.getMessage("MSG_ERROR_CREATE_FLEX_PROJET", new String[]{projectName}),Status.ERROR,e);
+			status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_CREATE_FLEX_PROJET, new String[]{projectName}), e);
 		}
 		return status;		
 	}
+    
+      /*
+       * @return Set Returns the Set of facets to add to the new project, 
+       * choosing the highest level of each facet that works on the selected server.
+       */
+      private Set getFacetsToAdd(String templateId)
+      {
+        Set facets = new HashSet();
+        
+        //Set the facet runtime.
+        setFacetRuntime();
+        if (facetRuntime != null)
+        {
+          IFacetedProjectTemplate template = ProjectFacetsManager.getTemplate(templateId);
+          Set templateFacets = template.getFixedProjectFacets();
+          Iterator templateFacetsItr = templateFacets.iterator();
+          while (templateFacetsItr.hasNext())
+          {
+            IProjectFacet fixedFacet = (IProjectFacet)templateFacetsItr.next();
+            List versions = null;
+            try {
+                versions = fixedFacet.getSortedVersions(false);
+            } catch (VersionFormatException e) {
+                Set versionSet = fixedFacet.getVersions();
+                Iterator itr = versionSet.iterator();
+                versions = new ArrayList();
+                while (itr.hasNext())
+                {
+                    versions.add(itr.next());
+                }            
+            } catch (CoreException e) {
+                Set versionSet = fixedFacet.getVersions();
+                Iterator itr = versionSet.iterator();
+                versions = new ArrayList();
+                while (itr.hasNext())
+                {
+                    versions.add(itr.next());
+                }            
+            } 
+            Iterator versionsItr = versions.iterator();
+            while(versionsItr.hasNext())
+            {
+              IProjectFacetVersion pfv = (IProjectFacetVersion)versionsItr.next();
+              Set pfvs = new HashSet();
+              pfvs.add(pfv);           
+              
+              //Check against Runtime
+              if (FacetUtils.doesRuntimeSupportFacets(facetRuntime, pfvs))
+              {
+                  //We have a match. Add this one to the master set.
+                  facets.add(pfv);
+                  break;
+              }                        
+            }
+          }
+        }
+        else
+        {
+          facets = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+        }
+     
+        
+        return facets;
+      }
+      
+      private void setFacetRuntime()
+      {
+        
+        if (serverInstanceId_ != null && serverInstanceId_.length()>0)
+        {
+          IServer server = ServerCore.findServer(serverInstanceId_);
+          IRuntime sRuntime = server.getRuntime();
+          facetRuntime = FacetUtil.getRuntime(sRuntime);      
+        }
+        else
+        {
+          IServerType st = ServerCore.findServerType(serverFactoryId);
+          String runtimeTypeId = st.getRuntimeType().getId();   
+          //Find the facet runtime
+          IRuntime[] runtimes = ServerCore.getRuntimes();
+          for (int i=0; i<runtimes.length; i++)
+          {
+            IRuntime sRuntime = runtimes[i];
+            if ( !sRuntime.isStub() && sRuntime.getRuntimeType().getId().equals(runtimeTypeId))
+            {
+              facetRuntime = FacetUtil.getRuntime(sRuntime);
+            }
+          }
+        }
+      }      
+    
+   private String getWebVersionFromJ2EELevel(String j2eeVersion)
+   {
+        int aVersion = Integer.valueOf(j2eeLevel).intValue();
+        switch (aVersion) {
+        case J2EEVersionConstants.J2EE_1_2_ID:
+            return "2.2";
+
+        case J2EEVersionConstants.J2EE_1_3_ID:
+            return "2.3";
+
+        case J2EEVersionConstants.J2EE_1_4_ID:
+            return "2.4";
+            
+        default:
+            return "2.4";
+        }                
+   }
 	
+   private String getEJBVersionFromJ2EELevel(String j2eeVersion)
+   {
+        int aVersion = Integer.valueOf(j2eeLevel).intValue();
+        switch (aVersion) {
+        case J2EEVersionConstants.J2EE_1_2_ID:
+            return "1.1";
+
+        case J2EEVersionConstants.J2EE_1_3_ID:
+            return "2.0";
+
+        case J2EEVersionConstants.J2EE_1_4_ID:
+            return "2.1";
+            
+        default:
+            return "2.1";
+        }                
+   }
+   
+   private String getAppClientVersionFromJ2EELevel(String j2eeVersion)
+   {
+        int aVersion = Integer.valueOf(j2eeLevel).intValue();
+        switch (aVersion) {
+        case J2EEVersionConstants.J2EE_1_2_ID:
+            return "1.2";
+
+        case J2EEVersionConstants.J2EE_1_3_ID:
+            return "1.3";
+
+        case J2EEVersionConstants.J2EE_1_4_ID:
+            return "1.4";
+            
+        default:
+            return "1.4";
+        }                
+   }
+   
+   private String getEARVersionFromJ2EELevel(String j2eeVersion)
+   {
+        int aVersion = Integer.valueOf(j2eeLevel).intValue();
+        switch (aVersion) {
+        case J2EEVersionConstants.J2EE_1_2_ID:
+            return "1.2";
+
+        case J2EEVersionConstants.J2EE_1_3_ID:
+            return "1.3";
+
+        case J2EEVersionConstants.J2EE_1_4_ID:
+            return "1.4";
+            
+        default:
+            return "1.4";
+        }                
+   }
+   
 	public void setModuleName(String moduleName)
 	{
 		this.moduleName = moduleName;
@@ -346,12 +696,4 @@
 	  serverInstanceId_ = serverInstanceId;
 	}
 
-	public boolean getSupportMultipleModules() {
-		return supportMultipleModules;
-	}
-
-	public void setSupportMultipleModules(boolean supportMultipleModules) {
-		this.supportMultipleModules = supportMultipleModules;
-	}
-
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateMonitorCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateMonitorCommand.java
index 744081e..ce05bff 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateMonitorCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateMonitorCommand.java
@@ -11,21 +11,25 @@
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
 import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.ServerPort;
 import org.eclipse.wst.server.core.internal.IMonitoredServerPort;
-import org.eclipse.wst.server.core.internal.ServerMonitorManager;
 import org.eclipse.wst.server.core.internal.IServerMonitorManager;
+import org.eclipse.wst.server.core.internal.ServerMonitorManager;
 
-public class CreateMonitorCommand extends SimpleCommand {
+public class CreateMonitorCommand extends AbstractDataModelOperation
+{
 
   private static final String WEB_SERVICES = "Web services";
 
@@ -36,11 +40,12 @@
   private Integer monitoredPort;
 
   public CreateMonitorCommand() {
-    super("org.eclipse.jst.ws.internal.consumption.command.common.CreateMonitorCommand",
-        "org.eclipse.jst.ws.internal.consumption.command.common.CreateMonitorCommand");
   }
 
-  public Status execute(Environment env) {
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    IEnvironment env = getEnvironment();
+    
     if (monitorService != null && monitorService.booleanValue()) {
       IServer server = ServerCore.findServer(serviceServerInstanceId);
       if (server != null) {
@@ -72,42 +77,39 @@
                   serverMonitorManager.startMonitor(imsPort);
                 }
                 catch (CoreException ce) {
-                  MessageUtils msgUtils = new MessageUtils(WebServiceConsumptionPlugin.ID + ".plugin", this);
-                  Status error = new SimpleStatus(WebServiceConsumptionPlugin.ID, msgUtils.getMessage("MSG_ERROR_UNABLE_TO_START_MONITOR",
-                      new Object[] { String.valueOf(port.getPort()), server.getName()}), Status.ERROR, ce);
+                  IStatus error = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_UNABLE_TO_START_MONITOR,
+                                                           new Object[] { String.valueOf(port.getPort()), server.getName()}), ce);
                   env.getStatusHandler().reportError(error);
                   return error;
                 }
               }
               monitoredPort = new Integer(imsPort.getMonitorPort());
-              return new SimpleStatus("");
+              return Status.OK_STATUS;
             }
           }
           try {
             IMonitoredServerPort imsPort = serverMonitorManager.createMonitor(server, port, -1, new String[] { WEB_SERVICES});
             serverMonitorManager.startMonitor(imsPort);
             monitoredPort = new Integer(imsPort.getMonitorPort());
-            return new SimpleStatus("");
+            return Status.OK_STATUS;
           }
           catch (CoreException ce) {
-            MessageUtils msgUtils = new MessageUtils(WebServiceConsumptionPlugin.ID + ".plugin", this);
-            Status error = new SimpleStatus(WebServiceConsumptionPlugin.ID, msgUtils.getMessage("MSG_ERROR_UNABLE_TO_START_MONITOR", new Object[] {
-                String.valueOf(port.getPort()), server.getName()}), Status.ERROR, ce);
+            IStatus error = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_UNABLE_TO_START_MONITOR, new Object[] {
+                                                     String.valueOf(port.getPort()), server.getName()}), ce);
             env.getStatusHandler().reportError(error);
             return error;
           }
         }
 
         else {
-          MessageUtils msgUtils = new MessageUtils(WebServiceConsumptionPlugin.ID + ".plugin", this);
-          Status info = new SimpleStatus(WebServiceConsumptionPlugin.ID, msgUtils.getMessage("MSG_INFO_MONITORING_NOT_SUPPORTED",
-              new Object[] { server.getName()}), Status.INFO);
+          IStatus info = StatusUtils.infoStatus( NLS.bind(ConsumptionMessages.MSG_INFO_MONITORING_NOT_SUPPORTED,
+                                                 new Object[] { server.getName()}) );
           env.getStatusHandler().reportInfo(info);
           return info;
         }
       }
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   private boolean hasContentWebServices(IMonitoredServerPort imsPort) {
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateServerCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateServerCommand.java
index 7ff7187..fe31e83 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateServerCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CreateServerCommand.java
@@ -1,13 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerType;
@@ -15,29 +28,27 @@
 import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.server.core.ServerUtil;
 
-public class CreateServerCommand extends SimpleCommand
+public class CreateServerCommand extends AbstractDataModelOperation
 {
 	private String serverFactoryId;
 	private String serverInstanceId;
 	
-	private MessageUtils msgUtils;
-	
 	/**
 	 * Creates a server of the factory id
 	 * Note1: Checking for server instance == null is done in the PreService/ClientInstallCommands
 	 * Note2: Reporting of errors is done in PreService/ClientInstallCommands; simply return the status.
 	 */
 	public CreateServerCommand(){
-		msgUtils = new MessageUtils(WebServiceConsumptionPlugin.ID + ".plugin", this);
-		
 	}
 	
-	public Status execute(Environment env)
-	{
-		Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    IEnvironment env = getEnvironment();
+    
+		IStatus status = Status.OK_STATUS;
 		
 		if (serverFactoryId==null){
-			status = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_CREATE_SERVER"), Status.ERROR, null);
+			status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_CREATE_SERVER );
 			return status;			
 		}
 		
@@ -63,13 +74,13 @@
 				
 				if (nonStubRuntime==null)
 				{					
-					status = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_STUB_ONLY",new String[]{serverFactoryId}), Status.ERROR);
+					status = StatusUtils.errorStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_STUB_ONLY,new String[]{serverFactoryId}) );
 					return status;					
 				}
 				
 				if (env!=null)
 				{
-					serverWC = serverType.createServer(null, null, nonStubRuntime, EnvironmentUtils.getIProgressMonitor(env));
+					serverWC = serverType.createServer(null, null, nonStubRuntime, monitor );
 				}
 				else
 				{					
@@ -78,13 +89,13 @@
 				
 				if (serverWC != null) {
 					if (env!=null)
-						server = serverWC.saveAll(true, EnvironmentUtils.getIProgressMonitor(env));
+						server = serverWC.saveAll(true, monitor );
 					else
 						server = serverWC.saveAll(true, null);
 				}
 			}
 		} catch (CoreException ce) {
-			status = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_CREATE_SERVER"), Status.ERROR, ce);
+			status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_CREATE_SERVER, ce);
 			return status;
 		}
 		
@@ -92,7 +103,7 @@
 		if (server!=null)
 			serverInstanceId = server.getId();
 		else {
-			status = new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_CREATE_SERVER"), Status.ERROR, null);			
+			status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_CREATE_SERVER );			
 		}
 		
 		return status;
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableBuildCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableBuildCommand.java
index e9c4059..f10d2c3 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableBuildCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableBuildCommand.java
@@ -11,41 +11,37 @@
 
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.datamodel.validate.ValidationManager;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 
 
-public class DisableBuildCommand extends SimpleCommand 
+public class DisableBuildCommand extends AbstractDataModelOperation 
 {
-  private MessageUtils msgUtils_;
-  private Model model_;
+
   private ValidationManager manager_;
-  private String LABEL = "TASK_LABEL_WEBSERVICE_DISABLE_BUILD";
-  private String DESCRIPTION = "TASK_DESC_WEBSERVICE_DISABLE_BUILD";
   /**
    * CTOR;
    */
   public DisableBuildCommand()
   {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
 
-    setName(msgUtils_.getMessage(LABEL));
-    setDescription(msgUtils_.getMessage(DESCRIPTION));
   }
 
   /**
    * Execute the command
    */
-  public Status execute(Environment env)  {
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IStatus status = Status.OK_STATUS;
 
-    env.getProgressMonitor().report(msgUtils_.getMessage("TASK_DESC_WEBSERVICE_DISABLE_BUILD"));
+    ProgressUtils.report( monitor, ConsumptionMessages.TASK_DESC_WEBSERVICE_DISABLE_BUILD);
 
     if (manager_!=null) {
       manager_.disableAutoBuild();
@@ -59,7 +55,6 @@
    * @param model
    */
   public void setModel(Model model) {
-    this.model_ = model;
   }  
   
   
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableValidationCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableValidationCommand.java
index 26da64c..c513db9 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableValidationCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/DisableValidationCommand.java
@@ -12,40 +12,36 @@
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.datamodel.validate.ValidationManager;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class DisableValidationCommand extends SimpleCommand {
+public class DisableValidationCommand extends AbstractDataModelOperation 
+{
 
-  private MessageUtils msgUtils_;
   private ValidationManager manager_;
   private IProject serviceProject_;
-  private String LABEL = "TASK_LABEL_WEBSERVICE_DISABLE_VALIDATION";
-  private String DESCRIPTION = "TASK_DESC_WEBSERVICE_DISABLE_VALIDATION";
 
   /**
    * CTOR;
    */
   public DisableValidationCommand() {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-
-    setName(msgUtils_.getMessage(LABEL));
-    setDescription(msgUtils_.getMessage(DESCRIPTION));
   }
 
   /**
    * Execute the command
    */
-  public Status execute(Environment env) {
-    Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    IStatus status = Status.OK_STATUS;
 
-    env.getProgressMonitor().report(msgUtils_.getMessage("TASK_DESC_WEBSERVICE_DISABLE_VALIDATION"));
+    ProgressUtils.report(monitor, ConsumptionMessages.TASK_DESC_WEBSERVICE_DISABLE_VALIDATION);
 
     IProject project = serviceProject_;
     if (project != null) manager_.disableValidationForProject(project);
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/GetMonitorCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/GetMonitorCommand.java
index e9ed0b4..423b1eb 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/GetMonitorCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/GetMonitorCommand.java
@@ -26,19 +26,23 @@
 import javax.wsdl.extensions.http.HTTPAddress;
 import javax.wsdl.extensions.soap.SOAPAddress;
 
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
 import org.eclipse.wst.server.core.util.SocketUtil;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
-public class GetMonitorCommand extends SimpleCommand
+public class GetMonitorCommand extends AbstractDataModelOperation
 {
   private boolean monitorService;
   private boolean create;
@@ -48,13 +52,14 @@
 
   public GetMonitorCommand()
   {
-    super("org.eclipse.jst.ws.internal.consumption.command.common.GetMonitorCommand", "org.eclipse.jst.ws.internal.consumption.command.common.GetMonitorCommand");
     monitorService = true;
     create = true;
   }
 
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment env = getEnvironment();
+    
     endpoints = new Vector();
     if (monitorService && webServicesParser != null && wsdlURI != null && wsdlURI.length() > 0)
     {
@@ -127,7 +132,7 @@
                     }
                     catch (Throwable t)
                     {
-                      Status warning = new SimpleStatus(WebServiceConsumptionPlugin.ID, WebServiceConsumptionPlugin.getMessage("MSG_ERROR_UNABLE_TO_START_MONITOR", new Object[]{String.valueOf(port), endpoint}), Status.WARNING, t);
+                      IStatus warning = StatusUtils.warningStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_UNABLE_TO_START_MONITOR, new Object[]{String.valueOf(port), endpoint}), t);
                       try
                       {
                         if (env != null)
@@ -152,7 +157,7 @@
                     }
                     catch (Throwable t)
                     {
-                      Status warning = new SimpleStatus(WebServiceConsumptionPlugin.ID, WebServiceConsumptionPlugin.getMessage("MSG_ERROR_UNABLE_TO_START_MONITOR", new Object[]{String.valueOf(port), endpoint}), Status.WARNING, t);
+                      IStatus warning = StatusUtils.warningStatus( NLS.bind(ConsumptionMessages.MSG_ERROR_UNABLE_TO_START_MONITOR, new Object[]{String.valueOf(port), endpoint}), t);
                       try
                       {
                         if (env != null)
@@ -170,7 +175,7 @@
         }
       }
     }
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
 
   public void setMonitorService(boolean monitorService)
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/JavaMofReflectionCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/JavaMofReflectionCommand.java
index 9e86fed..b0ad9da 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/JavaMofReflectionCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/JavaMofReflectionCommand.java
@@ -15,24 +15,25 @@
 //core stuff
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaHelpers;
-import org.eclipse.jem.java.impl.JavaClassImpl;
+import org.eclipse.jem.java.JavaRefFactory;
+import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
+import org.eclipse.jem.workbench.utility.JemProjectUtilities;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
 * This class is to be used to Build the data model
 * first we get the java class and then build the model
 */
-public class JavaMofReflectionCommand extends SimpleCommand
+public class JavaMofReflectionCommand extends AbstractDataModelOperation
 {
 
   public static String LABEL = "JavaMofReflectionCommand"; 
@@ -40,14 +41,11 @@
   public static String OK_MESSAGE =  "The model has been built "; 
   private static String JAVA_EXTENSION = ".java";
   private static String CLASS_EXTENSION = ".class";
-  private MessageUtils msgUtils_;
   
   private String clientProject;
-  private ResourceSet resourceSet;
   private JavaHelpers javaClass;
   private String qname;
   private String proxyBean;
-  private IProject clientIProject;
  
   /**
   * Constructs a new JavaMofReflectionCommand with the given label and description
@@ -55,11 +53,6 @@
   */
   public JavaMofReflectionCommand()
   {
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-
-    setDescription(DESCRIPTION);
-    setName(LABEL);
   }
   
   // setters for this command
@@ -89,24 +82,21 @@
   * Get the java model from the resource then 
   * build the model from the mof
   */
-  public Status execute(Environment env)
-  {
- 	//just make sure the project and qname are there
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+ 	  //just make sure the project and qname are there
   	//they are essential for this operation
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
   	IProject clientIProject = (IProject)ResourceUtils.findResource(clientProject);
   	processQName();
   	if(clientProject == null || qname == null)
-  	  return new SimpleStatus(WebServiceConsumptionPlugin.ID,WebServiceConsumptionPlugin.getMessage("%MSG_WARN_UNABLE_TO_FIND_PROXY"),Status.WARNING);
+  	  return StatusUtils.warningStatus( ConsumptionMessages.MSG_WARN_UNABLE_TO_FIND_PROXY );
   	
-    JavaEMFNature nature = (JavaEMFNature)JavaEMFNature.getRuntime(clientIProject);
-    if(nature == null){
-      try{
-        nature = (JavaEMFNature)JavaEMFNature.createRuntime(clientIProject);  	
-      }catch(CoreException exc){}
-    }
-    resourceSet = nature.getResourceSet();
-    javaClass = (JavaHelpers)JavaClassImpl.reflect(qname, resourceSet); 
+    try {
+		EMFNature nature = JemProjectUtilities.getJEM_EMF_Nature(clientIProject, true);
+		javaClass = JavaRefFactory.eINSTANCE.reflectType(qname, nature.getResourceSet());
+	} catch (CoreException e) {
+	}
     
     return status;
   }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ManageServerStartUpCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ManageServerStartUpCommand.java
index 702f617..5ca1c32 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ManageServerStartUpCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ManageServerStartUpCommand.java
@@ -12,25 +12,19 @@
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 
-/**
- * @author sengpl
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class ManageServerStartUpCommand extends SimpleCommand {
+public class ManageServerStartUpCommand extends AbstractDataModelOperation
+{
 
-	private java.lang.String DESCRIPTION = "Start Web Project";
-	private java.lang.String LABEL = "ServerStartUpManager";
-	private MessageUtils msgUtils_;
-	
 	private Boolean isStartServiceEnabled_;
 	private Boolean isTestServiceEnabled_;
 	
@@ -43,44 +37,43 @@
 	private IServer sampleExistingServer_;
 	
 	private boolean isWebProjectStartupRequested_;
-	private String  moduleName_;
 
 	/**
 	 * Default CTOR;
 	 */
-	public ManageServerStartUpCommand( String moduleName ) {
-		String pluginId = "org.eclipse.jst.ws.consumption";
-		msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-		
-		moduleName_ = moduleName;
+	public ManageServerStartUpCommand( ) {
+
 	}
 	
 	/**
 	 * Execute the command
 	 */
-	public Status execute(Environment env)
-	{
-	    Status status = new SimpleStatus( "" );
-	    env.getProgressMonitor().report(msgUtils_.getMessage("PROGRESS_INFO_START_WEB_PROJECT"));
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+      IEnvironment env = getEnvironment();
+	    IStatus status = Status.OK_STATUS;
+	    ProgressUtils.report(monitor, ConsumptionMessages.PROGRESS_INFO_START_WEB_PROJECT);
 	 
 	    if (isStartServiceEnabled_.booleanValue() && serviceExistingServer_!=null){
 	    	//System.out.println("Calling service server start: "+serviceProject_+"  "+serviceServerTypeId_);
-	    	StartProjectCommand spc = new StartProjectCommand( moduleName_ );
+	    	StartProjectCommand spc = new StartProjectCommand( );
 	    	spc.setServiceProject(serviceProject_);
 	    	spc.setServiceServerTypeID(serviceServerTypeId_);
 	    	spc.setServiceExistingServer(serviceExistingServer_);
 	    	spc.setIsWebProjectStartupRequested(isWebProjectStartupRequested_);
-	    	spc.execute(env);
+	    	spc.setEnvironment( env );
+	    	spc.execute( null, null );
 	    }
 	    
 	    if(isTestServiceEnabled_.booleanValue()&& sampleExistingServer_!=null && serviceExistingServer_!=null && !sampleExistingServer_.equals(serviceExistingServer_)){
 	    	//System.out.println("Calling client server start: "+sampleProject_+"  "+sampleExistingServer__);
-	    	StartProjectCommand spc = new StartProjectCommand( moduleName_ );
+	    	StartProjectCommand spc = new StartProjectCommand( );
 	    	spc.setSampleProject(sampleProject_);
 	    	spc.setSampleServerTypeID(sampleServerTypeId_);
 	    	spc.setSampleExistingServer(sampleExistingServer_);
 	    	spc.setCreationScenario(new Boolean("false"));
-	    	spc.execute(env);	    	
+	    	spc.setEnvironment( env );
+	    	spc.execute( null, null );	    	
 	    }
 	    
 	    return status;
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/PublishProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/PublishProjectCommand.java
index 8a8c14f..3e86dd4 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/PublishProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/PublishProjectCommand.java
@@ -12,23 +12,23 @@
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 
-public class PublishProjectCommand extends SimpleCommand {
+public class PublishProjectCommand extends AbstractDataModelOperation 
+{
 
-private java.lang.String DESCRIPTION = "Publish Web Project";
-private java.lang.String LABEL       = "PublishProjectCommand";
-private MessageUtils msgUtils_;
 
 private String project;
 private String serverTypeID;
@@ -39,49 +39,45 @@
  * Default CTOR;
  */
 public PublishProjectCommand() {
-  String pluginId = "org.eclipse.jst.ws.consumption";
-  msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-  setDescription(DESCRIPTION);
-  setName(LABEL);  
-  //TODO setRunInWorkspaceModifyOperation(false);
 }
 
 /**
  * Execute the command
  */
-public Status execute(Environment env)
+public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
 {
+  IEnvironment env = getEnvironment();
   
-  Status status = new SimpleStatus("");
+  IStatus status = Status.OK_STATUS;
   try
   {
-    env.getProgressMonitor().report( msgUtils_.getMessage( "PROGRESS_INFO_PUBLISH_WEB_PROJECT" ) );
+    ProgressUtils.report( monitor, ConsumptionMessages.PROGRESS_INFO_PUBLISH_WEB_PROJECT );
     
     if (project == null){
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_PROJECT_NOT_FOUND"), Status.ERROR); 
+      status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_PROJECT_NOT_FOUND ); 
       env.getStatusHandler().reportError(status);
       return status;
     }
 	
     IProject iProject = (IProject)ResourceUtils.findResource(project);
-    IServer instance = ServerUtils.getServerForModule(ResourceUtils.getModule(iProject), serverTypeID, existingServer, true, EnvironmentUtils.getIProgressMonitor(env));
+    IServer instance = ServerUtils.getServerForModule(ServerUtils.getModule(iProject), serverTypeID, existingServer, true, monitor);
     if (instance == null)
     {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_INSTANCE_NOT_FOUND"), Status.ERROR);
+      status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_INSTANCE_NOT_FOUND);
       env.getStatusHandler().reportError(status);
       return status;
     }
 
-      IStatus returnedStatus = instance.publish(IServer.PUBLISH_INCREMENTAL, EnvironmentUtils.getIProgressMonitor(env));
-      status = EnvironmentUtils.convertIStatusToStatus(returnedStatus);
+      IStatus returnedStatus = instance.publish(IServer.PUBLISH_INCREMENTAL, monitor);
+      status = returnedStatus;
       
       //getStatusMonitor().reportStatus (instance.publish(getProgressMonitor()));
-      env.getLog().log(Log.OK, 5026, this, "execute", new String("project="+project+" successfully published"));
-      //Log.write(PublishProjectCommand.class,"execute",Log.OK,"project="+project+" successfully published");
+      env.getLog().log(ILog.OK, 5026, this, "execute", new String("project="+project+" successfully published"));
+      //ILog.write(PublishProjectCommand.class,"execute",ILog.OK,"project="+project+" successfully published");
       return status;
   }
   catch (Exception e) {
-    status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_PUBLISH"), Status.ERROR, e);
+    status = StatusUtils.errorStatus(ConsumptionMessages.MSG_ERROR_PUBLISH, e);
     env.getStatusHandler().reportError(status);
     return status;
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreBuildStateCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreBuildStateCommand.java
index 1582613..f663b48 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreBuildStateCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreBuildStateCommand.java
@@ -12,45 +12,38 @@
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.datamodel.validate.ValidationManager;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class RestoreBuildStateCommand extends SimpleCommand
+public class RestoreBuildStateCommand extends AbstractDataModelOperation
 {
 
-  private MessageUtils msgUtils_;
   private ValidationManager manager_;
   
-  private String LABEL = "TASK_LABEL_WEBSERVICE_RESTORE_BUILD";
-  private String DESCRIPTION = "TASK_DESC_WEBSERVICE_RESTORE_BUILD";
   /**
    * Default CTOR;
    */
   public RestoreBuildStateCommand()
   {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-
-    setName(msgUtils_.getMessage(LABEL));
-    setDescription(msgUtils_.getMessage(DESCRIPTION));    
-
   }
 
   /**
    * Execute the command
    */
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    env.getProgressMonitor().report(msgUtils_.getMessage("TASK_DESC_WEBSERVICE_RESTORE_BUILD"));
+    ProgressUtils.report( monitor, ConsumptionMessages.TASK_DESC_WEBSERVICE_RESTORE_BUILD);
 
     manager_.restoreAutoBuild();
 
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
     
   /**
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreValidationStateCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreValidationStateCommand.java
index 04f54fa..6ae6317 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreValidationStateCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/RestoreValidationStateCommand.java
@@ -12,22 +12,20 @@
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.datamodel.validate.ValidationManager;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class RestoreValidationStateCommand extends SimpleCommand 
+public class RestoreValidationStateCommand extends AbstractDataModelOperation 
 {
-  private MessageUtils msgUtils_;
   private ValidationManager manager_;
   
-  private String LABEL = "TASK_LABEL_WEBSERVICE_RESTORE_VALIDATION";
-  private String DESCRIPTION = "TASK_DESC_WEBSERVICE_RESTORE_VALIDATION";  
-
   private boolean runValidation_;
 
   /**
@@ -35,24 +33,19 @@
    */
   public RestoreValidationStateCommand( boolean runValidation )
   {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-
-    setName(msgUtils_.getMessage(LABEL));
-    setDescription(msgUtils_.getMessage(DESCRIPTION)); 
     runValidation_ = runValidation;
   }
 
   /**
    * Execute the command
    */
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    env.getProgressMonitor().report(msgUtils_.getMessage("TASK_DESC_WEBSERVICE_RESTORE_VALIDATION"));
+    ProgressUtils.report( monitor, ConsumptionMessages.TASK_DESC_WEBSERVICE_RESTORE_VALIDATION);
 
     manager_.restoreValidationForProjects( runValidation_ );    
 
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
     
   /**
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ServerDeployableConfigurationCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ServerDeployableConfigurationCommand.java
deleted file mode 100644
index 31779ce..0000000
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/ServerDeployableConfigurationCommand.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.command.common;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerUtil;
-
-public class ServerDeployableConfigurationCommand extends SimpleCommand {
-
-  private String LABEL = "ServerDeployableConfigurationCommand";
-  private String DESCRIPTION = "Ensure Deployable is added to Server Configuration";
-  private MessageUtils msgUtils_;
-  private Boolean creationScenario_ = Boolean.TRUE;
-  private TypeRuntimeServer clientIds_;
-  private IProject serviceProject_;
-  private IProject sampleProject_;
-  private String serviceServerTypeID_;
-  private String sampleServerTypeID_;
-  private IServer serviceExistingServer_;
-  private IServer sampleExistingServer_;
-  private String serviceProjectURL_;
-  private String sampleProjectURL_;
-  
-  //addedProjectToServer_ is set to true if
-  //- the project exists AND
-  //- the server exists (i.e. this command did not create it) AND
-  //- this command added the project to the server
-  private boolean addedProjectToServer_ = false;
-
-  /**
-   * Default CTOR
-   */
-  public ServerDeployableConfigurationCommand() {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    setDescription(DESCRIPTION);
-    setName(LABEL);
-  }
-
-  /**
-   * Default CTOR
-   */
-  public ServerDeployableConfigurationCommand(boolean creationScenario) {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    setDescription(DESCRIPTION);
-    setName(LABEL);
-    creationScenario_ = new Boolean(creationScenario);
-  }
-
-  /**
-   * execute
-   */
-  public Status execute(Environment env) {
-
-	  System.out.println("ServerDeployableConfigurationCommand");
-    Status status = new SimpleStatus("");
-    try {
-
-      if (!(creationScenario_.booleanValue()) )
-        return status;
-
-      // determine client or service project
-      IProject project = ((creationScenario_.booleanValue()) ? serviceProject_ : sampleProject_);
-      if (project == null)
-        return status;
-
-      sampleServerTypeID_ = clientIds_.getServerId();
-      
-      // determine service or sample server factory Id
-      String serverFactoryId = ((creationScenario_.booleanValue()) ? serviceServerTypeID_ : sampleServerTypeID_);
-
-      // get an IServer object; either existing or create one
-      IServer server = ((creationScenario_.booleanValue()) ? serviceExistingServer_ : sampleExistingServer_);
-      if (server != null) {
-      	// find exact server for given project
-        IServer[] servers = ServerUtil.getServersByModule(ResourceUtils.getModule(project), null);
-        boolean foundServer = false;
-        for (int i = 0; i < servers.length; i++) {
-          if (servers[i].equals(server))
-            foundServer = true;
-        }
-        if (!foundServer) {
-          Status mmStatus = ServerUtils.getInstance().modifyModules(env, server, ResourceUtils.getModule(project), true, EnvironmentUtils.getIProgressMonitor(env));
-          if (mmStatus.getSeverity()==Status.ERROR)
-        	return mmStatus;            
-          addedProjectToServer_ = true;
-        }
-      }
-      else {
-        if (!(creationScenario_.booleanValue()) && serviceServerTypeID_ == sampleServerTypeID_) //Client
-        {
-          server = serviceExistingServer_;
-        }
-        else {
-          server = ServerUtils.getInstance().createServer(env, ResourceUtils.getModule(project), serverFactoryId, EnvironmentUtils.getIProgressMonitor(env));
-        }
-        if (server == null) {
-          status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_CREATE_SERVER"), Status.ERROR);
-          env.getStatusHandler().reportError(status);
-          return status;
-        }
-        
-        // check if module is already associated
-        IModule[] parentModules = server.getRootModules(ResourceUtils.getModule(project), null);
-        if (parentModules!=null && parentModules.length!=0) {
-          if (!ServerUtil.containsModule(server, ResourceUtils.getModule(project), null)) {        
-            Status mmStatus = ServerUtils.getInstance().modifyModules(env, server, ResourceUtils.getModule(project), true, EnvironmentUtils.getIProgressMonitor(env));
-            if (mmStatus.getSeverity()==Status.ERROR)
-              return mmStatus;     
-          }
-        }        
-    
-      }
-      
-      //
-      String projectURL = ResourceUtils.getWebProjectURL(project, serverFactoryId, server);
-      if (creationScenario_.booleanValue()) {
-        serviceExistingServer_ = server;
-        serviceProjectURL_ = projectURL;
-        if (serviceServerTypeID_.equals(sampleServerTypeID_) && clientIds_.getServerInstanceId()==null){
-        	sampleExistingServer_ = serviceExistingServer_;
-        }
-      }
-      else {
-        sampleExistingServer_ = server;
-        sampleProjectURL_ = projectURL;
-      }
-      return status;
-    }
-    catch (Exception e) {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_BAD_SERVER_CONFIG"), Status.ERROR, e);
-      env.getStatusHandler().reportError(status);
-      return status;
-    }
-  }
-
-  public void setServiceProject(IProject serviceProject) {
-    serviceProject_ = serviceProject;
-  }
-
-  public void setSampleProject(IProject sampleProject) {
-    sampleProject_ = sampleProject;
-  }
-
-  public void setServiceServerTypeID(String serviceServerTypeID) {
-    serviceServerTypeID_ = serviceServerTypeID;
-  }
-
-  public void setSampleServerTypeID(String sampleServerTypeID) {
-    sampleServerTypeID_ = sampleServerTypeID;
-  }
-
-  public void setServiceExistingServer(IServer serviceExistingServer) {
-    serviceExistingServer_ = serviceExistingServer;
-  }
-
-  public IServer getServiceExistingServer() {
-    return serviceExistingServer_;
-  }
-
-  public String getServiceExistingServerInstId() {
-	String id = null;
-	IServerWorkingCopy wc = null;
-
-	if (serviceExistingServer_!=null){
-	  wc = serviceExistingServer_.createWorkingCopy();
-	  id = (wc!=null ? wc.getId() : null);
-	}
-
-	return id;
-  }
-
-  public String getSampleExistingServerInstId(){
-	String id = null;
-	IServerWorkingCopy wc = null;
-	if (sampleExistingServer_!=null){
-	  wc = sampleExistingServer_.createWorkingCopy();
-	  id = (wc!=null ? wc.getId() : null);
-	}
-
-	return id;
-	
-  }
-  
-  public void setSampleExistingServer(IServer sampleExistingServer) {
-    sampleExistingServer_ = sampleExistingServer;
-  }
-
-  public IServer getSampleExistingServer() {
-    return sampleExistingServer_;
-  }
-
-  public String getServiceProjectURL() {
-    return serviceProjectURL_;
-  }
-
-  public String getSampleProjectURL() {
-    return sampleProjectURL_;
-  }
-  
-  public void setClientTypeRuntimeServer(TypeRuntimeServer clientId){
-  	this.clientIds_ = clientId;
-  }
-  
-  /**
-   * @return Returns the addedProjectToServer_.
-  */
-  public boolean getAddedProjectToServer() {
-    return addedProjectToServer_;
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartProjectCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartProjectCommand.java
index c2d06c1..ef01e27 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartProjectCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartProjectCommand.java
@@ -13,22 +13,21 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.common.WebServiceStartServerRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.server.core.IServer;
 
-public class StartProjectCommand extends SimpleCommand {
-
-private java.lang.String DESCRIPTION = "Start Web Project";
-private java.lang.String LABEL = "StartProjectCommand";
-private MessageUtils msgUtils_;
+public class StartProjectCommand extends AbstractDataModelOperation 
+{
 
 private Boolean creationScenario_ = Boolean.TRUE;
 
@@ -39,45 +38,31 @@
 private String sampleServerTypeID_;
 private IServer serviceExistingServer_;
 private IServer sampleExistingServer_;
-private String  moduleName_;
 
-// rm private Model model_;
 
 /**
  * Default CTOR;
  */
-public StartProjectCommand( String moduleName ) {
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	setDescription(DESCRIPTION);
-	setName(LABEL);    
-    //TODO setRunInWorkspaceModifyOperation(false);
-	
-	moduleName_ = moduleName;
+public StartProjectCommand( ) {
+
 }
 
 /**
  * Default CTOR;
  */
 public StartProjectCommand(boolean creationScenario ) {
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	setDescription(DESCRIPTION);
-	setName(LABEL);
-	
-	//TODO setRunInWorkspaceModifyOperation(false);
 	creationScenario_ = new Boolean(creationScenario);
 }
 
 /**
  * Execute the command
  */
-public Status execute(Environment env)
+public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
 {
-    
+    IEnvironment env = getEnvironment();    
   
-    Status status = new SimpleStatus( "" );
-    env.getProgressMonitor().report(msgUtils_.getMessage("PROGRESS_INFO_START_WEB_PROJECT"));
+    IStatus status = Status.OK_STATUS;
+    ProgressUtils.report( monitor, ConsumptionMessages.PROGRESS_INFO_START_WEB_PROJECT);
     
     
     IProject project = ((creationScenario_.booleanValue()) ? serviceProject_ : sampleProject_);
@@ -88,14 +73,14 @@
     }
     if (project == null)
     {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_PROJECT_NOT_FOUND"), Status.ERROR);  
+      status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_PROJECT_NOT_FOUND );  
       env.getStatusHandler().reportError(status);
       return status;
     }	
-    IServer instance = ServerUtils.getServerForModule(ServerUtils.getModule(project, moduleName_), serverTypeID, server, true, EnvironmentUtils.getIProgressMonitor(env));
+    IServer instance = ServerUtils.getServerForModule(ServerUtils.getModule(project), serverTypeID, server, true, monitor );
     if (instance == null)
     {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_INSTANCE_NOT_FOUND"), Status.ERROR);
+      status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_INSTANCE_NOT_FOUND );
       env.getStatusHandler().reportError(status);
       return status;
     }
@@ -105,19 +90,19 @@
    		AbstractStartServer startServerCommand = null;
    		WebServiceStartServerRegistry reg = WebServiceStartServerRegistry.getInstance();
      	startServerCommand = (AbstractStartServer)reg.getServerStartByTypeId(instance.getServerType().getId());
-    	startServerCommand.StartServer(project, instance, EnvironmentUtils.getIProgressMonitor(env), isWebProjectStartupRequested_);
+    	startServerCommand.StartServer(project, instance, monitor, isWebProjectStartupRequested_);
     	return status;
    	}
   catch (CoreException ce )
   	{
     	IStatus embeddedStatus = ce.getStatus();
-    	status = EnvironmentUtils.convertIStatusToStatus(embeddedStatus);
+    	status = embeddedStatus;
     	env.getStatusHandler().reportError(status);
   		return status;
   	}
    catch (Exception e)
    	{
-       status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SERVER"), Status.ERROR, e);
+       status = StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SERVER, e);
        env.getStatusHandler().reportError(status);
    	   return status;
    	}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartServerCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartServerCommand.java
deleted file mode 100644
index c69dd45..0000000
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartServerCommand.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.jst.ws.internal.consumption.command.common;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-
-/**
- * (Re)Starts and publishes the server specifed by the serverInstanceId attribute.
- * 
- *
- */
-public class StartServerCommand extends SimpleCommand
-{
-  private java.lang.String DESCRIPTION = "(Re)Start and publish the server";
-  private java.lang.String LABEL = "StartServerCommand";
-  private MessageUtils msgUtils_;
-  private IProgressMonitor monitor;
-  private Log log;
-  private boolean forcePublish_;
-  private boolean doAsyncPublish_;
-  
-	private String serverInstanceId;
-	
-  
-	public StartServerCommand()
-  {
-    String pluginId = "org.eclipse.jst.ws.consumption";
-    msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-    setDescription(DESCRIPTION);
-    setName(LABEL);
-    log             = new EclipseLog();
-    forcePublish_   = false;
-    doAsyncPublish_ = true;
-  }
-	 
-  public StartServerCommand( boolean forcePublish, boolean doAsyncPublish )
-  {
-    this();
-    
-    forcePublish_   = forcePublish;
-    doAsyncPublish_ = doAsyncPublish;
-  }
-
-  public Status execute(Environment env)
-  {
-    Status status = new SimpleStatus("");
-
-    IServer server = ServerCore.findServer(serverInstanceId);
-    if (server == null)
-    {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_INSTANCE_NOT_FOUND"), Status.ERROR);
-      env.getStatusHandler().reportError(status);
-      return status;
-    }
-
-    monitor = EnvironmentUtils.getIProgressMonitor(env);
-    int serverState = server.getServerState();
-    int publishState = server.getServerPublishState();
-    
-    //Publish if required
-    switch (publishState)
-    {
-      case IServer.PUBLISH_STATE_INCREMENTAL:
-        if (server.canPublish().getSeverity() == IStatus.OK)
-        {
-          status = publish(server, IServer.PUBLISH_INCREMENTAL);
-          if (status.getSeverity() == Status.ERROR)
-          {
-            env.getStatusHandler().reportError(status);
-            return status;
-          }
-        }    
-        break;
-      case IServer.PUBLISH_STATE_FULL:
-        if (server.canPublish().getSeverity() == IStatus.OK)
-        {
-          status = publish(server, IServer.PUBLISH_FULL);
-          if (status.getSeverity() == Status.ERROR)
-          {
-            env.getStatusHandler().reportError(status);
-            return status;
-          }
-        }
-        break;
-        
-      case IServer.PUBLISH_STATE_UNKNOWN:
-        if (server.canPublish().getSeverity() == IStatus.OK)
-        {
-          status = publish(server, IServer.PUBLISH_INCREMENTAL);
-          if (status.getSeverity() == Status.ERROR)
-          {
-            env.getStatusHandler().reportError(status);
-            return status;
-          }
-        }
-        break;  
-
-        //TODO: Reassess need for this, since Tomcat should know
-        // whether it needs to be published or not (or publish should
-        // simply always be driven by us.
-        case IServer.PUBLISH_STATE_NONE:
-        {
-          if( forcePublish_ )
-          {
-            status = publish(server, IServer.PUBLISH_INCREMENTAL);
-            
-            if (status.getSeverity() == Status.ERROR)
-            {
-              env.getStatusHandler().reportError(status);
-              return status;
-            }  
-          }
-          
-    	  break;  
-        }
-      
-        default:
-    }
-
-
-    switch (serverState)
-    {
-      case IServer.STATE_STOPPED:
-        if (server.canStart(ILaunchManager.RUN_MODE).getSeverity()==IStatus.OK)
-        {
-          status = start(server);
-          if (status.getSeverity() == Status.ERROR)
-          {
-            env.getStatusHandler().reportError(status);
-            return status;
-          }       
-        }
-        break;
-      case IServer.STATE_STARTED:    	
-    	boolean shouldRestart = server.getServerRestartState();    	
-    	//TODO Ideally getServerRestartState() returning true should be a sufficient
-    	//condition for us to restart. However, getServerRestartState() seems to 
-    	//sometimes pessimistically return true when it doesn't need to for Tomcat 
-    	//servers. In order to curb the number of restarts, we will only 
-    	//restart if a publish was required earlier in this execute method AND 
-    	//getServerRestartState() returns true. 
-    	//A publish is normally required when a module is added to the server.
-    	
-    	if (publishState != IServer.PUBLISH_STATE_NONE && shouldRestart && server.canRestart(ILaunchManager.RUN_MODE).getSeverity()==IStatus.OK)    	  
-        {
-          status = restart(server);
-          if (status.getSeverity() == Status.ERROR)
-          {
-            env.getStatusHandler().reportError(status);
-            return status;
-          }       
-        }
-    }
-    
-    return status;
-  }
-
-  private Status publish(final IServer server, final int kind)
-  {
-    Status status = new SimpleStatus("");
-    final IStatus[] istatus = new IStatus[1]; 
-    monitor.subTask(msgUtils_.getMessage("PROGRESS_INFO_PUBLISHING_SERVER"));
-    IRunnableWithProgress runnable = new IRunnableWithProgress()
-	{
-  		public void run(IProgressMonitor shellMonitor) throws InvocationTargetException, InterruptedException
-		{
-  			istatus[0] = server.publish(kind, shellMonitor);
-		}  		
-	};
-	
-	try
-	{
-		if( doAsyncPublish_ )
-		{	
-		  PlatformUI.getWorkbench().getProgressService().run(true,false,runnable);
-		}
-		else
-		{
-		  runnable.run( monitor );
-		}
-		
-	}
-	catch(InvocationTargetException ite)
-	{
-	  istatus[0] = new org.eclipse.core.runtime.Status( IStatus.ERROR, "id", 0, ite.getMessage(), ite );
-	  ite.printStackTrace();
-	}
-	catch(InterruptedException ie)
-	{
-	  istatus[0] = new org.eclipse.core.runtime.Status( IStatus.ERROR, "id", 0, ie.getMessage(), ie );
-	  ie.printStackTrace();
-	}
-    
-    
-	if (istatus[0].getSeverity() != IStatus.OK)
-    {
-      status = EnvironmentUtils.convertIStatusToStatus(istatus[0]);
-      return status;
-    }
-    
-    log.log(Log.INFO, 5051, this, "publishProject", "IServer=" + server + ", Publish command completed");
-    return status;
-  }
-
-  private Status restart(IServer server)
-  {
-    Status status = new SimpleStatus("");
-    try
-    {
-      monitor.subTask(msgUtils_.getMessage("PROGRESS_INFO_STARTING_SERVER"));
-      server.synchronousRestart(ILaunchManager.RUN_MODE, monitor);
-      log.log(Log.INFO, 5052, this, "execute", "IServer=" + server + ", Restart command completed");
-      return status;
-    } catch (CoreException e)
-    {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SERVER"), Status.ERROR, e);
-      return status;
-    }
-
-  }
-
-  private Status start(IServer server)
-  {
-    Status status = new SimpleStatus("");
-    try
-    {
-      monitor.subTask(msgUtils_.getMessage("PROGRESS_INFO_STARTING_SERVER"));
-      server.synchronousStart(ILaunchManager.RUN_MODE, monitor);
-      log.log(Log.INFO, 5053, this, "execute", "IServer=" + server + ", Start command completed");
-      return status;
-    } catch (CoreException e)
-    {
-      status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_SERVER"), Status.ERROR, e);
-      return status;
-    }
-  }
-
-  public void setServerInstanceId(String serverInstanceId)
-  {
-    this.serverInstanceId = serverInstanceId;
-  }	
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartTomcatServer.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartTomcatServer.java
deleted file mode 100644
index 508bc4d..0000000
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/StartTomcatServer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.consumption.command.common;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IServer;
-
-public class StartTomcatServer extends AbstractStartServer {
-	
-	protected void addJarsToClassPath(IServer tInstance) throws CoreException {
-
-	}
-
-	protected void validateRemoteServerPath(IServer server)
-			throws CoreException {
-	}
-
-	public void stopServer(IServer server) throws CoreException {
-
-		if (server != null) {
-
-			if (server.getServerState() != IServer.STATE_STOPPED) {
-				server.synchronousStop(false);
-			}
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FacetMatcher.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FacetMatcher.java
new file mode 100644
index 0000000..5512421
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FacetMatcher.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.common;
+
+import java.util.Set;
+
+public class FacetMatcher
+{
+  private boolean match;
+  private Set facetsThatMatched;
+  private Set facetsToAdd;
+  
+  public Set getFacetsThatMatched()
+  {
+    return facetsThatMatched;
+  }
+  public void setFacetsThatMatched(Set facetsThatMatched)
+  {
+    this.facetsThatMatched = facetsThatMatched;
+  }
+  public Set getFacetsToAdd()
+  {
+    return facetsToAdd;
+  }
+  public void setFacetsToAdd(Set facetsToAdd)
+  {
+    this.facetsToAdd = facetsToAdd;
+  }
+  public boolean isMatch()
+  {
+    return match;
+  }
+  public void setMatch(boolean match)
+  {
+    this.match = match;
+  }
+  
+
+  
+  
+
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FacetUtils.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FacetUtils.java
new file mode 100644
index 0000000..73a7388
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FacetUtils.java
@@ -0,0 +1,630 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.common;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.VersionFormatException;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
+import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
+
+public class FacetUtils
+{
+
+  /**
+   * Returns a list of valid projects. Valid projects include projects with the facets nature or
+   * projects with the Java nature.
+   * @return IProject[] an array of valid projects
+   */
+  public static IProject[] getAllProjects()
+  {
+    //Return all projects in the workspace that have the project facet nature or that do not have the project
+    //facet nature but have the Java nature.
+    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
+    ArrayList validProjects = new ArrayList();
+    for (int i = 0; i < projects.length; i++)
+    {
+      try
+      {
+        IFacetedProject facProject = ProjectFacetsManager.create(projects[i]);
+        if (facProject != null)
+        {
+          //Add it to the list
+          validProjects.add(projects[i]);
+        }
+        else
+        {
+          //Check if it's a Java project        
+          IJavaProject javaProject = null;    
+          javaProject = JavaCore.create(projects[i]);    
+          if (javaProject != null)
+          {
+            //Add it to the list
+            validProjects.add(projects[i]);
+          }
+        }
+      }
+      catch (CoreException ce)
+      {        
+      }      
+    }
+    return (IProject[])validProjects.toArray(new IProject[]{});
+  }
+  
+  /*
+   * @returns the set of project facets currently installed on this project. If the project
+   * is not a faceted project but is a Java project, facets are inferred from the Java project. 
+   *   (element type: {@see IProjectFacetVersion}) 
+   */
+  public static Set getFacetsForProject(String projectName)
+  {
+    Set facetVersions = null;
+    IProject project = ProjectUtilities.getProject(projectName);
+    if (project!=null && project.exists())
+    {
+      try
+      {
+        IFacetedProject fproject = ProjectFacetsManager.create(project);
+        if (fproject != null)
+        {
+          facetVersions = fproject.getProjectFacets();
+        } else
+        {
+          //If this is not a faceted project, it may still be okay if it is a Java project
+          //and the client runtime supports a Java project.
+          IJavaProject javaProject = null;
+          javaProject = JavaCore.create(project);    
+          if (javaProject != null)
+          {
+            facetVersions = FacetUtils.getFacetsForJavaProject(javaProject);
+          }
+        }
+      } catch (CoreException ce)
+      {
+
+      }      
+    }
+    
+    return facetVersions;
+    
+  }
+  
+  public static Set getTemplates(RequiredFacetVersion[] requiredFacetVersions)
+  {
+    
+    //Get the templates that support the actions
+    Set templates = new HashSet();
+    
+    for( Iterator itr = ProjectFacetsManager.getTemplates().iterator(); itr.hasNext(); )
+    {
+        final IFacetedProjectTemplate template = (IFacetedProjectTemplate) itr.next();
+        String templateId = template.getId();
+        if (templateId.indexOf("ear") == -1 && templateId.indexOf("wst.web") == -1) //Don't include the EARs!!
+        {
+          //TODO final Set initial = template.getInitialProjectFacets(); 
+          Set initial = getInitialFacetVersionsFromTemplate(templateId);         
+          FacetMatcher fm = match(requiredFacetVersions, initial);
+          if (fm.isMatch())
+          {
+            templates.add(template);
+          }
+        }
+    }    
+    
+    return templates;
+    
+  }
+  
+  public static Set getInitialFacetVersionsFromTemplate(String templateId)
+  {
+    IFacetedProjectTemplate template = ProjectFacetsManager.getTemplate(templateId);
+    Set fixedFacets = template.getFixedProjectFacets(); 
+    HashSet initial = new HashSet(); 
+    for (Iterator itr2 = fixedFacets.iterator(); itr2.hasNext(); ) 
+    { 
+      IProjectFacet facet = (IProjectFacet) itr2.next(); 
+      IProjectFacetVersion highestFacetVersion = null;
+      try {
+    	  if (isJavaFacet(facet)) //special case the java facet because 1.4 is a better default than 5.0 for now.
+    	  {
+    		  highestFacetVersion = facet.getVersion("1.4");
+    	  } else {
+    		  highestFacetVersion = facet.getLatestVersion();
+    	  }
+      } catch (VersionFormatException e) {
+      } catch (CoreException e) {
+      }
+      initial.add(highestFacetVersion); 
+    }             
+    
+    return initial;
+  }
+  
+  public static String[] getTemplateLabels(String[] templateIds)
+  {
+    String[] labels = new String[templateIds.length];
+    for (int i=0; i<templateIds.length; i++)
+    {
+      IFacetedProjectTemplate template = ProjectFacetsManager.getTemplate(templateIds[i]);      
+      labels[i] = template.getLabel();
+    }
+    return labels;
+    
+  }
+  
+  public static String getTemplateIdByLabel(String templateLabel)
+  {
+    for( Iterator itr = ProjectFacetsManager.getTemplates().iterator(); itr.hasNext(); )
+    {
+        final IFacetedProjectTemplate template = (IFacetedProjectTemplate) itr.next();
+        if (template.getLabel().equals(templateLabel))
+        {
+          return template.getId();
+
+        }
+    }
+    
+    return "";
+  }
+  
+  public static String getTemplateLabelById(String templateId)
+  {
+    IFacetedProjectTemplate template = ProjectFacetsManager.getTemplate(templateId);
+    return template.getLabel();
+  }
+  
+  public static Set getInstallActions(Set projectFacetVersions)
+  {
+    HashSet actions = new HashSet();
+    
+    Iterator facets = projectFacetVersions.iterator();
+    
+    while(facets.hasNext())
+    {
+      IProjectFacetVersion fv = (IProjectFacetVersion)facets.next();
+      Action action = new Action(Type.INSTALL, fv, null);
+      actions.add(action);
+    }
+    
+    return actions;
+  }
+  
+  public static FacetMatcher match(RequiredFacetVersion[] requiredFacetVersions, Set projectFacetVersions)
+  {
+    FacetMatcher fm = new FacetMatcher();
+    HashSet facetsToAdd = new HashSet();
+    HashSet facetsThatMatched = new HashSet();
+    for (int i=0; i<requiredFacetVersions.length; i++)
+    {
+      RequiredFacetVersion rfv = requiredFacetVersions[i];
+      IProjectFacetVersion rpfv = rfv.getProjectFacetVersion();
+      String rid = rpfv.getProjectFacet().getId();
+      String rv = rpfv.getVersionString();
+      boolean facetPresent = false;
+
+      //Is the project facet present? or a later version of applicable.
+      Iterator itr = projectFacetVersions.iterator();
+      while(itr.hasNext())
+      {
+        IProjectFacetVersion pfv = (IProjectFacetVersion)itr.next();
+        String id = pfv.getProjectFacet().getId();
+        String version = pfv.getVersionString();
+        if (rid.equals(id))
+        {
+          if (rv.equals(version))
+          {
+            //found an exact match
+            facetPresent = true;
+            facetsThatMatched.add(pfv);
+          }
+          else
+          {
+            if (rfv.getAllowNewer())
+            {
+              if (greaterThan(version, rv))
+              {
+                //found a match
+                facetPresent = true;
+                facetsThatMatched.add(pfv);
+              }
+            }
+          }
+          //No need to keep iterating since we hit a facet with the same id;
+          break;
+        }
+      }
+      
+      //if not present, put it in the list to check if it can be added.
+      if (!facetPresent)
+      {
+        facetsToAdd.add(rpfv);
+      }
+      
+    }
+    
+    //Check if the facetsToAdd can be added
+    if (facetsToAdd.size() > 0)
+    {
+      Set actions = getInstallActions(facetsToAdd);
+      if( ProjectFacetsManager.check( projectFacetVersions, actions ).getSeverity() == IStatus.OK )
+      {
+        //Facets can be added so there is a match
+        fm.setMatch(true);
+        fm.setFacetsThatMatched(facetsThatMatched);
+        fm.setFacetsToAdd(facetsToAdd);        
+      }
+      else
+      {
+        fm.setMatch(false);
+      }      
+    }
+    else
+    {
+      //Facets can be added so there is a match
+      fm.setMatch(true);
+      fm.setFacetsThatMatched(facetsThatMatched);
+      fm.setFacetsToAdd(facetsToAdd);
+    }
+    
+    return fm;
+  }
+  
+  public static IStatus addRequiredFacetsToProject(IProject project, RequiredFacetVersion[] rfvs, IProgressMonitor monitor)
+  {
+    IStatus status = Status.OK_STATUS;
+    
+    Set facetsToAdd = null;
+    try
+    {
+      IFacetedProject fProject = ProjectFacetsManager.create(project);
+      if (fProject != null)
+      {
+        Set projectFacetVersions = fProject.getProjectFacets();
+        FacetMatcher projectFacetMatcher = FacetUtils.match(rfvs, projectFacetVersions);
+        if (projectFacetMatcher.isMatch())
+        {
+          facetsToAdd = projectFacetMatcher.getFacetsToAdd();
+          if (facetsToAdd.size() > 0)
+          {
+            Set actions = FacetUtils.getInstallActions(facetsToAdd);
+            fProject.modify(actions, monitor);
+          }
+        }            
+      }
+    } catch (CoreException ce)
+    {
+      //Display an appropriate error message to the user.
+      //A CoreException could have been thrown for any of the following three reasons
+      //1. The project does not exist
+      //2. The project is not open
+      //3. There was a problem adding the facets to the project.
+      
+      if (!project.exists())
+      {
+        status = StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_PROJECT_DOES_NOT_EXIST, new String[] { project.getName()}));            
+      }
+      else if (!project.isOpen())
+      {
+        status = StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_PROJECT_IS_NOT_OPEN, new String[] { project.getName()}));            
+      }
+      else
+      { 
+        //Iterate over facets to add to form error message
+        Iterator itr = facetsToAdd.iterator();
+        int size = facetsToAdd.size();
+        if (size > 0)
+        {          
+          IProjectFacetVersion firstProjectFacetVersion = (IProjectFacetVersion)itr.next();
+          String facetList = firstProjectFacetVersion.getProjectFacet().getLabel();
+          while (itr.hasNext())
+          {
+            IProjectFacetVersion pfv = (IProjectFacetVersion)itr.next();
+            String pfvLabel = pfv.getProjectFacet().getLabel();
+            facetList = NLS.bind(ConsumptionMessages.MSG_FACETS, new String[] {facetList, pfvLabel});
+          }
+          status = StatusUtils.errorStatus(NLS.bind(ConsumptionMessages.MSG_ERROR_ADDING_FACETS_TO_PROJECT, new String[] { project.getName(), facetList}));
+        }            
+      }
+    }
+    
+    return status;
+  }
+  
+  public static Set getFacetsForJavaProject(IJavaProject javaProject)
+  {
+    Set facets = new HashSet();
+    String jdkComplianceLevel = null;
+    if (javaProject!=null)
+    {
+      jdkComplianceLevel = javaProject.getOption("org.eclipse.jdt.core.compiler.compliance", false);
+      if (jdkComplianceLevel == null)
+      {
+        jdkComplianceLevel = (String)JavaCore.getDefaultOptions().get("org.eclipse.jdt.core.compiler.compliance");
+        if (jdkComplianceLevel == null)
+        {
+          jdkComplianceLevel = "1.4";
+        }
+      }
+    }
+    
+    IProjectFacet javaFacet = ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_JAVA);
+    IProjectFacetVersion javaFacetVersion = null;
+    if (jdkComplianceLevel.equals("1.3"))
+    {
+      javaFacetVersion = javaFacet.getVersion("1.3");
+    }
+    else if (jdkComplianceLevel.equals("1.4"))
+    {
+      javaFacetVersion = javaFacet.getVersion("1.4");
+    }
+    else if (jdkComplianceLevel.equals("1.5"))
+    {
+      javaFacetVersion = javaFacet.getVersion("5.0");
+    }
+    else
+    {
+      javaFacetVersion = javaFacet.getVersion("1.4");
+    }
+ 
+    facets.add(javaFacetVersion);
+    IProjectFacet utilityFacet = ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_UTILITY_MODULE);
+    IProjectFacetVersion utilityFacetVersion = null;
+    try
+    {
+      utilityFacetVersion = utilityFacet.getLatestVersion();
+    }
+    catch (CoreException ce)
+    {
+      
+    }
+    if (utilityFacetVersion != null)
+    {
+      facets.add(utilityFacetVersion);
+    }
+    return facets;
+  }
+  
+  
+  //Methods related to facet runtimes.
+  
+  public static Set getRuntimes(RequiredFacetVersion[] requiredFacetVersions)
+  {
+    //Form the sets of IProjectFacetVersions these RequiredFacetVersions represent.
+    ArrayList listOfFacetSets = new ArrayList();
+    
+    HashSet facets = new HashSet();
+    int javaFacetIndex = -1;
+    for (int i=0; i<requiredFacetVersions.length; i++)
+    {
+      IProjectFacetVersion pfv = requiredFacetVersions[i].getProjectFacetVersion();
+      if (FacetUtils.isJavaFacet(pfv.getProjectFacet()))
+      {
+        //Remember the index
+        javaFacetIndex = i;
+      }
+      facets.add(requiredFacetVersions[i].getProjectFacetVersion());
+    }
+    
+    listOfFacetSets.add(facets);
+    
+    //If the java facet was one of the facets in the set, and new versions of java are allowed,
+    //create sets that contain the newer permitted versions of the java facets.
+    if (javaFacetIndex > -1)
+    {
+      ArrayList permittedJavaVersions = new ArrayList();
+      RequiredFacetVersion rfv = requiredFacetVersions[javaFacetIndex];
+      if (rfv.getAllowNewer())
+      {
+        String version = rfv.getProjectFacetVersion().getVersionString();      
+        Set allVersions = rfv.getProjectFacetVersion().getProjectFacet().getVersions();
+        Iterator itr = allVersions.iterator();
+        while (itr.hasNext())
+        {
+          IProjectFacetVersion thisPfv = (IProjectFacetVersion)itr.next();
+          String thisVersion = thisPfv.getVersionString();
+          if (greaterThan(thisVersion, version))
+          {
+            permittedJavaVersions.add(thisVersion);
+          }          
+        }
+        
+        String[] javaVersions = (String[])permittedJavaVersions.toArray(new String[0]);
+        
+        for (int j=0; j<javaVersions.length; j++)
+        {
+          HashSet thisFacetSet = new HashSet();
+          
+          for (int k=0; k<requiredFacetVersions.length; k++)
+          {
+             if (k==javaFacetIndex)
+             {
+               IProjectFacetVersion pfv = requiredFacetVersions[k].getProjectFacetVersion().getProjectFacet().getVersion(javaVersions[j]);
+               thisFacetSet.add(pfv);
+             }
+             else
+             {
+               IProjectFacetVersion pfv = requiredFacetVersions[k].getProjectFacetVersion();
+               thisFacetSet.add(pfv);
+             }
+          }
+          
+          listOfFacetSets.add(thisFacetSet);          
+        }
+      }
+    }
+    
+    //Return the union of runtimes for all the facetSets.
+    return getRuntimes((Set[])listOfFacetSets.toArray(new Set[0]));
+    
+  }  
+    
+  public static Set getRuntimes(Set[] facetSets)  
+  {
+    HashSet unionSet = new HashSet();
+    for (int i=0; i<facetSets.length; i++)
+    {
+      Set facets = facetSets[i];
+      Set runtimes = RuntimeManager.getRuntimes(facets);
+      Iterator itr = runtimes.iterator();
+      while (itr.hasNext())
+      {
+        IRuntime runtime = (IRuntime)itr.next();
+        if (!unionSet.contains(runtime))
+        {
+          unionSet.add(runtime);
+        }
+      }
+    }
+    return unionSet;
+  }
+  
+  public static boolean doesRuntimeSupportFacets(IRuntime facetRuntime, Set projectFacetVersions)
+  {
+    Set runtimes = RuntimeManager.getRuntimes(projectFacetVersions);
+    Iterator itr = runtimes.iterator();
+    while (itr.hasNext())
+    {
+      IRuntime runtime = (IRuntime)itr.next();
+      if (runtime.getName().equals(facetRuntime.getName()))
+      {
+        return true;
+      }
+    }
+    
+    return false;
+  }
+  
+  /*
+   * @param versionA version number of the form 1.2.3
+   * @param versionA version number of the form 1.2.3
+   * @return boolean returns whether versionA is greater than versionB
+   */
+  private static boolean greaterThan(String versionA, String versionB)
+  {
+    StringTokenizer stA = new StringTokenizer(versionA, ".");
+    StringTokenizer stB = new StringTokenizer(versionB, ".");
+    
+    int sizeA = stA.countTokens();
+    int sizeB = stB.countTokens();
+    
+    int size;
+    if (sizeA < sizeB)
+    {
+      size = sizeA;
+    }
+    else
+      size = sizeB;
+    
+    for (int i=0; i<size; i++)
+    {
+      int a = Integer.parseInt(stA.nextToken());
+      int b = Integer.parseInt(stB.nextToken());
+      if (a!=b)
+      {
+        return a > b;
+      }      
+    }
+    
+    return sizeA > sizeB;
+  }
+  
+  public static boolean isJavaFacet(IProjectFacet pf)
+  {
+    if (pf.getId().equals("jst.java"))
+      return true;
+    else
+      return false;
+  }
+  
+  public static boolean isJavaProject(IProject project)
+  {
+    //Check if it's a faceted project
+    try
+    {
+      IFacetedProject fProject = ProjectFacetsManager.create(project);
+      if (fProject != null)
+      {
+        //Return true if it's a utility project
+        if (J2EEUtils.isJavaComponent(project))
+        {
+          return true;
+        }
+        else
+        {
+          //See if the java facet is the only one it has.
+          Set facets = fProject.getProjectFacets();
+          if (facets.size()==1)
+          {
+            IProjectFacetVersion pfv = (IProjectFacetVersion)facets.iterator().next();
+            if (isJavaFacet(pfv.getProjectFacet()))
+            {
+              return true;
+            }
+          }
+        }
+      }
+      else
+      {
+        IJavaProject javaProject = null;    
+        javaProject = JavaCore.create(project);    
+        if (javaProject != null)
+        {
+          return true;
+        }        
+      }
+    } catch (CoreException ce)
+    {
+      
+    }
+
+    return false;
+  }
+  
+  public static boolean isUtilityTemplate(String templateId)
+  {
+    if (ProjectFacetsManager.isTemplateDefined(templateId))
+    {
+      if (templateId.equals("template.jst.utility"))
+      {
+        return true;
+      }
+    }
+    
+    return false;
+  }
+  
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FolderResourceFilter.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FolderResourceFilter.java
index 5c0328d..e78fcf0 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FolderResourceFilter.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/FolderResourceFilter.java
@@ -15,11 +15,13 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.AnyFilter;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
+import org.eclipse.osgi.util.NLS;
 
 
 /**
-* This is a kind of {@link Filter} that accepts only objects
+* This is a kind of Filter that accepts only objects
 * which indicate a Java resource. In particular, any
 * {@link org.eclipse.core.resources.IResource} whose
 * pathname, or any object whose string representation as
@@ -30,9 +32,6 @@
 public class FolderResourceFilter extends AnyFilter
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
   /**
   * Constructs a new <code>JavaResourceFilter</code> that filters
   * "<code>.java</code>" and "<code>.class</code>" objects.
@@ -46,7 +45,7 @@
   */
   public String getName ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%FOLDER_FILTER_NAME");
+    return ConsumptionMessages.FOLDER_FILTER_NAME;
   }
 
   /**
@@ -55,7 +54,7 @@
   */
   public String getDescription ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%FOLDER_FILTER_DESC");
+    return ConsumptionMessages.FOLDER_FILTER_DESC;
   }
 
  public IStatus statusOf ( Object object )
@@ -66,7 +65,7 @@
         IStatus.ERROR,
         WebServiceConsumptionPlugin.ID,
         0,
-        WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NULL_OBJECT"),
+        ConsumptionMessages.FILTER_MSG_ERROR_NULL_OBJECT,
         null
       );
     }
@@ -83,16 +82,11 @@
           IStatus.ERROR,
           WebServiceConsumptionPlugin.ID,
           0,
-          WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NOT_FOLDER",new Object[] {name}),
+          NLS.bind(ConsumptionMessages.FILTER_MSG_ERROR_NOT_FOLDER,new Object[] {name}),
           null
         );
       }
     }
     return new Status(IStatus.OK,WebServiceConsumptionPlugin.ID,0,"",null);
   }
-
-  private boolean acceptsName ( String name )
-  {
-    return true;
-  }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/JavaResourceFilter.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/JavaResourceFilter.java
index fc44f91..a15eb54 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/JavaResourceFilter.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/JavaResourceFilter.java
@@ -15,11 +15,13 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.AnyFilter;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
+import org.eclipse.osgi.util.NLS;
 
 
 /**
-* This is a kind of {@link Filter} that accepts only objects
+* This is a kind of Filter that accepts only objects
 * which indicate a Java resource. In particular, any
 * {@link org.eclipse.core.resources.IResource} whose
 * pathname, or any object whose string representation as
@@ -30,9 +32,6 @@
 public class JavaResourceFilter extends AnyFilter
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
   /**
   * A <code>JavaResourceFilter</code> constructed with this value will
   * accept "<code>.java</code>", but not "<code>.class</code>", objects.
@@ -83,7 +82,7 @@
   */
   public String getName ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%JAVA_FILTER_NAME");
+    return ConsumptionMessages.JAVA_FILTER_NAME;
   }
 
   /**
@@ -92,14 +91,13 @@
   */
   public String getDescription ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%JAVA_FILTER_DESC");
+    return ConsumptionMessages.JAVA_FILTER_DESC;
   }
 
   /**
   * Returns an {@link org.eclipse.core.runtime.IStatus}
   * describing the <code>Filter</code>'s assessment of
   * the given <code>object</code>.
-  * See {@link Filter#statusOf} for general comments.
   * @param object The object to filter.
   * @return An {@link org.eclipse.core.runtime.IStatus}
   * indicating whether or not if the given <code>object</code>
@@ -113,7 +111,7 @@
         IStatus.ERROR,
         WebServiceConsumptionPlugin.ID,
         0,
-        WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NULL_OBJECT"),
+        ConsumptionMessages.FILTER_MSG_ERROR_NULL_OBJECT,
         null
       );
     }
@@ -130,7 +128,7 @@
           IStatus.ERROR,
           WebServiceConsumptionPlugin.ID,
           0,
-          WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NOT_FILE",new Object[] {name}),
+          NLS.bind(ConsumptionMessages.FILTER_MSG_ERROR_NOT_FILE,new Object[] {name}),
           null
         );
       }
@@ -147,7 +145,7 @@
         IStatus.ERROR,
         WebServiceConsumptionPlugin.ID,
         0,
-        WebServiceConsumptionPlugin.getMessage("%JAVA_FILTER_MSG_ERROR_WRONG_EXTENSION",new Object[] {name}),
+        NLS.bind(ConsumptionMessages.JAVA_FILTER_MSG_ERROR_WRONG_EXTENSION,new Object[] {name}),
         null
       );
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/MappingUtils.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/MappingUtils.java
index 10650e5..e8da476 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/MappingUtils.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/MappingUtils.java
@@ -41,7 +41,7 @@
   {
     IPath wsdlFolder=null;
 //  	IPath webModuleServerRoot = ResourceUtils.getWebModuleServerRoot( project ).getFullPath();
-  	IPath webModuleServerRoot = J2EEUtils.getWebContentPath(project, componentName);
+  	IPath webModuleServerRoot = J2EEUtils.getWebContentPath(project);
   	if (webModuleServerRoot != null )
   		wsdlFolder = webModuleServerRoot.append(WSDL_FOLDER);
     return wsdlFolder;
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/PropertiesResourceFilter.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/PropertiesResourceFilter.java
index 146b2f1..bf7f4f0 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/PropertiesResourceFilter.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/PropertiesResourceFilter.java
@@ -15,11 +15,13 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.AnyFilter;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
+import org.eclipse.osgi.util.NLS;
 
 
 /**
-* This is a kind of {@link Filter} that accepts only objects
+* This is a kind of Filter that accepts only objects
 * which indicate a Java resource. In particular, any
 * {@link org.eclipse.core.resources.IResource} whose
 * pathname, or any object whose string representation as
@@ -29,10 +31,6 @@
 */
 public class PropertiesResourceFilter extends AnyFilter
 {
-
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
  
   /**
   * Constructs a new <code>JavaResourceFilter</code> that filters
@@ -50,7 +48,7 @@
   */
   public String getName ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%PROPERTIES_FILTER_NAME");
+    return ConsumptionMessages.PROPERTIES_FILTER_NAME;
   }
 
   /**
@@ -59,14 +57,13 @@
   */
   public String getDescription ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%PROPERTIES_FILTER_DESC");
+    return ConsumptionMessages.PROPERTIES_FILTER_DESC;
   }
 
   /**
   * Returns an {@link org.eclipse.core.runtime.IStatus}
   * describing the <code>Filter</code>'s assessment of
   * the given <code>object</code>.
-  * See {@link Filter#statusOf} for general comments.
   * @param object The object to filter.
   * @return An {@link org.eclipse.core.runtime.IStatus}
   * indicating whether or not if the given <code>object</code>
@@ -80,7 +77,7 @@
         IStatus.ERROR,
         WebServiceConsumptionPlugin.ID,
         0,
-        WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NULL_OBJECT"),
+        ConsumptionMessages.FILTER_MSG_ERROR_NULL_OBJECT,
         null
       );
     }
@@ -97,7 +94,7 @@
           IStatus.ERROR,
           WebServiceConsumptionPlugin.ID,
           0,
-          WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NOT_FILE",new Object[] {name}),
+          NLS.bind(ConsumptionMessages.FILTER_MSG_ERROR_NOT_FILE,new Object[] {name}),
           null
         );
       }
@@ -114,7 +111,7 @@
         IStatus.ERROR,
         WebServiceConsumptionPlugin.ID,
         0,
-        WebServiceConsumptionPlugin.getMessage("%PROPERTIES_FILTER_MSG_ERROR_WRONG_EXTENSION",new Object[] {name}),
+        NLS.bind(ConsumptionMessages.PROPERTIES_FILTER_MSG_ERROR_WRONG_EXTENSION,new Object[] {name}),
         null
       );
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/RequiredFacetVersion.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/RequiredFacetVersion.java
new file mode 100644
index 0000000..2e2e11a
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/RequiredFacetVersion.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.jst.ws.internal.consumption.common;
+
+
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+
+public class RequiredFacetVersion
+{
+  private IProjectFacetVersion projectFacetVersion;
+  private boolean allowNewer;
+  
+  public boolean getAllowNewer()
+  {
+    return allowNewer;
+  }
+  public void setAllowNewer(boolean allowNewer)
+  {
+    this.allowNewer = allowNewer;
+  }
+  public IProjectFacetVersion getProjectFacetVersion()
+  {
+    return projectFacetVersion;
+  }
+  public void setProjectFacetVersion(IProjectFacetVersion projectFacetVersion)
+  {
+    this.projectFacetVersion = projectFacetVersion;
+  }  
+  
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/ScenarioCleanupCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/ScenarioCleanupCommand.java
index 4691d2f..91ef778 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/ScenarioCleanupCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/ScenarioCleanupCommand.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.jst.ws.internal.consumption.common;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
  *  This command is intended to clean up data after either the
@@ -21,28 +23,23 @@
  *  parser factory. 
  *
  */
-public class ScenarioCleanupCommand extends SimpleCommand
+public class ScenarioCleanupCommand extends AbstractDataModelOperation
 {
 
-  public Status execute(Environment environment) 
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-	WSDLParserFactory.killParser();
+	  WSDLParserFactory.killParser();
 	
-	return super.execute(environment);
-  }
-
-  public boolean isUndoable() 
-  {
-	return true;
+	  return Status.OK_STATUS;
   }
 
   
-  public Status undo(Environment environment) 
+  public IStatus undo( IProgressMonitor monitor, IAdaptable adaptable )
   {
-	// Even if the user cancels out of the wizard we want to
-	// kill the parser.
-	WSDLParserFactory.killParser();
-	
-	return super.undo(environment);
+	  // Even if the user cancels out of the wizard we want to
+	  // kill the parser.
+	  WSDLParserFactory.killParser();
+    
+    return Status.OK_STATUS;
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WSDLResourceFilter.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WSDLResourceFilter.java
index 7872f6d..8808195 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WSDLResourceFilter.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WSDLResourceFilter.java
@@ -15,11 +15,13 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.AnyFilter;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin;
+import org.eclipse.osgi.util.NLS;
 
 
 /**
-* This is a kind of {@link Filter} that accepts only objects
+* This is a kind of Filter that accepts only objects
 * which indicate a WSDL resource. In particular, any
 * {@link org.eclipse.core.resources.IResource} whose
 * pathname, or any object whose string representation as
@@ -29,10 +31,6 @@
 */
 public class WSDLResourceFilter extends AnyFilter
 {
-
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
   /**
   * Constructs a new <code>WSDLResourceFilter</code>.
   */
@@ -46,7 +44,7 @@
   */
   public String getName ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%WSDL_FILTER_NAME");
+    return ConsumptionMessages.WSDL_FILTER_NAME;
   }
 
   /**
@@ -55,14 +53,13 @@
   */
   public String getDescription ()
   {
-    return WebServiceConsumptionPlugin.getMessage("%WSDL_FILTER_DESC");
+    return ConsumptionMessages.WSDL_FILTER_DESC;
   }
 
   /**
   * Returns an {@link org.eclipse.core.runtime.IStatus}
   * describing the <code>Filter</code>'s assessment of
   * the given <code>object</code>.
-  * See {@link Filter#statusOf} for general comments.
   * @param object The object to filter.
   * @return An {@link org.eclipse.core.runtime.IStatus}
   * indicating whether or not if the given <code>object</code>
@@ -76,7 +73,7 @@
         IStatus.ERROR,
         WebServiceConsumptionPlugin.ID,
         0,
-        WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NULL_OBJECT"),
+        ConsumptionMessages.FILTER_MSG_ERROR_NULL_OBJECT,
         null
       );
     }
@@ -93,7 +90,7 @@
           IStatus.ERROR,
           WebServiceConsumptionPlugin.ID,
           0,
-          WebServiceConsumptionPlugin.getMessage("%FILTER_MSG_ERROR_NOT_FILE",new Object[] {name}),
+          NLS.bind(ConsumptionMessages.FILTER_MSG_ERROR_NOT_FILE,new Object[] {name}),
           null
         );
       }
@@ -110,7 +107,7 @@
         IStatus.ERROR,
         WebServiceConsumptionPlugin.ID,
         0,
-        WebServiceConsumptionPlugin.getMessage("%WSDL_FILTER_MSG_ERROR_WRONG_EXTENSION",new Object[] {name}),
+        NLS.bind(ConsumptionMessages.WSDL_FILTER_MSG_ERROR_WRONG_EXTENSION,new Object[] {name}),
         null
       );
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WebServiceStartServerRegistry.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WebServiceStartServerRegistry.java
index b03bf16..59b3831 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WebServiceStartServerRegistry.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/common/WebServiceStartServerRegistry.java
@@ -12,13 +12,12 @@
 package org.eclipse.jst.ws.internal.consumption.common;
 
 import java.util.Hashtable;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
 
 
 
@@ -54,8 +53,8 @@
       } 
       catch (Exception e)
       {
-        EclipseLog log = new EclipseLog();
-        log.log(Log.ERROR, 5047, this, "load", e);
+        ILog log = EnvironmentService.getEclipseLog();
+        log.log(ILog.ERROR, 5047, this, "load", e);
       }
       
     }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ArrayType.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ArrayType.java
index 3d8c7e4..0c7ce9c 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ArrayType.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ArrayType.java
@@ -26,8 +26,6 @@
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
   
-  private String fTypeName;
-
   /**
   *Constructor
   *
@@ -40,7 +38,6 @@
   public ArrayType(String name,String typeName)
   {
     super(name);
-    fTypeName = typeName;
   } 
 
  
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/AttributeElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/AttributeElement.java
index 720679f..c3cc514 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/AttributeElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/AttributeElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/BeanElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/BeanElement.java
index 853da9c..fc9c4f0 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/BeanElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/BeanElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicModel;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/FieldElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/FieldElement.java
index b468fa9..eceb2eb 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/FieldElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/FieldElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/MethodElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/MethodElement.java
index d2892ff..52e8d60 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/MethodElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/MethodElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ParameterElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ParameterElement.java
index 02b0678..36f08a8 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ParameterElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/ParameterElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/StateLessBeanType.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/StateLessBeanType.java
index 16a98a8..50cb4cf 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/StateLessBeanType.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/StateLessBeanType.java
@@ -22,11 +22,6 @@
   // Copyright
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
-  
-
-  private String fTypeName;
-
-
 
   /**
   *Constructor
@@ -36,8 +31,6 @@
   public StateLessBeanType(String name)
   {
     super(TypeFactory.STATELESS_BEAN);
-    fTypeName = name;
-
   }
 
   
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 a8f22cd..f1592f6 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
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 import org.eclipse.wst.ws.internal.datamodel.Model;
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeFactory.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeFactory.java
index 4f9822a..f7a1760 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeFactory.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeFactory.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
 
 import java.util.Hashtable;
-
 import org.eclipse.jem.java.JavaHelpers;
 /**
  * TypeFactory
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/validate/ValidationManager.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/validate/ValidationManager.java
index dba9769..1e8647f 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/validate/ValidationManager.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/validate/ValidationManager.java
@@ -13,8 +13,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.validate;
 
 import java.util.HashSet;
-import java.util.Iterator;
-
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IWorkspace;
 import org.eclipse.core.resources.IWorkspaceDescription;
@@ -70,21 +68,6 @@
   **/
   public void restoreValidationForProjects( boolean runValidation )
   {
-    //pgm j2eeManager.suspendAllValidation( false );
-    
-    Iterator iterator = projects.iterator();
-
-    while( iterator.hasNext() )
-    {
-      IProject project = (IProject)(iterator.next());
-
-      // Now kick off validation for this project if this was requested.
-      if( runValidation )
-      {
-	    //pgm EnabledValidatorsOperation validOp = new EnabledValidatorsOperation( project, null );
-	    //pgm validOp.run( monitor );
-      }
-    }
   }
 
   public void modifyAutoBuild(boolean isAutoBuild) {
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/BindingElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/BindingElement.java
index 684fb66..e7ca187 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/BindingElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/BindingElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/DefinitionElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/DefinitionElement.java
index d581564..7239758 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/DefinitionElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/DefinitionElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/MessageElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/MessageElement.java
index ed6bb13..f0d010c 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/MessageElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/MessageElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/OperationElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/OperationElement.java
index 890af47..2f501e0 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/OperationElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/OperationElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PartElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PartElement.java
index 26df67a..d80ffbb 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PartElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PartElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortElement.java
index 4ea80e0..78e2ac4 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortTypeElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortTypeElement.java
index fdacced..08f6883 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortTypeElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/PortTypeElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/ServiceElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/ServiceElement.java
index ece8634..3302d89 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/ServiceElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/ServiceElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/StubbedWSDLModel.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/StubbedWSDLModel.java
index 695e228..64611e8 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/StubbedWSDLModel.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/StubbedWSDLModel.java
@@ -46,13 +46,13 @@
     BindingElement bind3 = new BindingElement(port3,"bind1");
     BindingElement bind4 = new BindingElement(port4,"bind1");
     OperationElement op1 = new OperationElement(bind1,"op1");
-    OperationElement op2 = new OperationElement(bind2,"op1");
-    OperationElement op3 = new OperationElement(bind3,"op1");
-    OperationElement op4 = new OperationElement(bind4,"op1");
+    new OperationElement(bind2,"op1");
+    new OperationElement(bind3,"op1");
+    new OperationElement(bind4,"op1");
     MessageElement me1 = new MessageElement(op1,"me1");
     MessageElement me2 = new MessageElement(op1,"me2");
-    PartElement pe1  = new PartElement(me1,"pe1");
-    PartElement pe2  = new PartElement(me2,"pe2");
+    new PartElement(me1,"pe1");
+    new PartElement(me2,"pe2");
 
     DefinitionElement def2 = new DefinitionElement((WSDLElement)fModel.getRootElement(),"TempConversion"); 
     ServiceElement ser3 = new ServiceElement(def2,"getTemp");
@@ -61,8 +61,8 @@
     PortElement port6 = new PortElement(ser4,"port1");
     BindingElement bind5 = new BindingElement(port5,"bind1");
     BindingElement bind6 = new BindingElement(port6,"bind1");
-    OperationElement op5 = new OperationElement(bind5,"op1");
-    OperationElement op6 = new OperationElement(bind6,"op1");
+    new OperationElement(bind5,"op1");
+    new OperationElement(bind6,"op1");
 
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/WSDLElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/WSDLElement.java
index f1aa78a..a9e89d3 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/WSDLElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/wsdlmodel/WSDLElement.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.consumption.datamodel.wsdlmodel;
 
 import java.util.Enumeration;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 import org.eclipse.wst.ws.internal.datamodel.BasicModel;
 import org.eclipse.wst.ws.internal.datamodel.Model;
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/plugin/WebServiceConsumptionPlugin.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/plugin/WebServiceConsumptionPlugin.java
index 1a9ca10..ac20679 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/plugin/WebServiceConsumptionPlugin.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/plugin/WebServiceConsumptionPlugin.java
@@ -12,10 +12,8 @@
 package org.eclipse.jst.ws.internal.consumption.plugin;
 
 import java.text.MessageFormat;
-
 import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
 
 /**
 * This is the plugin class for the Web Services plugin.
@@ -39,8 +37,6 @@
   */
   private static WebServiceConsumptionPlugin instance_;
 
-  private Log log_;
- 
   /**
   * Constructs a runtime plugin object for this plugin.
   */
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileAttributeGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileAttributeGenerator.java
index 4739f28..e485e04 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileAttributeGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileAttributeGenerator.java
@@ -10,12 +10,12 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.TypeVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.AttributeElementType;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -44,7 +44,7 @@
   * Takes in an object to be acted upon by this visitor action
   * @param Object The object to be acted upon
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
      
      AttributeElementType attributeElementType = (AttributeElementType)object;
@@ -68,6 +68,6 @@
      typeVisitor.run(attributeElementType,inputFileTypeGenerator);   
      fbuffer = inputFileTypeGenerator.getStringBuffer();
      
-     return new SimpleStatus("");
+     return Status.OK_STATUS;
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileGenerator.java
index 593e43e..83719d7 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileGenerator.java
@@ -12,11 +12,11 @@
 
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.MethodVisitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -67,7 +67,7 @@
   }
 
   //takes in a bean node
-   public Status visit (Object object)
+   public IStatus visit (Object object)
    {
       Element beanElement = (Element)object;
       fbuffer.append("<%@page contentType=\"text/html;charset=UTF-8\"%>" + StringUtils.NEWLINE);
@@ -132,7 +132,7 @@
       fbuffer.append("</BODY>" + StringUtils.NEWLINE);
       fbuffer.append("</HTML>" + StringUtils.NEWLINE);
       
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
 
     }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp1Generator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp1Generator.java
index 3ac55fe..9cca654 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp1Generator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp1Generator.java
@@ -12,11 +12,11 @@
 
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.ParameterVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.MethodElement;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -59,11 +59,11 @@
   * Takes in an element
   * @param Object Takes in an object to be acted upon
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
      Element methodElement = (Element)object;
      MethodElement method = (MethodElement)methodElement;
-     if (method.getMethodOmmission()) return new SimpleStatus("");
+     if (method.getMethodOmmission()) return Status.OK_STATUS;
      
      ParameterVisitor parameterVisitor = new ParameterVisitor();
      fbuffer.append("case " + method.getNumberID()+ ":" + StringUtils.NEWLINE);
@@ -85,7 +85,7 @@
      fbuffer.append("break;" + StringUtils.NEWLINE);
       
 
-     return new SimpleStatus("");
+     return Status.OK_STATUS;
      
   
   }   
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp2Generator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp2Generator.java
index 703504c..9e9232b 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp2Generator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileHelp2Generator.java
@@ -10,12 +10,10 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
-import org.eclipse.jst.ws.internal.consumption.codegen.RelVisitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.TypeVisitor;
-import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.ParameterElement;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -70,11 +68,10 @@
   * Takes in an object to be acted upon by this visitor action
   * @param Object The object to be acted upon
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
       Element parameterElement = (Element)object;
-      RelVisitor visitor = (RelVisitor)getVisitor();
-      ParameterElement parameter = (ParameterElement)parameterElement;
+      getVisitor();
 
       fbuffer.append("<TABLE>" + StringUtils.NEWLINE);
 
@@ -87,7 +84,7 @@
 
       fbuffer.append("</TABLE>" + StringUtils.NEWLINE);
       
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
   
   }
 
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 d87844f..f6d45c3 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
@@ -11,7 +11,8 @@
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
 import java.util.Vector;
-
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.AttributeVisitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.FieldVisitor;
@@ -21,8 +22,6 @@
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.SimpleElement;
 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.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -155,7 +154,7 @@
   * Takes in an object to be acted upon by this visitor action
   * @param Object The object to be acted upon
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
      TypeElement element = (TypeElement)object;
           
@@ -189,7 +188,7 @@
 
      //if we have a return param with no getter make sure we are on the 
      //attribute and not the parameter then return
-     if(getReturnParam() &&  element.getOwningElement() instanceof AttributeElementType &&(((AttributeElementType)element.getOwningElement()).getGetterMethod() == null) ) return new SimpleStatus("");
+     if(getReturnParam() &&  element.getOwningElement() instanceof AttributeElementType &&(((AttributeElementType)element.getOwningElement()).getGetterMethod() == null) ) return Status.OK_STATUS;
 
      //Code gen for all elements
      fbuffer.append("<TR>" + StringUtils.NEWLINE);
@@ -287,6 +286,6 @@
      }
 
 
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/LevelsDeepVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/LevelsDeepVisitorAction.java
index d488b93..a8f4cb1 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/LevelsDeepVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/LevelsDeepVisitorAction.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.codegen.Visitor;
 import org.eclipse.jst.ws.internal.consumption.codegen.VisitorAction;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.AttributeVisitor;
@@ -19,8 +21,6 @@
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanElement;
 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.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -34,7 +34,6 @@
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
 
-  private Visitor fVisitor;
   private int fLevelsDeep;
   private int fDeepestLevel;
   
@@ -73,7 +72,6 @@
   */
   public void setVisitor(Visitor visitor)
   {
-     fVisitor = visitor;
   }
 
 
@@ -91,7 +89,7 @@
   * Takes in an object to be acted upon by this visitor action
   * @param Object The object to be acted upon
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
       Element element = (Element)object;
       if (element instanceof AttributeElement || element instanceof TypeElement){
@@ -115,7 +113,7 @@
    
       }
          
-     return new SimpleStatus("");   
+     return Status.OK_STATUS;   
   }
 
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileGenerator.java
index cbd667f..3a89734 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileGenerator.java
@@ -10,12 +10,11 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.MethodVisitor;
-import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanElement;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -62,10 +61,9 @@
 
   
   //takes in a bean node
-  public Status visit (Object object)
+  public IStatus visit (Object object)
    {
       Element beanElement = (Element)object;
-      BeanElement bean = (BeanElement)beanElement;
       fbuffer.append("<%@page contentType=\"text/html;charset=UTF-8\"%>");
       fbuffer.append("<HTML>" + StringUtils.NEWLINE + "<HEAD>" + StringUtils.NEWLINE + "<TITLE>Methods</TITLE>" + StringUtils.NEWLINE + "</HEAD>" + StringUtils.NEWLINE + "<BODY>" + StringUtils.NEWLINE + "<H1>Methods</H1>" + StringUtils.NEWLINE + "<UL>" + StringUtils.NEWLINE);
       MethodVisitor methodVisitor = new MethodVisitor();
@@ -74,6 +72,6 @@
       fbuffer = methodFileHelpGenerator.getStringBuffer();
       fbuffer.append("</UL>" + StringUtils.NEWLINE + "</BODY>" + StringUtils.NEWLINE + "</HTML>");
       
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileHelpGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileHelpGenerator.java
index f17420d..45ff5f9 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileHelpGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/MethodFileHelpGenerator.java
@@ -11,10 +11,10 @@
 
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.MethodElement;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -39,17 +39,17 @@
 
 
   //takes in a Method node
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
       Element methodElement = (Element)object;
       MethodElement method = (MethodElement)methodElement;
-      if (method.getMethodOmmission()) return new SimpleStatus("");
+      if (method.getMethodOmmission()) return Status.OK_STATUS;
       
       fbuffer.append("<LI><A HREF=\"" + fInputName + "?method=" + method.getNumberID());
       fbuffer.append("\" TARGET=\"inputs\"> " + method.getDisplayName());
       fbuffer.append("</A></LI>" + StringUtils.NEWLINE);
 
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
   }
 
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileAttributeGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileAttributeGenerator.java
index e17c910..34e7a4d 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileAttributeGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileAttributeGenerator.java
@@ -12,13 +12,12 @@
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
 import java.util.Vector;
-
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.TypeVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.AttributeElementType;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.DataType;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.BasicElement;
 
 /**
@@ -56,7 +55,7 @@
   * Visit Method generates code for this Visitor
   * @param Parameter parameter code will be generated 
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
      AttributeElementType attributeElementType = (AttributeElementType)object;
      BasicElement element = (BasicElement)object;
@@ -79,10 +78,10 @@
      typeVisitor.run(attributeElementType,resultFileTypeGenerator);
      setNumberFactory(resultFileTypeGenerator.getNumberFactory());
      Vector setterInputs = resultFileTypeGenerator.getResidentVector(); 
-     if(attributeElementType.getSetterMethod() == null) return new SimpleStatus(""); 
+     if(attributeElementType.getSetterMethod() == null) return Status.OK_STATUS; 
      putResidentVector(attributeElementType.getSetterSignature((String)setterInputs.firstElement()));
      
-     return new SimpleStatus("");
+     return Status.OK_STATUS;
   }   
 
   
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileGenerator.java
index 86d55df..586bba9 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileGenerator.java
@@ -10,12 +10,12 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.MethodVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanElement;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -48,7 +48,7 @@
   }
 
   //takes in a bean node
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
       Element beanElement = (Element)object;
       BeanElement bean = (BeanElement)beanElement;
@@ -126,7 +126,7 @@
       fbuffer.append("</BODY>" + StringUtils.NEWLINE);
       fbuffer.append("</HTML>");
 
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
     }
 
   /**
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp1Generator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp1Generator.java
index 5bf4ae4..b6d38ab 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp1Generator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp1Generator.java
@@ -12,7 +12,8 @@
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
 import java.util.Enumeration;
-
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.ParameterVisitor;
@@ -20,8 +21,6 @@
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.DataType;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.MethodElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
@@ -39,13 +38,6 @@
   public static final int FINAL_STATE = 2;
   public static final String MTEMP = "mtemp";
   public static String BEAN = "Proxy";
-
-  /**
-  * keeps the state of the visitor 
-  * */
-
-  private int fstate;
-
   
   /**
   * Constructor.
@@ -53,29 +45,27 @@
   */
   public ResultFileHelp1Generator (StringBuffer buffer)
   {
-      super(buffer);
-      fstate = INITIAL_STATE;
-    
+      super(buffer);    
   }
   
   /**
   * Visit Method generates code for this Visitor
   * @param method method code will be generated for 
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
      Element methodElement = (Element)object;
   
 
      MethodElement method = (MethodElement)methodElement;
-     if (method.getMethodOmmission()) return new SimpleStatus("");
+     if (method.getMethodOmmission()) return Status.OK_STATUS;
 
      fbuffer.append("case " + method.getNumberID()+ ":" + StringUtils.NEWLINE);
      visitHelper(method);
      
      fbuffer.append("break;" + StringUtils.NEWLINE); 
   
-     return new SimpleStatus("");
+     return Status.OK_STATUS;
   }   
   /**
   * Helps out the visitor
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp2Generator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp2Generator.java
index 0a7d3ce..724285e 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp2Generator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileHelp2Generator.java
@@ -11,14 +11,13 @@
 
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.TypeVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.DataType;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.ParameterElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.datamodel.Element;
 
 /**
 * Objects of this class represent a ResultFileHelp2generator.
@@ -47,12 +46,12 @@
   * Visit Method generates code for this Visitor
   * @param Parameter parameter code will be generated 
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
     
 
      ParameterElement parameterElement = (ParameterElement)object;
-     Element element= parameterElement.getTypeElement(); 
+     parameterElement.getTypeElement(); 
      if(parameterElement.getTypeElement().isSimple() || TypeFactory.recognizedBean(parameterElement.getTypeElement().getName())){      
         //start the codegen
          //ask the datatype for its request line, it may need mark up or not.
@@ -74,7 +73,7 @@
      String name = (String)resultFileTypeGenerator.getResidentVector().firstElement();
      putResidentVector(name); 
      
-     return new SimpleStatus("");
+     return Status.OK_STATUS;
   }
 
 
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 1b73326..f78cd59 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
@@ -12,7 +12,8 @@
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
 import java.util.Enumeration;
-
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
 import org.eclipse.jst.ws.internal.consumption.codegen.bean.AttributeVisitor;
@@ -20,8 +21,6 @@
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.DataType;
 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.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 
 /**
@@ -50,7 +49,7 @@
   * Visit Method generates code for this Visitor
   * @param Parameter parameter code will be generated 
   */
-  public Status visit (Object object)
+  public IStatus visit (Object object)
   {
      Element typeElement = (Element)object;
      TypeElement type = (TypeElement)typeElement;      
@@ -103,7 +102,7 @@
      
     }
      
-     return new SimpleStatus("");
+     return Status.OK_STATUS;
   }   
   
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/TestClientFileGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/TestClientFileGenerator.java
index 958f18f..83fe42b 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/TestClientFileGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/TestClientFileGenerator.java
@@ -11,11 +11,10 @@
 
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.common.StringUtils;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.datamodel.Element;
 
 
 /**
@@ -52,10 +51,8 @@
   }
 
   //takes in a bean node
-   public Status visit (Object object)
+   public IStatus visit (Object object)
    {
-      Element beanElement = (Element)object;
-      
       fbuffer.append("<%@page contentType=\"text/html;charset=UTF-8\"%>");
       fbuffer.append("<HTML>" + StringUtils.NEWLINE);
       fbuffer.append("<HEAD>" + StringUtils.NEWLINE);
@@ -86,6 +83,6 @@
       fbuffer.append("</FRAMESET>" + StringUtils.NEWLINE);
       fbuffer.append("</HTML>");
 
-      return new SimpleStatus("");
+      return Status.OK_STATUS;
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/GeneratePageCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/GeneratePageCommand.java
index 527d0f8..d456f89 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/GeneratePageCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/GeneratePageCommand.java
@@ -14,16 +14,17 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
-
 import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.codegen.Generator;
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 
@@ -33,28 +34,20 @@
  * Creation date: (4/10/2001 12:41:48 PM)
  * @author: Gilbert Andrews
  */
-public class GeneratePageCommand extends SimpleCommand {
+public class GeneratePageCommand extends AbstractDataModelOperation 
+{
 		
-private String LABEL = "GeneratePageCommand";
-private String DESCRIPTION = "Generate code based on the model";
-private MessageUtils msgUtils_;
-
 private Model model_;
 private Generator fGenerator;
 private IFile fIFile;
 private ResourceContext resourceContext_;
 private StringBuffer fStringBuffer;
 
-private Element rootElement_;
 /**
  * Build constructor comment.
  */
 public GeneratePageCommand()
 {
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-	setDescription(DESCRIPTION);
-	setName(LABEL);  		
 }
 
 /**
@@ -66,18 +59,13 @@
 */
 public GeneratePageCommand(ResourceContext context, Model model, Generator generator, IFile file)
 {
-  String pluginId = "org.eclipse.jst.ws.consumption";
-  msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
-  setDescription(DESCRIPTION);
-  setName(LABEL);	
-  
   model_ = model;
   fGenerator = generator;
   fIFile = file;
   resourceContext_ = context;
 }
 
-public Model getDataModel()
+public Model getJavaDataModel()
 {
   return model_;
 }
@@ -85,14 +73,16 @@
 /**
  *
  */
-public Status execute(Environment env)
+public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
 {
-  Status status = new SimpleStatus( "" );
+  IEnvironment env = getEnvironment();
+  
+  IStatus status = Status.OK_STATUS;
   try {
     fGenerator.visit(model_.getRootElement());
     fStringBuffer = fGenerator.getStringBuffer();
     String tempString = fStringBuffer.toString();
-    OutputStream fileResource = FileResourceUtils.newFileOutputStream(resourceContext_, fIFile.getFullPath(), env.getProgressMonitor(), env.getStatusHandler());
+    OutputStream fileResource = FileResourceUtils.newFileOutputStream(resourceContext_, fIFile.getFullPath(), monitor, env.getStatusHandler());
     //PrintStream ps = new PrintStream(fileResource);
     //ps.print(tempString);
     OutputStreamWriter osw = new OutputStreamWriter(fileResource,"UTF-8");
@@ -101,14 +91,13 @@
     fileResource.close();
     return status;
   } catch (IOException ioexc) {
-  	status = new SimpleStatus("", ioexc.getMessage(), Status.ERROR);
+  	status = StatusUtils.errorStatus( ioexc );
   	return status;
   }
 }
 
 public void setRootElement(Element rootElement)
 {
-  rootElement_ = rootElement;
 }
 
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/JavaToModelCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/JavaToModelCommand.java
index d982163..b408104 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/JavaToModelCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/command/JavaToModelCommand.java
@@ -11,23 +11,21 @@
 
 package org.eclipse.jst.ws.internal.consumption.sampleapp.command;
 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
+import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions.JavaMofBeanVisitorAction;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofBeanVisitor;
 import org.eclipse.jst.ws.internal.consumption.command.common.JavaMofReflectionCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 
@@ -53,40 +51,30 @@
 * Subclasses must follow the rules described for
 * {@link org.eclipse.emf.common.command.AbstractCommand AbstractCommand}.
 */
-public class JavaToModelCommand extends SimpleCommand
+public class JavaToModelCommand extends AbstractDataModelOperation
 {
-  private MessageUtils msgUtils;
-  private IResource resource;
+
   private String clientProject;
   private BooleanSelection[] methods;
   private String proxyBean;
   private JavaClass javaClass;
   private Model model;
   private Element parentElement;
-  private IProject project;
   
-  public static String LABEL = "JavaToModelCommand";
-  public static String DESCRIPTION = "this creates a model from a resource";
- 
-  
-
   public JavaToModelCommand ()
   {
-	String pluginId = "org.eclipse.jst.ws.consumption";
-	msgUtils = new MessageUtils(pluginId + ".plugin", this);  	
-  	setDescription(DESCRIPTION);
-  	setName(LABEL);
   }
 
   
-  private Status createJavaReflection(Environment env)
+  private IStatus createJavaReflection(IEnvironment env, IProgressMonitor monitor )
   {
-  	Status status = new SimpleStatus("");
+  	IStatus status = Status.OK_STATUS;
     JavaMofReflectionCommand javaMofReflectionCommand = new JavaMofReflectionCommand();
     javaMofReflectionCommand.setClientProject(clientProject);
     javaMofReflectionCommand.setProxyBean(proxyBean);
+    javaMofReflectionCommand.setEnvironment( env );
     //javaMofReflectionCommand.setStatusMonitor(getStatusMonitor());
-    status = javaMofReflectionCommand.execute(env);
+    status = javaMofReflectionCommand.execute( monitor, null);
     javaClass = (JavaClass)javaMofReflectionCommand.getJavaClass();
     return status;
   }
@@ -95,7 +83,7 @@
   * The Model that was created from this javamof
   * @return Model The data model that was created
   **/
-  public Model getDataModel()
+  public Model getJavaDataModel()
   {
     return model;
   }
@@ -103,11 +91,11 @@
   /**
   * Build the datamodel from the mof
   */
-  public Status buildModelFromMof (Environment env) throws CoreException
+  public IStatus buildModelFromMof (IEnvironment env) throws CoreException
   {
   	
-  	Choice OKChoice = new Choice('O', msgUtils.getMessage("LABEL_OK"), msgUtils.getMessage("DESCRIPTION_OK"));
-  	Choice CancelChoice = new Choice('C', msgUtils.getMessage("LABEL_CANCEL"), msgUtils.getMessage("DESCRIPTION_CANCEL"));
+  	Choice OKChoice = new Choice('O', ConsumptionMessages.LABEL_OK, ConsumptionMessages.DESCRIPTION_OK);
+  	Choice CancelChoice = new Choice('C', ConsumptionMessages.LABEL_CANCEL, ConsumptionMessages.DESCRIPTION_CANCEL);
   	
     // we could have one of three cases:
     //1. The model is null meaning we want and the parent element is null, meaning we want to
@@ -116,7 +104,7 @@
     //   given parent element
     //3. The model is not null however the parentElement is, meaning we want to add this Bean to
     //   This model but dont attach it to anything
-      Status status = new SimpleStatus("");
+      IStatus status = Status.OK_STATUS;
 
       if(model == null && parentElement == null){
          JavaMofBeanVisitorAction beanVisitorAction = new JavaMofBeanVisitorAction(clientProject,methods, env);
@@ -134,7 +122,7 @@
            if (result.getLabel().equals(CancelChoice.getLabel()))
            {
            	 //return an error status since the user canceled
-           	  return new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+           	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
            }
            	
          }
@@ -158,7 +146,7 @@
            if (result.getLabel().equals(CancelChoice.getLabel()))
            {
            	 //return an error status since the user canceled
-           	  return new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+           	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
            }
            	
          }
@@ -181,7 +169,7 @@
            if (result.getLabel().equals(CancelChoice.getLabel()))
            {
            	 //return an error status since the user canceled
-           	  return new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_SAMPLE_CREATION_CANCELED"), Status.ERROR);
+           	  return StatusUtils.errorStatus( ConsumptionMessages.MSG_ERROR_SAMPLE_CREATION_CANCELED );
            }
            	
          }
@@ -196,20 +184,20 @@
   * Get the java model from the resource then
   * build the model from the mof
   */
-  public Status execute(Environment env)
-  {
-  	Status status = new SimpleStatus("");
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+  	IStatus status = Status.OK_STATUS;
     if(clientProject == null) return status;
-    IProject project = (IProject)ProjectUtilities.getProject(clientProject);
     
-  	status = createJavaReflection(env);
+  	status = createJavaReflection(env, monitor);
     if (status.getSeverity()==Status.ERROR) return status;
     try{
       status = buildModelFromMof(env);
       return status;
     }catch(CoreException exc){
       IStatus embeddedStatus = exc.getStatus();
-      status = EnvironmentUtils.convertIStatusToStatus(embeddedStatus);
+      status = embeddedStatus;
       return status;
     }
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/LiveWSDLFilter.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/LiveWSDLFilter.java
index 18b1f2e..97b207e 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/LiveWSDLFilter.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/LiveWSDLFilter.java
@@ -16,7 +16,6 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-
 import javax.wsdl.Definition;
 import javax.wsdl.Port;
 import javax.wsdl.Service;
@@ -24,7 +23,6 @@
 import javax.wsdl.extensions.ExtensibilityElement;
 import javax.wsdl.extensions.http.HTTPAddress;
 import javax.wsdl.extensions.soap.SOAPAddress;
-
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WWWAuthenticationException;
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/WSFinderRegistry.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/WSFinderRegistry.java
index 04d7c92..e93561e 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/WSFinderRegistry.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/wsfinder/WSFinderRegistry.java
@@ -14,7 +14,6 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Vector;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionRegistry;
diff --git a/bundles/org.eclipse.jst.ws.consumption/webserviceutils/org/eclipse/jst/ws/util/DomElementHelper.java b/bundles/org.eclipse.jst.ws.consumption/webserviceutils/org/eclipse/jst/ws/util/DomElementHelper.java
index 641cdf6..5123e55 100644
--- a/bundles/org.eclipse.jst.ws.consumption/webserviceutils/org/eclipse/jst/ws/util/DomElementHelper.java
+++ b/bundles/org.eclipse.jst.ws.consumption/webserviceutils/org/eclipse/jst/ws/util/DomElementHelper.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.jst.ws.util;
 
-import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
 import org.w3c.dom.Document;
 
 /**
diff --git a/bundles/org.eclipse.jst.ws.creation.ejb.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.creation.ejb.ui/META-INF/MANIFEST.MF
index 9dad884..5f29994 100644
--- a/bundles/org.eclipse.jst.ws.creation.ejb.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.creation.ejb.ui/META-INF/MANIFEST.MF
@@ -2,9 +2,8 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.creation.ejb.ui; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.jst.ws.consumption.ui,
- org.eclipse.ui,
  org.eclipse.wst.command.env.ui
diff --git a/bundles/org.eclipse.jst.ws.creation.ejb.ui/plugin.xml b/bundles/org.eclipse.jst.ws.creation.ejb.ui/plugin.xml
index 4a8659f..83a18e6 100644
--- a/bundles/org.eclipse.jst.ws.creation.ejb.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.creation.ejb.ui/plugin.xml
@@ -58,16 +58,6 @@
      </webServiceImpl>
     </extension>    
     
-<extension point="org.eclipse.jst.ws.consumption.ui.serviceType">
-  <serviceType
-            id="org.eclipse.jst.ws.serviceType.ejb"
-            implId="org.eclipse.jst.ws.wsImpl.ejb"
-            buModuleTypesInclude="jst.ejb"
-            buModuleTypesExclude=""
-            tdModuleTypesInclude="jst.ejb"
-            tdModuleTypesExclude="">
-  </serviceType>
-</extension>   
 
             
    
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/.cvsignore b/bundles/org.eclipse.jst.ws.creation.ui/.cvsignore
index f5bbdc1..abf11a4 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.creation.ui/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 wss-ui.jar
+@dot
+src.zip
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 4441ad7..ce1ce5e 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,11 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.creation.ui; singleton:=true
-Bundle-Version: 0.7.1
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.jst.ws.internal.creation.ui.plugin.WebServiceCreationUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.ws.creation.ui,
+Export-Package: org.eclipse.jst.ws.internal.creation.ui,
+ org.eclipse.jst.ws.internal.creation.ui.ant,
  org.eclipse.jst.ws.internal.creation.ui.extension,
  org.eclipse.jst.ws.internal.creation.ui.plugin,
  org.eclipse.jst.ws.internal.creation.ui.preferences,
@@ -37,5 +38,8 @@
  org.eclipse.jst.j2ee,
  org.eclipse.jst.j2ee.core,
  org.eclipse.jst.j2ee.ejb,
- org.wsdl4j
+ org.wsdl4j,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.common.project.facet.core
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/plugin.xml b/bundles/org.eclipse.jst.ws.creation.ui/plugin.xml
index 99bdf01..fb08480 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.creation.ui/plugin.xml
@@ -241,5 +241,101 @@
              insertBeforeCommandId="org.eclipse.jst.ws.internal.creation.ui.extension.PreServiceRunCommand"
              class="org.eclipse.jst.ws.internal.creation.ui.server.StartServerWidgetFactory"/>
     </extension> 
+    
+     <extension point="org.eclipse.wst.command.env.antScenario">
+        <antScenario
+            class="org.eclipse.jst.ws.internal.creation.ui.ant.AntServiceRootCommandFragment"
+            scenarioType="service"/>
+     </extension>    
+    
+     <extension
+           point="org.eclipse.wst.command.env.antDataMapping">
+        <map
+              key="InitialSelection"
+              operation="org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidgetDefaultingCommand"
+              property="InitialSelection"
+              transform="org.eclipse.jst.ws.internal.common.String2SelectionTransformer"/>
+        <map
+              key="InitialSelection"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand"
+              property="ObjectSelection"
+              transform="org.eclipse.jst.ws.internal.common.String2SelectionTransformer"/>              
+		<map
+              key="Project"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand"
+              property="Project"
+              transform="org.eclipse.jst.ws.internal.common.String2IProjectTransformer"/>
+        <map
+              key="ComponentName"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand"
+              property="ComponentName"/>
+        <map
+              key="Service.RuntimeId"
+              operation="org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidgetOutputCommand"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+        <map
+              key="Service.ServerId"
+              operation="org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidgetOutputCommand"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+        <map
+              key="Service.TypeId"
+              operation="org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidgetOutputCommand"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>             
+        <map
+              key="GenerateProxy"
+              operation="org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidgetOutputCommand"
+              property="GenerateProxy"/>
+      <map
+              key="Service.RuntimeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+     <map
+              key="Service.ServerId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+      <map
+              key="Service.TypeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+      <map
+              key="ServiceProjectName"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand"
+              property="ServiceProjectName"/>
+              
+      <map
+              key="ServiceComponentName"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand"
+              property="ServiceComponentName"/>
 
+      <map
+              key="ServiceEarProjectName"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand"
+              property="ServiceEarProjectName"/>
+              
+      <map
+              key="ServiceEarComponentName"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand"
+              property="ServiceEarComponentName"/>              
+      <map
+              key="Service.RuntimeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionFragment"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+      <map
+              key="Service.ServerId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionFragment"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+      <map
+              key="Service.TypeId"
+              operation="org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionFragment"
+              property="ServiceTypeRuntimeServer"
+              transform="org.eclipse.jst.ws.internal.common.String2TypeRuntimeServerModifier"/>
+     </extension>
 </plugin>
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/creation/ui/plugin.properties b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/creation/ui/plugin.properties
deleted file mode 100644
index 6a4c47a..0000000
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/creation/ui/plugin.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# WSDL Test Errors
-#
-MSG_ERROR_UNABLE_TO_LAUNCH_WSDL_TEST=IWAB0361E An error occurred. Unable to launch WSDL test facility.
-
-
-#
-# Wizard pages
-#
-PAGE_TITLE_OBJECT_SELECTION=Object Selection Page
-PAGE_DESC_OBJECT_SELECTION=Object Selection Page
-
-
-
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/CreationUI.properties b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/CreationUI.properties
new file mode 100644
index 0000000..14c74bf
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/CreationUI.properties
@@ -0,0 +1,19 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Wizard pages
+#
+PAGE_TITLE_OBJECT_SELECTION=Object Selection Page
+PAGE_DESC_OBJECT_SELECTION=Object Selection Page
+
+
+
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/CreationUIMessages.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/CreationUIMessages.java
new file mode 100644
index 0000000..eb19e8b
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/CreationUIMessages.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.creation.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class CreationUIMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.creation.ui.CreationUI";//$NON-NLS-1$
+
+	private CreationUIMessages() {
+		// Do not instantiate
+	}
+
+	public static String PAGE_TITLE_OBJECT_SELECTION;
+	public static String PAGE_DESC_OBJECT_SELECTION;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, CreationUIMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/ant/AntServiceRootCommandFragment.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/ant/AntServiceRootCommandFragment.java
new file mode 100644
index 0000000..40ad678
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/ant/AntServiceRootCommandFragment.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.creation.ui.ant;
+
+import org.eclipse.jst.ws.internal.consumption.common.ScenarioCleanupCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.command.AntDefaultingOperation;
+import org.eclipse.jst.ws.internal.consumption.ui.command.ListOptionsCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.common.FinishFragment;
+import org.eclipse.jst.ws.internal.consumption.ui.selection.SelectionTransformer;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.CheckWSDLValidationCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionDefaultingCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionFragment;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.extensions.ServerExtensionOutputCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionFragment;
+import org.eclipse.jst.ws.internal.consumption.ui.widgets.object.ObjectSelectionOutputCommand;
+import org.eclipse.jst.ws.internal.creation.ui.extension.PreServiceDevelopCommand;
+import org.eclipse.jst.ws.internal.creation.ui.extension.ServiceRootFragment;
+import org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidgetDefaultingCommand;
+import org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidgetOutputCommand;
+import org.eclipse.jst.ws.internal.creation.ui.widgets.runtime.ServerRuntimeSelectionWidgetDefaultingCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
+import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
+ 
+/**
+ * 
+ * Command fragment for generating web service top down or bottom up using Ant task.
+ * Run headless Eclipse or within workspace using Run as Ant Build.  This fragment eliminates any UI specific 
+ * commands and data mappings between commands and widgets.  Widget to command mappings are
+ * replaced by Ant property file to command mappings which are enabled by a antDataMapping extension 
+ * point in the org.eclipse.wst.command.env plugin.
+ * 
+ * @author joan
+ *
+ */
+
+public class AntServiceRootCommandFragment extends SequenceFragment
+{
+	
+  public AntServiceRootCommandFragment()
+  { 
+    add( new SimpleFragment( new ScenarioCleanupCommand(), "" ));
+    add( new SimpleFragment(new ListOptionsCommand(), ""));
+    add (new SimpleFragment(new AntDefaultingOperation(), ""));    
+    add( new SimpleFragment( new ServerWizardWidgetDefaultingCommand(), ""));
+    add( new SimpleFragment( new ServerWizardWidgetOutputCommand(), "" ));    
+    add( new ObjectSelectionFragment() );
+    add( new SimpleFragment( new CheckWSDLValidationCommand(), ""));
+    add( new SimpleFragment( new ServerRuntimeSelectionWidgetDefaultingCommand(), ""));
+    add( new SimpleFragment( new ServerExtensionDefaultingCommand(), ""));   
+    add( new ServiceRootFragment() );
+    add( new SimpleFragment( new ServerExtensionOutputCommand(), "" ));
+    add(new FinishFragment());
+    add( new SimpleFragment( new ScenarioCleanupCommand(), "" ));
+  }
+  
+  public void registerDataMappings(DataMappingRegistry dataRegistry)
+  { 	
+	dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "ObjectSelection", ServerRuntimeSelectionWidgetDefaultingCommand.class, "InitialSelection", null);
+    dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "ObjectSelection", ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialSelection", null);
+    dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "Project", ServerRuntimeSelectionWidgetDefaultingCommand.class, "InitialProject", null);
+    dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "Project", ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialProject", null);
+    dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "ComponentName", ServerRuntimeSelectionWidgetDefaultingCommand.class, "InitialComponentName", null);
+    dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "ComponentName", ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientInitialComponentName", null);      
+    dataRegistry.addMapping(ObjectSelectionOutputCommand.class, "WebServicesParser", ServerExtensionDefaultingCommand.class );    
+	
+    dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ServerWizardWidgetOutputCommand.class);
+    dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ServiceTypeRuntimeServer", ServerWizardWidgetOutputCommand.class);
+    dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "GenerateProxy", ServerWizardWidgetOutputCommand.class);
+    dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "GenerateProxy", ServerWizardWidgetOutputCommand.class);
+    dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ResourceContext", ServerWizardWidgetOutputCommand.class);
+    	
+    // Map ServerWizardWidgetOutputCommand.
+    dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "ServiceTypeRuntimeServer", ObjectSelectionFragment.class, "TypeRuntimeServer", null);
+    dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "ClientTypeRuntimeServer", ServerRuntimeSelectionWidgetDefaultingCommand.class);
+    dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "ServiceTypeRuntimeServer", ServerRuntimeSelectionWidgetDefaultingCommand.class);
+    dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "StartService", ServerExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "GenerateProxy", ServerRuntimeSelectionWidgetDefaultingCommand.class);
+    
+    //Map AntDefaultingFragment
+    dataRegistry.addMapping(AntDefaultingOperation.class, "ServiceIdsFixed", ServerRuntimeSelectionWidgetDefaultingCommand.class);
+    dataRegistry.addMapping(AntDefaultingOperation.class, "ClientIdsFixed", ServerRuntimeSelectionWidgetDefaultingCommand.class);
+    dataRegistry.addMapping(AntDefaultingOperation.class, "StartService", PreServiceDevelopCommand.class);
+    dataRegistry.addMapping(AntDefaultingOperation.class, "InstallService", PreServiceDevelopCommand.class);
+    
+    // Map ServerRuntimeSelectionWidgetDefaultingCommand
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceTypeRuntimeServer", ServerExtensionDefaultingCommand.class);    
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceProjectName", ServerExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarProjectName", ServerExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentName", ServerExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarComponentName", ServerExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceJ2EEVersion", ServerExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceNeedEAR", ServerExtensionDefaultingCommand.class);
+    
+    
+    // Map ServerExtensionDefaultingCommand
+    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServiceTypeRuntimeServer", ServerExtensionFragment.class);
+    	  
+	// Setup the PreServiceDevelopCommand.	
+    dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "StartService", PreServiceDevelopCommand.class);
+    dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "GenerateProxy", PreServiceDevelopCommand.class);      
+    dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "ResourceContext", PreServiceDevelopCommand.class);			
+	
+	dataRegistry.addMapping( ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentType", PreServiceDevelopCommand.class, "ModuleType", null);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceRuntimeId", ServerExtensionDefaultingCommand.class);
+	dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServiceTypeRuntimeServer", PreServiceDevelopCommand.class );
+	dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServiceRuntimeId", PreServiceDevelopCommand.class );
+    dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServiceJ2EEVersion", PreServiceDevelopCommand.class);
+    dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServerProject", PreServiceDevelopCommand.class, "Module", null );
+    dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServerProjectEAR", PreServiceDevelopCommand.class, "Ear", null );
+    
+	dataRegistry.addMapping( ObjectSelectionOutputCommand.class, "ObjectSelection", PreServiceDevelopCommand.class, "Selection", new SelectionTransformer() );
+	dataRegistry.addMapping( PreServiceDevelopCommand.class, "WebService", ServerExtensionOutputCommand.class );
+
+    // Map ServerExtensionOutputCommand for ServerStart()
+    dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProjectEAR", ServerExtensionOutputCommand.class, "EarProjectName", null);
+    
+  }
+
+}
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceAssembleCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceAssembleCommand.java
index fb74deb..fbf4174 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceAssembleCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceAssembleCommand.java
@@ -11,15 +11,17 @@
 
 package org.eclipse.jst.ws.internal.creation.ui.extension;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.command.common.AssociateModuleWithEARCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
-public class PreServiceAssembleCommand extends SimpleCommand 
+public class PreServiceAssembleCommand extends AbstractDataModelOperation 
 {
 	private IWebService				webService_;
 	private String						project_;
@@ -28,13 +30,13 @@
   private String            ear_;
 	private String            j2eeLevel_;
 
-  public Status execute(Environment environment) 
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-	  System.out.println( "In Pre service assemble command." );
+    IEnvironment environment = getEnvironment();
     
 		// Check if EAR module is req'd, ie. !=null
 		if (earProject_==null)
-			return new SimpleStatus("");
+			return Status.OK_STATUS;
 	  
 	  
 		//Create the service EAR module
@@ -45,7 +47,8 @@
 		command.setServerFactoryId(webService_.getWebServiceInfo().getServerFactoryId());
 		command.setServerInstanceId( webService_.getWebServiceInfo().getServerInstanceId() );
 		command.setJ2eeLevel(j2eeLevel_);
-		Status status = command.execute(environment);
+    command.setEnvironment( environment );
+		IStatus status = command.execute( monitor, null );
 		if (status.getSeverity()==Status.ERROR)
 		{
 			environment.getStatusHandler().reportError(status);
@@ -59,7 +62,8 @@
 		associateCommand.setModule(module_);
 		associateCommand.setEARProject(earProject_);
 		associateCommand.setEar(ear_);
-		status = associateCommand.execute(environment);
+    associateCommand.setEnvironment( environment );
+		status = associateCommand.execute( monitor, null );
 		if (status.getSeverity()==Status.ERROR)
 		{
 			environment.getStatusHandler().reportError(status);		  
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDeployCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDeployCommand.java
index 3f27a29..b4668ec 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDeployCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDeployCommand.java
@@ -11,16 +11,16 @@
 
 package org.eclipse.jst.ws.internal.creation.ui.extension;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
-public class PreServiceDeployCommand extends SimpleCommand 
+public class PreServiceDeployCommand extends AbstractDataModelOperation
 {
-  public Status execute(Environment environment) 
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-	System.out.println( "In Pre service deploy command." );
-
-	return super.execute(environment);
+	  return Status.OK_STATUS;
   }
 }
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 2ef0a47..c18d9c2 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
@@ -11,47 +11,58 @@
 
 package org.eclipse.jst.ws.internal.creation.ui.extension;
 
-import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
-import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceRuntime;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceInfo;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceState;
-import org.eclipse.wst.ws.internal.wsrt.SimpleContext;
+import java.util.Set;
 
-public class PreServiceDevelopCommand extends SimpleCommand 
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+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.FacetMatcher;
+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;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceRuntime;
+import org.eclipse.wst.ws.internal.wsrt.SimpleContext;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceState;
+
+public class PreServiceDevelopCommand extends AbstractDataModelOperation 
 {
   private TypeRuntimeServer typeRuntimeServer_;
-  private Environment       environment_;
+  private String            serviceRuntimeId_;
   private IContext          context_;
   private ISelection        selection_;
-	private String						project_;
+  private String			project_;
   private String            module_;
   private String			moduleType_;
-	private String						earProject_;
+  private String			earProject_;
   private String            ear_;
 	
   private IWebService       webService_;
   private String            j2eeLevel_;
   private ResourceContext   resourceContext_;
   
+  private boolean install_;
   private boolean run_;
   private boolean client_;
   private boolean test_;
   private boolean publish_;
   
 
-  public Status execute(Environment environment) 
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
+    IEnvironment environment = getEnvironment();
 	  
     // Split up the project and module
     int index = module_.indexOf("/");
@@ -70,24 +81,19 @@
     }
     
     
-	  IWebServiceRuntime wsrt   = WebServiceRuntimeExtensionUtils.getWebServiceRuntime( typeRuntimeServer_.getRuntimeId() );
+	  IWebServiceRuntime wsrt   = WebServiceRuntimeExtensionUtils2.getServiceRuntime( serviceRuntimeId_ );
 	  WebServiceInfo     wsInfo = new WebServiceInfo();
 
-	  System.out.println( "In Pre service develop command." );
-	
-	  wsInfo.setJ2eeLevel( j2eeLevel_ );
 	  wsInfo.setServerFactoryId( typeRuntimeServer_.getServerId() );
       wsInfo.setServerInstanceId( typeRuntimeServer_.getServerInstanceId());
 	  wsInfo.setState( WebServiceState.UNKNOWN_LITERAL );
 	  wsInfo.setWebServiceRuntimeId( typeRuntimeServer_.getRuntimeId() );
     
-
-		environment_ = environment;
 		webService_  = wsrt.getWebService( wsInfo );
 	
 		//Set up the IContext
 		WebServiceScenario scenario = null;
-    int scenarioInt = WebServiceRuntimeExtensionUtils.getScenarioFromTypeId(typeRuntimeServer_.getTypeId());
+    int scenarioInt = WebServiceRuntimeExtensionUtils2.getScenarioFromTypeId(typeRuntimeServer_.getTypeId());
     if (scenarioInt == WebServiceScenario.BOTTOMUP)
 		{
 			scenario = WebServiceScenario.BOTTOMUP_LITERAL;
@@ -101,63 +107,59 @@
       wsInfo.setWsdlURL(wsdlURL);      
 		}
 	
-		context_     = new SimpleContext(true, true, true, true, run_, client_, test_, publish_, 
+		context_     = new SimpleContext(true, true, true, install_, run_, client_, test_, publish_, 
 																		scenario, 
 																		resourceContext_.isOverwriteFilesEnabled(),
 																		resourceContext_.isCreateFoldersEnabled(),
 																		resourceContext_.isCheckoutFilesEnabled());
 
-    //Create the service module
+        IStatus status = Status.OK_STATUS;
 
-		//rsk todo -- pick the correct module type based on the Web service type, it's hard coded to WEB for now.
-		int intModuleType = convertModuleType(moduleType_);
-		
+        // Create the service module if needed.
+        IProject project = ProjectUtilities.getProject(project_);
+        if (!project.exists())
+        {
+          RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId_).getRequiredFacetVersions();
+          Set facetVersions = FacetUtils.getInitialFacetVersionsFromTemplate(moduleType_);
+          FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+          if (fm.isMatch())
+          {  
+            CreateFacetedProjectCommand command = new CreateFacetedProjectCommand();
+            command.setProjectName(project_);
+            command.setTemplateId(moduleType_);
+            command.setRequiredFacetVersions(rfv);
+            command.setServerFactoryId(typeRuntimeServer_.getServerId());
+            command.setServerInstanceId(typeRuntimeServer_.getServerInstanceId());
+            status = command.execute( monitor, adaptable );
+            if (status.getSeverity() == Status.ERROR)
+            {
+              environment.getStatusHandler().reportError( status );
+              return status;
+            }        
+          }            
+        }
 
-	      CreateModuleCommand command = new CreateModuleCommand();
-		  command.setProjectName(project_);
-		  command.setModuleName(module_);			
-		  command.setModuleType(intModuleType);
-		  command.setServerFactoryId(typeRuntimeServer_.getServerId());
-		  command.setServerInstanceId(typeRuntimeServer_.getServerInstanceId());
-		  command.setJ2eeLevel(j2eeLevel_);
-		  Status status = command.execute(environment);
+        //The project should now exist. Add facets if needed.        
+        RequiredFacetVersion[] rfvs = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId_).getRequiredFacetVersions();
+        status = FacetUtils.addRequiredFacetsToProject(project, rfvs, monitor);
+        if (status.getSeverity() == Status.ERROR)
+        {
+          environment.getStatusHandler().reportError( status );
+          return status;
+        }                      
 
-		
-		if (status.getSeverity()==Status.ERROR)
-		{
-			environment.getStatusHandler().reportError(status);
-		}			
 	  return status;				
   }
   
-  private int convertModuleType(String type)
-  {
-	  if (type.equals(IModuleConstants.JST_WEB_MODULE))
-	  {
-		  return CreateModuleCommand.WEB;
-	  }
-	  else if (type.equals(IModuleConstants.JST_EJB_MODULE))
-	  {
-		  return CreateModuleCommand.EJB;
-	  }
-	  else if (type.equals(IModuleConstants.JST_APPCLIENT_MODULE))
-	  {
-		  return CreateModuleCommand.APPCLIENT;
-	  }
-	  else if (type.equals(IModuleConstants.JST_EAR_MODULE))
-	  {
-		  return CreateModuleCommand.EAR;
-	  }	  
-	  else
-	  {
-		  return -1;
-	  }
-  }
-  
   public void setServiceTypeRuntimeServer( TypeRuntimeServer typeRuntimeServer )
   {
 	  typeRuntimeServer_ = typeRuntimeServer;  
   }
+  
+  public void setServiceRuntimeId(String id)
+  {
+    serviceRuntimeId_ = id;
+  }
 	  
   public void setServiceJ2EEVersion( String j2eeLevel )
   {
@@ -174,11 +176,6 @@
 	return webService_;  
   }
   
-  public Environment getEnvironment()
-  {
-	return environment_;
-  }
-  
   public IContext getContext()
   {
     return context_;
@@ -234,6 +231,11 @@
 	  ear_ = ear;  
   }
   
+  public void setInstallService(boolean installService)
+	{
+		install_ = installService;
+	}
+  
 	public void setStartService(boolean startService)
 	{
 		run_ = startService;
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceInstallCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceInstallCommand.java
index e3805de..7bea468 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceInstallCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceInstallCommand.java
@@ -11,65 +11,76 @@
 
 package org.eclipse.jst.ws.internal.creation.ui.extension;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.command.common.AddModuleToServerCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateServerCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
-public class PreServiceInstallCommand extends SimpleCommand 
+public class PreServiceInstallCommand extends AbstractDataModelOperation 
 {
-	private IWebService				webService_;
-	private String						project_;
-  private String            module_;
-	private String						earProject_;
-  private String            ear_;
+	private IWebService webService_;
+	private String		project_;
+    private String      module_;
+	private String		earProject_;
+    private String      ear_;
+    private IContext    context_;
 		
-	  public Status execute(Environment environment) 
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+	  if (context_.getInstall())
 	  {
-		  System.out.println( "In Pre service install command." );
-			
-			if (webService_.getWebServiceInfo().getServerInstanceId()==null)
-			{
-				CreateServerCommand createServerCommand = new CreateServerCommand();
-				createServerCommand.setServerFactoryid(webService_.getWebServiceInfo().getServerFactoryId());
-				Status createServerStatus = createServerCommand.execute(environment);
-				if (createServerStatus.getSeverity()==Status.OK)
+	            IEnvironment environment = getEnvironment();      
+			  			
+				if (webService_.getWebServiceInfo().getServerInstanceId()==null)
 				{
-					webService_.getWebServiceInfo().setServerInstanceId(createServerCommand.getServerInstanceId());
+					CreateServerCommand createServerCommand = new CreateServerCommand();
+					createServerCommand.setServerFactoryid(webService_.getWebServiceInfo().getServerFactoryId());
+	                createServerCommand.setEnvironment( environment );
+					IStatus createServerStatus = createServerCommand.execute( monitor, null);
+					if (createServerStatus.getSeverity()==Status.OK)
+					{
+						webService_.getWebServiceInfo().setServerInstanceId(createServerCommand.getServerInstanceId());
+					}
+					else
+					{
+						if (createServerStatus.getSeverity()==Status.ERROR)
+						{
+							environment.getStatusHandler().reportError(createServerStatus);
+						}								
+						return createServerStatus;
+					}
+				}
+				  
+				
+				
+				AddModuleToServerCommand command = new AddModuleToServerCommand();
+				command.setServerInstanceId(webService_.getWebServiceInfo().getServerInstanceId());
+				if (earProject_ != null && earProject_.length()>0 && ear_!= null && ear_.length()>0)
+				{
+					command.setProject(earProject_);
+					command.setModule(ear_);
 				}
 				else
 				{
-					if (createServerStatus.getSeverity()==Status.ERROR)
-					{
-						environment.getStatusHandler().reportError(createServerStatus);
-					}								
-					return createServerStatus;
+					command.setProject(project_);
+					command.setModule(module_);				
 				}
-			}
-			  
-			
-			
-			AddModuleToServerCommand command = new AddModuleToServerCommand();
-			command.setServerInstanceId(webService_.getWebServiceInfo().getServerInstanceId());
-			if (earProject_ != null && earProject_.length()>0 && ear_!= null && ear_.length()>0)
-			{
-				command.setProject(earProject_);
-				command.setModule(ear_);
-			}
-			else
-			{
-				command.setProject(project_);
-				command.setModule(module_);				
-			}
-
-			Status status = command.execute(environment);
-			if (status.getSeverity()==Status.ERROR)
-			{
-				environment.getStatusHandler().reportError(status);
-			}			
-		  return status;
+	
+	            command.setEnvironment( environment );
+				IStatus status = command.execute( monitor, null );
+				if (status.getSeverity()==Status.ERROR)
+				{
+					environment.getStatusHandler().reportError(status);
+				}			
+			  return status;
+		  }
+		  return Status.OK_STATUS;
 	  }
 
 	  public void setProject( String project )
@@ -96,5 +107,10 @@
 	  {
 		  webService_ = webService;  
 	  }
+	  
+	  public void setContext(IContext context)
+	  {
+		  context_=context;
+	  }
 		
 }
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceRunCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceRunCommand.java
index d6f839b..b758bca 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceRunCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceRunCommand.java
@@ -11,34 +11,49 @@
 
 package org.eclipse.jst.ws.internal.creation.ui.extension;
 
-import org.eclipse.jst.ws.internal.consumption.command.common.StartServerCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.command.StartServerCommand;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
-public class PreServiceRunCommand extends SimpleCommand 
+public class PreServiceRunCommand extends AbstractDataModelOperation 
 {
 	private IWebService				webService_;
+	private IContext				context_;
 	
-	  public Status execute(Environment environment) 
-	  {
-		  System.out.println( "In Pre service run command." );
-			
-			StartServerCommand command = new StartServerCommand();
-			command.setServerInstanceId(webService_.getWebServiceInfo().getServerInstanceId());
-			Status status = command.execute(environment);
-			if (status.getSeverity()==Status.ERROR)
-			{
-				environment.getStatusHandler().reportError(status);			  
-			}			
-			return status;
-			
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+		  IStatus status = Status.OK_STATUS;
+	      if (context_.getRun())
+		  {
+	            IEnvironment environment = getEnvironment();
+				
+				StartServerCommand command = new StartServerCommand();
+				command.setServerInstanceId(webService_.getWebServiceInfo().getServerInstanceId());
+	            command.setEnvironment( environment );
+				status = command.execute( monitor, null );
+				if (status.getSeverity()==Status.ERROR)
+				{
+					environment.getStatusHandler().reportError(status);			  
+				}
+		  }
+		  
+		  return status;			
 	  }
 		
 	  public void setWebService( IWebService webService )
 	  {
 		  webService_ = webService;  
 	  }
+	  
+	  public void setContext (IContext context)
+	  {
+		  context_ = context;
+	  }
 
 }
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/ServiceRootFragment.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/ServiceRootFragment.java
index 86a7020..596e7d0 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/ServiceRootFragment.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/ServiceRootFragment.java
@@ -12,10 +12,10 @@
 package org.eclipse.jst.ws.internal.creation.ui.extension;
 
 import org.eclipse.jst.ws.internal.consumption.ui.extension.PreClientDevelopCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.DataObjectCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.ws.internal.extensions.AssembleServiceFragment;
 import org.eclipse.wst.ws.internal.extensions.DeployServiceFragment;
 import org.eclipse.wst.ws.internal.extensions.DevelopServiceFragment;
@@ -103,9 +103,11 @@
 		registry.addMapping( PreServiceDevelopCommand.class, "Project", PreServiceInstallCommand.class );
   	registry.addMapping( PreServiceDevelopCommand.class, "Module", PreServiceInstallCommand.class );
 		registry.addMapping( PreServiceDevelopCommand.class, "EarProject", PreServiceInstallCommand.class );
-  	registry.addMapping( PreServiceDevelopCommand.class, "Ear", PreServiceInstallCommand.class );		
+  	registry.addMapping( PreServiceDevelopCommand.class, "Ear", PreServiceInstallCommand.class );
+  	registry.addMapping( PreServiceDevelopCommand.class, "Context", PreServiceInstallCommand.class );
 
   	registry.addMapping( PreServiceDevelopCommand.class, "WebService", PreServiceRunCommand.class );
+  	registry.addMapping( PreServiceDevelopCommand.class, "Context", PreServiceRunCommand.class );
 	
   }
 }
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/plugin/WebServiceCreationUIPlugin.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/plugin/WebServiceCreationUIPlugin.java
index db02600..2a18e14 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/plugin/WebServiceCreationUIPlugin.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/plugin/WebServiceCreationUIPlugin.java
@@ -13,11 +13,9 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.text.MessageFormat;
-
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
 
 
 /**
@@ -29,8 +27,6 @@
 */
 public class WebServiceCreationUIPlugin extends Plugin
 {
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2002.";
 
   /**
   * The identifier of the descriptor of this plugin in plugin.xml.
@@ -41,7 +37,6 @@
   * The reference to the singleton instance of this plugin.
   */
   private static WebServiceCreationUIPlugin instance_;
-  private Log log_;
 
   /**
   * Constructs a runtime plugin object for this plugin.
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/preferences/ScenarioDefaultsPreferencePage.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/preferences/ScenarioDefaultsPreferencePage.java
index d0ab4aa..514b1f3 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/preferences/ScenarioDefaultsPreferencePage.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/preferences/ScenarioDefaultsPreferencePage.java
@@ -39,7 +39,7 @@
 	
 	protected Control createContents(Composite parent) 
 	{
-	  UIUtils utils = new UIUtils(null, null);
+	  UIUtils utils = new UIUtils(null);
 	  
 	  Composite page = utils.createComposite( parent, 1 );
 	  
@@ -67,6 +67,8 @@
       serverWidget_.setClientTypeRuntimeServer( clientIds );
       serverWidget_.setGenerateProxy( new Boolean(context.getGenerateProxy()) );
       serverWidget_.setPublishService( new Boolean(context.getLaunchWebServiceExplorer()) );
+      serverWidget_.setInstallService( new Boolean(context.getInstallWebService()) );
+      serverWidget_.setInstallClient( new Boolean(context.getInstallClient()) );
       serverWidget_.setStartService( new Boolean(context.getStartWebService()) );
       serverWidget_.setTestService( new Boolean(context.getTestWebService()) );
       serverWidget_.setMonitorService(new Boolean(context.getMonitorWebService()));
@@ -97,6 +99,8 @@
       serverWidget_.setClientTypeRuntimeServer( clientIds );
       serverWidget_.setGenerateProxy( new Boolean(context.getGenerateProxyDefault()) );
       serverWidget_.setPublishService( new Boolean(context.getLaunchWebServiceExplorerDefault()) );
+      serverWidget_.setInstallService( new Boolean(context.getInstallWebServiceDefault()) );
+      serverWidget_.setInstallClient( new Boolean(context.getInstallClientDefault()) );
       serverWidget_.setStartService( new Boolean(context.getStartWebServiceDefault()) );
       serverWidget_.setTestService( new Boolean(context.getTestWebServiceDefault()) );
       serverWidget_.setMonitorService(new Boolean(context.getMonitorWebServiceDefault()));
@@ -124,6 +128,8 @@
       context.setClientWebServiceType( clientIds.getTypeId() );
       context.setGenerateProxy( serverWidget_.getGenerateProxy().booleanValue() );
       context.setLaunchWebServiceExplorer( serverWidget_.getPublishService().booleanValue() );
+      context.setInstallWebService( serverWidget_.getInstallService().booleanValue() );
+      context.setInstallClient( serverWidget_.getInstallClient().booleanValue() );
       context.setStartWebService( serverWidget_.getStartService().booleanValue() );
       context.setTestWebService( serverWidget_.getTestService().booleanValue() );
       context.setMonitorWebService(serverWidget_.getMonitorService().booleanValue());
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetContributor.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetContributor.java
index d63a7eb..fc96c1c 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetContributor.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetContributor.java
@@ -11,27 +11,25 @@
 
 package org.eclipse.jst.ws.internal.creation.ui.server;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.server.StartServerWidget;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
 import org.eclipse.wst.server.core.IServer;
 
 public class StartServerWidgetContributor implements INamedWidgetContributor 
 {
   private IServer      server_;
-  private MessageUtils msgUtils_;
 	  
   public StartServerWidgetContributor( IServer server )
   {
 	server_ = server;
-	msgUtils_ = new  MessageUtils( "org.eclipse.jst.ws.consumption.ui.plugin", this );
   }
   
   public String getDescription() 
   {
-	return msgUtils_.getMessage( "PAGE_DESC_WS_START_SERVER" );
+	return ConsumptionUIMessages.PAGE_DESC_WS_START_SERVER;
   }
 
   public String getName() 
@@ -41,7 +39,7 @@
 
   public String getTitle() 
   {
-	return msgUtils_.getMessage( "PAGE_TITLE_WS_START_SERVER" );
+	return ConsumptionUIMessages.PAGE_TITLE_WS_START_SERVER;
   }
 
   public WidgetContributorFactory getWidgetContributorFactory() 
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetFactory.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetFactory.java
index 4c0341a..8f7d443 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetFactory.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/server/StartServerWidgetFactory.java
@@ -12,12 +12,12 @@
 package org.eclipse.jst.ws.internal.creation.ui.server;
 
 import org.eclipse.jst.ws.internal.creation.ui.extension.PreServiceDevelopCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributorFactory;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributor;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributorFactory;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
 public class StartServerWidgetFactory implements INamedWidgetContributorFactory 
 {
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java
index 37927fe..b727c51 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidget.java
@@ -10,9 +10,12 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.creation.ui.widgets;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.PreferencesSelectionWidget;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.WebServiceClientTypeWidget;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.LabelsAndIds;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
@@ -26,12 +29,10 @@
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
 
 
 public class ServerWizardWidget extends SimpleWidgetDataContributor
@@ -58,6 +59,10 @@
   private String INFOPOP_PWPR_GROUP_SCENARIO_SERVICE = "PWPR0011";
   private Button startService_;
   
+  /*CONTEXT_ID PWPR0017 for the Install Service check box of the Scenario page of Service wizard*/
+  private String INFOPOP_PWPR_CHECKBOX_INSTALL_SERVICE = "PWPR0017";  
+  private Button installService_;
+  
   /*CONTEXT_ID PWPR0009 for the Start Web Project check box check box of the Project Page*/
   private String INFOPOP_PWPR_CHECKBOX_START_WEB_PROJECT = "PWPR0009";
   
@@ -82,8 +87,7 @@
   {
     String       pluginId = "org.eclipse.jst.ws.consumption.ui";
     String       createPluginId = "org.eclipse.jst.ws.creation.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId + ".plugin", this );
-    UIUtils      utils    = new UIUtils( msgUtils, createPluginId );
+    UIUtils      utils    = new UIUtils( createPluginId );
     
     statusListener_ = statusListener;
     
@@ -91,15 +95,15 @@
   	
   	Composite serverComposite = utils.createComposite( parent, 1 );
   	
-  	Group serviceGroup = utils.createGroup( serverComposite, "GROUP_SCENARIO_SERVICE",
-  	                                        "TOOLTIP_PWPR_GROUP_SCENARIO_SERVICE", 
+  	Group serviceGroup = utils.createGroup( serverComposite, ConsumptionUIMessages.GROUP_SCENARIO_SERVICE,
+  			ConsumptionUIMessages.TOOLTIP_PWPR_GROUP_SCENARIO_SERVICE, 
   	                                        INFOPOP_PWPR_GROUP_SCENARIO_SERVICE,
 											2, 10, 10);
   	
   	
   	// Create webservice combo box.
-    webserviceType_ = utils.createCombo( serviceGroup, "LABEL_WEBSERVICETYPE",
-                                         "TOOLTIP_PWPR_COMBO_TYPE",
+    webserviceType_ = utils.createCombo( serviceGroup, ConsumptionUIMessages.LABEL_WEBSERVICETYPE,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_COMBO_TYPE,
                                          INFOPOP_PWPR_COMBO_TYPE, 
 										 SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     webserviceType_.addListener( SWT.Modify, statusListener );
@@ -108,10 +112,22 @@
     GridData  buttonGrid   = new GridData();
     buttonGrid.horizontalSpan = 2;
     buttonsGroup.setLayoutData( buttonGrid );
+     
+    // Create install service check box.
+    installService_ = utils.createCheckbox( buttonsGroup, ConsumptionUIMessages.BUTTON_INSTALL_SERVICE_WEB_PROJECT,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_INSTALL_SERVICE_WEB_PROJECT,
+                                          INFOPOP_PWPR_CHECKBOX_INSTALL_SERVICE );
+    installService_ .addSelectionListener( new SelectionAdapter()
+                                        {
+                                          public void widgetSelected( SelectionEvent evt )
+                                          {
+                                        	  handleInstallPressed();
+                                          }
+                                        });
     
     // Create start service check box.
-    startService_ = utils.createCheckbox( buttonsGroup, "BUTTON_START_WEB_PROJECT",
-                                          "TOOLTIP_PWPR_CHECKBOX_START_WEB_PROJECT",
+    startService_ = utils.createCheckbox( buttonsGroup, ConsumptionUIMessages.BUTTON_START_WEB_PROJECT,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_START_WEB_PROJECT,
                                           INFOPOP_PWPR_CHECKBOX_START_WEB_PROJECT );
     startService_.addSelectionListener( new SelectionAdapter()
                                         {
@@ -121,15 +137,15 @@
                                           }
                                         });
     
-    launchUddi_ = utils.createCheckbox( buttonsGroup, "BUTTON_WS_PUBLISH",
-                                        "TOOLTIP_PWPR_CHECKBOX_LAUNCH_WS",
+    launchUddi_ = utils.createCheckbox( buttonsGroup, ConsumptionUIMessages.BUTTON_WS_PUBLISH,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_LAUNCH_WS,
                                         INFOPOP_PWPR_CHECKBOX_LAUNCH_WS );
     
     Composite proxyComposite = utils.createComposite( serverComposite, 1, 5, 0 );
     
     // Create generate proxy check box.
-    generateProxy_ = utils.createCheckbox( proxyComposite, "BUTTON_GENERATE_PROXY",
-                                           "TOOLTIP_PWPR_CHECKBOX_GENERATE_PROXY",
+    generateProxy_ = utils.createCheckbox( proxyComposite, ConsumptionUIMessages.BUTTON_GENERATE_PROXY,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_GENERATE_PROXY,
                                            INFOPOP_PWPR_CHECKBOX_GENERATE_PROXY );
     generateProxy_.addSelectionListener( new SelectionAdapter()
                                          {
@@ -146,12 +162,12 @@
     Composite testGroup = utils.createComposite(serverComposite,1);
     
     //  Create test service check box.
-    testService_ = utils.createCheckbox( testGroup, "CHECKBOX_TEST_WEBSERVICE",
-                                         "TOOLTIP_PWPR_CHECKBOX_TEST_SERVICE",
+    testService_ = utils.createCheckbox( testGroup, ConsumptionUIMessages.CHECKBOX_TEST_WEBSERVICE,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_TEST_SERVICE,
                                          INFOPOP_PWPR_CHECKBOX_TEST_SERVICE );
 
-    monitorService = utils.createCheckbox( testGroup, "CHECKBOX_MONITOR_WEBSERVICE",
-                                         "TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE",
+    monitorService = utils.createCheckbox( testGroup, ConsumptionUIMessages.CHECKBOX_MONITOR_WEBSERVICE,
+    		ConsumptionUIMessages.TOOLTIP_PWPR_CHECKBOX_MONITOR_SERVICE,
                                          INFOPOP_PWPR_CHECKBOX_MONITOR_SERVICE );
     
     if( displayPreferences_ )
@@ -164,6 +180,18 @@
     return this;
   }
 
+  private void handleInstallPressed()
+  {
+    boolean enabled = installService_.getSelection();
+    
+    if (!enabled)
+    {
+    	startService_.setSelection(enabled);
+    }
+    startService_.setEnabled(enabled);
+    handleStartPressed();
+  }
+  
   private void handleStartPressed()
   {
     boolean enabled = startService_.getSelection();
@@ -185,9 +213,19 @@
     return clientWidget_.getTypeRuntimeServer();  
   }
   
+  public void setInstallClient( Boolean install)
+  {
+    clientWidget_.setInstallClient( install );
+  }
+  
+  public Boolean getInstallClient()
+  {
+    return clientWidget_.getInstallClient();  
+  }
+  
   public void setServiceTypeRuntimeServer( TypeRuntimeServer ids )
   {
-    LabelsAndIds                        labelIds   = WebServiceRuntimeExtensionUtils.getServiceTypeLabels();
+    LabelsAndIds                        labelIds   = WebServiceRuntimeExtensionUtils2.getServiceTypeLabels();
 	//rskreg
     int                                 selection  = 0;
     String[]                            serviceIds = labelIds.getIds_();
@@ -223,7 +261,7 @@
   
   public Boolean getStartService()
   {
-    return new Boolean( startService_.getSelection() );  
+    return new Boolean( startService_.getSelection() && installService_.getSelection());  
   }
   
   public void setStartService( Boolean value )
@@ -231,6 +269,16 @@
     startService_.setSelection( value.booleanValue() );
   }
 
+  public Boolean getInstallService()
+  {
+    return new Boolean( installService_.getSelection() );  
+  }
+  
+  public void setInstallService( Boolean value )
+  {
+    installService_.setSelection( value.booleanValue() );
+  }
+  
   public Boolean getTestService()
   {
     return new Boolean( testService_.getSelection() && startService_.getSelection() );
@@ -283,18 +331,19 @@
 
   public void internalize()
   {
+	handleInstallPressed();  
     handleStartPressed();  
   }
   
-  public Status getStatus()
+  public IStatus getStatus()
   {
-    Status status = new SimpleStatus( "" );
+    IStatus status = Status.OK_STATUS;
     
     // If the webservice has not been selected then user can not move
     // forward to the next page.
     if( webserviceType_.getText().equals("") )
     {
-      status = new SimpleStatus( "", "", Status.ERROR );
+      status = StatusUtils.errorStatus( "" );
     }
     
     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 5d36055..fb1ad10 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
@@ -10,25 +10,27 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.creation.ui.widgets;
 
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetDefaultingCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 public class ServerWizardWidgetDefaultingCommand extends ClientWizardWidgetDefaultingCommand
 {    
   private TypeRuntimeServer typeRuntimeServer_;
   private IStructuredSelection initialSelection_;
   
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {    
+  
     String type      = getScenarioContext().getWebServiceType();
-    String runtime   = WebServiceRuntimeExtensionUtils.getDefaultRuntimeValueFor( type );
+    String runtime   = WebServiceRuntimeExtensionUtils2.getDefaultRuntimeValueFor( type );
 	
-    String factoryID = WebServiceRuntimeExtensionUtils.getDefaultServerValueFor(type);    
+    String factoryID = WebServiceRuntimeExtensionUtils2.getDefaultServerValueFor(type);    
     typeRuntimeServer_ = new TypeRuntimeServer();
     
     typeRuntimeServer_.setTypeId( type );
@@ -36,14 +38,14 @@
     typeRuntimeServer_.setServerId( factoryID );
     
     //Default the typeId from the initial selection
-    String[] typeIds = WebServiceRuntimeExtensionUtils.getWebServiceTypeBySelection(initialSelection_);
+    String[] typeIds = WebServiceRuntimeExtensionUtils2.getWebServiceTypeBySelection(initialSelection_);
 
     if (typeIds!=null && typeIds.length>0)
     {
       typeRuntimeServer_.setTypeId(typeIds[0]);
     }
     
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
   public void setInitialSelection(IStructuredSelection selection)
@@ -56,6 +58,11 @@
     return typeRuntimeServer_;
   }
 
+  public Boolean getInstallService()
+  {
+    return new Boolean( getScenarioContext().getInstallWebService() );  
+  }
+  
   public Boolean getStartService()
   {
     return new Boolean( getScenarioContext().getStartWebService() );  
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetOutputCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetOutputCommand.java
index 2395c95..3b0c125 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetOutputCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetOutputCommand.java
@@ -12,12 +12,13 @@
 
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.ClientWizardWidgetOutputCommand;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
 
 
 public class ServerWizardWidgetOutputCommand extends ClientWizardWidgetOutputCommand
 {    
   private TypeRuntimeServer typeRuntimeServer_;
+  private boolean           installService_;
   private boolean           startService_;
   private boolean           testService_;
   private boolean           publishService_;
@@ -30,6 +31,11 @@
     return typeRuntimeServer_;
   }
 
+  public boolean getInstallService()
+  {
+    return installService_;  
+  }
+
   public boolean getStartService()
   {
     return startService_;  
@@ -70,6 +76,13 @@
     this.publishService_ = publishService_;
   }
   /**
+   * @param installService_ The installService_ to set.
+   */
+  public void setInstallService(boolean installService_)
+  {
+    this.installService_ = installService_;
+  }
+  /**
    * @param startService_ The startService_ to set.
    */
   public void setStartService(boolean startService_)
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ExportWSWidgetBinding.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ExportWSWidgetBinding.java
index 3463070..804cb29 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ExportWSWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ExportWSWidgetBinding.java
@@ -10,8 +10,10 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.creation.ui.widgets.binding;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.PublishToPrivateUDDICommandFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.PublishWSWidget;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -21,8 +23,6 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 
 
@@ -65,7 +65,7 @@
   }
 
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
   {
@@ -85,14 +85,12 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry)
   {
-    String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
     this.widgetRegistry = widgetRegistry;
     publishToPrivateUDDICmdFrag.registerWidgetMappings(this.widgetRegistry);
 
     widgetRegistry.add("WSExport", 
-      msgUtils.getMessage("PAGE_TITLE_WS_PUBLISH"),
-      msgUtils.getMessage("PAGE_DESC_WS_PUBLISH"),
+    ConsumptionUIMessages.PAGE_TITLE_WS_PUBLISH,
+    ConsumptionUIMessages.PAGE_DESC_WS_PUBLISH,
       new WidgetContributorFactory()
       {
         public WidgetContributor create()
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/PublishWSDLWidgetBinding.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/PublishWSDLWidgetBinding.java
index 068d4af..37d7576 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/PublishWSDLWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/PublishWSDLWidgetBinding.java
@@ -10,13 +10,13 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.creation.ui.widgets.binding;
 
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class PublishWSDLWidgetBinding implements CommandWidgetBinding
@@ -47,7 +47,7 @@
   }
 
   /* (non-Javadoc), 
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
   {
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ServerWidgetBinding.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ServerWidgetBinding.java
index 6a895a8..10b8f1c 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ServerWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/binding/ServerWidgetBinding.java
@@ -11,12 +11,11 @@
 package org.eclipse.jst.ws.internal.creation.ui.widgets.binding;
 
 import org.eclipse.jst.ws.internal.common.StringToIProjectTransformer;
-import org.eclipse.jst.ws.internal.consumption.command.common.ClientServerDeployableConfigCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.ComputeEndpointCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateMonitorCommand;
 import org.eclipse.jst.ws.internal.consumption.command.common.ManageServerStartUpCommand;
-import org.eclipse.jst.ws.internal.consumption.command.common.ServerDeployableConfigurationCommand;
 import org.eclipse.jst.ws.internal.consumption.common.ScenarioCleanupCommand;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.command.data.ServerInstToIServerTransformer;
 import org.eclipse.jst.ws.internal.consumption.ui.common.FinishFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.extension.ClientRootFragment;
@@ -42,8 +41,7 @@
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.TestDefaultingFragment;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.WSDLTestLaunchCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.WebServiceClientTestArrivalCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceClientTypeRegistry;
-import org.eclipse.jst.ws.internal.consumption.ui.wizard.WebServiceServerRuntimeTypeRegistry;
+import org.eclipse.jst.ws.internal.creation.ui.CreationUIMessages;
 import org.eclipse.jst.ws.internal.creation.ui.extension.PreServiceDevelopCommand;
 import org.eclipse.jst.ws.internal.creation.ui.extension.ServiceRootFragment;
 import org.eclipse.jst.ws.internal.creation.ui.widgets.ServerWizardWidget;
@@ -55,6 +53,8 @@
 import org.eclipse.jst.ws.internal.creation.ui.widgets.test.ServiceTestFragment;
 import org.eclipse.jst.ws.internal.creation.ui.widgets.test.ServiceTestWidget;
 import org.eclipse.jst.ws.internal.creation.ui.widgets.test.WebServiceTestDefaultingCommand;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
@@ -66,13 +66,6 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 
 public class ServerWidgetBinding implements CommandWidgetBinding
@@ -111,7 +104,7 @@
   }
 
   /* (non-Javadoc), 
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
   {
@@ -120,17 +113,21 @@
     // Before ServerWizardWidget
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ServiceTypeRuntimeServer", ServerWizardWidget.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "StartService", ServerWizardWidget.class);
+    dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "InstallService", ServerWizardWidget.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "TestService", ServerWizardWidget.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "MonitorService", ServerWizardWidget.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "MonitorService", CreateMonitorCommand.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "MonitorService", ComputeEndpointCommand.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "PublishService", ServerWizardWidget.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "GenerateProxy", ServerWizardWidget.class);
+    dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "InstallClient", ServerWizardWidget.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ServerWizardWidget.class);
     dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ResourceContext", ServerWizardWidget.class);
     
     // After ServerWizardWidget
     dataRegistry.addMapping(ServerWizardWidget.class, "ServiceTypeRuntimeServer", ServerWizardWidgetOutputCommand.class );
+    dataRegistry.addMapping(ServerWizardWidget.class, "InstallService", ServerWizardWidgetOutputCommand.class);
+    dataRegistry.addMapping(ServerWizardWidget.class, "InstallClient", ServerWizardWidgetOutputCommand.class);
     dataRegistry.addMapping(ServerWizardWidget.class, "StartService", ServerWizardWidgetOutputCommand.class);
     dataRegistry.addMapping(ServerWizardWidget.class, "TestService", ServerWizardWidgetOutputCommand.class);
     dataRegistry.addMapping(ServerWizardWidget.class, "MonitorService", CreateMonitorCommand.class);
@@ -140,42 +137,51 @@
     dataRegistry.addMapping(ServerWizardWidget.class, "ClientTypeRuntimeServer", ServerWizardWidgetOutputCommand.class);
     dataRegistry.addMapping(ServerWizardWidget.class, "ResourceContext", ServerWizardWidgetOutputCommand.class);
     
-    // Before ObjectSelectionWidget
+    // Before ObjectSelectionWidget    
     dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "TestService", ClientTestWidget.class );
     dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "TestService",FinishTestFragment.class);
-    
+	dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "GenerateProxy", TestDefaultingFragment.class);
     // Before ServerRuntimeSelectionWidget
     dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "GenerateProxy", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceProject2EARProject", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentName", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarComponentName", ServerRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceProjectName", ServerRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarProjectName", ServerRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceProject2EARProject", ServerRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentName", ServerRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarComponentName", ServerRuntimeSelectionWidget.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentType", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ServerRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ServerRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", ServerRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", ServerRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ServerRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ServerRuntimeSelectionWidget.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceTypeRuntimeServer", ServerRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceRuntimeId", ServerRuntimeSelectionWidget.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceJ2EEVersion", ServerRuntimeSelectionWidget.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ServerRuntimeSelectionWidget.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientRuntimeId", ServerRuntimeSelectionWidget.class);    
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceJ2EEVersion", ServerRuntimeSelectionWidget.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ServerRuntimeSelectionWidget.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceNeedEAR", ServerRuntimeSelectionWidget.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientNeedEAR", ServerRuntimeSelectionWidget.class);
     
             
     // After ServerRuntimeSelectionWidget    
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceTypeRuntimeServer", ServerExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceJ2EEVersion", ServerExtensionDefaultingCommand.class );
+    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceRuntimeId", ServerExtensionDefaultingCommand.class);    
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceJ2EEVersion", ServerExtensionDefaultingCommand.class );
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientTypeRuntimeServer", ClientExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class );
+    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientRuntimeId", ClientExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class );
     //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceProject2EARProject", ServerExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceProjectName", ServerExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceComponentName", ServerExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceComponentName", ServerExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceEarProjectName", ServerExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceEarComponentName", ServerExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
+    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceComponentType", ServerExtensionDefaultingCommand.class);        
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceEarComponentName", ServerExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientProjectName", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientEarProjectName", ClientExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);
-    dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);
+    //dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientComponentType", ClientExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ServiceNeedEAR", ServerExtensionDefaultingCommand.class);
     dataRegistry.addMapping(ServerRuntimeSelectionWidget.class, "ClientNeedEAR", ClientExtensionDefaultingCommand.class);
@@ -251,15 +257,13 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry)
   {
-    String       pluginId_ = "org.eclipse.jst.ws.consumption.ui";
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    
+   
     widgetRegistry_ = widgetRegistry;
     publishToPrivateUDDICmdFrag.registerWidgetMappings(widgetRegistry_);
 
     widgetRegistry.add( "ServerWizardWidget", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_PROJECT"),
-                        msgUtils.getMessage("PAGE_DESC_WS_PROJECT"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_PROJECT,
+                        ConsumptionUIMessages.PAGE_DESC_WS_PROJECT,
 				        new WidgetContributorFactory()
 				        {
 				          public WidgetContributor create()
@@ -268,10 +272,9 @@
 				          }
 				        } );
 
-    MessageUtils creationUIMessageUtils = new MessageUtils("org.eclipse.jst.ws.creation.ui.plugin", this);
     widgetRegistry.add( "ObjectSelectionWidget", 
-                        creationUIMessageUtils.getMessage("PAGE_TITLE_OBJECT_SELECTION"),
-                        creationUIMessageUtils.getMessage("PAGE_DESC_OBJECT_SELECTION"),
+                        CreationUIMessages.PAGE_TITLE_OBJECT_SELECTION,
+                        CreationUIMessages.PAGE_DESC_OBJECT_SELECTION,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -281,8 +284,8 @@
                         });
 
     widgetRegistry.add( "ServerRuntimeSelectionWidget", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_RUNTIME_SELECTION"),
-                        msgUtils.getMessage("PAGE_DESC_WS_RUNTIME_SELECTION"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_RUNTIME_SELECTION,
+                        ConsumptionUIMessages.PAGE_DESC_WS_RUNTIME_SELECTION,
 						new WidgetContributorFactory()
                         {
 						  public WidgetContributor create()
@@ -292,8 +295,8 @@
 						} ); 
     
     widgetRegistry.add( "TestService", 
-                        msgUtils.getMessage("PAGE_TITLE_WSTEST"),
-                        msgUtils.getMessage("PAGE_DESC_WSTEST"),
+                        ConsumptionUIMessages.PAGE_TITLE_WSTEST,
+                        ConsumptionUIMessages.PAGE_DESC_WSTEST,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -303,8 +306,8 @@
                         } );
     
     widgetRegistry.add( "ClientTestWidget", 
-            msgUtils.getMessage("PAGE_TITLE_WS_SAMPLE"),
-            msgUtils.getMessage("PAGE_DESC_WS_SAMPLE"),
+            ConsumptionUIMessages.PAGE_TITLE_WS_SAMPLE,
+            ConsumptionUIMessages.PAGE_DESC_WS_SAMPLE,
             new WidgetContributorFactory()
             {
               public WidgetContributor create()
@@ -314,8 +317,8 @@
             });
     
     widgetRegistry.add( "Publish", 
-                        msgUtils.getMessage("PAGE_TITLE_WS_PUBLISH"),
-                        msgUtils.getMessage("PAGE_DESC_WS_PUBLISH"),
+                        ConsumptionUIMessages.PAGE_TITLE_WS_PUBLISH,
+                        ConsumptionUIMessages.PAGE_DESC_WS_PUBLISH,
                         new WidgetContributorFactory()
                         {
                           public WidgetContributor create()
@@ -324,26 +327,7 @@
                           }
                         } );
   }
-    
-  private class InitRegistries extends SimpleCommand
-  {  
-    private WebServiceClientTypeRegistry clientRegistry_ = WebServiceClientTypeRegistry.getInstance();
-    private WebServiceServerRuntimeTypeRegistry serverRegistry_ = WebServiceServerRuntimeTypeRegistry.getInstance();
-    
-    public Status execute(Environment environment) 
-    {
-      clientRegistry_.setDataMappingRegistry( dataMappingRegistry_ );
-      clientRegistry_.setWidgetRegistry( widgetRegistry_ );
-      clientRegistry_.setCanFinishRegistry( canFinishRegistry_ );
       
-      serverRegistry_.setDataMappingRegistry( dataMappingRegistry_ );
-      serverRegistry_.setWidgetRegistry( widgetRegistry_ );
-      serverRegistry_.setCanFinishRegistry( canFinishRegistry_ );
-      
-      return new SimpleStatus( "" );
-    }
-  }
-  
   private class ClientFragment extends BooleanFragment
   {
     boolean genProxy_ = false;
@@ -375,7 +359,7 @@
     }
     
     /* (non-Javadoc)
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry)
     {
@@ -387,9 +371,12 @@
 	  
       
       // Setup the PreClientDevelopCommand.
+	  dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "InstallClient", PreClientDevelopCommand.class);
       dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "TestService", PreClientDevelopCommand.class);           
-      dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "ResourceContext", PreClientDevelopCommand.class);            
+      dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "ResourceContext", PreClientDevelopCommand.class);
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "InstallClient", PreClientDevelopCommand.class );
       dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", PreClientDevelopCommand.class );
+      dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientRuntimeId", PreClientDevelopCommand.class );      
       dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientJ2EEVersion", PreClientDevelopCommand.class);
       dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientProject", PreClientDevelopCommand.class, "Module", null );
       dataRegistry.addMapping( ClientExtensionDefaultingCommand.class, "ClientProjectType", PreClientDevelopCommand.class, "ModuleType", null);
@@ -405,7 +392,6 @@
     {
       add( new SimpleFragment( new ScenarioCleanupCommand(), "" ));
       
-      add( new SimpleFragment( new InitRegistries(), "" ) );
       add( new SimpleFragment( new ServerWizardWidgetDefaultingCommand(), ""));
       add( new SimpleFragment( "ServerWizardWidget" ) );
       add( new SimpleFragment( new ServerWizardWidgetOutputCommand(), "" ));
@@ -434,7 +420,7 @@
     }
     
     /* (non-Javadoc)
-     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+     * @see org.eclipse.wst.command.internal.env.core.fragment.CommandFragment#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
      */
     public void registerDataMappings(DataMappingRegistry dataRegistry)
     {
@@ -456,7 +442,8 @@
       // Map ServerWizardWidgetDefaultingCommand
       dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ServerWizardWidgetOutputCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "ServiceTypeRuntimeServer", ServerWizardWidgetOutputCommand.class);
-      dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "GenerateProxy", ServerWizardWidgetOutputCommand.class);    
+      dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "GenerateProxy", ServerWizardWidgetOutputCommand.class);
+      dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "InstallService", ServerWizardWidgetOutputCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "StartService", ServerWizardWidgetOutputCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "TestService", ServerWizardWidgetOutputCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetDefaultingCommand.class, "PublishService", ServerWizardWidgetOutputCommand.class);
@@ -467,11 +454,13 @@
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "ServiceTypeRuntimeServer", ObjectSelectionFragment.class, "TypeRuntimeServer", null);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "ClientTypeRuntimeServer", ServerRuntimeSelectionWidgetDefaultingCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "ServiceTypeRuntimeServer", ServerRuntimeSelectionWidgetDefaultingCommand.class);
+      dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "InstallService", ServerExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "StartService", ServerExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "TestService", ServerExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "PublishService", ServerExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "PublishService", PublishWSWidget.class, "PublishToPublicUDDI", null);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "GenerateProxy", ServerRuntimeSelectionWidgetDefaultingCommand.class);
+      dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "InstallClient", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "TestService", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "ResourceContext", ClientExtensionDefaultingCommand.class);
       
@@ -484,20 +473,23 @@
       
       // Map ServerRuntimeSelectionWidgetDefaultingCommand
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceTypeRuntimeServer", ServerExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceRuntimeId", ServerExtensionDefaultingCommand.class);      
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientRuntimeId", ClientExtensionDefaultingCommand.class);      
       //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceProject2EARProject", ServerExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceProjectName", ServerExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarProjectName", ServerExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentName", ServerExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarComponentName", ServerExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
+      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentType", ServerExtensionDefaultingCommand.class);      
+      //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentName", ServerExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceEarComponentName", ServerExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "Runtime2ClientTypes", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientProjectName", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarProjectName", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);      
+      //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientEarComponentName", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentName", ClientExtensionDefaultingCommand.class);      
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientComponentType", ClientExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceJ2EEVersion", ServerExtensionDefaultingCommand.class);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceJ2EEVersion", ServerExtensionDefaultingCommand.class);
+      //dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientJ2EEVersion", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "GenerateProxy", ClientFragment.class);
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "GenerateProxy", ClientExtensionDefaultingCommand.class);
       dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceNeedEAR", ServerExtensionDefaultingCommand.class);
@@ -513,17 +505,20 @@
 	  
 	    // Setup the PreServiceDevelopCommand.
 			//
+      dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "InstallService", PreServiceDevelopCommand.class);
       dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "StartService", PreServiceDevelopCommand.class);
       dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "TestService", PreServiceDevelopCommand.class);
       dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "PublishService", PreServiceDevelopCommand.class);      
       dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "GenerateProxy", PreServiceDevelopCommand.class);      
       dataRegistry.addMapping( ServerWizardWidgetOutputCommand.class, "ResourceContext", PreServiceDevelopCommand.class);			
 			//
-	  dataRegistry.addMapping( ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentType", PreServiceDevelopCommand.class, "ModuleType", null);
+	  //dataRegistry.addMapping( ServerRuntimeSelectionWidgetDefaultingCommand.class, "ServiceComponentType", PreServiceDevelopCommand.class, "ModuleType", null);
 	    dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServiceTypeRuntimeServer", PreServiceDevelopCommand.class );
+        dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServiceRuntimeId", PreServiceDevelopCommand.class );
       dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServiceJ2EEVersion", PreServiceDevelopCommand.class);
       dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServerProject", PreServiceDevelopCommand.class, "Module", null );
       dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServerProjectEAR", PreServiceDevelopCommand.class, "Ear", null );
+      dataRegistry.addMapping( ServerExtensionDefaultingCommand.class, "ServiceComponentType", PreServiceDevelopCommand.class, "ModuleType", null );
       //
 	    dataRegistry.addMapping( ObjectSelectionOutputCommand.class, "ObjectSelection", PreServiceDevelopCommand.class, "Selection", new SelectionTransformer() );
 			
@@ -546,28 +541,13 @@
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "GenerateProxy", ClientTestFragment.class);
 
       
-      //ServerDeployableConfigurationCommand
-      dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "StartService", ServerDeployableConfigurationCommand.class );
-      dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", ServerDeployableConfigurationCommand.class, "ServiceProject", new StringToIProjectTransformer());
       dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", ClientTestDelegateCommand.class);
       dataRegistry.addMapping(ServerExtensionOutputCommand.class, "WsdlURI", ClientTestDelegateCommand.class);
-      dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServiceServerInstanceId", ServerDeployableConfigurationCommand.class,"ServiceExistingServer", new ServerInstToIServerTransformer());
-      dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerServer", ServerDeployableConfigurationCommand.class,"ServiceServerTypeID", null);
-      dataRegistry.addMapping(ServerRuntimeSelectionWidgetDefaultingCommand.class, "ClientTypeRuntimeServer", ServerDeployableConfigurationCommand.class, "ClientTypeRuntimeServer", null );
-      dataRegistry.addMapping(ServerDeployableConfigurationCommand.class, "ServiceExistingServerInstId", ServerExtensionDefaultingCommand.class,"ServiceExistingServerInstanceId",null);
-      dataRegistry.addMapping(ServerDeployableConfigurationCommand.class, "SampleExistingServerInstId", ClientExtensionDefaultingCommand.class,"ClientExistingServerInstanceId", null);
            
       dataRegistry.addMapping(ServerExtensionOutputCommand.class, "ServiceServerInstanceId", CreateMonitorCommand.class);
-      dataRegistry.addMapping(ClientServerDeployableConfigCommand.class, "ServiceExistingServerInstId", FinishDefaultCommand.class, "ExistingServerId", null);
 
       // Map ServerExtensionOutputCommand for ServerStart()
       dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProjectEAR", ServerExtensionOutputCommand.class, "EarProjectName", null);
-      dataRegistry.addMapping(ServerDeployableConfigurationCommand.class, "ServiceExistingServerInstId", ServerExtensionOutputCommand.class,"ExistingServerId", null);
-                
-      //ServerDeployableConfigurationCommand for client side
-      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProject", ClientServerDeployableConfigCommand.class, "SampleProject", new StringToIProjectTransformer());
-      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientTypeRuntimeServer", ClientServerDeployableConfigCommand.class,"ClientTypeRuntimeServer", null);
-      dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServerInstance", ClientServerDeployableConfigCommand.class,"SampleExistingServer", new ServerInstToIServerTransformer());
 
       // MAP post server config call
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProjectEAR", ClientExtensionOutputCommand.class, "EarProjectName", null);
@@ -589,7 +569,6 @@
       dataRegistry.addMapping(ServerWizardWidgetOutputCommand.class, "TestService", ManageServerStartUpCommand.class);
       dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerProject", ManageServerStartUpCommand.class, "ServiceProject", new StringToIProjectTransformer());
       dataRegistry.addMapping(ServerExtensionDefaultingCommand.class, "ServerServer", ManageServerStartUpCommand.class,"ServiceServerTypeId", null);
-      dataRegistry.addMapping(ServerDeployableConfigurationCommand.class, "ServiceExistingServerInstId", ManageServerStartUpCommand.class,"ServiceExistingServer", new ServerInstToIServerTransformer());
       
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientProject", ManageServerStartUpCommand.class, "SampleProject", new StringToIProjectTransformer());
       dataRegistry.addMapping(ClientExtensionDefaultingCommand.class, "ClientServerInstance", ManageServerStartUpCommand.class,"SampleExistingServer", new ServerInstToIServerTransformer());      
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidget.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidget.java
index a8ad95f..463d82f 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidget.java
@@ -11,15 +11,19 @@
 package org.eclipse.jst.ws.internal.creation.ui.widgets.runtime;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.common.ValidationUtils;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ClientRuntimeSelectionWidget;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ProjectSelectionWidget;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.RuntimeServerSelectionWidget;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
 import org.eclipse.swt.events.ModifyEvent;
@@ -30,13 +34,9 @@
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 
 /*
  *
@@ -46,7 +46,6 @@
  */
 public class ServerRuntimeSelectionWidget extends SimpleWidgetDataContributor
 {
-  private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
   private String createPluginId_ = "org.eclipse.jst.ws.creation.ui";
   
   /* CONTEXT_ID PWRS0002 for the Wizard Scenario Service configuration of the Runtime Selection Page */
@@ -56,14 +55,12 @@
   private ProjectSelectionWidget       projectWidget_;
   private ClientRuntimeSelectionWidget clientWidget_;
   private TextModifyListener           textListener_;
-  private MessageUtils msgUtils_;
-  
+
   private boolean isClientWidgetVisible_ = true;
   
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    msgUtils_ = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils_, createPluginId_ ); 
+    UIUtils      uiUtils  = new UIUtils( createPluginId_ ); 
     
     ScrolledComposite scroller = new ScrolledComposite( parent, SWT.H_SCROLL | SWT.V_SCROLL );
     scroller.setExpandHorizontal(true);
@@ -73,12 +70,12 @@
     scroller.setContent( root );
     
     Composite textComposite = uiUtils.createComposite( root, 1, 0, 0 );
-    createMessageText( textComposite, msgUtils_.getMessage("MSG_GENERAL_PROJECT_AND_EAR", new String[] { msgUtils_.getMessage("MSG_SERVICE_SUB")}));
-    createMessageText( textComposite, msgUtils_.getMessage("MSG_EAR_PROJECT_WILL_BE_CREATED") );
+    createMessageText( textComposite, NLS.bind(ConsumptionUIMessages.MSG_GENERAL_PROJECT_AND_EAR, new String[] {ConsumptionUIMessages.MSG_SERVICE_SUB}));
+    createMessageText( textComposite, ConsumptionUIMessages.MSG_EAR_PROJECT_WILL_BE_CREATED );
     
     Composite serverComp = uiUtils.createComposite( root, 1, 5, 0 );
     
-    Group serverGroup = uiUtils.createGroup( serverComp, "LABEL_SELECTION_VIEW_TITLE",
+    Group serverGroup = uiUtils.createGroup( serverComp, ConsumptionUIMessages.LABEL_SELECTION_VIEW_TITLE,
                                              null, INFOPOP_PWRS_GROUP_SERVICE,
 											 2, 5, 5);
     
@@ -119,6 +116,7 @@
     runtimeWidget_.removeModifyListener( textListener_ );
     runtimeWidget_.setTypeRuntimeServer( ids );  
     projectWidget_.setTypeRuntimeServer(ids);
+    projectWidget_.refreshProjectItems();
     runtimeWidget_.addModifyListener( textListener_ );
   }
   
@@ -132,46 +130,33 @@
     clientWidget_.setClientTypeRuntimeServer( ids );  
   }
   
-  public SelectionListChoices getServiceProject2EARProject()
+  public void setServiceRuntimeId(String id)
   {
-    return projectWidget_.getProjectChoices();
+	//TODO This method and any mappings to it
+	// should be deleted if no longer required.
   }
   
-  public void setServiceProject2EARProject(SelectionListChoices serviceProject2EARProject)
+  public String getServiceRuntimeId()
   {
-    projectWidget_.setProjectChoices(serviceProject2EARProject);
-  }
-  
-  public SelectionListChoices getRuntime2ClientTypes()
-  {
-    return clientWidget_.getRuntime2ClientTypes();
+    //calculate the most appropriate clientRuntimeId based on current settings.
+    String projectName = projectWidget_.getProjectName();
+    String templateId = projectWidget_.getComponentType();
+    
+    //Find the service runtime that fits this profile best.
+    return WebServiceRuntimeExtensionUtils2.getServiceRuntimeId(runtimeWidget_.getTypeRuntimeServer(), projectName, templateId);    
   }  
   
-  public void setRuntime2ClientTypes(SelectionListChoices runtime2ClientTypes)
+  public void setClientRuntimeId(String id)
   {
-    clientWidget_.setRuntime2ClientTypes(runtime2ClientTypes);
+    //TODO This method and any mappings to it
+	// should be deleted if no longer required.
   }
   
-  public String getServiceJ2EEVersion()
+  public String getClientRuntimeId()
   {
-    return runtimeWidget_.getJ2EEVersion();
-  }
-  
-  public void setServiceJ2EEVersion(String j2eeVersion)
-  {
-    runtimeWidget_.setJ2EEVersion(j2eeVersion);
-    projectWidget_.setJ2EEVersion(j2eeVersion);
-  }
-  
-  public String getClientJ2EEVersion()
-  {
-    return clientWidget_.getJ2EEVersion();
-  }
-  
-  public void setClientJ2EEVersion(String j2eeVersion)
-  {
-    clientWidget_.setJ2EEVersion(j2eeVersion);
-  }
+    //calculate the most appropriate clientRuntimeId based on current settings.
+    return clientWidget_.getClientRuntimeId();
+  } 
   
   public boolean getServiceNeedEAR()
   {
@@ -193,24 +178,9 @@
     clientWidget_.setClientNeedEAR(b);
   }  
   
-  public String getServiceComponentName()
+  public String getServiceComponentType()
   {
-	return projectWidget_.getComponentName();  
-  }
-  
-  public void setServiceComponentName( String name )
-  {
-    projectWidget_.setComponentName( name );
-  }
-  
-  public String getServiceEarComponentName()
-  {
-    return projectWidget_.getEarComponentName();	  
-  }
-  
-  public void setServiceEarComponentName( String name )
-  {
-	projectWidget_.setEarComponentName( name );  
+    return projectWidget_.getComponentType();
   }
   
   public void setServiceComponentType( String type )
@@ -218,32 +188,12 @@
 	projectWidget_.setComponentType( type );  
   }
   
-  public String getClientComponentName()
-  {
-	return clientWidget_.getClientComponentName();  
-  }
-  
-  public void setClientComponentName( String name )
-  {
-    clientWidget_.setClientComponentName( name );
-  }
-  
-  public String getClientEarComponentName()
-  {
-    return clientWidget_.getClientEarComponentName();	  
-  }
-  
-  public void setClientEarComponentName( String name )
-  {
-	clientWidget_.setClientEarComponentName( name );  
-  }
-  
   public String getClientComponentType()
   {
     return clientWidget_.getClientComponentType();
   }  
   
-  public void setComponentType( String type )
+  public void setClientComponentType( String type )
   {
 	clientWidget_.setClientComponentType( type );  
   }
@@ -253,21 +203,41 @@
     return projectWidget_.getProjectName();  
   }
   
+  public void setServiceProjectName(String name)
+  {
+    projectWidget_.setProjectName(name);  
+  }
+  
   public String getServiceEarProjectName()
   {
 	return projectWidget_.getEarProjectName();  
   }
   
+  public void setServiceEarProjectName(String name)
+  {
+    projectWidget_.setEarProjectName(name);  
+  }  
+  
   public String getClientProjectName()
   {
     return clientWidget_.getClientProjectName();  
   }
   
+  public void setClientProjectName(String name)
+  {
+    clientWidget_.setClientProjectName(name);  
+  }  
+  
   public String getClientEarProjectName()
   {
 	return clientWidget_.getClientEarProjectName();  
   }
   
+  public void setClientEarProjectName(String name)
+  {
+    clientWidget_.setClientEarProjectName(name);  
+  }    
+  
   private class TextModifyListener implements ModifyListener 
   {
   	public void modifyText(ModifyEvent e)
@@ -282,12 +252,12 @@
   		  clientIds.setServerInstanceId( serviceIds.getServerInstanceId() );
 
   		  clientWidget_.setClientTypeRuntimeServer( clientIds );
-  		  clientWidget_.setJ2EEVersion(runtimeWidget_.getJ2EEVersion());  	
+  		  //clientWidget_.setJ2EEVersion(runtimeWidget_.getJ2EEVersion());  	
   		}
 		
 		//Set the current server selection and J2EE level on the ProjectSelectionWidget
 		projectWidget_.setTypeRuntimeServer(runtimeWidget_.getTypeRuntimeServer());
-		projectWidget_.setJ2EEVersion(runtimeWidget_.getJ2EEVersion());
+        projectWidget_.refreshProjectItems();
   	}
   }
  
@@ -295,12 +265,13 @@
   /* (non-Javadoc)
    * @see org.eclipse.wst.command.env.ui.widgets.WidgetContributor#getStatus()
    */
-  public Status getStatus() 
+  public IStatus getStatus() 
   {
-    Status serviceStatus = runtimeWidget_.getStatus();
-    Status projectStatus = projectWidget_.getStatus();
-    Status clientStatus  = clientWidget_.getStatus();    
-    Status finalStatus   = new SimpleStatus( "" );
+    IStatus serviceStatus = runtimeWidget_.getStatus();
+    IStatus projectStatus = projectWidget_.getStatus();
+    IStatus clientStatus  = clientWidget_.getStatus();    
+    IStatus finalStatus   = Status.OK_STATUS;
+    
     
     // call child widgets' getStatus()
     if( serviceStatus.getSeverity() == Status.ERROR )
@@ -316,6 +287,71 @@
       finalStatus = projectStatus;
     }
     
+    String projectName = projectWidget_.getProjectName();
+    if (projectName != null && projectName.length()>0)
+    {
+      //If the project exists, ensure that it is suitable for the selected runtime
+      //and server.
+      ValidationUtils valUtils = new ValidationUtils();
+      IProject project = ProjectUtilities.getProject(projectName);
+      String typeId = getServiceTypeRuntimeServer().getTypeId();
+      String runtimeId = getServiceTypeRuntimeServer().getRuntimeId();
+      String serverFactoryId = getServiceTypeRuntimeServer().getServerId();
+      
+      if (project.exists())
+      {
+        //Check if the runtime supports it.
+        if (!WebServiceRuntimeExtensionUtils2.doesServiceTypeAndRuntimeSupportProject(typeId, runtimeId, projectName))
+        {
+          String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(runtimeId);
+          finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_SERVICE_RUNTIME_DOES_NOT_SUPPORT_PROJECT, new String[]{runtimeLabel, projectName}));
+        }
+        
+        //Check if the server supports it.
+
+        if (serverFactoryId!=null && serverFactoryId.length()>0)
+        {
+          if (!valUtils.doesServerSupportProject(serverFactoryId, projectName))
+          {
+            String serverLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverFactoryId);
+            finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_SERVICE_SERVER_DOES_NOT_SUPPORT_PROJECT, new String[]{serverLabel, projectName}));
+          }
+        }          
+      }
+      else
+      {
+        //Look at the project type to ensure that it is suitable for the selected runtime
+        //and server.
+        
+        String templateId = getServiceComponentType();
+
+        if (templateId != null && templateId.length()>0)
+        {
+          //Check if the runtime supports it.            
+          if (!WebServiceRuntimeExtensionUtils2.doesServiceTypeAndRuntimeSupportTemplate(typeId, runtimeId, templateId))
+          {
+            String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(runtimeId);
+            String templateLabel = FacetUtils.getTemplateLabelById(templateId);
+            finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_SERVICE_RUNTIME_DOES_NOT_SUPPORT_TEMPLATE, new String[]{runtimeLabel, templateLabel}));
+          }
+          
+          //Check if the server supports it.
+          if (serverFactoryId!=null && serverFactoryId.length()>0)
+          {
+            if (!valUtils.doesServerSupportTemplate(serverFactoryId, templateId))
+            {
+              String serverLabel = WebServiceRuntimeExtensionUtils2.getServerLabelById(serverFactoryId);
+              String templateLabel = FacetUtils.getTemplateLabelById(templateId);
+              finalStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_SERVICE_SERVER_DOES_NOT_SUPPORT_TEMPLATE, new String[]{serverLabel, templateLabel}));
+            }
+          }
+        }
+        
+        
+        
+      }
+    }    
+    /*
     //Validate service side server target and J2EE level
 	ValidationUtils valUtils = new ValidationUtils();
 	String serviceEARName  = projectWidget_.getEarProjectName();
@@ -324,7 +360,7 @@
 	String serviceJ2EElevel = runtimeWidget_.getJ2EEVersion();
   String serviceComponentName = projectWidget_.getComponentName();
   String serviceEARComponentName = projectWidget_.getEarComponentName();
-	Status serviceProjectStatus = valUtils.validateProjectTargetAndJ2EE(serviceProjName,serviceComponentName, serviceEARName, serviceEARComponentName, serviceServerFactoryId, serviceJ2EElevel);
+	IStatus serviceProjectStatus = valUtils.validateProjectTargetAndJ2EE(serviceProjName,serviceComponentName, serviceEARName, serviceEARComponentName, serviceServerFactoryId, serviceJ2EElevel);
 	if(serviceProjectStatus.getSeverity()==Status.ERROR)
 	{
 		finalStatus = serviceProjectStatus;
@@ -336,74 +372,46 @@
       IProject serviceProj = ProjectUtilities.getProject(serviceProjName);
       if (serviceProj.exists())
       {
-        //Determine whether an EJB project is required
-        String webServiceRuntimeId = runtimeWidget_.getTypeRuntimeServer().getRuntimeId();
-        String webServiceTypeId = runtimeWidget_.getTypeRuntimeServer().getTypeId();
-		// rskreg
-        //WebServiceServerRuntimeTypeRegistry wssrtRegistry = WebServiceServerRuntimeTypeRegistry.getInstance();
-        //String serverTypeId = wssrtRegistry.getWebServiceServerByFactoryId(serviceServerFactoryId).getId();
-		//String serverTypeId = wssrtRegistry.getWebServiceServerByFactoryId(serviceServerFactoryId).getId();
-        /* rskejb
-        boolean isEJBRequired = WebServiceRuntimeExtensionUtils.requiresEJBModuleFor(serviceServerFactoryId, webServiceRuntimeId, webServiceTypeId);
-        if (!isEJBRequired)
-        {
-          //Check the Web service type to see if an EJB project is required
-          //isEJBRequired = wssrtRegistry.requiresEJBProject(webServiceTypeId);
-			isEJBRequired = WebServiceRuntimeExtensionUtils.requiresEJBProject(webServiceTypeId);
-        }
-        rskejb */
         if (serviceComponentName!=null && serviceComponentName.length()>0)
         {
-          String compTypeId = J2EEUtils.getComponentTypeId(serviceProj, serviceComponentName);
+          String compTypeId = J2EEUtils.getComponentTypeId(serviceProj);
           if (!compTypeId.equals(projectWidget_.getComponentType()))
           {
         	//Construct the error message
         	String compTypeLabel = getCompTypeLabel(projectWidget_.getComponentType()); 
-        	finalStatus = new SimpleStatus("",msgUtils_.getMessage("MSG_INVALID_PROJECT_TYPE",new String[]{serviceProjName, compTypeLabel}),Status.ERROR);        	        	
+        	finalStatus = StatusUtils.errorStatus( NLS.bind(ConsumptionUIMessages.MSG_INVALID_PROJECT_TYPE,new String[]{serviceProjName, compTypeLabel}) );        	        	
           }
         }
-        // begin remove
-        /*
-        boolean isEJBRequired = WebServiceRuntimeExtensionUtils.requiresEJBProject(webServiceRuntimeId, webServiceTypeId);
-        if (isEJBRequired && serviceComponentName!=null && serviceComponentName.length()>0 && !J2EEUtils.isEJBComponent(serviceProj, serviceComponentName))
-        {
-          finalStatus = new SimpleStatus("",msgUtils_.getMessage("MSG_INVALID_EJB_PROJECT",new String[]{serviceProjName}),Status.ERROR);          
-        }
-        if (!isEJBRequired && serviceComponentName!=null && serviceComponentName.length()>0 && !J2EEUtils.isWebComponent(serviceProj, serviceComponentName))
-        {
-          finalStatus = new SimpleStatus("",msgUtils_.getMessage("MSG_INVALID_WEB_PROJECT",new String[]{serviceProjName}),Status.ERROR);
-        }
-        */
-        // end remove
       }
     }
-    
+    */
     if (isClientWidgetVisible_) 
     {
 	    String clientEARName   = clientWidget_.getClientEarProjectName();
 	    String clientProjName  = clientWidget_.getClientProjectName();
-	
-  		String clientComponentName = clientWidget_.getClientComponentName();
+        String serviceProjName = projectWidget_.getProjectName();
+	    String serviceEarName  = projectWidget_.getEarProjectName();
+  		//String clientComponentName = clientWidget_.getClientComponentName();
 		
 	    // check same EAR-ness -----
-	    String warning_msg = getEARProjectWarningMessage(serviceEARName, clientEARName);
+	    String warning_msg = getEARProjectWarningMessage(serviceEarName, clientEARName);
 	    
-		if (serviceComponentName.equalsIgnoreCase(clientComponentName)){
-			  String err_msg = msgUtils_.getMessage( "MSG_SAME_CLIENT_AND_SERVICE_COMPONENTS", new String[]{ "WEB" } );
-			  finalStatus = new SimpleStatus( "", err_msg, Status.ERROR );				
-		}
+		//if (serviceComponentName.equalsIgnoreCase(clientComponentName)){
+			  //String err_msg = NLS.bind(ConsumptionUIMessages.MSG_SAME_CLIENT_AND_SERVICE_COMPONENTS, new String[]{ "WEB" } );
+			  //finalStatus = StatusUtils.errorStatus( err_msg );				
+		//}
 		
 	    if( clientProjName != null && serviceProjName != null && 
 	        clientProjName.equalsIgnoreCase( serviceProjName ))
 	    {
-		  String error_msg = msgUtils_.getMessage("MSG_SAME_CLIENT_AND_SERVICE_PROJECTS");
-		  finalStatus = new SimpleStatus("", error_msg, Status.ERROR);
+		  String error_msg =ConsumptionUIMessages.MSG_SAME_CLIENT_AND_SERVICE_PROJECTS;
+		  finalStatus = StatusUtils.errorStatus( error_msg );
 	    }
 	    
 		if (warning_msg != null)
 	    {
 	      if (finalStatus.getSeverity()!=Status.ERROR)
-	      	return new SimpleStatus( "", warning_msg, Status.WARNING );          
+	      	return StatusUtils.warningStatus( warning_msg );          
 	    }         
       
     }
@@ -427,39 +435,11 @@
     if (serviceEARName!=null && clientEARName!=null) {
     
       if (clientEARName.equalsIgnoreCase(serviceEARName) && clientEARName.length()>0) {
-        return msgUtils_.getMessage("MSG_SAME_CLIENT_AND_SERVICE_EARS", new String[]{ "EAR" });
+        return NLS.bind(ConsumptionUIMessages.MSG_SAME_CLIENT_AND_SERVICE_EARS, new String[]{ "EAR" });
       }
     }
 
     return null;
 
   }
-  
-  //Returns a label corresponding to the componentTypeId. This is hard-coded for now.
-  //This is something the flexible project framework should provide. Enhancement 106785 has been
-  //opened.
-  private String getCompTypeLabel(String typeId)
-  {
-	  if (typeId.equals(IModuleConstants.JST_WEB_MODULE))
-	  {
-		  return msgUtils_.getMessage("LABEL_CLIENT_COMP_TYPE_WEB");
-	  }
-	  else if (typeId.equals(IModuleConstants.JST_EJB_MODULE))
-	  {
-		  return msgUtils_.getMessage("LABEL_CLIENT_COMP_TYPE_EJB");
-	  }
-	  else if (typeId.equals(IModuleConstants.JST_APPCLIENT_MODULE))
-	  {
-		  return msgUtils_.getMessage("LABEL_CLIENT_COMP_TYPE_APP_CLIENT");
-	  }
-	  else if (typeId.equals(IModuleConstants.JST_UTILITY_MODULE))
-	  {
-		  return msgUtils_.getMessage("LABEL_CLIENT_COMP_TYPE_CONTAINERLESS");
-	  }
-	  else
-	  {
-		  //No known label, return the typeId itself. 
-		  return typeId;
-	  }	  
-  }
 }
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 c8a08df..0421290 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
@@ -10,547 +10,568 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.creation.ui.widgets.runtime;
 
-import java.util.Vector;
-
+import java.util.ArrayList;
+import java.util.Set;
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.common.ServerSelectionUtils;
+import org.eclipse.jst.ws.internal.consumption.common.FacetMatcher;
+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.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
 import org.eclipse.jst.ws.internal.consumption.ui.preferences.PersistentServerRuntimeContext;
+import org.eclipse.jst.ws.internal.consumption.ui.preferences.ProjectTopologyContext;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime.ClientRuntimeSelectionWidgetDefaultingCommand;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.ServiceType;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.ServiceRuntimeDescriptor;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils;
-import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeInfo;
-import org.eclipse.jst.ws.internal.context.ProjectTopologyContext;
+import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionListChoices;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.ServerUtil;
 
 public class ServerRuntimeSelectionWidgetDefaultingCommand extends ClientRuntimeSelectionWidgetDefaultingCommand
 {
   private String DEFAULT_CLIENT_EAR_PROJECT_EXT = "EAR";	
   private boolean           generateProxy_;
   
-  // webServiceRuntimeJ2EEType contains the default Web service runtime and J2EE level based on the initial selection.
-  // If the initialSeleciton does not result in a valid Web service runtime and J2EE level, webServiceRuntimeJ2EEType
-  // should remain null for the life of this instance.
-  private WSRuntimeJ2EEType webServiceRuntimeJ2EEType = null;
-  
   private TypeRuntimeServer serviceIds_;
-  private SelectionListChoices serviceProject2EARProject_;
-  private String serviceComponentName_;
-  private String serviceEarComponentName_;
+  private boolean serviceIdsFixed_ = false;
+  private String serviceRuntimeId_;
+  private String serviceProjectName_;
+  private String serviceEarProjectName_;
   private String serviceComponentType_;
-  private IStructuredSelection initialSelection_;
   private IProject initialProject_;
-  private String initialComponentName_;
-  private String serviceJ2EEVersion_;
   private boolean serviceNeedEAR_ = true;
+  private FacetMatcher serviceFacetMatcher_;
 
   public ServerRuntimeSelectionWidgetDefaultingCommand()
   {
     super();
   }
   
-  public Status execute(Environment env)
-  {
+  
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
+    IEnvironment env = getEnvironment();
+    
     try
     {
-     Status clientSideStatus = super.execute(env);
+     IStatus clientSideStatus = super.execute(monitor, null);
      if (clientSideStatus.getSeverity()==Status.ERROR)
      {
        return clientSideStatus;
      }
-     Status status = new SimpleStatus("");
-
-
-    setDefaultServiceRuntimeFromPreference();
-    setDefaultServiceJ2EEVersionFromPreference();      
-    webServiceRuntimeJ2EEType = getWSRuntimeAndJ2EEFromProject(initialProject_, initialComponentName_);
-    if (webServiceRuntimeJ2EEType != null)
-    {
-      serviceJ2EEVersion_ = webServiceRuntimeJ2EEType.getJ2eeVersionId();
-      serviceIds_.setRuntimeId(webServiceRuntimeJ2EEType.getWsrId()); 
-    }	 
      
-     setServiceComponentType();
-     // Default projects EARs and servers.
-     setDefaultProjects();
-     setDefaultEARs();
-     Status serverStatus = setDefaultServer();
-     if (serverStatus.getSeverity()== Status.ERROR)
+     if (serviceIdsFixed_)
      {
+       //Set the serviceRuntime based on the runtime, server, and initial selection. 
+       serviceRuntimeId_ = getDefaultServiceRuntimeForFixedRuntimeAndServer(initialProject_);
+     }
+     else
+     {
+       // Set the runtime based on the initial selection
+       serviceRuntimeId_ = getDefaultServiceRuntime(initialProject_);
+       if (serviceRuntimeId_ == null)
+       {
+         // return and error.
+       }
+       serviceIds_.setRuntimeId(WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId_).getRuntime()
+         .getId());
+     }
+     
+     // Set the project
+     if (serviceProjectName_ == null)
+     {
+       // Project name did not get set when the runtime was set, so set it now
+       serviceProjectName_ = getDefaultServiceProjectName();
+     }
+
+     IProject serviceProject = ProjectUtilities.getProject(serviceProjectName_);
+     if (!serviceProject.exists())
+     {
+       // Set the project template
+       serviceComponentType_ = getDefaultServiceProjectTemplate();
+     }
+     else
+     {
+       //Set it to an empty String
+       serviceComponentType_ = "";
+     }
+
+     updateClientProject(serviceProjectName_, serviceIds_.getTypeId());
+
+     if (!serviceIdsFixed_)
+     {
+       // Set the server
+       IStatus serverStatus = setServiceDefaultServer();
+       if (serverStatus.getSeverity() == Status.ERROR)
+       {
          env.getStatusHandler().reportError(serverStatus);
          return serverStatus;
+       }
      }
-     updateServiceEARs();
-     //updateClientProject(getServiceProject2EARProject().getList().getSelection(), serviceComponentName_, serviceIds_.getTypeId());
-     updateClientEARs();
-	 	 
-     return status;
+     
+     setDefaultServiceEarProject();
+          
+     return Status.OK_STATUS;
+     
     } catch (Exception e)
     {
-      //Catch all Exceptions in order to give some feedback to the user
-      Status errorStatus = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_TASK_EXCEPTED",new String[]{e.getMessage()}),Status.ERROR, e);
+      // Catch all Exceptions in order to give some feedback to the user
+      IStatus errorStatus = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_ERROR_TASK_EXCEPTED,
+          new String[] { e.getMessage() }), e);
       env.getStatusHandler().reportError(errorStatus);
       return errorStatus;
     }
-    
-  }  
+  }
 
-  private void setServiceComponentType()
+  private void setDefaultServiceEarProject()
   {
-    ServiceType st = WebServiceRuntimeExtensionUtils.getServiceType(serviceIds_.getRuntimeId(), serviceIds_.getTypeId());
-    int scenario = WebServiceRuntimeExtensionUtils.getScenarioFromTypeId(serviceIds_.getTypeId());
-    String[] includeComponentTypes = null;
-    switch (scenario)
+    //Don't need an ear if this is a Java project, or if the selected template is jst.utility
+    IProject serviceProject = ProjectUtilities.getProject(serviceProjectName_);
+    if (serviceProject.exists())
     {
-    case WebServiceScenario.BOTTOMUP:
-		includeComponentTypes = st.getBottomUpModuleTypesInclude();
-      break;
-    case WebServiceScenario.TOPDOWN:
-		includeComponentTypes = st.getTopDownModuleTypesInclude();
-    }
-    
-    if (includeComponentTypes == null || includeComponentTypes.length==0)
-    {
-      serviceComponentType_ = IModuleConstants.JST_WEB_MODULE;
+      serviceNeedEAR_ = !(FacetUtils.isJavaProject(serviceProject));
     }
     else
     {
-	  serviceComponentType_ = includeComponentTypes[0];
+      serviceNeedEAR_ = !(FacetUtils.isUtilityTemplate(serviceComponentType_));  
+    }    
+    
+    //If serviceNeedEAR_ is still true, it means that we're not dealing with a Java project
+    //or Java project type. Check the server.
+    
+    
+    if (serviceNeedEAR_)
+    {
+      
+      // Determine if an ear selection is needed based on the server type.      
+      String serverId = serviceIds_.getServerId();
+      if (serverId != null)
+      {
+        // Use the server type
+        String serverTargetId = ServerUtils.getRuntimeTargetIdFromFactoryId(serverId);
+        if (serverTargetId != null && serverTargetId.length() > 0)
+        {
+          if (!ServerUtils.isTargetValidForEAR(serverTargetId, "13"))
+          {
+            // Default the EAR selection to be empty
+            serviceNeedEAR_ = false;
+          }
+        }
+      }
     }
+    
+    if (serviceNeedEAR_)
+    {
+      serviceEarProjectName_ = getDefaultServiceEarProjectName();
+
+      
+      //Client side
+      if (getClientNeedEAR())
+      {
+        String defaultClientEarProjectName = getDefaultClientEarProjectName();
+        IProject clientProject = ProjectUtilities.getProject(getClientProjectName());
+        if(clientProject!=null && clientProject.exists() 
+          && defaultClientEarProjectName.equalsIgnoreCase(serviceEarProjectName_))
+        {
+          setClientEarProjectName(defaultClientEarProjectName);
+        }
+        else
+        { 
+          ProjectTopologyContext ptc= WebServiceConsumptionUIPlugin.getInstance().getProjectTopologyContext();         
+          if (!ptc.isUseTwoEARs()) 
+          {
+            setClientEarProjectName(serviceEarProjectName_);
+          }
+          else 
+          {
+            IProject proxyEARProject = getUniqueClientEAR(defaultClientEarProjectName, serviceEarProjectName_, getClientProjectName());
+            setClientEarProjectName(proxyEARProject.getName());
+          }     
+        }
+      }
+    }
+    else
+    {
+      serviceEarProjectName_ = "";
+    }   
+  }
+
+  private String getDefaultServiceEarProjectName()
+  {
+    //Choose an appropriate default.
+    
+    IProject serviceProject = ProjectUtilities.getProject(serviceProjectName_);
+    if (serviceProject != null && serviceProject.exists())
+    {
+      IVirtualComponent[] earComps = J2EEUtils.getReferencingEARComponents(serviceProject);
+      if (earComps.length > 0)
+      {
+        //pick the first one.
+        return earComps[0].getName();
+
+      }
+    }
+    
+
+    IVirtualComponent[] allEarComps = J2EEUtils.getAllEARComponents();
+      
+    //TODO Choose an existing EAR that can be added to the server and who's J2EE level in consistent with 
+    //that of the selected project, if applicable. Picking the first one for now.
+    if (allEarComps.length > 0)
+    {
+      return allEarComps[0].getName();
+    }
+
+
+    
+    // there are no suitable existing EARs
+    return ResourceUtils.getDefaultServiceEARProjectName();
+    
   }
   
-  /*
-  private void setWebClientType()
+  private IStatus setServiceDefaultServer()
   {
-    SelectionListChoices choices = getRuntime2ClientTypes();
-    String               webId   = "org.eclipse.jst.ws.consumption.ui.clientProjectType.Web";
-    
-    if( choices != null )
+    //Choose an existing server the module is already associated with if possible
+    IProject serviceProject = ProjectUtilities.getProject(serviceProjectName_);
+    IServer[] configuredServers = ServerUtil.getServersByModule(ServerUtils.getModule(serviceProject), null);
+    if (configuredServers!=null && configuredServers.length>0)
     {
-      choices.getChoice().getList().setSelectionValue( webId );   
+      serviceIds_.setServerId(configuredServers[0].getServerType().getId());
+      serviceIds_.setServerInstanceId(configuredServers[0].getId());
+      return Status.OK_STATUS;              
     }
+    
+    //If the project exists, choose a suitable server or server type based on the existing project's runtime or facets
+    if (serviceProject.exists())
+    {
+      IServer server = getServerFromProject(serviceProjectName_, serviceFacetMatcher_);
+      if (server != null)
+      {
+        serviceIds_.setServerId(server.getServerType().getId());
+        serviceIds_.setServerInstanceId(server.getId());
+        return Status.OK_STATUS;
+      }
+      else
+      {
+        IServerType serverType = getServerTypeFromProject(serviceProjectName_, serviceFacetMatcher_);
+        if (serverType != null)
+        {
+          serviceIds_.setServerId(serverType.getId());
+          return Status.OK_STATUS;
+        }
+      }
+    }
+    
+    //Haven't picked a server/server type on the basis of the project. Pick a server/server type
+    //that is compatible with the serviceRuntimeId.
+    IServer server = getServerFromServiceRuntimeId();
+    if (server!=null)
+    {
+      serviceIds_.setServerId(server.getServerType().getId());
+      serviceIds_.setServerInstanceId(server.getId());
+      return Status.OK_STATUS;
+    }
+    
+    IServerType serverType = getServerTypeFromServiceRuntimeId();
+    if (serverType != null)
+    {
+      serviceIds_.setServerId(serverType.getId());
+      return Status.OK_STATUS;
+    }    
+
+    //No suitable server was found. Popup an error.
+    String runtimeLabel = WebServiceRuntimeExtensionUtils2.getRuntimeLabelById(serviceIds_.getRuntimeId());
+    String serverLabels = getServerLabels(serviceIds_.getRuntimeId());    
+    IStatus status = StatusUtils.errorStatus(NLS.bind(ConsumptionUIMessages.MSG_ERROR_NO_SERVER_RUNTIME, new String[]{runtimeLabel, serverLabels}) );
+    return status;
+  }  
+  
+  private IServer getServerFromServiceRuntimeId()
+  {
+    IServer[] servers = ServerCore.getServers();
+    if (servers != null && servers.length > 0) {
+      for (int i = 0; i < servers.length; i++)
+      {
+        String serverFactoryId = servers[i].getServerType().getId();
+        if (WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportServer(serviceRuntimeId_, serverFactoryId))
+        {
+          return servers[i];
+        }
+      }
+    }
+    return null;    
+  }
+  
+  private IServerType getServerTypeFromServiceRuntimeId()
+  {
+    String[] serverTypes = WebServiceRuntimeExtensionUtils2.getServerFactoryIdsByServiceRuntime(serviceRuntimeId_);
+    if (serverTypes!=null && serverTypes.length>0)
+    {
+      //Return the preferred one if it is in the list
+      PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
+      String preferredServerFactoryId = context.getServerFactoryId();
+      for (int i=0; i<serverTypes.length; i++)
+      {
+        if (serverTypes[i].equals(preferredServerFactoryId))
+        {
+          return ServerCore.findServerType(serverTypes[i]);
+        }
+      }
+      
+      return ServerCore.findServerType(serverTypes[0]);
+    }    
+    
+    return null;
+  }  
+  
+  /*
+  private IServer getFirstSupportedServer(IServer[] servers, String serviceRuntimeId, IProject serviceProject)
+  {
+    if (servers != null && servers.length > 0) {
+      for (int i = 0; i < servers.length; i++)
+      {
+        String serverFactoryId = servers[i].getServerType().getId();
+        if (WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportServer(serviceRuntimeId, serverFactoryId))
+        {
+          //TODO check if the server type supports the project before returning.
+          return servers[i];
+        }
+      }
+    }
+    return null;
   }
   */
   
-  /**
-   * Returns an object with target Runtime and J2EE value
-   * @param project
-   * @return
-   */
-
-  private WSRuntimeJ2EEType getWSRuntimeAndJ2EEFromProject(IProject project, String componentName)
+  private String getServerLabels(String serviceRuntimeId)
   {
-    WSRuntimeJ2EEType wsrJ2EE = null;
-    //If there is a valid initial selection, use it to determine
-    //reasonable J2EE version and Web service runtime values
+        String[] validServerFactoryIds = WebServiceRuntimeExtensionUtils2.getServerFactoryIdsByServiceRuntime(serviceRuntimeId);
+        //String[] validServerLabels = new String[validServerFactoryIds.length];
+        StringBuffer validServerLabels = new StringBuffer(); 
+        for (int i=0; i<validServerFactoryIds.length; i++)
+        {
+            if (i>0)
+            {
+                validServerLabels.append(", ");
+            }
+            validServerLabels.append(WebServiceRuntimeExtensionUtils.getServerLabelById(validServerFactoryIds[i]));
+            
+        }
+        return validServerLabels.toString();
+  }
+
+  private String getDefaultServiceProjectTemplate()
+  {
+    String[] templates = WebServiceRuntimeExtensionUtils2.getServiceProjectTemplates(serviceIds_.getTypeId(), serviceIds_.getRuntimeId());
+    RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId_).getRequiredFacetVersions();    
+    
+    //Pick the Web one if it's there, otherwise pick the first one.    
+    for (int i=0; i<templates.length; i++)
+    {
+      String templateId = templates[i];
+      if (templateId.indexOf("web") != -1)
+      {
+        //Calculate the facet matcher for the template so that we know 
+        //what to create and what to add during module creation.
+        
+        Set facetVersions = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+        FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+        if (fm.isMatch())
+        {
+          serviceFacetMatcher_ = fm;
+          return templates[i];  
+        }
+        
+      }                                    
+    }
+    
+    //Didn't find a "web" type. Return the first one that is a match. Calculate the facet matcher for the template
+    //so that we know what to create and what to add during module creation.
+    for (int j = 0; j < templates.length; j++)
+    {
+      String templateId = templates[j];
+      Set facetVersions = FacetUtils.getInitialFacetVersionsFromTemplate(templateId);
+      FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+      if (fm.isMatch())
+      {
+        serviceFacetMatcher_ = fm;
+        return templates[j];  
+      }      
+    }
+    
+    //Still nothing, return the first one if available.
+    if (templates.length > 0)
+      return templates[0];
+    
+    return "";    
+    
+  }  
+  
+  private String getDefaultServiceProjectName()
+  {
+    IProject[] projects = FacetUtils.getAllProjects();
+    ServiceRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId_);
+    RequiredFacetVersion[] rfvs = desc.getRequiredFacetVersions();
+    
+    //Check each project for compatibility with the serviceRuntime
+    for (int i=0; i<projects.length; i++)
+    {
+      Set facetVersions = FacetUtils.getFacetsForProject(projects[i].getName());
+      if (facetVersions != null)
+      {
+        FacetMatcher fm = FacetUtils.match(rfvs, facetVersions);
+        if (fm.isMatch())
+        {
+          serviceFacetMatcher_ = fm;
+          return projects[i].getName();
+        }                    
+      }
+    }
+    
+    //No project was suitable, return a new project name
+    return ResourceUtils.getDefaultWebProjectName();
+    
+  }  
+  
+  private String getDefaultServiceRuntimeForFixedRuntimeAndServer(IProject project)
+  {
+    String[] serviceRuntimes = WebServiceRuntimeExtensionUtils2.getServiceRuntimesByServiceType(serviceIds_.getTypeId());
+    ArrayList validServiceRuntimes = new ArrayList();
+    for (int i=0; i<serviceRuntimes.length; i++ )
+    {
+      ServiceRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimes[i]);
+      if (desc.getRuntime().getId().equals(serviceIds_.getRuntimeId()))
+      {
+        //Check if this service runtime supports the server
+        if (WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportServer(desc.getId(), serviceIds_.getServerId()))
+        {
+          validServiceRuntimes.add(desc.getId());
+          if (project != null && project.exists())
+          {
+            RequiredFacetVersion[] rfv = desc.getRequiredFacetVersions();
+            Set facetVersions = FacetUtils.getFacetsForProject(project.getName());
+            if (facetVersions != null)
+            {
+              FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+              if (fm.isMatch())
+              {
+                serviceFacetMatcher_ = fm;
+                serviceProjectName_ = project.getName();
+                return desc.getId();
+              }                      
+            }
+          }
+          
+        }
+      }
+      
+    }
+    
+    if (validServiceRuntimes.size() > 0)
+    {
+      //We couldn't match to the initially selected project so return the first valid runtime.
+      return ((String[])validServiceRuntimes.toArray(new String[0]))[0];
+    }
+    else
+    {
+      //There are no service runtimes that match the fixed runtime and server. Fall back to original algorithm
+      serviceIdsFixed_ = false;
+      return getDefaultServiceRuntime(project);
+    }
+  }
+  
+  private String getDefaultServiceRuntime(IProject project)
+  {
+
+    String[] serviceRuntimes = WebServiceRuntimeExtensionUtils2.getServiceRuntimesByServiceType(serviceIds_.getTypeId());
+    
+    //Check if the preferred Web service runtime works with the initially selected project.
+    PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
+    String runtimeId = context.getRuntimeId();
+    String preferredServiceRuntimeId = null;
+    for (int k=0; k<serviceRuntimes.length; k++ )
+    {
+      ServiceRuntimeDescriptor desc = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimes[k]);
+      if (desc.getRuntime().getId().equals(runtimeId))
+      {
+        preferredServiceRuntimeId = desc.getId();
+        break;
+      }
+    }    
+    
+    if (preferredServiceRuntimeId != null)
+    {
+      if (project != null && project.exists())
+      {
+        RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(preferredServiceRuntimeId).getRequiredFacetVersions();
+        Set facetVersions = FacetUtils.getFacetsForProject(project.getName());
+        if (facetVersions != null)
+        {
+          FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+          if (fm.isMatch())
+          {
+            serviceFacetMatcher_ = fm;
+            serviceProjectName_ = project.getName();
+            return preferredServiceRuntimeId;
+          }                      
+        }
+      }
+    }
+    
+    
+    //Either there was no initially selected project or the preferred
+    //runtime did not work with the initially selected project.
+    //If possible, pick a Web service runtime that works with the initially selected project.
+    //If the initially selected project does not work with any of the Web service runtimes, pick the 
+    //preferred Web service runtime.
+    
 
     if (project != null && project.exists())
     {
-      boolean isValidComponentType = false;
-      if (componentName != null && componentName.length()>0)
+      for (int i=0; i<serviceRuntimes.length; i++)
       {
-        isValidComponentType = J2EEUtils.isWebComponent(project, componentName) ||
-                                     J2EEUtils.isEJBComponent(project, componentName);
-      }
-      if (isValidComponentType)
-      {
-        //WebServiceServerRuntimeTypeRegistry wssrtReg = WebServiceServerRuntimeTypeRegistry.getInstance();
-        
-        //Get the J2EE level
-        int versionId = J2EEUtils.getJ2EEVersion(project, componentName);
-        String versionString = String.valueOf(versionId);
-        
-        //Get the runtime target of the project
-        IRuntime runtimeTarget = ServerSelectionUtils.getRuntimeTarget(project.getName());
-        String runtimeTargetId = null;
-        if (runtimeTarget != null) 
-          runtimeTargetId = runtimeTarget.getRuntimeType().getId();
-        
-        //If the preferred Web service runtime supports this J2EE level and this server target, keep it
-        if (WebServiceRuntimeExtensionUtils.doesRuntimeSupportJ2EELevel(versionString, serviceIds_.getRuntimeId()) &&
-            ((runtimeTarget == null) || 
-             (runtimeTarget != null && WebServiceRuntimeExtensionUtils.doesRuntimeSupportServerTarget(runtimeTargetId, serviceIds_.getRuntimeId()))
-            )
-           )
-          
+        RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimes[i]).getRequiredFacetVersions();
+        Set facetVersions = FacetUtils.getFacetsForProject(project.getName());
+        if (facetVersions != null)
         {
-            //Set the J2EE level and Web service runtime
-            wsrJ2EE = new WSRuntimeJ2EEType();
-            wsrJ2EE.setWsrId(serviceIds_.getRuntimeId());
-            wsrJ2EE.setJ2eeVersionId(versionString);
-            return wsrJ2EE;
-
-        } else
-        {
-          //Look for a runtime that matches both the J2EE level and the server target.
-          String[] validRuntimes = WebServiceRuntimeExtensionUtils.getRuntimesByType(serviceIds_.getTypeId());
-          for (int i = 0; i < validRuntimes.length; i++)
+          FacetMatcher fm = FacetUtils.match(rfv, facetVersions);
+          if (fm.isMatch())
           {
-            if (WebServiceRuntimeExtensionUtils.doesRuntimeSupportJ2EELevel(versionString, validRuntimes[i]) &&
-                ((runtimeTarget == null) ||
-                 (runtimeTarget!=null && WebServiceRuntimeExtensionUtils.doesRuntimeSupportServerTarget(runtimeTargetId, validRuntimes[i]))
-                )
-                )
-            {
-              wsrJ2EE = new WSRuntimeJ2EEType();
-              wsrJ2EE.setWsrId(validRuntimes[i]);
-              wsrJ2EE.setJ2eeVersionId(versionString);
-              return wsrJ2EE;
-            }
-          }
-        }
-      }
-    }    
-    return wsrJ2EE;
-  }
-  
-  private void setDefaultServiceRuntimeFromPreference()
-  {
-  	
-    PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-    String pRuntimeId = context.getRuntimeId();
-    //WebServiceServerRuntimeTypeRegistry wssrtReg = WebServiceServerRuntimeTypeRegistry.getInstance();
-    //if the preferred runtime in compatible with the type, select it.
-    if (WebServiceRuntimeExtensionUtils.isRuntimeSupportedForType(serviceIds_.getTypeId(), pRuntimeId))
-    {
-      serviceIds_.setRuntimeId(pRuntimeId);
-    }
-    else
-    {
-      //Set the Web service runtime to one that is supported by the selected type.
-      String[] validRuntimes = WebServiceRuntimeExtensionUtils.getRuntimesByType(serviceIds_.getTypeId());
-      if (validRuntimes != null && validRuntimes.length>0)
-      {
-        serviceIds_.setRuntimeId(validRuntimes[0]);
-      }
-    }
-  }
-
-  
-
-  private void setDefaultServiceJ2EEVersionFromPreference()
-  {
-    if (serviceIds_ != null)
-    {
-      String runtimeId = serviceIds_.getRuntimeId();
-      if (runtimeId != null)
-      {
-        //IWebServiceRuntime wsr = WebServiceServerRuntimeTypeRegistry.getInstance().getWebServiceRuntimeById(runtimeId);
-        WebServiceRuntimeInfo wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(runtimeId);
-        if (wsrt != null)
-        {
-          String[] versions = wsrt.getJ2eeLevels();          
-          //If the preferred J2EE version is in versions, pick the preferred one. 
-          //Otherwise, pick the first one.
-          if (versions != null && versions.length > 0)
-          {
-          	PersistentServerRuntimeContext context = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-          	String pJ2EE = context.getJ2EEVersion();
-          	if (pJ2EE!=null && pJ2EE.length()>0)
-          	{
-              for (int i=0;i<versions.length;i++)
-          	  {
-          		  if (versions[i].equals(pJ2EE))
-          		  {
-          			  serviceJ2EEVersion_ = versions[i];
-          		    return;
-          		  }
-          	  }
-          	}
-          	serviceJ2EEVersion_ = versions[0];
-          	return;
-          }
-            
-        }
-      }
-    }
-  } 
-
-  
-  /**
-   * This method needs a lot of work. It does not take into account the component types supported by the
-   * selected Web service type or the fact that there are multiple components in a project.
-   */
-  //rskrem93309
-  /*
-  private void setDefaultProjectsNew()
-  {
-    if (initialProject_ != null)
-    {
-      getServiceProject2EARProject().getList().setSelectionValue(initialProject_.getName());
-      String moduleName = null;
-      if (initialComponentName_!=null && initialComponentName_.length()>0)
-      {
-        moduleName = initialComponentName_;
-      }
-      else
-      {
-        moduleName = J2EEUtils.getFirstWebModuleName(initialProject_);
-      }
-      
-      serviceComponentName_ = moduleName;
-      String version = String.valueOf(J2EEUtils.getJ2EEVersion(initialProject_, moduleName));
-      String[] validVersions = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(serviceIds_.getRuntimeId()).getJ2eeLevels();
-      for (int i=0; i< validVersions.length; i++)
-      {
-        if (validVersions[i].equals(version))
-        {
-          serviceJ2EEVersion_ = validVersions[i];
-        }
-      }
-    }
-    else
-    {
-      //Pick the first one
-      IProject[] projects = WebServiceRuntimeExtensionUtils.getAllProjects();
-      if (projects.length>0)
-      {
-        getServiceProject2EARProject().getList().setSelectionValue(projects[0].getName());
-        String moduleName = J2EEUtils.getFirstWebModuleName(projects[0]);
-        serviceComponentName_ = moduleName;
-        String version = String.valueOf(J2EEUtils.getJ2EEVersion(projects[0], moduleName));
-        String[] validVersions = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(serviceIds_.getRuntimeId()).getJ2eeLevels();
-        for (int i=0; i< validVersions.length; i++)
-        {
-          if (validVersions[i].equals(version))
-          {
-            serviceJ2EEVersion_ = validVersions[i];
-          }
-        }        
-        
-      }
-      else
-      {
-        //there are no projects in the workspace. Pass the default names for new projects.
-        
-        if (serviceComponentType_.equals(IModuleConstants.JST_EJB_MODULE))
-        {
-          getServiceProject2EARProject().getList().setSelectionValue(ResourceUtils.getDefaultEJBProjectName());
-          serviceComponentName_ = ResourceUtils.getDefaultEJBComponentName();
-        }
-        else
-        {
-          getServiceProject2EARProject().getList().setSelectionValue(ResourceUtils.getDefaultWebProjectName());
-          serviceComponentName_ = ResourceUtils.getDefaultWebComponentName();
-        }
-      }
-      
-      
-    }
-  }
-  */
-  //
-
-  private void setDefaultProjects()
-  {
-	
-	//Handle the case where no valid initial selection exists
-    if (initialProject_== null || (initialProject_!=null && webServiceRuntimeJ2EEType==null))
-    {
-      //Select the first existing project that is valid.
-      setServiceProjectToFirstValid();
-      String serviceProjectName = getServiceProject2EARProject().getList().getSelection();
-     
-      //Select a client project with "client" added to the above project name.
-      updateClientProject(serviceProjectName, serviceComponentName_, serviceIds_.getTypeId());
-      //String clientProjectName = ResourceUtils.getClientWebProjectName(serviceProjectName, serviceIds_.getTypeId() );
-      //getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(clientProjectName);
-      
-      return;
-    }    
-	    
-
-	//Set the service project selection to this initialProject
-	getServiceProject2EARProject().getList().setSelectionValue(initialProject_.getName());
-  serviceComponentName_ = initialComponentName_;
-  updateClientProject(initialProject_.getName(), serviceComponentName_, serviceIds_.getTypeId());
-	//String clientProjectName = ResourceUtils.getClientWebProjectName(initialProject_.getName(), serviceIds_.getTypeId() ); 
-	//Set the client project selection to clientProject
-	//getRuntime2ClientTypes().getChoice().getChoice().getList().setSelectionValue(clientProjectName);
-		      	    
-  }
-  
-
-  private void setServiceProjectToFirstValid()
-  {
-    //WebServiceServerRuntimeTypeRegistry wssrtReg = WebServiceServerRuntimeTypeRegistry.getInstance();
-    String[] projectNames = getServiceProject2EARProject().getList().getList();
-    for (int i=0;i<projectNames.length; i++)
-    {
-      IProject project = ProjectUtilities.getProject(projectNames[i]);
-      IVirtualComponent[] vcs = J2EEUtils.getComponentsByType(project, serviceComponentType_);
-      if (project.isOpen() && vcs!=null && vcs.length>0)
-      {
-        //Get the runtime target of the project
-        IRuntime runtimeTarget = ServerSelectionUtils.getRuntimeTarget(project.getName());
-        String runtimeTargetId = null;
-        if (runtimeTarget != null) 
-          runtimeTargetId = runtimeTarget.getRuntimeType().getId();
-        
-        for (int j=0; j < vcs.length; j++)
-        {  
-          //Get the J2EE level
-          int versionId = J2EEUtils.getJ2EEVersion(vcs[j]);
-          String versionString = String.valueOf(versionId);
-        
-        
-          if (serviceJ2EEVersion_!=null && serviceJ2EEVersion_.length()>0 && serviceJ2EEVersion_.equals(versionString))
-          {
-            if (WebServiceRuntimeExtensionUtils.doesRuntimeSupportJ2EELevel(versionString, serviceIds_.getRuntimeId()) &&
-               ((runtimeTarget == null) || 
-               ((runtimeTarget!=null) && WebServiceRuntimeExtensionUtils.doesRuntimeSupportServerTarget(runtimeTargetId, serviceIds_.getRuntimeId()))) 
-               )
-            {
-              getServiceProject2EARProject().getList().setSelectionValue(projectNames[i]);
-              serviceComponentName_ = vcs[j].getName();
-              
-              return;
-            }
-          }
+            serviceFacetMatcher_ = fm;
+            serviceProjectName_ = project.getName();
+            return serviceRuntimes[i];
+          }                      
         }
       }
     }
     
-    //Didn't find a single project that worked. Default to a new project name.    
-    //getServiceProject2EARProject().getList().setSelectionValue(ResourceUtils.getDefaultWebProjectName());
-    //serviceComponentName_ = ResourceUtils.getDefaultWebProjectName();
-    if (serviceComponentType_.equals(IModuleConstants.JST_EJB_MODULE))
+    //Haven't returned yet so this means that the intitially selected project cannot be used
+    //to influence the selection of the runtime. Pick the preferred Web service runtime.
+    if (preferredServiceRuntimeId != null)
     {
-      getServiceProject2EARProject().getList().setSelectionValue(ResourceUtils.getDefaultEJBProjectName());
-      serviceComponentName_ = ResourceUtils.getDefaultEJBComponentName();
+      return preferredServiceRuntimeId;
     }
-    else
-    {
-      getServiceProject2EARProject().getList().setSelectionValue(ResourceUtils.getDefaultWebProjectName());
-      serviceComponentName_ = ResourceUtils.getDefaultWebComponentName();
-    }    
-  }
-
-
-  private void setDefaultEARs()
-  { 
-    //Service side
-    String initialProjectName = getServiceProject2EARProject().getList().getSelection();
-    IProject initialProject =   FileResourceUtils.getWorkspaceRoot().getProject(initialProjectName);
-    boolean earIsSet = false;
-    if (initialProject != null && initialProject.exists())
-    {
-      IVirtualComponent[] earComps = J2EEUtils.getReferencingEARComponents(initialProject, serviceComponentName_);
-      if (earComps.length > 0)
-      {
-        // Pick the first one
-        IVirtualComponent earComp = earComps[0];
-        String earProjectName = earComp.getProject().getName();
-        String earComponentName = earComp.getName();
-        getServiceProject2EARProject().getChoice().getList().setSelectionValue(earProjectName);
-        serviceEarComponentName_ = earComponentName;
-        earIsSet = true;
-      }
-    }
-     
-    if (!earIsSet)
-    {
-      // Either the component is not associated with any EARs or the project
-      // does not exist,
-      // so pick the first EAR yousee with the correct J2EE version.
-      IVirtualComponent[] allEarComps = J2EEUtils.getAllEARComponents();
-      if (allEarComps.length > 0)
-      {
-        for (int i = 0; i < allEarComps.length; i++)
-        {
-          IRuntime runtime = ServerSelectionUtils.getRuntimeTarget(allEarComps[i].getProject().getName());
-          if (runtime != null && serviceIds_.getRuntimeId() != null && WebServiceRuntimeExtensionUtils.doesRuntimeSupportServerTarget(runtime.getRuntimeType().getId(), serviceIds_.getRuntimeId()) && serviceJ2EEVersion_.equals(String.valueOf(J2EEUtils.getJ2EEVersion(allEarComps[i]))))
-          {
-            String earProjectName = allEarComps[i].getProject().getName();
-            getServiceProject2EARProject().getChoice().getList().setSelectionValue(earProjectName);
-            serviceEarComponentName_ = allEarComps[i].getName();
-            earIsSet = true;
-          }
-
-        }
-      }
-    }
-      
-    if (!earIsSet)
-    {
-        // there are no suitable existing EARs
-        getServiceProject2EARProject().getChoice().getList().setSelectionValue(ResourceUtils.getDefaultServiceEARProjectName());
-        serviceEarComponentName_ = ResourceUtils.getDefaultServiceEARComponentName();
-    }
-  
     
-    
-    //Client side    
-    String initialClientProjectName = getRuntime2ClientTypes().getChoice().getChoice().getList().getSelection(); 
-    IProject initialClientProject = ProjectUtilities.getProject(initialClientProjectName);
-    String[] clientEARInfo = getDefaultEARFromClientProject(initialClientProject, getClientComponentName());
-
-    //If the client project exists and the default EAR is the same as that of the service project, 
-    //pick the defaultClientEAR
-    if(initialClientProject!=null && initialClientProject.exists() 
-       && clientEARInfo[1].equalsIgnoreCase(serviceEarComponentName_))
-    {
-      getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(clientEARInfo[0]);
-      setClientEARComponentName(clientEARInfo[1]);
-    }
+    if (serviceRuntimes.length > 0)
+      return WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimes[0]).getId();
     else
-    { 
-      ProjectTopologyContext ptc= WebServicePlugin.getInstance().getProjectTopologyContext();
-      String serviceEARName = getServiceProject2EARProject().getChoice().getList().getSelection();
-      if (!ptc.isUseTwoEARs()) {        
-        getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(serviceEARName);
-        setClientEARComponentName(serviceEarComponentName_);
-      }
-      else {
-        //I am here
-        IProject proxyEARProject = getUniqueClientEAR(clientEARInfo[0], serviceEARName, initialClientProjectName);
-        getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(proxyEARProject.getName());
-        setClientEARComponentName(proxyEARProject.getName());
-      }     
-    }    
-  
-  }
-
-  
-/*  
-    private void setDefaultEARs() { 
-      // Service-side 
-      String initialProjectName = getServiceProject2EARProject().getList().getSelection(); 
-      IProject initialProject = FileResourceUtils.getWorkspaceRoot().getProject(initialProjectName);
-    IProject defaultServiceEAR = getDefaultEARFromServiceProject(initialProject);
-    getServiceProject2EARProject().getChoice().getList().setSelectionValue(defaultServiceEAR.getName());
-    // Client-side 
-    String initialClientProjectName = getRuntime2ClientTypes().getChoice().getChoice().getList().getSelection();
-   IProject initialClientProject = (IProject)((new StringToIProjectTransformer()).transform(initialClientProjectName));
-    IProject defaultClientEAR = getDefaultEARFromClientProject(initialClientProject); // If the client project exists and the default EAR is the same as that of the service
-    project, // pick the defaultClientEAR 
-    if(initialClientProject!=null && initialClientProject.exists() && defaultClientEAR.getName().equalsIgnoreCase(defaultServiceEAR.getName())) {
-    getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(defaultClientEAR.getName()); }
-    else { ProjectTopologyContext ptc=
-    WebServicePlugin.getInstance().getProjectTopologyContext(); if
-    (!ptc.isUseTwoEARs()) {
-    getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(defaultServiceEAR.getName()); }
-    else { IProject proxyEARProject =
-    getUniqueClientEAR(defaultClientEAR.getName(), defaultServiceEAR.getName(),
-    initialClientProjectName);
-    getRuntime2ClientTypes().getChoice().getChoice().getChoice().getList().setSelectionValue(proxyEARProject.getName()); } } }
-  */ 
+      return null;
+  }  
   
   private IProject getUniqueClientEAR(String earProject, String serviceProject, String clientProjectName) {
 
@@ -570,239 +591,8 @@
     
   }
   
-  /*
-  private void setDefaultServer()
-  {
-    String initialProjectName = getServiceProject2EARProject().getList().getSelection();
-	  IRuntime runtimeTarget = ServerSelectionUtils.getRuntimeTarget(initialProjectName);
-    String runtimeTargetId = null;
-    if (runtimeTarget != null)
-    {
-      runtimeTargetId = runtimeTarget.getRuntimeType().getId();
-      //Pick a compatible existing server if one exists.
-      IServer[] servers = ServerSelectionUtils.getCompatibleExistingServers(runtimeTarget);
-      if (servers!=null && servers.length>0)
-      {
-        for (int i=0; i<servers.length; i++)
-        {
-          String thisFactoryId = servers[0].getServerType().getId();
-          //if (WebServiceRuntimeExtensionUtils.doesRuntimeSupportServer(serviceIds_.getRuntimeId(), thisFactoryId))
-          //{
-            //Pick this server and return.
-            serviceIds_.setServerId(thisFactoryId);
-            serviceIds_.setServerInstanceId(servers[0].getId());
-            return;
-          //}			  
-        }
-      }
-      
-      //No compatible existing server, set the factory id to something the runtime supports
-      String[] factoryIds = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(serviceIds_.getRuntimeId()).getServerFactoryIds();
-      if (factoryIds!=null && factoryIds.length>0)
-      {
-        for (int i=0; i<factoryIds.length; i++)
-        {
-          IServerType serverType = ServerCore.findServerType(factoryIds[i]);
-          if (serverType != null)
-          {
-            String serverRuntimeTypeId = serverType.getRuntimeType().getId();            
-            if (serverRuntimeTypeId.equals(runtimeTargetId))
-            {
-              //Found a match
-              serviceIds_.setServerId(factoryIds[i]);
-              return;
-            }
-          }
-        }        
-      }
-      else
-      {
-        //Runtime does not specify any server factory ids
-        IServerType[] serverTypes = ServerCore.getServerTypes();
-        serviceIds_.setServerId(serverTypes[0].getId());
-      }
-      
-    }
-    else
-    {
-      // The project has no server target so pick a server factory id that is supported by the runtime
-      String[] fids = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(serviceIds_.getRuntimeId()).getServerFactoryIds();
-      if (fids!=null && fids.length>0)
-      {
-        serviceIds_.setServerId(fids[0]);  
-      }
-      else
-      {
-        //Runtime does not specify any server factory ids
-        IServerType[] serverTypes = ServerCore.getServerTypes();
-        serviceIds_.setServerId(serverTypes[0].getId());        
-      }
-            
-    }        
-  }
-  */
-
-  private Status setDefaultServer()
-  {
-	Status status = new SimpleStatus("");
-    //Calculate reasonable default server based on the default project selection. 
-
-    String initialProjectName = getServiceProject2EARProject().getList().getSelection(); 
-    IProject initialProject = ProjectUtilities.getProject(initialProjectName);
-    if (initialProject.exists())
-    {
-      String[] serverInfo = ServerSelectionUtils.getServerInfoFromExistingProject(initialProject, serviceComponentName_, serviceIds_.getRuntimeId(), true);
-      if (serverInfo!=null)
-      {
-        if (serverInfo[0]!=null && serverInfo[0].length()>0)
-        {
-          serviceIds_.setServerId(serverInfo[0]);
-        }
-        if (serverInfo[1]!=null && serverInfo[1].length()>0)
-        {
-          serviceIds_.setServerInstanceId(serverInfo[1]);
-        }        
-      }      
-    }
-    else //the project does not exist.
-    {
-      //Does the EAR exist?
-      String initialEARProjectName = getServiceProject2EARProject().getChoice().getList().getSelection();
-      IProject initialEARProject = ProjectUtilities.getProject(initialEARProjectName);
-      if (initialEARProject.exists())
-      {
-        String[] serverInfo = ServerSelectionUtils.getServerInfoFromExistingProject(initialEARProject, serviceEarComponentName_, serviceIds_.getRuntimeId(), false);
-        if (serverInfo!=null)
-        {
-          if (serverInfo[0]!=null && serverInfo[0].length()>0)
-          {
-            serviceIds_.setServerId(serverInfo[0]);
-          }
-          if (serverInfo[1]!=null && serverInfo[1].length()>0)
-          {
-            serviceIds_.setServerInstanceId(serverInfo[1]);
-          }        
-        }              
-      }
-      else
-      {
-        //We have a new project and EAR. Use the runtime/server selection 
-        //preferences to set the default server/server type.
-        //Pick a server type that is compatible with the Web service runtime
-        //If there is an existing server that works, pick that one.
-        
-        String[] serverInfo = ServerSelectionUtils.getServerFromWebServceRuntimeAndJ2EE(serviceIds_.getRuntimeId(), serviceJ2EEVersion_);
-        if (serverInfo!=null)
-        {
-          if (serverInfo[0]!=null && serverInfo[0].length()>0)
-          {
-            serviceIds_.setServerId(serverInfo[0]);
-          }
-          if (serverInfo[1]!=null && serverInfo[1].length()>0)
-          {
-            serviceIds_.setServerInstanceId(serverInfo[1]);
-          }        
-        }
-        else
-        {
-        	//Since the project and the EAR are both new, try changing the J2EE level
-        	boolean foundServer = false;
-        	WebServiceRuntimeInfo wsrt = WebServiceRuntimeExtensionUtils.getWebServiceRuntimeById(serviceIds_.getRuntimeId());
-            if (wsrt != null)
-            {
-              String[] versions = wsrt.getJ2eeLevels();
-              if (versions != null && versions.length > 0)
-              {
-            	  for (int k=0; k<versions.length; k++)
-            	  {
-            		  //If this J2EE version is different from the current one, see if there is
-            		  //a server available.
-            		  if (serviceJ2EEVersion_!=versions[k])
-            		  {
-            			  String[] si = ServerSelectionUtils.getServerFromWebServceRuntimeAndJ2EE(serviceIds_.getRuntimeId(), versions[k]);
-             		      if (si!=null)
-            		      {
-            		        if (si[0]!=null && si[0].length()>0)
-            		        {
-            		          serviceIds_.setServerId(si[0]);
-            		        }
-            		        if (si[1]!=null && si[1].length()>0)
-            		        {
-            		          serviceIds_.setServerInstanceId(si[1]);
-            		        }             
-            		        serviceJ2EEVersion_ = versions[k];
-            		        foundServer = true;
-            		        break;
-            		      }
-            		  
-            	      }
-                  }
-               }
-            }
-        	//No valid server runtimes appear to be configured, this is an error condition.
-            if (!foundServer)
-            {
-              String runtimeLabel = WebServiceRuntimeExtensionUtils.getRuntimeLabelById(serviceIds_.getRuntimeId());
-              String serverLabels = getServerLabels(serviceIds_.getRuntimeId());            	
-        	  status = new SimpleStatus("", msgUtils_.getMessage("MSG_ERROR_NO_SERVER_RUNTIME", new String[]{runtimeLabel, serverLabels}),Status.ERROR);
-            }
-        	
-        }
-      }
-      
-    }
-    
-    return status;
-  }
-
-  
-  private void updateServiceEARs()
-  {
-  	//Set EAR selection to null if the project/server defaults imply an EAR should not be created
-  	String serviceProjectName = getServiceProject2EARProject().getList().getSelection();
-  	IProject serviceProject = FileResourceUtils.getWorkspaceRoot().getProject(serviceProjectName);
-  	if (serviceProject != null && serviceProject.exists())
-  	{
-  	  //Get the runtime target on the serviceProject
-  	  IRuntime serviceTarget = ServerSelectionUtils.getRuntimeTarget(serviceProjectName);
-  	  String j2eeVersion = String.valueOf(J2EEUtils.getJ2EEVersion(serviceProject, serviceComponentName_));
-  	  if (serviceTarget != null)
-  	  {
-  	  	if (!ServerUtils.isTargetValidForEAR(serviceTarget.getRuntimeType().getId(),j2eeVersion))
-  	  	{
-  	      //Default the EAR selection to be empty
-  	  	  getServiceProject2EARProject().getChoice().getList().setIndex(-1);
-          serviceEarComponentName_ = "";
-  	  	  serviceNeedEAR_ = false;
-  	  	}
-  	  		
-  	  }
-  	}
-  	else
-  	{
-      String serverId = serviceIds_.getServerId();
-      if (serverId != null)
-      {
-  		//Use the server type
-  		String serverTargetId = ServerUtils.getRuntimeTargetIdFromFactoryId(serverId);
-  		if (serverTargetId!=null && serverTargetId.length()>0)
-  		{
-  		  if (!ServerUtils.isTargetValidForEAR(serverTargetId,serviceJ2EEVersion_))
-  	  	  {
-  	        //Default the EAR selection to be empty
-  	  	    getServiceProject2EARProject().getChoice().getList().setIndex(-1);
-            serviceEarComponentName_ = "";
-  	  	    serviceNeedEAR_ = false;
-  	  	  }
-  		}
-      }
-  	}
-  	
-  		
-  }
   public void setInitialSelection(IStructuredSelection selection)
   {
-    initialSelection_ = selection;
   }
   
   public void setInitialProject(IProject initialProject)
@@ -812,7 +602,8 @@
   
   public void setInitialComponentName(String name)
   {
-    initialComponentName_ = name;  
+    //TODO This method and any mappings to it
+	// should be removed if no longer needed.
   }
   
   public void setServiceTypeRuntimeServer( TypeRuntimeServer ids )
@@ -820,31 +611,20 @@
     serviceIds_ = ids;
   }
   
+  public void setServiceIdsFixed(boolean b)
+  {
+    serviceIdsFixed_ = b;  
+  }
+  
   public TypeRuntimeServer getServiceTypeRuntimeServer()
   {
     return serviceIds_; 
   }
 
-  public SelectionListChoices getServiceProject2EARProject()
+  public String getServiceRuntimeId()
   {
-    if (serviceProject2EARProject_ == null)
-    {
-	  // rskreg
-      //IProject[] projects = WebServiceServerRuntimeTypeRegistry.getInstance().getProjectsByWebServiceType(serviceIds_.getTypeId());
-      //Populate the list with all the projects in the workspace except Servers and ones that start with "."
-	  // rskreg
-	  String[] projectNames = getAllFlexibleProjects();
-	  SelectionList list = new SelectionList(projectNames, 0);
-	  Vector choices = new Vector();
-	  for (int i = 0; i < projectNames.length; i++) {
-      IProject project = ProjectUtilities.getProject(projectNames[i]);
-	    choices.add(getProjectEARChoice(project));
-	  }
-	  serviceProject2EARProject_ = new SelectionListChoices(list, choices, getEARProjects());
-    }
-    return serviceProject2EARProject_; 
+    return serviceRuntimeId_;
   }
-    
   /**
    * @return Returns the generateProxy_.
    */
@@ -859,30 +639,15 @@
   {
     this.generateProxy_ = generateProxy_;
   }
-
-  public String getServiceJ2EEVersion()
-  {
-    return serviceJ2EEVersion_;
-  }
   
   public String getServiceProjectName()
   {
-    return getServiceProject2EARProject().getList().getSelection();  
+    return serviceProjectName_;  
   }
   
   public String getServiceEarProjectName()
   {
-    return getServiceProject2EARProject().getChoice().getList().getSelection();
-  }
-  
-  public String getServiceComponentName()
-  {
-    return serviceComponentName_;
-  }
-  
-  public String getServiceEarComponentName()
-  {
-    return serviceEarComponentName_;
+    return serviceEarProjectName_;
   }
   
   public String getServiceComponentType()
@@ -895,37 +660,4 @@
     return serviceNeedEAR_;
   }
   
-  /**
-   * Returns the first EAR for a given project
-   * @param project
-   * @return
-   */
-  /*
-  private IProject getDefaultEARFromServiceProject(IProject project)
-  {
-    if (project!=null && project.exists()) 
-    {
-      IServer[] configuredServers = ServerUtil.getServersByModule(ResourceUtils.getModule(project), null);
-      IServer firstSupportedServer = ServerSelectionUtils.getFirstSupportedServer(configuredServers, serviceIds_.getTypeId() );
-      
-      EARNatureRuntime[] earProjects = J2EEUtils.getEARProjects(project, firstSupportedServer);
-      if (earProjects!=null && earProjects[0] instanceof EARNatureRuntime) 
-        return earProjects[0].getProject();
-    }
-    
-    int versionId = -1;
-    if (serviceJ2EEVersion_ != null && serviceJ2EEVersion_.length()>0)
-    {
-      versionId = Integer.parseInt(serviceJ2EEVersion_);
-    }
-    EARNatureRuntime newEAR = J2EEUtils.getEAR(versionId);
-    IProject earProject = ResourceUtils.getWorkspaceRoot().getProject(ResourceUtils.getDefaultServiceEARProjectName());
-      
-    if (newEAR!=null)
-      earProject = newEAR.getProject();
-
-    return earProject;  	
-  }
-  */
-  
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/LaunchFragment.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/LaunchFragment.java
index 72e0589..a00645b 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/LaunchFragment.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/LaunchFragment.java
@@ -12,9 +12,9 @@
  */
 package org.eclipse.jst.ws.internal.creation.ui.widgets.test;
 
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 
 
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestFragment.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestFragment.java
index 99d8214..196ed36 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestFragment.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestFragment.java
@@ -13,11 +13,11 @@
 package org.eclipse.jst.ws.internal.creation.ui.widgets.test;
 
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.WSDLTestLaunchCommand;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.BooleanFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class ServiceTestFragment extends BooleanFragment
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestWidget.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestWidget.java
index dfd1ffa..2096c8d 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestWidget.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/ServiceTestWidget.java
@@ -13,6 +13,7 @@
 import java.util.List;
 import java.util.Vector;
 
+import org.eclipse.jst.ws.internal.consumption.ui.ConsumptionUIMessages;
 import org.eclipse.jst.ws.internal.consumption.ui.widgets.test.WSDLTestLaunchCommand;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
 import org.eclipse.jst.ws.internal.ui.common.UIUtils;
@@ -23,28 +24,24 @@
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Listener;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
+import org.eclipse.wst.common.environment.IEnvironment;
 
 
 public class ServiceTestWidget extends SimpleWidgetDataContributor
 {
-  private String pluginId_ = "org.eclipse.jst.ws.consumption.ui";
   private String createPluginId_ = "org.eclipse.jst.ws.creation.ui";
 
   private Combo testTypeCombo_;
   /*CONTEXT_ID PSTP0001 for the Test Type Combo box of the Service Test Page*/
   private final String INFOPOP_PSTP_COMBOBOX_TEST = "PSTP0001";
-  private final String TOOLTIP_PSTP_COMBOBOX_TEST = "TOOLTIP_PSTP_COMBOBOX_TEST";
 
   private Button launchButton_;
   /*CONTEXT_ID PSTP0002 for the launch button of the Service Test Page*/
   private final String INFOPOP_PSTP_LAUNCH_BUTTON = "PSTP0002";
-  private final String TOOLTIP_PSTP_LAUNCH_BUTTON = "TOOLTIP_PSTP_LAUNCH_BUTTON";
+
   
   private SelectionList facilities_;
   
@@ -52,18 +49,17 @@
   
   public WidgetDataEvents addControls( Composite parent, Listener statusListener )
   {
-    MessageUtils msgUtils = new MessageUtils( pluginId_ + ".plugin", this );
-    UIUtils      uiUtils  = new UIUtils(msgUtils, createPluginId_ );
+    UIUtils      uiUtils  = new UIUtils(createPluginId_ );
         
     Composite testComposite = uiUtils.createComposite( parent, 3, 0, 0 );
     
-    testTypeCombo_ = uiUtils.createCombo( testComposite, "LABEL_TEST_TYPES",
-                                          TOOLTIP_PSTP_COMBOBOX_TEST,
+    testTypeCombo_ = uiUtils.createCombo( testComposite, ConsumptionUIMessages.LABEL_TEST_TYPES,
+    									ConsumptionUIMessages.TOOLTIP_PSTP_COMBOBOX_TEST,
                                           INFOPOP_PSTP_COMBOBOX_TEST,
                                           SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY );
     
-    launchButton_ = uiUtils.createPushButton( testComposite, "BUTTON_LAUNCH_SERVICE_TEST",
-                                          TOOLTIP_PSTP_LAUNCH_BUTTON,
+    launchButton_ = uiUtils.createPushButton( testComposite, ConsumptionUIMessages.BUTTON_LAUNCH_SERVICE_TEST,
+    									ConsumptionUIMessages.TOOLTIP_PSTP_LAUNCH_BUTTON,
                                           INFOPOP_PSTP_LAUNCH_BUTTON );
     launchButton_.addSelectionListener( new SelectionAdapter()
                                         {
@@ -82,7 +78,7 @@
   private String module;
   private String wsdlURI;
   private String launchedServiceTestName = "";
-  private Environment env;
+  private IEnvironment env;
   private List endpoints;
   
   private void handleLaunchButton()
@@ -99,13 +95,14 @@
   	WSDLTestLaunchCommand wtlc = new WSDLTestLaunchCommand();
   	wtlc.setTestID(testID);
   	wtlc.setServiceTypeRuntimeServer(serviceids);
-	wtlc.setServiceServerInstanceId(serviceServerInstanceId);
+	  wtlc.setServiceServerInstanceId(serviceServerInstanceId);
   	wtlc.setServerProject(serverProject);
-	wtlc.setServerModule(module);
+	  wtlc.setServerModule(module);
   	wtlc.setWsdlURI(wsdlURI);
   	wtlc.setExternalBrowser(true);
   	wtlc.setEndpoint(endpoints);
-  	Status status = wtlc.execute(env);
+  	wtlc.setEnvironment( env );
+  	wtlc.execute( null, null );
   }
   
   public void setServiceTestFacilities( SelectionList facilities )
@@ -146,7 +143,7 @@
     return launchedServiceTestName;
   }
 
-  public void setEnvironment(Environment env)
+  public void setEnvironment(IEnvironment env)
   {
   	this.env = env;
   }
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/WebServiceTestDefaultingCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/WebServiceTestDefaultingCommand.java
index 1db6cea..2097100 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/WebServiceTestDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/test/WebServiceTestDefaultingCommand.java
@@ -18,16 +18,16 @@
 
 import java.util.Enumeration;
 import java.util.Vector;
-
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.context.ScenarioContext;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestExtension;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.selection.SelectionList;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
@@ -36,22 +36,19 @@
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Generation - Code and Comments
  */
-public class WebServiceTestDefaultingCommand extends SimpleCommand 
+public class WebServiceTestDefaultingCommand extends AbstractDataModelOperation 
 {
   
   private SelectionList serviceTestFacilities;	
-  private Environment environment;
-  private String testID;
+  private String[] testID;
   
-  public Status execute(Environment env)
-  {
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
+  {    
   	ScenarioContext scenarioContext = WebServicePlugin.getInstance().getScenarioContext().copy();
   	testID = scenarioContext.getNonJavaTestService();
   	String[] testTypes = scenarioContext.getWebServiceTestTypes();
-  	
-  	
-  	environment = env;
-  	Status status = new SimpleStatus("");
+  	  	
+  	IStatus status = Status.OK_STATUS;
   	WebServiceTestRegistry wsttRegistry = WebServiceTestRegistry.getInstance();
   	
     
@@ -82,16 +79,11 @@
   	return serviceTestFacilities;
   }
 
-  public String getTestID()
+  public String[] getTestID()
   {
   	return testID;
   }
   
-  public Environment getEnvironment()
-  {
-  	return environment;
-  }
-
   public boolean getExternalBrowser()
   {
   	return false;
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/.cvsignore b/bundles/org.eclipse.jst.ws.uddiregistry/.cvsignore
index c6d6a02..5306ed2 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 uddiregistry.jar
+@dot
+src.zip
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 3ec236d..ff77387 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.uddiregistry; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.jst.ws.internal.uddiregistry.plugin.WebServiceUDDIRegistryPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -10,11 +10,12 @@
  org.eclipse.jst.ws.internal.uddiregistry.widgets,
  org.eclipse.jst.ws.internal.uddiregistry.widgets.binding,
  org.eclipse.jst.ws.internal.uddiregistry.wizard,
- org.eclipse.jst.ws.uddiregistry
+ org.eclipse.jst.ws.internal.uddiregistry
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.jst.ws.ui,
  org.eclipse.wst.command.env.core,
  org.eclipse.wst.command.env,
- org.eclipse.wst.command.env.ui
+ org.eclipse.wst.command.env.ui,
+ org.eclipse.wst.common.frameworks
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/plugin.xml b/bundles/org.eclipse.jst.ws.uddiregistry/plugin.xml
index 77a2c48..f7834fe 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/plugin.xml
@@ -3,13 +3,8 @@
 
 <plugin>
 
-   
-<!--
-  <description>
-  %PLUGIN_DESC
-  </description>
-  -->
-    <extension-point id="privateUDDIRegistryType" name="%XP_PRIVATE_UDDI_REGISTRY_TYPES"/>
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
+   <extension-point id="privateUDDIRegistryType" name="%XP_PRIVATE_UDDI_REGISTRY_TYPES"/>
 
    <extension
          point="org.eclipse.jst.ws.consumption.ui.privateUDDIRegistryType">
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/UDDIRegistry.properties b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/UDDIRegistry.properties
new file mode 100644
index 0000000..8b15a6d
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/UDDIRegistry.properties
@@ -0,0 +1,55 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# PrivateUDDIConfigPage
+#
+PAGE_TITLE_PRIVATE_UDDI_CONFIG=Unit Test UDDI Registry Configuration
+PAGE_DESC_PRIVATE_UDDI_CONFIG=Configure the unit test UDDI registry.
+
+#
+# Tooltip for PrivateUDDIConfigPage
+#
+TOOLTIP_PUPR_PRIVATE_UDDI_PAGE=Deploy or remove a Unit Test UDDI Registry
+TOOLTIP_PUPR_PRIVATE_UDDI_TYPE=Choose the type of Unit Test UDDI Registry you want to deploy
+TOOLTIP_PUPR_DEPLOY_PRIVATE_UDDI=Deploy a Unit Test UDDI Registry
+TOOLTIP_PUPR_UPDATE_PRIVATE_UDDI=Update the existing Unit Test UDDI Registry
+TOOLTIP_PUPR_REMOVE_PRIVATE_UDDI=Remove the existing Unit Test UDDI Registry
+
+#
+# Common wizard strings.
+#
+LABEL_PRIVATE_UDDI_REGISTRY_TYPES=Private UDDI Registry type:
+BUTTON_DEPLOY_UDDI_REGISTRY=Deploy the Unit Test UDDI Registry
+BUTTON_UPDATE_UDDI_REGISTRY=Update the previously deployed UDDI registry
+BUTTON_REMOVE_UDDI_REGISTRY=Remove the previously deployed UDDI registry
+
+#
+# Wizard page task labels and descriptions
+# (used only for progress indication).
+#
+
+#
+# Dialog messages
+#
+
+#
+# Progress messages
+#
+
+#
+# Warning messages
+#
+
+#
+# Error messages
+#
+MSG_ERROR_NO_UDDI_REGISTRY_AVAILABLE=IWAB0363E No UDDI registry available.
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/UDDIRegistryMessages.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/UDDIRegistryMessages.java
new file mode 100644
index 0000000..ea29e88
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/UDDIRegistryMessages.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.uddiregistry;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class UDDIRegistryMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.uddiregistry.UDDIRegistry";//$NON-NLS-1$
+
+	private UDDIRegistryMessages() {
+		// Do not instantiate
+	}
+
+	public static String PAGE_TITLE_PRIVATE_UDDI_CONFIG;
+	public static String PAGE_DESC_PRIVATE_UDDI_CONFIG;
+	public static String TOOLTIP_PUPR_PRIVATE_UDDI_PAGE;
+	public static String TOOLTIP_PUPR_PRIVATE_UDDI_TYPE;
+	public static String TOOLTIP_PUPR_DEPLOY_PRIVATE_UDDI;
+	public static String TOOLTIP_PUPR_UPDATE_PRIVATE_UDDI;
+	public static String TOOLTIP_PUPR_REMOVE_PRIVATE_UDDI;
+	public static String LABEL_PRIVATE_UDDI_REGISTRY_TYPES;
+	public static String BUTTON_DEPLOY_UDDI_REGISTRY;
+	public static String BUTTON_UPDATE_UDDI_REGISTRY;
+	public static String BUTTON_REMOVE_UDDI_REGISTRY;
+	public static String MSG_ERROR_NO_UDDI_REGISTRY_AVAILABLE;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, UDDIRegistryMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/plugin/WebServiceUDDIRegistryPlugin.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/plugin/WebServiceUDDIRegistryPlugin.java
index fd8d49a..81df413 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/plugin/WebServiceUDDIRegistryPlugin.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/plugin/WebServiceUDDIRegistryPlugin.java
@@ -13,11 +13,9 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.text.MessageFormat;
-
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
 
 /**
 * This is the plugin class for the Web Services UDDI Registry plugin.
@@ -38,7 +36,6 @@
   * The reference to the singleton instance of this plugin.
   */
   private static WebServiceUDDIRegistryPlugin instance_;
-  private Log log_;
   
   /**
   * Constructs a runtime plugin object for this plugin.
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommand.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommand.java
index d063114..7fb402c 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommand.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommand.java
@@ -10,17 +10,22 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.uddiregistry.widgets;
 
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.uddiregistry.wizard.PrivateUDDIRegistryType;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 /*
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.Environment;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.common.SimpleStatus;
+import org.eclipse.wst.command.internal.env.core.common.Status;
 import org.eclipse.jst.ws.internal.uddiregistry.plugin.WebServiceUDDIRegistryPlugin;
 */
 
-public class PrivateUDDISelectionCommand extends SimpleCommand
+public class PrivateUDDISelectionCommand extends AbstractDataModelOperation
 {
   private byte operationType;
   private PrivateUDDIRegistryType registryType;
@@ -75,4 +80,9 @@
   {
   	registryType = regType;
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommandFragment.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommandFragment.java
index c70c21c..b408b68 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommandFragment.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionCommandFragment.java
@@ -11,12 +11,11 @@
 package org.eclipse.jst.ws.internal.uddiregistry.widgets;
 
 import org.eclipse.jst.ws.internal.uddiregistry.wizard.PrivateUDDIRegistryType;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.AbstractCommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.ui.widgets.CanFinishRegistry;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class PrivateUDDISelectionCommandFragment extends AbstractCommandFragment
@@ -28,7 +27,7 @@
   
   public PrivateUDDISelectionCommandFragment()
   {
-  	super((CommandFactory)null, "");
+  	super(null, "");
   }
 
   /** 
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidget.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidget.java
index 16109c6..d3ea22f 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidget.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.uddiregistry.widgets;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jst.ws.internal.uddiregistry.UDDIRegistryMessages;
 import org.eclipse.jst.ws.internal.uddiregistry.plugin.WebServiceUDDIRegistryPlugin;
 import org.eclipse.jst.ws.internal.uddiregistry.wizard.PrivateUDDIRegistryType;
 import org.eclipse.jst.ws.internal.uddiregistry.wizard.PrivateUDDIRegistryTypeRegistry;
@@ -24,11 +26,9 @@
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleWidgetDataContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -38,7 +38,6 @@
 */
 public class PrivateUDDISelectionWidget extends SimpleWidgetDataContributor
 {
-  private MessageUtils msgUtils;
   private Listener statusListener;
 
   private Button deployRadio_;
@@ -58,13 +57,12 @@
 
   public PrivateUDDISelectionWidget()
   {
-    msgUtils = new MessageUtils(WebServiceUDDIRegistryPlugin.ID + ".plugin", this );
   }
 
   public WidgetDataEvents addControls(Composite parent, Listener statusListener)
   {
   	this.statusListener = statusListener;
-    parent.setToolTipText(msgUtils.getMessage("TOOLTIP_PUPR_PRIVATE_UDDI_PAGE"));
+    parent.setToolTipText(UDDIRegistryMessages.TOOLTIP_PUPR_PRIVATE_UDDI_PAGE);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, INFOPOP_PUPR_PRIVATE_UDDI_PAGE);
 
     GridLayout gl;
@@ -81,10 +79,10 @@
     IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
     
     deployRadio_ = new Button(parent, SWT.RADIO);
-    deployRadio_.setText(msgUtils.getMessage("BUTTON_DEPLOY_UDDI_REGISTRY"));
+    deployRadio_.setText(UDDIRegistryMessages.BUTTON_DEPLOY_UDDI_REGISTRY);
     deployRadio_.setSelection(true);
     deployRadio_.addListener(SWT.Selection, listener);
-    deployRadio_.setToolTipText(msgUtils.getMessage("TOOLTIP_PUPR_DEPLOY_PRIVATE_UDDI"));
+    deployRadio_.setToolTipText(UDDIRegistryMessages.TOOLTIP_PUPR_DEPLOY_PRIVATE_UDDI);
     helpSystem.setHelp(deployRadio_, INFOPOP_PUPR_DEPLOY_PRIVATE_UDDI);
 
     Composite typeComposite = new Composite(parent,SWT.NONE);
@@ -98,29 +96,29 @@
     typeComposite.setLayoutData(gd);
 
     typesLabel_ = new Label(typeComposite, SWT.WRAP);
-    typesLabel_.setText(msgUtils.getMessage("LABEL_PRIVATE_UDDI_REGISTRY_TYPES"));
-    typesLabel_.setToolTipText(msgUtils.getMessage("TOOLTIP_PUPR_PRIVATE_UDDI_TYPE"));
+    typesLabel_.setText(UDDIRegistryMessages.LABEL_PRIVATE_UDDI_REGISTRY_TYPES);
+    typesLabel_.setToolTipText(UDDIRegistryMessages.TOOLTIP_PUPR_PRIVATE_UDDI_TYPE);
     helpSystem.setHelp(typesLabel_, INFOPOP_PUPR_PRIVATE_UDDI_TYPE);
 
     typesCombo_ = new Combo(typeComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
     gd = new GridData(GridData.FILL_HORIZONTAL);
     typesCombo_.setLayoutData(gd);
     typesCombo_.addListener(SWT.Selection, listener);
-    typesCombo_.setToolTipText(msgUtils.getMessage("TOOLTIP_PUPR_PRIVATE_UDDI_TYPE"));
+    typesCombo_.setToolTipText(UDDIRegistryMessages.TOOLTIP_PUPR_PRIVATE_UDDI_TYPE);
     helpSystem.setHelp(typesCombo_, INFOPOP_PUPR_PRIVATE_UDDI_TYPE);
 
     updateRadio_ = new Button(parent,SWT.RADIO);
-    updateRadio_.setText(msgUtils.getMessage("BUTTON_UPDATE_UDDI_REGISTRY"));
+    updateRadio_.setText(UDDIRegistryMessages.BUTTON_UPDATE_UDDI_REGISTRY);
     updateRadio_.setSelection(false);
     updateRadio_.addListener(SWT.Selection,listener);
-    updateRadio_.setToolTipText(msgUtils.getMessage("TOOLTIP_PUPR_UPDATE_PRIVATE_UDDI"));
+    updateRadio_.setToolTipText(UDDIRegistryMessages.TOOLTIP_PUPR_UPDATE_PRIVATE_UDDI);
     helpSystem.setHelp(updateRadio_, INFOPOP_PUPR_UPDATE_PRIVATE_UDDI);
 
     removeRadio_ = new Button(parent, SWT.RADIO);
-    removeRadio_.setText(msgUtils.getMessage("BUTTON_REMOVE_UDDI_REGISTRY"));
+    removeRadio_.setText(UDDIRegistryMessages.BUTTON_REMOVE_UDDI_REGISTRY);
     removeRadio_.setSelection(false);
     removeRadio_.addListener(SWT.Selection, listener);
-    removeRadio_.setToolTipText(msgUtils.getMessage("TOOLTIP_PUPR_REMOVE_PRIVATE_UDDI"));
+    removeRadio_.setToolTipText(UDDIRegistryMessages.TOOLTIP_PUPR_REMOVE_PRIVATE_UDDI);
     helpSystem.setHelp(removeRadio_, INFOPOP_PUPR_REMOVE_PRIVATE_UDDI);                
 
     loadTypes();
@@ -201,12 +199,12 @@
   	  return PrivateUDDIRegistryType.OP_DEPLOY;
   }
 
-  public Status getStatus()
+  public IStatus getStatus()
   {
     PrivateUDDIRegistryType privateUDDIRegistryType = getPrivateUDDIRegistryType();
     if (privateUDDIRegistryType != null)
       return privateUDDIRegistryType.getOperationStatus(getOperationType());
     else
-      return new SimpleStatus("", msgUtils.getMessage("MSG_ERROR_NO_UDDI_REGISTRY_AVAILABLE"), Status.ERROR);
+      return StatusUtils.errorStatus( UDDIRegistryMessages.MSG_ERROR_NO_UDDI_REGISTRY_AVAILABLE );
   }
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidgetConditionCommand.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidgetConditionCommand.java
index d6ec49f..3141b63 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidgetConditionCommand.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/PrivateUDDISelectionWidgetConditionCommand.java
@@ -10,14 +10,15 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.uddiregistry.widgets;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class PrivateUDDISelectionWidgetConditionCommand extends SimpleCommand implements Condition
+public class PrivateUDDISelectionWidgetConditionCommand extends AbstractDataModelOperation implements Condition
 {
   private boolean condition;
 
@@ -26,26 +27,18 @@
     condition = true;
   }
   
-  public Status execute(Environment env)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
     condition = !condition;
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
-  public Status undo(Environment env)
+  public IStatus undo( IProgressMonitor monitor, IAdaptable adaptable )
   {
     condition = !condition;
-    return new SimpleStatus("");
+    return Status.OK_STATUS;
   }
   
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.core.Command#isUndoable()
-   */
-  public boolean isUndoable()
-  {
-    return true;
-  }
-
   public boolean evaluate()
   {
     return condition;
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/binding/PrivateUDDIWidgetBinding.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/binding/PrivateUDDIWidgetBinding.java
index 78dedf1..a9d5aca 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/binding/PrivateUDDIWidgetBinding.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/widgets/binding/PrivateUDDIWidgetBinding.java
@@ -10,11 +10,12 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.uddiregistry.widgets.binding;
 
-import org.eclipse.jst.ws.internal.uddiregistry.plugin.WebServiceUDDIRegistryPlugin;
+import org.eclipse.jst.ws.internal.uddiregistry.UDDIRegistryMessages;
 import org.eclipse.jst.ws.internal.uddiregistry.widgets.PrivateUDDISelectionCommand;
 import org.eclipse.jst.ws.internal.uddiregistry.widgets.PrivateUDDISelectionCommandFragment;
 import org.eclipse.jst.ws.internal.uddiregistry.widgets.PrivateUDDISelectionWidget;
 import org.eclipse.jst.ws.internal.uddiregistry.widgets.PrivateUDDISelectionWidgetConditionCommand;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
@@ -24,8 +25,6 @@
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
 import org.eclipse.wst.command.internal.env.ui.widgets.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class PrivateUDDIWidgetBinding implements CommandWidgetBinding
@@ -74,7 +73,7 @@
   }
 
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry)
   {
@@ -94,13 +93,12 @@
    */
   public void registerWidgetMappings(WidgetRegistry widgetRegistry)
   {
-    MessageUtils msgUtils = new MessageUtils(WebServiceUDDIRegistryPlugin.ID + ".plugin", this);
     this.widgetRegistry = widgetRegistry;
     privateUDDISelFragment.registerWidgetMappings(this.widgetRegistry);
 
     widgetRegistry.add("PrivateUDDISelectionWidget", 
-      msgUtils.getMessage("PAGE_TITLE_PRIVATE_UDDI_CONFIG"),
-      msgUtils.getMessage("PAGE_DESC_PRIVATE_UDDI_CONFIG"),
+      UDDIRegistryMessages.PAGE_TITLE_PRIVATE_UDDI_CONFIG,
+      UDDIRegistryMessages.PAGE_DESC_PRIVATE_UDDI_CONFIG,
 	  new WidgetContributorFactory()
       {
 	    public WidgetContributor create()
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryType.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryType.java
index 5687a3f..7e48cf0 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryType.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryType.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.uddiregistry.wizard;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 public interface PrivateUDDIRegistryType extends CommandWidgetBinding
@@ -25,7 +25,7 @@
   public String getID();
   public String getName();
   public boolean isPrivateUDDIRegistryInstalled();
-  public Status getOperationStatus(byte operation);
+  public IStatus getOperationStatus(byte operation);
 
   // registry URLs
   public String getInquiryAPI();
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeImpl.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeImpl.java
index 2af533c..79d0921 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeImpl.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeImpl.java
@@ -13,7 +13,6 @@
 
 import java.util.Enumeration;
 import java.util.Vector;
-
 import org.eclipse.jst.ws.internal.uddiregistry.widgets.binding.PrivateUDDIWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeRegistry.java b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeRegistry.java
index 971d6c5..5fd441e 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeRegistry.java
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/internal/uddiregistry/wizard/PrivateUDDIRegistryTypeRegistry.java
@@ -13,7 +13,6 @@
 
 import java.util.StringTokenizer;
 import java.util.Vector;
-
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.Platform;
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/uddiregistry/plugin.properties b/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/uddiregistry/plugin.properties
deleted file mode 100644
index c4d8af3..0000000
--- a/bundles/org.eclipse.jst.ws.uddiregistry/src/org/eclipse/jst/ws/uddiregistry/plugin.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# PrivateUDDIConfigPage
-#
-PAGE_TITLE_PRIVATE_UDDI_CONFIG=Unit Test UDDI Registry Configuration
-PAGE_DESC_PRIVATE_UDDI_CONFIG=Configure the unit test UDDI registry.
-
-#
-# Tooltip for PrivateUDDIConfigPage
-#
-TOOLTIP_PUPR_PRIVATE_UDDI_PAGE=Deploy or remove a Unit Test UDDI Registry
-TOOLTIP_PUPR_PRIVATE_UDDI_TYPE=Choose the type of Unit Test UDDI Registry you want to deploy
-TOOLTIP_PUPR_DEPLOY_PRIVATE_UDDI=Deploy a Unit Test UDDI Registry
-TOOLTIP_PUPR_UPDATE_PRIVATE_UDDI=Update the existing Unit Test UDDI Registry
-TOOLTIP_PUPR_REMOVE_PRIVATE_UDDI=Remove the existing Unit Test UDDI Registry
-
-#
-# Common wizard strings.
-#
-LABEL_PRIVATE_UDDI_REGISTRY_TYPES=Private UDDI Registry type:
-BUTTON_DEPLOY_UDDI_REGISTRY=Deploy the Unit Test UDDI Registry
-BUTTON_UPDATE_UDDI_REGISTRY=Update the previously deployed UDDI registry
-BUTTON_REMOVE_UDDI_REGISTRY=Remove the previously deployed UDDI registry
-
-#
-# Wizard page task labels and descriptions
-# (used only for progress indication).
-#
-
-#
-# Dialog messages
-#
-
-#
-# Progress messages
-#
-
-#
-# Warning messages
-#
-
-#
-# Error messages
-#
-MSG_ERROR_NO_UDDI_REGISTRY_AVAILABLE=IWAB0363E No UDDI registry available.
diff --git a/bundles/org.eclipse.jst.ws.ui/.cvsignore b/bundles/org.eclipse.jst.ws.ui/.cvsignore
index 7bfad37..1d99ec9 100644
--- a/bundles/org.eclipse.jst.ws.ui/.cvsignore
+++ b/bundles/org.eclipse.jst.ws.ui/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 ws-ui.jar
+@dot
+src.zip
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 974a078..f5cefbc 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: 0.7.1
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -12,7 +12,7 @@
  org.eclipse.jst.ws.internal.ui.plugin,
  org.eclipse.jst.ws.internal.ui.preferences,
  org.eclipse.jst.ws.internal.ui.uddi,
- org.eclipse.jst.ws.ui
+ org.eclipse.jst.ws.internal.ui
 Require-Bundle: org.eclipse.wst.command.env,
  org.eclipse.wst.command.env.ui,
  org.eclipse.wst.command.env.core,
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/WSUIPlugin.properties b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/WSUIPlugin.properties
new file mode 100644
index 0000000..21d64a1
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/WSUIPlugin.properties
@@ -0,0 +1,105 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Messages in plugin.xml.
+#
+PLUGIN_NAME=Web Services Graphical User Interface
+PLUGIN_VENDOR=Eclipse.org
+PLUGIN_DESC=\
+The Web services GUI plugin delivers the graphical \
+user interface to the Web services function of the \
+Web services plugin.
+
+PLUGIN_NEW_CATEGORY_NAME_WS=Web Services
+
+#
+#	Web Services Preferance Pages
+#
+# Categories
+PREFERENCE_CATEGORY_RESOURCE_MANAGEMENT=Resource Management
+PREFERENCE_CATEGORY_CODE_GENERATION=Code Generation
+PREFERENCE_CATEGORY_SCENARIO_DEFAULTS=Scenario Defaults
+PREFERENCE_CATEGORY_PROJECT_TOPOLOGY=Project Topology
+PREFERENCE_CATEGORY_DRIVER_JARS=JDBC drivers
+
+#
+#Scenario Defaults
+BUTTON_LAUNCH_SAMPLE=Launch the sample when generated
+LABEL_MOVE_UP=Move up
+LABEL_MOVE_DOWN=Move down
+
+#
+# Preferences Tooltips
+#
+
+#Scenario Defaults
+TOOLTIP_PPSD_PAGE=Set the defaults for the Web service scenarios.
+TOOLTIP_PPSD_CHECKBOX_LAUNCH_SAMPLE=Launch the sample application after generation.
+TOOLTIP_CLIENT_TYPE_TABLE_VIEWER=Preferred order of the list of client types
+TOOLTIP_MOVE_UP=Move the selected client type up the list
+TOOLTIP_MOVE_DOWN=Move the selected client type down the list
+
+#
+# Resource Managment
+TOOLTIP_PPRM_PAGE=Set preferences that control resources used/generated by the Web service.
+TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES=Overwrite files without warning.
+TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS=Create folders when necessary.
+TOOLTIP_PPRM_CHECKBOX_CHECK_OUT=Check out files without warning.
+BUTTON_CREATE_FOLDERS=Create folders when necessary
+BUTTON_OVERWRITE_FILES=Overwrite files without warning
+BUTTON_CHECKOUT_FILES=Check out files without warning
+
+#
+# General messages.
+#
+ISTATUS_WITHOUT_EXCEPTION={0}
+ISTATUS_WITH_EXCEPTION={0}\nException: {1}
+MSG_INFO_SAVED_STATUS=IWAB0297I Press the Details button to see informational messages.
+
+#
+# TypeSelectionDialog
+#
+DIALOG_TITLE_CLASS_BROWSE=Browse Classes
+DIALOG_TITLE_INTERFACE_BROWSE=Browse Interfaces
+
+#
+# Common wizard strings.
+#
+LABEL_SAMPLE_TYPES=Java proxy sample
+
+#
+# ResourceSelectionDialog
+#
+DIALOG_TITLE_RESOURCE_BROWSE=Browse Files
+LABEL_RESOURCE_FILTER=Filter:
+
+#
+# Tooltips for dialog.ResourceSelectionDialog
+# DRES=Dialog/RESources
+#
+TOOLTIP_DRES_COMBO_RESOURCE_TYPE=Type of resources to browse.
+TOOLTIP_DRES_TREE_RESOURCE=Resources available for selection.
+
+#
+# Messages for project topology preference page
+#
+TOOLTIP_PTPP_PAGE=Preference that control the project topology of your Web service and client scenarios.
+TOOLTIP_ENABLE_TWO_EARS=Enable this option if you want to generate your Web service and Web service client in different EAR projects.
+
+LABEL_ENABLE_TWO_EARS=Generate Web service and Web service client in different EAR projects
+LABEL_CLIENT_TYPE_NAME=Client type:
+
+#
+# Resource Browser
+#
+DIALOG_TITLE_RESOURCE_BROWSER=Resource browser
+TOOLTIP_RESOURCE_TREE=Choose a resource.
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/WSUIPluginMessages.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/WSUIPluginMessages.java
new file mode 100644
index 0000000..7f57583
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/WSUIPluginMessages.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class WSUIPluginMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.ui.WSUIPlugin";//$NON-NLS-1$
+
+	private WSUIPluginMessages() {
+		// Do not instantiate
+	}
+
+	public static String PLUGIN_NAME;
+	public static String PLUGIN_VENDOR;
+	public static String PLUGIN_DESC;
+	public static String PLUGIN_NEW_CATEGORY_NAME_WS;
+	public static String PREFERENCE_CATEGORY_RESOURCE_MANAGEMENT;
+	public static String PREFERENCE_CATEGORY_CODE_GENERATION;
+	public static String PREFERENCE_CATEGORY_SCENARIO_DEFAULTS;
+	public static String PREFERENCE_CATEGORY_PROJECT_TOPOLOGY;
+	public static String PREFERENCE_CATEGORY_DRIVER_JARS;
+	public static String BUTTON_LAUNCH_SAMPLE;
+	public static String LABEL_MOVE_UP;
+	public static String LABEL_MOVE_DOWN;
+	public static String TOOLTIP_PPSD_PAGE;
+	public static String TOOLTIP_PPSD_CHECKBOX_LAUNCH_SAMPLE;
+	public static String TOOLTIP_CLIENT_TYPE_TABLE_VIEWER;
+	public static String TOOLTIP_MOVE_UP;
+	public static String TOOLTIP_MOVE_DOWN;
+	public static String TOOLTIP_PPRM_PAGE;
+	public static String TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES;
+	public static String TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS;
+	public static String TOOLTIP_PPRM_CHECKBOX_CHECK_OUT;
+	public static String BUTTON_CREATE_FOLDERS;
+	public static String BUTTON_OVERWRITE_FILES;
+	public static String BUTTON_CHECKOUT_FILES;
+	public static String ISTATUS_WITHOUT_EXCEPTION;
+	public static String ISTATUS_WITH_EXCEPTION;
+	public static String MSG_INFO_SAVED_STATUS;
+	public static String DIALOG_TITLE_CLASS_BROWSE;
+	public static String DIALOG_TITLE_INTERFACE_BROWSE;
+	public static String LABEL_SAMPLE_TYPES;
+	public static String DIALOG_TITLE_RESOURCE_BROWSE;
+	public static String LABEL_RESOURCE_FILTER;
+	public static String TOOLTIP_DRES_COMBO_RESOURCE_TYPE;
+	public static String TOOLTIP_DRES_TREE_RESOURCE;
+	public static String TOOLTIP_PTPP_PAGE;
+	public static String TOOLTIP_ENABLE_TWO_EARS;
+	public static String LABEL_ENABLE_TWO_EARS;
+	public static String LABEL_CLIENT_TYPE_NAME;
+	public static String DIALOG_TITLE_RESOURCE_BROWSER;
+	public static String TOOLTIP_RESOURCE_TREE;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, WSUIPluginMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/action/WebServiceDeployAction.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/action/WebServiceDeployAction.java
index 87b1095..a1db9cb 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/action/WebServiceDeployAction.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/action/WebServiceDeployAction.java
@@ -16,8 +16,6 @@
 import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.IModule;
 
 public class WebServiceDeployAction extends WindowActionDelegate {
 public void run(org.eclipse.jface.action.IAction action) {
@@ -81,15 +79,5 @@
   }
 
   catch (Exception e) {}
-}
- 
-
-	private IModule getModule(IProject project) {
-	
-		IModule[] modules = ServerUtil.getModules(project);
-		if (modules!=null && modules.length!=0) {
-			return modules[0];
-		}
-		return null;	
- 	}
+} 
 }
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/DialogResourceBrowser.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/DialogResourceBrowser.java
index 06fce82..6d25ca1 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/DialogResourceBrowser.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/DialogResourceBrowser.java
@@ -23,7 +23,7 @@
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jst.ws.internal.ui.dialog.DialogUtils;
+import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages;
 import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -37,13 +37,11 @@
 
 /**
 * This class provides a dialog for browsing workspace resources.
-* See also {@link DialogUtils#browseResources}.
 */
 public class DialogResourceBrowser extends Dialog
 {
   private final String INFOPOP_RESOURCE_TREE = WebServiceUIPlugin.ID + ".DRES0001";
 
-  private Shell shell_;
   private IResource root_;
   private IFilter[] filters_;
   private boolean multipleSelectionEnabled_;
@@ -70,7 +68,6 @@
   public DialogResourceBrowser(Shell shell, IResource root, IFilter[] filters)
   {
     super(shell);
-    shell_ = shell;
 
     IResource moduleRoot = root;
     if (root instanceof IProject)
@@ -159,7 +156,7 @@
   protected void configureShell(Shell shell)
   {
     super.configureShell(shell);
-    shell.setText(getMessage("%DIALOG_TITLE_RESOURCE_BROWSER"));
+    shell.setText(WSUIPluginMessages.DIALOG_TITLE_RESOURCE_BROWSER);
   }
 
   /** 
@@ -189,7 +186,7 @@
     gd.grabExcessVerticalSpace = true;
     gd.grabExcessHorizontalSpace = true;
     resourceTree_.setLayoutData(gd);
-    resourceTree_.setToolTipText(getMessage("%TOOLTIP_RESOURCE_TREE"));
+    resourceTree_.setToolTipText(WSUIPluginMessages.TOOLTIP_RESOURCE_TREE);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(resourceTree_, INFOPOP_RESOURCE_TREE);
 
     fileViewer_ = new TreeViewer(resourceTree_);
@@ -218,8 +215,4 @@
     return composite;
   }
 
-  private String getMessage(String msgId)
-  {
-    return WebServiceUIPlugin.getMessage(msgId);
-  }
 }
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/UIUtils.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/UIUtils.java
index 5115a85..1497e85 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/UIUtils.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/common/UIUtils.java
@@ -22,17 +22,14 @@
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 
 public class UIUtils 
 {
   String       infoPopid_;
-  MessageUtils msgUtils_;
   
-  public UIUtils( MessageUtils msgUtils, String infoPopid )
+  public UIUtils( String infoPopid )
   {
-    msgUtils_  = msgUtils;
     infoPopid_ = infoPopid;
   }
   
@@ -56,8 +53,8 @@
     Button button = new Button( parent, kind );
     
     tooltip = tooltip == null ? labelName : tooltip;
-    button.setText( msgUtils_.getMessage( labelName ) );
-    button.setToolTipText( msgUtils_.getMessage( tooltip ) );
+    button.setText( labelName );
+    button.setToolTipText( tooltip );
     
     if( infopop != null ) PlatformUI.getWorkbench().getHelpSystem().setHelp( button, infoPopid_ + "." + infopop );
     
@@ -71,15 +68,15 @@
     if( labelName != null )
     {
       Label label = new Label( parent, SWT.WRAP);
-      label.setText( msgUtils_.getMessage( labelName ) );
-      label.setToolTipText( msgUtils_.getMessage( tooltip ) );
+      label.setText( labelName );
+      label.setToolTipText( tooltip );
     }
     
     Combo combo = new Combo( parent, style );
     GridData griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
      
     combo.setLayoutData( griddata );
-    combo.setToolTipText( msgUtils_.getMessage(tooltip));
+    combo.setToolTipText( tooltip );
     
     if( infopop != null ) PlatformUI.getWorkbench().getHelpSystem().setHelp( combo, infoPopid_ + "." + infopop );
     
@@ -93,15 +90,15 @@
     if( labelName != null )
     {
       Label label = new Label( parent, SWT.WRAP);
-      label.setText( msgUtils_.getMessage( labelName ) );
-      label.setToolTipText( msgUtils_.getMessage( tooltip ) );
+      label.setText(  labelName  );
+      label.setToolTipText(  tooltip );
     }
     
     Text text = new Text( parent, style );
     GridData griddata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
     
     text.setLayoutData( griddata );
-    text.setToolTipText( msgUtils_.getMessage(tooltip));
+    text.setToolTipText( tooltip);
     
     if( infopop != null ) PlatformUI.getWorkbench().getHelpSystem().setHelp( text, infoPopid_ + "." + infopop );
     
@@ -148,9 +145,9 @@
         
     tooltip = tooltip == null ? groupName : tooltip;
     newGroup.setLayout( gridlayout );
-    newGroup.setText( msgUtils_.getMessage( groupName ) );
+    newGroup.setText(  groupName  );
     newGroup.setLayoutData( griddata );
-    newGroup.setToolTipText( msgUtils_.getMessage( tooltip ));
+    newGroup.setToolTipText(  tooltip );
     
     if( infopop != null ) PlatformUI.getWorkbench().getHelpSystem().setHelp(newGroup, infoPopid_ + "." + infopop);
     
@@ -165,7 +162,7 @@
     Tree tree = new Tree( parent, style );
      
     tree.setLayoutData( createFillAll() );
-    tree.setToolTipText( msgUtils_.getMessage(tooltip));
+    tree.setToolTipText( tooltip);
     
     if( infopop != null ) PlatformUI.getWorkbench().getHelpSystem().setHelp( tree, infoPopid_ + "." + infopop );
     
@@ -181,7 +178,7 @@
     Table table = new Table( parent, style );
      
     //table.setLayoutData( createFillAll() );
-    table.setToolTipText( msgUtils_.getMessage(tooltip));
+    table.setToolTipText( tooltip);
     
     if( infopop != null ) PlatformUI.getWorkbench().getHelpSystem().setHelp( table, infoPopid_ + "." + infopop );
     
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/DialogUtils.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/DialogUtils.java
index 84eaf01..1472a56 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/DialogUtils.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/DialogUtils.java
@@ -31,7 +31,7 @@
 import org.eclipse.jface.wizard.IWizardContainer;
 import org.eclipse.jst.ws.internal.common.Filter;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
-import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin;
+import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.dialogs.ContainerSelectionDialog;
 import org.eclipse.ui.dialogs.SelectionDialog;
@@ -42,8 +42,7 @@
 */
 public final class DialogUtils
 {
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
+
   /**
   * Raises a dialog for browsing containers.
   * @param parentShell The parent shell, optionally null.
@@ -174,8 +173,8 @@
     try
 	{
       SelectionDialog dialog = JavaUI.createTypeDialog(parentShell, ctxt, scope, IJavaElementSearchConstants.CONSIDER_CLASSES, false);
-      dialog.setTitle(WebServiceUIPlugin.getMessage("%DIALOG_TITLE_CLASS_BROWSE"));
-      dialog.setMessage(WebServiceUIPlugin.getMessage("%DIALOG_TITLE_CLASS_BROWSE"));    
+      dialog.setTitle(WSUIPluginMessages.DIALOG_TITLE_CLASS_BROWSE);
+      dialog.setMessage(WSUIPluginMessages.DIALOG_TITLE_CLASS_BROWSE);    
       dialog.open();
 
       //Getting the result and returning it
@@ -221,8 +220,8 @@
     try
 	{
     	SelectionDialog dialog = JavaUI.createTypeDialog(parentShell, container, scope, IJavaElementSearchConstants.CONSIDER_TYPES, false);
-    	dialog.setTitle(WebServiceUIPlugin.getMessage("%DIALOG_TITLE_INTERFACE_BROWSE"));
-    	dialog.setMessage(WebServiceUIPlugin.getMessage("%DIALOG_TITLE_INTERFACE_BROWSE"));    
+    	dialog.setTitle(WSUIPluginMessages.DIALOG_TITLE_INTERFACE_BROWSE);
+    	dialog.setMessage(WSUIPluginMessages.DIALOG_TITLE_INTERFACE_BROWSE);    
     	dialog.open();
 
     	//Getting the result and returning it
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/ResourceSelectionDialog.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/ResourceSelectionDialog.java
index a7478be..1d88d39 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/ResourceSelectionDialog.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/dialog/ResourceSelectionDialog.java
@@ -27,6 +27,7 @@
 import org.eclipse.jst.ws.internal.common.AnyFilter;
 import org.eclipse.jst.ws.internal.common.Filter;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
+import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages;
 import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -50,28 +51,22 @@
 */
 public class ResourceSelectionDialog extends Dialog implements Listener
 {
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
 
-  //
   // Dialog controls.
   //
   private Label filterLabel_;
   private Combo filterCombo_;
   /*CONTEXT_ID DRES0001 for the Resource Type combo box of the Resource Selection Dialog*/
   private static final String INFOPOP_DRES_COMBO_RESOURCE_TYPE = WebServiceUIPlugin.ID + ".DRES0001";
-  private static final String TOOLTIP_DRES_COMBO_RESOURCE_TYPE = "%TOOLTIP_DRES_COMBO_RESOURCE_TYPE";
-  //
+
   private Tree resourceTree_;
   private TreeViewer fileViewer_;
   /*CONTEXT_ID DRES0002 for the Resource tree of the Resource Selection Dialog*/
   private static final String INFOPOP_DRES_TREE_RESOURCE = WebServiceUIPlugin.ID + ".DRES0002";
-  private static final String TOOLTIP_DRES_TREE_RESOURCE = "%TOOLTIP_DRES_TREE_RESOURCE";
 
   //
   // Essential goodies.
   //
-  private Shell shell_;
   private IResource root_;
   private IResource initialSelection_;
   private Filter[] filters_;
@@ -141,7 +136,6 @@
   public ResourceSelectionDialog ( Shell parent, IResource root, IResource initialSelection, Filter[] filters )
   {
     super(parent);
-    shell_ = parent;
     root_ = root == null ? ResourceUtils.getWorkspaceRoot() : root;
     initialSelection_ = initialSelection;
     filters_ = (filters == null || filters.length == 0) ? new Filter[] {new AnyFilter()} : filters;
@@ -216,7 +210,7 @@
   protected void configureShell ( Shell shell )
   {
     super.configureShell(shell);
-    shell.setText(WebServiceUIPlugin.getMessage("%DIALOG_TITLE_RESOURCE_BROWSE"));
+    shell.setText(WSUIPluginMessages.DIALOG_TITLE_RESOURCE_BROWSE);
   }
 
   /** 
@@ -249,14 +243,14 @@
       f.setLayoutData(gd);
 
       filterLabel_ = new Label(f,SWT.WRAP);
-      filterLabel_.setText(WebServiceUIPlugin.getMessage("%LABEL_RESOURCE_FILTER"));
-      filterLabel_.setToolTipText(WebServiceUIPlugin.getMessage(TOOLTIP_DRES_COMBO_RESOURCE_TYPE));
+      filterLabel_.setText(WSUIPluginMessages.LABEL_RESOURCE_FILTER);
+      filterLabel_.setToolTipText(WSUIPluginMessages.TOOLTIP_DRES_COMBO_RESOURCE_TYPE);
 
       filterCombo_ = new Combo(f,SWT.DROP_DOWN | SWT.READ_ONLY);
       gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
       filterCombo_.setLayoutData(gd);
       filterCombo_.addListener(SWT.Selection,this);
-      filterCombo_.setToolTipText(WebServiceUIPlugin.getMessage(TOOLTIP_DRES_COMBO_RESOURCE_TYPE));
+      filterCombo_.setToolTipText(WSUIPluginMessages.TOOLTIP_DRES_COMBO_RESOURCE_TYPE);
       PlatformUI.getWorkbench().getHelpSystem().setHelp(filterCombo_,INFOPOP_DRES_COMBO_RESOURCE_TYPE);
     }
 
@@ -273,7 +267,7 @@
     gd.grabExcessHorizontalSpace = true;
     resourceTree_.setLayoutData(gd);
 //  resourceTree_.addListener(SWT.Selection,this);
-    resourceTree_.setToolTipText(WebServiceUIPlugin.getMessage(TOOLTIP_DRES_TREE_RESOURCE));
+    resourceTree_.setToolTipText(WSUIPluginMessages.TOOLTIP_DRES_TREE_RESOURCE);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(resourceTree_,INFOPOP_DRES_TREE_RESOURCE);
 
     fileViewer_ = new TreeViewer(resourceTree_);
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/plugin/WebServiceUIPlugin.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/plugin/WebServiceUIPlugin.java
index 7462e17..722b311 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/plugin/WebServiceUIPlugin.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/plugin/WebServiceUIPlugin.java
@@ -17,7 +17,7 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jst.ws.internal.ui.preferences.PersistentActionDialogsContext;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
 
 
 /**
@@ -28,9 +28,6 @@
 */
 public class WebServiceUIPlugin extends AbstractUIPlugin
 {
-	// Copyright
-	public static final String copyright =
-		"(c) Copyright IBM Corporation 2000, 2002.";
 
   /**
   * The identifier of the descriptor of this plugin in plugin.xml.
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ActionDialogsPreferencePage.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ActionDialogsPreferencePage.java
index fa7bc4a..8e25b51 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ActionDialogsPreferencePage.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ActionDialogsPreferencePage.java
@@ -28,6 +28,7 @@
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
+import org.eclipse.wst.command.internal.env.ui.EnvironmentUIMessages;
 
 ;
 
@@ -62,19 +63,19 @@
     GridLayout layout = new GridLayout();
     layout.numColumns = 2;
     parent.setLayout( layout );
-    parent.setToolTipText(getMessage("%TOOLTIP_PPAD_PAGE"));
+    parent.setToolTipText(EnvironmentUIMessages.TOOLTIP_PPAD_PAGE);
     helpSystem.setHelp(parent,INFOPOP_PPAD_PAGE);
 	
     showAll = new Button(parent, SWT.NONE);
-    showAll.setText(getMessage("%BUTTON_SHOW_ALL_DIALOGS"));
+    showAll.setText(EnvironmentUIMessages.BUTTON_SHOW_ALL_DIALOGS);
     showAll.addListener(SWT.Selection, this);
-    showAll.setToolTipText(getMessage("%TOOLTIP_PPAD_BUTTON_SHOW_ALL"));
+    showAll.setToolTipText(EnvironmentUIMessages.TOOLTIP_PPAD_BUTTON_SHOW_ALL);
     helpSystem.setHelp(showAll,INFOPOP_PPAD_BUTTON_SHOW_ALL);
    
     hideAll = new Button(parent, SWT.NONE);
-    hideAll.setText(getMessage("%BUTTON_HIDE_ALL_DIALOGS"));
+    hideAll.setText(EnvironmentUIMessages.BUTTON_HIDE_ALL_DIALOGS);
     hideAll.addListener ( SWT.Selection, this);
-    hideAll.setToolTipText(getMessage("%TOOLTIP_PPAD_BUTTON_HIDE_ALL"));
+    hideAll.setToolTipText(EnvironmentUIMessages.TOOLTIP_PPAD_BUTTON_HIDE_ALL);
     helpSystem.setHelp(hideAll,INFOPOP_PPAD_BUTTON_HIDE_ALL);
 
     initializeValues();
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ProjectTopologyPreferencePage.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ProjectTopologyPreferencePage.java
deleted file mode 100644
index 39ee460..0000000
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ProjectTopologyPreferencePage.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.ui.preferences;
-
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.ws.internal.context.ProjectTopologyContext;
-import org.eclipse.jst.ws.internal.context.ProjectTopologyDefaults;
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-
-
-public class ProjectTopologyPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, SelectionListener
-{
-  /*CONTEXT_ID PPSD0001 for the Project Topology Preference Page*/
-  private String INFOPOP_PTPP_PAGE = WebServiceUIPlugin.ID + ".PPTP0001";
-
-  private TableViewer clientTypeViewer_;
-  private Button moveUp_;
-  private Button moveDown_;
-  private Vector clientTypes_;
-  /* CONTEXT_ID PTPP0002 for the client type table viewer on the Project Topology Preference Page */
-  private final String INFOPOP_PTPP_CLIENT_TYPE = WebServiceUIPlugin.ID + ".PTPP0002";
-  /* CONTEXT_ID PTPP0003 for the move up button on the Project Topology Preference Page */
-  private final String INFOPOP_PTPP_MOVE_UP = WebServiceUIPlugin.ID + ".PTPP0003";
-  /* CONTEXT_ID PTPP0004 for the move down button on the Project Topology Preference Page */
-  private final String INFOPOP_PTPP_MOVE_DOWN = WebServiceUIPlugin.ID + ".PTPP0004";
-
-  private Button twoEAR_;
-  /* CONTEXT_ID PTPP0005 for the enable 2 EARs checkbox on the Project Topology Preference Page */
-  private final String INFOPOP_PTPP_TWO_EAR_CHECKBOX = WebServiceUIPlugin.ID + ".PTPP0005";
-
- /**
-   * Creates preference page controls on demand.
-   *   @param parent  the parent for the preference page
-   */
-  protected Control createContents(Composite superparent)
-  {
-    Composite   parent = new Composite( superparent, SWT.NONE );	
-    GridLayout layout = new GridLayout();
-    layout.numColumns = 1;
-    parent.setLayout( layout );
-    parent.setToolTipText(getMessage("%TOOLTIP_PTPP_PAGE"));
-    parent.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,INFOPOP_PTPP_PAGE);    
-
-    Text clientTypeLabel = new Text(parent, SWT.READ_ONLY | SWT.WRAP);
-    clientTypeLabel.setText(getMessage("%LABEL_CLIENT_TYPE_NAME"));
-    clientTypeLabel.setLayoutData( new GridData( GridData.FILL_HORIZONTAL));
-
-    Composite clientTypeComposite = new Composite(parent, SWT.NONE);
-    GridLayout gl = new GridLayout();
-    gl.numColumns = 2;
-    gl.marginHeight = 0;
-    gl.marginWidth = 0;
-    clientTypeComposite.setLayout(gl);
-    clientTypeComposite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ));
-
-    Table table= new Table(clientTypeComposite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-    GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-    gd.widthHint = 256;
-    table.setLayoutData(gd);
-    table.setToolTipText(getMessage("%TOOLTIP_CLIENT_TYPE_TABLE_VIEWER"));
-
-    clientTypes_ = new Vector();
-    clientTypeViewer_ = new TableViewer(table);
-    clientTypeViewer_.setContentProvider(new ClientTypeContentProvider());
-    clientTypeViewer_.setLabelProvider(new ClientTypeLabelProvider());
-    clientTypeViewer_.setInput(clientTypes_);
-
-    TableLayout tableLayout = new TableLayout();
-    TableColumn tableColumn = new TableColumn(table, SWT.NONE);
-    tableColumn.setText(getMessage("%LABEL_CLIENT_TYPE"));
-    ColumnWeightData columnData = new ColumnWeightData(256, 256, false);
-    tableLayout.addColumnData(columnData);
-    table.setLayout(tableLayout);
-
-    Composite c = new Composite(clientTypeComposite, SWT.NONE);
-    gl = new GridLayout();
-    gl.numColumns = 1;
-    gl.marginHeight = 10;
-    gl.marginWidth = 0;
-    c.setLayout(gl);
-
-    moveUp_ = new Button(c, SWT.PUSH);
-    moveUp_.setText(getMessage("%LABEL_MOVE_UP"));
-    moveUp_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-    moveUp_.addSelectionListener(this);
-    moveUp_.setToolTipText(getMessage("%TOOLTIP_MOVE_UP"));
-
-    moveDown_ = new Button(c, SWT.PUSH);
-    moveDown_.setText(getMessage("%LABEL_MOVE_DOWN"));
-    moveDown_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-    moveDown_.addSelectionListener(this);
-    moveDown_.setToolTipText(getMessage("%TOOLTIP_MOVE_DOWN"));
-
-    twoEAR_ = new Button(parent, SWT.CHECK | SWT.WRAP );
-    twoEAR_.setText(getMessage("%LABEL_ENABLE_TWO_EARS"));
-    twoEAR_.setToolTipText(getMessage("%TOOLTIP_ENABLE_TWO_EARS"));
-
-    initializeValues();
-    org.eclipse.jface.dialogs.Dialog.applyDialogFont(superparent);    
-
-    return parent;
-  }
-  
-  private String getMessage(String key) 
-  {
-      	return WebServiceUIPlugin.getMessage(key);
-  }
-
-  /**
-   * Does anything necessary because the default button has been pressed.
-   */
-  protected void performDefaults()
-  {
-    super.performDefaults();
-    initializeDefaults();
-  }
-
-  /**
-   * Do anything necessary because the OK button has been pressed.
-   *  @return whether it is okay to close the preference page
-   */
-  public boolean performOk()
-  {
-    storeValues();
-    return true;
-  }
-
-  protected void performApply()
-  {
-    performOk();
-  }
-
-  /**
-   * @see IWorkbenchPreferencePage
-   */
-  public void init(IWorkbench workbench)  { }
-
-  /**
-   * Initializes states of the controls to their burned-in defaults.
-   */
-  private void initializeDefaults()
-  {
-    clientTypes_.clear();
-    String[] types = ProjectTopologyDefaults.getClientTypes();
-    for (int i = 0; i < types.length; i++)
-      clientTypes_.add(types[i]);
-    clientTypeViewer_.refresh();
-    twoEAR_.setSelection(true);
-  }
-
-  /**
-   * Initializes states of the controls from the preference helper.
-   */
-  private void initializeValues()
-  {
-    ProjectTopologyContext context = WebServicePlugin.getInstance().getProjectTopologyContext();
-    String[] types = context.getClientTypes();
-    for (int i = 0; i < types.length; i++)
-      clientTypes_.add(types[i]);
-    // check whether we missed any types from the default list
-    boolean missed = false;
-    types = ProjectTopologyDefaults.getClientTypes();
-    for (int i = 0; i < types.length; i++)
-    {
-      if (clientTypes_.indexOf(types[i]) == -1)
-      {
-        clientTypes_.add(types[i]);
-        missed = true;
-      }
-    }
-    if (missed)
-    {
-      types = new String[clientTypes_.size()];
-      clientTypes_.copyInto(types);
-      context.setClientTypes(types);
-    }
-    // refresh viewer
-    clientTypeViewer_.refresh();
-    twoEAR_.setSelection(context.isUseTwoEARs());
-   }
-
-  /**
-   * Stores the values of the controls back to the preference helper.
-   */
-  private void storeValues()
-  {
-    ProjectTopologyContext context = WebServicePlugin.getInstance().getProjectTopologyContext();
-    String[] types = new String[clientTypes_.size()];
-    clientTypes_.copyInto(types);
-    context.setClientTypes(types);
-    context.setUseTwoEARs(twoEAR_.getSelection());
-  }
-
-  public void widgetDefaultSelected(SelectionEvent e)
-  {
-  }
-
-  public void widgetSelected(SelectionEvent e)
-  {
-    int index = clientTypeViewer_.getTable().getSelectionIndex();
-    if (index != -1)
-    {
-      if (e.widget == moveUp_ && index > 0)
-      {
-        Object object = clientTypes_.remove(index);
-        clientTypes_.insertElementAt(object, index-1);
-        clientTypeViewer_.refresh();
-      }
-      else if (e.widget == moveDown_ && index < clientTypes_.size()-1)
-      {
-        Object object = clientTypes_.remove(index);
-        clientTypes_.insertElementAt(object, index+1);
-        clientTypeViewer_.refresh();
-      }
-    }
-  }
-
-  private class ClientTypeContentProvider implements IStructuredContentProvider
-  {
-    /**
-     * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-     */
-    public Object[] getElements(Object value) 
-    {
-      return ((Vector)value).toArray(new String[0]);
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-     */
-    public void dispose() 
-    {
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-     */
-    public void inputChanged(Viewer arg0, Object arg1, Object arg2) 
-    {
-    }
-  }
-
-  private class ClientTypeLabelProvider extends LabelProvider
-  {
-    private IConfigurationElement[] configElements_;
-
-    public ClientTypeLabelProvider()
-    {
-      IExtensionRegistry reg = Platform.getExtensionRegistry();
-      configElements_ = reg.getConfigurationElementsFor("org.eclipse.jst.ws.consumption.ui", "clientProjectType");
-    }
-
-    private IConfigurationElement getElementByAttribute(String name, String value)
-    {
-      for (int i = 0; i < configElements_.length; i++)
-        if (configElements_[i].getAttribute(name).equals(value))
-          return configElements_[i];
-      return null;
-    }
-
-    /**
-    * @see org.eclipse.jface.viewers.ILabelProvider#getImage(Object)
-    */
-    public Image getImage(Object arg0) 
-    { 
-      return null;
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.ILabelProvider#getText(Object)
-     */
-    public String getText(Object value) 
-    {
-      return getElementByAttribute("id", value.toString()).getAttribute("label"); 
-    }
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ResourceManagmentPreferencePage.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ResourceManagmentPreferencePage.java
index deb26ba..7c1f7c6 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ResourceManagmentPreferencePage.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ResourceManagmentPreferencePage.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages;
 import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridLayout;
@@ -22,8 +23,8 @@
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceDefaults;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.ResourceDefaults;
 
 
 
@@ -56,19 +57,19 @@
     GridLayout layout = new GridLayout();
     layout.numColumns = 1;
     parent.setLayout( layout );
-    parent.setToolTipText(getMessage("%TOOLTIP_PPRM_PAGE"));
+    parent.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_PAGE);
     helpSystem.setHelp(parent, INFOPOP_PPRM_PAGE);
 
-    overWriteFiles = createCheckBox(parent, WebServiceUIPlugin.getMessage("%BUTTON_OVERWRITE_FILES" ));
-    overWriteFiles.setToolTipText(getMessage("%TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES"));
+    overWriteFiles = createCheckBox(parent, WSUIPluginMessages.BUTTON_OVERWRITE_FILES);
+    overWriteFiles.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES);
     helpSystem.setHelp(overWriteFiles, INFOPOP_PPRM_CHECKBOX_OVERWRITE_FILES);
 
-    createFolders  = createCheckBox(parent, WebServiceUIPlugin.getMessage("%BUTTON_CREATE_FOLDERS" ));
-    createFolders.setToolTipText(getMessage("%TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS"));
+    createFolders  = createCheckBox(parent, WSUIPluginMessages.BUTTON_CREATE_FOLDERS);
+    createFolders.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS);
     helpSystem.setHelp(createFolders, INFOPOP_PPRM_CHECKBOX_CREATE_FOLDERS);
 
-    checkoutFiles = createCheckBox(parent, WebServiceUIPlugin.getMessage("%BUTTON_CHECKOUT_FILES" ));    
-    checkoutFiles.setToolTipText(getMessage("%TOOLTIP_PPRM_CHECKBOX_CHECK_OUT"));
+    checkoutFiles = createCheckBox(parent, WSUIPluginMessages.BUTTON_CHECKOUT_FILES);    
+    checkoutFiles.setToolTipText(WSUIPluginMessages.TOOLTIP_PPRM_CHECKBOX_CHECK_OUT);
     helpSystem.setHelp(checkoutFiles, INFOPOP_PPRM_CHECKBOX_CHECK_OUT);
 
     initializeValues();
@@ -77,11 +78,6 @@
     return parent;
   }
  
-  private String getMessage(String key) 
-  {
-  		return WebServiceUIPlugin.getMessage(key);
-  }
-
   private Button createCheckBox( Composite parent, String text )
   {
     Button button = new Button( parent, SWT.CHECK );
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ScenarioDefaultsPreferencePage.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ScenarioDefaultsPreferencePage.java
index dbcbb70..f7a8bf1 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ScenarioDefaultsPreferencePage.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/preferences/ScenarioDefaultsPreferencePage.java
@@ -12,7 +12,6 @@
 
 import java.util.Vector;
 
-import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
@@ -22,8 +21,8 @@
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jst.ws.internal.context.ScenarioContext;
 import org.eclipse.jst.ws.internal.context.ScenarioDefaults;
-import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.jst.ws.internal.ui.WSUIPluginMessages;
 import org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
@@ -32,10 +31,8 @@
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.Text;
@@ -60,15 +57,6 @@
   /*CONTEXT_ID PPSD0002 for the launch sample check box on the Scenario Defaults Preference Page*/
   private final String INFOPOP_PPSD_CHECKBOX_LAUNCH_SAMPLE = WebServiceUIPlugin.ID + ".PPSD0002";
   //
-  private Label sampleGenerationLabel_;
-  private Combo sampleGenerationTypes_;
-  /*CONTEXT_ID PPSD0004 for the sample JSP type combo box on the Scenario Defaults Preference Page*/
-  private final String INFOPOP_PPSD_COMBO_SAMPLE_GEN = WebServiceUIPlugin.ID + ".PPSD0004";
-
-  private Label wsexplorerTypesLabel_;
-  private Combo wsexplorerTypes_;
-  /*CONTEXT_ID PPSD0003 for the web explorer type combo box on the Scenario Defaults Preference Page*/
-  private final String INFOPOP_PPSD_COMBO_EXPLORER = WebServiceUIPlugin.ID + ".PPSD0003";
 
   /**
    * Creates preference page controls on demand.
@@ -81,17 +69,17 @@
     GridLayout layout = new GridLayout();
     layout.numColumns = 1;
     parent.setLayout( layout );
-    parent.setToolTipText(getMessage("%TOOLTIP_PPSD_PAGE"));
+    parent.setToolTipText(WSUIPluginMessages.TOOLTIP_PPSD_PAGE);
     parent.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
     PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,INFOPOP_PPSD_PAGE);    
 
-    launchSample = createCheckBox(parent, getMessage("%BUTTON_LAUNCH_SAMPLE"));
-    launchSample.setToolTipText(getMessage("%TOOLTIP_PPSD_CHECKBOX_LAUNCH_SAMPLE"));
+    launchSample = createCheckBox(parent, WSUIPluginMessages.BUTTON_LAUNCH_SAMPLE);
+    launchSample.setToolTipText(WSUIPluginMessages.TOOLTIP_PPSD_CHECKBOX_LAUNCH_SAMPLE);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(launchSample, INFOPOP_PPSD_CHECKBOX_LAUNCH_SAMPLE);
 
     
     Text testServiceTypeLabel = new Text(parent, SWT.READ_ONLY | SWT.WRAP);
-    testServiceTypeLabel.setText(getMessage("%LABEL_SAMPLE_TYPES"));
+    testServiceTypeLabel.setText(WSUIPluginMessages.LABEL_SAMPLE_TYPES);
     testServiceTypeLabel.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
 
     Composite webServiceTestTypeComposite = new Composite(parent, SWT.NONE);
@@ -106,7 +94,7 @@
     GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
     gd.widthHint = 256;
     table.setLayoutData(gd);
-    table.setToolTipText(getMessage("%TOOLTIP_CLIENT_TYPE_TABLE_VIEWER"));
+    table.setToolTipText(WSUIPluginMessages.TOOLTIP_CLIENT_TYPE_TABLE_VIEWER);
 
     webServiceTestTypes_ = new Vector();
     webServiceTestTypeViewer_ = new TableViewer(table);
@@ -116,7 +104,7 @@
 
     TableLayout tableLayout = new TableLayout();
     TableColumn tableColumn = new TableColumn(table, SWT.NONE);
-    tableColumn.setText(getMessage("%LABEL_CLIENT_TYPE_NAME"));
+    tableColumn.setText(WSUIPluginMessages.LABEL_CLIENT_TYPE_NAME);
     ColumnWeightData columnData = new ColumnWeightData(256, 256, false);
     tableLayout.addColumnData(columnData);
     table.setLayout(tableLayout);
@@ -129,16 +117,16 @@
     c.setLayout(gl);
 
     moveUp_ = new Button(c, SWT.PUSH);
-    moveUp_.setText(getMessage("%LABEL_MOVE_UP"));
+    moveUp_.setText(WSUIPluginMessages.LABEL_MOVE_UP);
     moveUp_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
     moveUp_.addSelectionListener(this);
-    moveUp_.setToolTipText(getMessage("%TOOLTIP_MOVE_UP"));
+    moveUp_.setToolTipText(WSUIPluginMessages.TOOLTIP_MOVE_UP);
 
     moveDown_ = new Button(c, SWT.PUSH);
-    moveDown_.setText(getMessage("%LABEL_MOVE_DOWN"));
+    moveDown_.setText(WSUIPluginMessages.LABEL_MOVE_DOWN);
     moveDown_.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
     moveDown_.addSelectionListener(this);
-    moveDown_.setToolTipText(getMessage("%TOOLTIP_MOVE_DOWN"));
+    moveDown_.setToolTipText(WSUIPluginMessages.TOOLTIP_MOVE_DOWN);
 
     initializeValues();
     org.eclipse.jface.dialogs.Dialog.applyDialogFont(superparent);    
@@ -146,11 +134,6 @@
     return parent;
   }
 
-  private String getMessage(String key) 
-  {
-      	return WebServiceUIPlugin.getMessage(key);
-  }
- 
   private Button createCheckBox( Composite parent, String text )
   {
     Button button = new Button( parent, SWT.CHECK );
@@ -306,12 +289,8 @@
 
   private class WebServiceTestTypeLabelProvider extends LabelProvider
   {
-    private IConfigurationElement[] configElements_;
-
     public WebServiceTestTypeLabelProvider()
     {
-      WebServiceTestRegistry wstr = WebServiceTestRegistry.getInstance();
-      configElements_ = wstr.getConfigElements();
     }
 
     /**
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/ui/plugin.properties b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/ui/plugin.properties
deleted file mode 100644
index 76e4e9a..0000000
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/ui/plugin.properties
+++ /dev/null
@@ -1,143 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-PLUGIN_NAME=Web Services Graphical User Interface
-PLUGIN_VENDOR=International Business Machines Corp.
-PLUGIN_DESC=\
-The Web services GUI plugin delivers the graphical \
-user interface to the Web services function of the \
-Web services plugin.
-
-PLUGIN_NEW_CATEGORY_NAME_WS=Web Services
-
-#
-#	Web Services Preferance Pages
-#
-# Categories
-PREFERENCE_CATEGORY_RESOURCE_MANAGEMENT=Resource Management
-PREFERENCE_CATEGORY_CODE_GENERATION=Code Generation
-PREFERENCE_CATEGORY_SCENARIO_DEFAULTS=Scenario Defaults
-PREFERENCE_CATEGORY_PROJECT_TOPOLOGY=Project Topology
-PREFERENCE_CATEGORY_DRIVER_JARS=JDBC drivers
-
-
-#
-#Scenario Defaults
-BUTTON_LAUNCH_SAMPLE=Launch the sample when generated
-LABEL_UDDI_CAT_DATA_COLUMN_DELIM=User defined UDDI Category data column delimiter:
-LABEL_UDDI_CAT_DATA_STRING_DELIM=User defined UDDI Category data string delimiter:
-MSG_ERROR_COLUMN_STRING_DELIMS_IDENTICAL=IWAB0481E UDDI column and string delimiters must not be identical.
-LABEL_MOVE_UP=Move up
-LABEL_MOVE_DOWN=Move down
-
-#
-# Preferences Tooltips
-#
-
-#Scenario Defaults
-TOOLTIP_PPSD_PAGE=Set the defaults for the Web service scenarios.
-TOOLTIP_PPSD_CHECKBOX_LAUNCH_SAMPLE=Launch the sample application after generation.
-TOOLTIP_PPSD_COMBO_SAMPLE_GEN=Select the type of sample JSP to be generated.
-TOOLTIP_PPSD_COMBO_EXPLORER=Select the type of the Web services explorer to be used.
-TOOLTIP_PPSD_UDDI_CAT_DATA_COLUMN_DELIM=column delimiter for user defined UDDI category data
-TOOLTIP_PPSD_UDDI_CAT_DATA_STRING_DELIM=string delimiter for user defined UDDI category data
-TOOLTIP_CLIENT_TYPE_TABLE_VIEWER=Preferred order of the list of client types
-TOOLTIP_MOVE_UP=Move the selected client type up the list
-TOOLTIP_MOVE_DOWN=Move the selected client type down the list
-
-#
-# Resource Managment
-TOOLTIP_PPRM_PAGE=Set preferences that control resources used/generated by the Web service.
-TOOLTIP_PPRM_CHECKBOX_OVERWRITE_FILES=Overwrite files without warning.
-TOOLTIP_PPRM_CHECKBOX_CREATE_FOLDERS=Create folders when necessary.
-TOOLTIP_PPRM_CHECKBOX_CHECK_OUT=Check out files without warning.
-BUTTON_CREATE_FOLDERS=Create folders when necessary
-BUTTON_OVERWRITE_FILES=Overwrite files without warning
-BUTTON_CHECKOUT_FILES=Check out files without warning
-
-#
-# General messages.
-#
-ISTATUS_WITHOUT_EXCEPTION={0}
-ISTATUS_WITH_EXCEPTION={0}\nException: {1}
-MSG_INFO_SAVED_STATUS=IWAB0297I Press the Details button to see informational messages.
-
-#
-# TypeSelectionDialog
-#
-DIALOG_TITLE_CLASS_BROWSE=Browse Classes
-DIALOG_TITLE_INTERFACE_BROWSE=Browse Interfaces
-
-#
-# Common wizard strings.
-#
-LABEL_WSEXPLORER_TYPES=Web Services Explorer
-LABEL_SAMPLE_TYPES=Java proxy sample
-
-#
-# ResourceSelectionDialog
-#
-DIALOG_TITLE_RESOURCE_BROWSE=Browse Files
-LABEL_RESOURCE_FILTER=Filter:
-
-#
-# Tooltips for dialog.ResourceSelectionDialog
-# DRES=Dialog/RESources
-#
-TOOLTIP_DRES_COMBO_RESOURCE_TYPE=Type of resources to browse.
-TOOLTIP_DRES_TREE_RESOURCE=Resources available for selection.
-
-
-
-#
-# HTTP Basic Authentication
-#
-PREFERENCE_CATEGORY_HTTP_BASIC_AUTH=HTTP Basic Auth
-CHECKBOX_PREFERENCE_ENABLE_HTTP_BASIC_AUTH=Enable HTTP basic authentication
-LABEL_PREFERENCE_HTTP_BASIC_AUTH_USERNAME=HTTP basic auth user name:
-LABEL_PREFERENCE_HTTP_BASIC_AUTH_PASSWORD=HTTP basic auth password:
-
-TOOLTIP_ENABLE_HTTP_BASIC_AUTH=Specify HTTP basic authentication setting for Web services toolings.
-TOOLTIP_HTTP_BASIC_AUTH_USERNAME=User name for HTTP basic authentication.
-TOOLTIP_HTTP_BASIC_AUTH_PASSWORD=Password for HTTP basic authentication.
-
-
-#
-# Messages for project topology preference page
-#
-TOOLTIP_PTPP_PAGE=Preference that control the project topology of your Web service and client scenarios.
-TOOLTIP_ENABLE_TWO_EARS=Enable this option if you want to generate your Web service and Web service client in different EAR projects.
-
-LABEL_ENABLE_TWO_EARS=Generate Web service and Web service client in different EAR projects
-LABEL_CLIENT_TYPE_NAME=Client type:
-
-
-#
-#	ActionDialogs Page
-#
-PREFERENCE_CATEGORY_DIALOGS=Dialogs
-
-#
-# Resource Browser
-#
-DIALOG_TITLE_RESOURCE_BROWSER=Resource browser
-TOOLTIP_RESOURCE_TREE=Choose a resource.
-
-
-
-
-
-
-
-
diff --git a/bundles/org.eclipse.jst.ws/.cvsignore b/bundles/org.eclipse.jst.ws/.cvsignore
index b4e57fb..9854114 100644
--- a/bundles/org.eclipse.jst.ws/.cvsignore
+++ b/bundles/org.eclipse.jst.ws/.cvsignore
@@ -2,3 +2,5 @@
 build.xml
 temp.folder
 ws.jar
+@dot
+src.zip
diff --git a/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
index 9886129..53b53d6 100644
--- a/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.jst.ws.internal.plugin.WebServicePlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.ws,
+Export-Package: org.eclipse.jst.ws.internal,
  org.eclipse.jst.ws.internal.command,
  org.eclipse.jst.ws.internal.common,
  org.eclipse.jst.ws.internal.context,
@@ -43,5 +43,8 @@
  org.eclipse.wst.common.frameworks,
  org.eclipse.wst.common.emf,
  org.eclipse.emf.ecore.xmi,
- org.eclipse.jem.util
+ org.eclipse.jem.util,
+ org.eclipse.jst.common.frameworks,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.common.project.facet.core
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/WSPlugin.properties b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/WSPlugin.properties
new file mode 100644
index 0000000..a159e14
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/WSPlugin.properties
@@ -0,0 +1,19 @@
+###############################################################################
+# Copyright (c) 2004 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
+###############################################################################
+
+#
+# Messages in plugin.xml.
+#
+
+MSG_ERROR_SERVER=IWAB0213E Error in starting server.
+
+ANY_FILTER_NAME=All files
+ANY_FILTER_DESC=This is a kind of Filter that accepts all objects.
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/WSPluginMessages.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/WSPluginMessages.java
new file mode 100644
index 0000000..018b749
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/WSPluginMessages.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class WSPluginMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.jst.ws.internal.WSPlugin";//$NON-NLS-1$
+
+	private WSPluginMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_SERVER;
+	public static String ANY_FILTER_NAME;
+	public static String ANY_FILTER_DESC;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, WSPluginMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/NullStatusMonitor.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/NullStatusMonitor.java
index fb2cbc2..c0454d1 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/NullStatusMonitor.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/NullStatusMonitor.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.command;
 
 import java.util.Vector;
-
 import org.eclipse.core.runtime.IStatus;
 
 /**
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/StatusMonitor.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/StatusMonitor.java
index cfe91de..de0758f 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/StatusMonitor.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/command/StatusMonitor.java
@@ -12,7 +12,6 @@
 package org.eclipse.jst.ws.internal.command;
 
 import java.util.Vector;
-
 import org.eclipse.core.runtime.IStatus;
 
 /**
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/AnyFilter.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/AnyFilter.java
index ba00a10..c88ba88 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/AnyFilter.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/AnyFilter.java
@@ -14,7 +14,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-
+import org.eclipse.jst.ws.internal.WSPluginMessages;
 
 /**
 * This is a kind of {@link Filter} that accepts all objects,
@@ -23,9 +23,6 @@
 public class AnyFilter implements Filter
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
   /**
   * Constructs a new <code>AnyFilter</code>.
   */
@@ -39,7 +36,7 @@
   */
   public String getName ()
   {
-    return WebServicePlugin.getMessage("%ANY_FILTER_NAME");
+    return WSPluginMessages.ANY_FILTER_NAME;
   }
 
   /**
@@ -48,7 +45,7 @@
   */
   public String getDescription ()
   {
-    return WebServicePlugin.getMessage("%ANY_FILTER_DESC");
+    return WSPluginMessages.ANY_FILTER_DESC;
   }
 
   /**
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/EnvironmentUtils.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/EnvironmentUtils.java
deleted file mode 100644
index 977a585..0000000
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/EnvironmentUtils.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.jst.ws.internal.common;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
-
-
-
-/**
- * 
- */
-public final class EnvironmentUtils
-{
-  /**
-   * @param env
-   * @return IProgressMonitor
-   */
-  public static IProgressMonitor getIProgressMonitor(Environment env)
-  {
-  	 ProgressMonitor monitor = env.getProgressMonitor();
-     	 IProgressMonitor eclipseMonitor = null;
-     	 if (monitor instanceof EclipseProgressMonitor)
-     	 {
-     	 	eclipseMonitor = ((EclipseProgressMonitor)monitor).getMonitor();
-     	 }
-     	 return eclipseMonitor;
-  }
-  
-  
-   
-  /**
-   * 
-   * @param env This should be an EclipseEnvironment.
-   * @return Returns a ResourceContext.
-   */ 
-  public static ResourceContext getResourceContext( Environment env )
-  {
-    ResourceContext context = null;
-    
-    if( env instanceof EclipseEnvironment )
-    {
-      context = ((EclipseEnvironment)env).getResourceContext();
-    }
-    else
-    {
-      context = new TransientResourceContext();
-    }
-    
-    return context;
-  }
-  
-  /**
-   * @param istatus
-   * @return Status
-   */
-
-  /**
-   * TODO: Delete. There's a replacement in the env plugin. 
-   */
-  public static Status convertIStatusToStatus(IStatus istatus)
-  {
-    Status status;
-    String message = istatus.getMessage();
-    IStatus[] children = istatus.getChildren();
-    int noOfChildren = children.length;
-    if (noOfChildren > 0)
-    {
-      Status[] statusChildren = new Status[noOfChildren];
-      for (int i=0;i<noOfChildren;i++)
-      {
-        statusChildren[i] = convertIStatusToStatus(children[i]);
-      }
-
-      status = new SimpleStatus("",message,statusChildren);
-    }
-    else
-    {
-      int severity = istatus.getSeverity();
-      int statusSeverity = Status.OK;
-      switch (severity)
-      {
-        case IStatus.ERROR:
-          statusSeverity = Status.ERROR;
-        	break;
-        case IStatus.WARNING:
-          statusSeverity = Status.WARNING;
-        	break;
-        case IStatus.INFO	:
-          statusSeverity = Status.INFO;
-        	break;      	
-        case IStatus.OK:
-          statusSeverity = Status.OK;
-        	break;      	
-        default:
-      }
-      Throwable e = istatus.getException();
-      status = new SimpleStatus("",message,statusSeverity,e);
-    }
-      
-    return status;
-  }
-
-  /**
-   * TODO: Delete. There's a replacement in the env plugin. 
-   */
-  public static IStatus convertStatusToIStatus(Status status, String pluginId)
-  {
-    IStatus istatus;
-    String message = status.getMessage();
-    Throwable throwable = status.getThrowable();
-    if (status.hasChildren())
-    {
-      Status[] children = status.getChildren();
-      int noOfChildren = children.length;
-      IStatus[] istatusChildren = new IStatus[noOfChildren];
-      for (int i=0;i<noOfChildren;i++)
-      {
-        istatusChildren[i] = convertStatusToIStatus(children[i], pluginId);
-      }
-
-      istatus = new MultiStatus(pluginId,0,istatusChildren,message,throwable);
-    }
-    else
-    {
-      int severity = status.getSeverity();
-      int istatusSeverity = IStatus.OK;
-      switch (severity)
-      {
-        case Status.ERROR:
-          istatusSeverity = IStatus.ERROR;
-        	break;
-        case Status.WARNING:
-          istatusSeverity = IStatus.WARNING;
-        	break;
-        case Status.INFO:
-          istatusSeverity = IStatus.INFO;
-        	break;      	
-        case Status.OK:
-          istatusSeverity = IStatus.OK;
-        	break;      	
-        default:
-      }      
-      istatus = new org.eclipse.core.runtime.Status(istatusSeverity,pluginId,0,message,throwable);
-    }
-      
-    return istatus;
-  }  
-  
-}
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/Filter.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/Filter.java
index 91f0bf8..7749cad 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/Filter.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/Filter.java
@@ -20,9 +20,6 @@
 public interface Filter
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
   /**
   * Returns the locale-specific name of this filter.
   * @return The locale-specific name of this filter.
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/IProjectToStringTransformer.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/IProjectToStringTransformer.java
index 2804c0d..5bec552 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/IProjectToStringTransformer.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/IProjectToStringTransformer.java
@@ -11,7 +11,7 @@
 package org.eclipse.jst.ws.internal.common;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 
 
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEActionAdapterFactory.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEActionAdapterFactory.java
index 1998dbe..63b9f9a 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEActionAdapterFactory.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEActionAdapterFactory.java
@@ -16,17 +16,15 @@
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
-
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
 
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-
 
 /**
  * @author gilberta
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEUtils.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEUtils.java
index bb032a0..d661b50 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEUtils.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/J2EEUtils.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2005 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
  *******************************************************************************/
@@ -14,20 +14,23 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 import java.util.Vector;
 
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jem.util.logger.proxy.Logger;
 import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider;
-import org.eclipse.jst.j2ee.applicationclient.componentcore.util.AppClientArtifactEdit;
-import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit;
 import org.eclipse.jst.j2ee.ejb.EJBJar;
 import org.eclipse.jst.j2ee.ejb.EJBResource;
 import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
@@ -36,20 +39,21 @@
 import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
+import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
 import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.ComponentHandle;
-import org.eclipse.wst.common.componentcore.resources.IFlexibleProject;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerUtil;
@@ -66,38 +70,40 @@
 	/**
 	 * Returns an IVirtualComponent
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static IVirtualComponent getVirtualComponent(IProject project, String componentName){
-		return ComponentCore.createComponent(project, componentName);
+	public static IVirtualComponent getVirtualComponent(IProject project){
+		return ComponentCore.createComponent(project);
 	}
 	
 	/**
 	 * 
 	 * @param projectName
-	 * @param componentName
 	 * @return
 	 */
-	public static IVirtualComponent getVirtualComponent(String projectName, String componentName){
+	public static IVirtualComponent getVirtualComponent(String projectName){
 		IProject project = null;
 		if (projectName!=null && projectName.length() > 0 )
       project = ProjectUtilities.getProject(projectName);
 		
-		return ComponentCore.createComponent(project, componentName);
+		return ComponentCore.createComponent(project);
 	}
 	
 
 	/**
 	 * Returns the J2EE version
 	 * @param p project
-	 * @param component name
 	 * @return int
 	 */
-	public static int getJ2EEVersion(IProject p, String componentName){
+	public static int getJ2EEVersion(IProject p){
+		
+		String ver = J2EEProjectUtilities.getJ2EEProjectVersion(p);
+		return J2EEVersionUtil.convertVersionStringToInt(ver);
+
+		/*
 		int j2eeVer = -1;
 		try {
-          IVirtualComponent vc = ComponentCore.createComponent(p, componentName);
+          IVirtualComponent vc = ComponentCore.createComponent(p);
           if (vc!=null){
             j2eeVer = getJ2EEVersion(vc);
           }
@@ -105,13 +111,19 @@
 		catch (Exception e){
 			//handle exception
 		}
-
-		return j2eeVer;	
+		return j2eeVer;
+		*/
 	}
 	
 	public static int getJ2EEVersion(IVirtualComponent ch){
       int j2eeVer = -1;
       //check type
+      if (ch!=null){
+    	  IProject project = ch.getProject();
+    	  j2eeVer = getJ2EEVersion(project);
+      }
+      
+      /*  Use new API provided by J2EE 
       if (ch!=null) {
         if (isWebComponent(ch))
           j2eeVer = getWebComponentJ2EEVersion(ch);
@@ -121,124 +133,42 @@
           j2eeVer = getEJBComponentJ2EEVersion(ch);
         else if (isEARComponent(ch))
           j2eeVer = getEARComponentJ2EEVersion(ch);
-        
       }
+      */
+      
       return j2eeVer; 
 	}
 	
-	/**
-	 * Return's the EAR module's J2EEVersion
-	 * @param wbc
-	 * @return
-	 */
-	private static int getEARComponentJ2EEVersion(IVirtualComponent ch){
-		EARArtifactEdit edit = null;
-		int nVersion = 12;
-		try {
-			edit = EARArtifactEdit.getEARArtifactEditForRead(ch);
-			if (edit != null) {
-				nVersion = edit.getJ2EEVersion();
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		} finally {
-			if (edit != null)
-				edit.dispose();
-		}
-		return nVersion;		
-	}
-	
+
 	/**
 	 * Returns the J2EEVersion
 	 * @param p IProject
-	 * @param compName
 	 * @return String
 	 */
-	public static String getJ2EEVersionAsString(IProject p, String compName){
-		int j2eeVer = getJ2EEVersion(p, compName);
+	public static String getJ2EEVersionAsString(IProject p){
+		
+		String ver = J2EEProjectUtilities.getJ2EEProjectVersion(p);
+		return  ver != null ? ver : null;
+		 
+		/*
+		int j2eeVer = getJ2EEVersion(p);
 		if (j2eeVer!=-1){
 			return J2EEVersionUtil.getJ2EETextVersion(j2eeVer);
 		}
 		else 
 			return null;
+		
+		*/
 	}
 	
-	/**
-	 * Returns the Web Module's J2EE version
-	 * @param wbModule
-	 * @return the J2EE version id
-	 */
-	private static int getWebComponentJ2EEVersion(IVirtualComponent ch) {
-		WebArtifactEdit webEdit = null;
-		int nVersion = 12;
-		try {
-          webEdit = WebArtifactEdit.getWebArtifactEditForRead(ch);
-          if (webEdit != null) {
-			nVersion = webEdit.getJ2EEVersion();
-          }
-		} catch (Exception e) {
-			e.printStackTrace();
-		} finally {
-			if (webEdit != null)
-				webEdit.dispose();
-		}
-		return nVersion;
-	}
-
-	/**
-	 * Returns Application client's J2EE version
-	 * @param wbc
-	 * @return
-	 */
-	private static int getAppClientComponentJ2EEVersion(IVirtualComponent ch){
-		AppClientArtifactEdit edit = null;
-		int nVersion = 12;
-		try {
-      edit = AppClientArtifactEdit.getAppClientArtifactEditForRead(ch);
-			if (edit != null) {
-				nVersion = edit.getJ2EEVersion();
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		} finally {
-			if (edit != null)
-				edit.dispose();
-		}
-		return nVersion;		
-	}
-	
-	/**
-	 * Returns EJB component's J2EE version
-	 * @param wbc
-	 * @return
-	 */
-	private static int getEJBComponentJ2EEVersion(IVirtualComponent ch){
-		EJBArtifactEdit edit = null;
-		int nVersion = 12;
-		try {
-      edit = EJBArtifactEdit.getEJBArtifactEditForRead(ch);
-			if (edit != null) {
-				nVersion = edit.getJ2EEVersion();
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		} finally {
-			if (edit != null)
-				edit.dispose();
-		}
-		return nVersion;			
-	}	
-	
 	public static IVirtualComponent[] getAllComponents(){
 		List v = new ArrayList();
 		IProject[] projects = ResourceUtils.getWorkspaceRoot().getProjects();
 		for (int i = 0; i < projects.length; i++) {
-		  IFlexibleProject fp = ComponentCore.createFlexibleProject(projects[i]);
-          IVirtualComponent[] vcs = fp.getComponents();
-          for (int j=0;j<vcs.length;j++){
-             v.add(vcs[j]);
+          IVirtualComponent vc = ComponentCore.createComponent(projects[i]);
+          if(vc != null)
+        	  v.add(vc);
           }
-		}
 
 		return (IVirtualComponent[])v.toArray(new IVirtualComponent[0]);
 	}
@@ -294,12 +224,9 @@
 		//get all components in the project
 		List v = new ArrayList();		
 		try {
-			IFlexibleProject flex = ComponentCore.createFlexibleProject(project);
-			IVirtualComponent[] components = flex.getComponents();
-			for (int i=0;i<components.length;i++){
-				if (isEARComponent(project, components[i].getName())){
-					v.add(components[i]);
-				}
+			IVirtualComponent component = ComponentCore.createComponent(project);
+			if (component != null && isEARComponent(component)){
+				v.add(component);
 			}
 		}
 		catch (Exception e){
@@ -319,13 +246,11 @@
 		//get all components in the project
 		List v = new ArrayList();
 		try {
-			IFlexibleProject flex = ComponentCore.createFlexibleProject(project);
-			IVirtualComponent[] components = flex.getComponents();
-			for (int i=0;i<components.length;i++){
-				if (isWebComponent(project, components[i].getName())){
-					v.add(components[i]);
-				}
-			}			
+			IVirtualComponent component = ComponentCore.createComponent(project);
+			
+				if (component != null && isWebComponent(component)){
+					v.add(component);
+				}		
 
 		}
 		catch (Exception e){
@@ -385,18 +310,15 @@
 		//get all components in the project of type componentTypeId
 		List v = new ArrayList();
 		try {
-			IFlexibleProject flex = ComponentCore.createFlexibleProject(project);
-			IVirtualComponent[] components = flex.getComponents();
-			for (int i=0;i<components.length;i++){
-				IVirtualComponent vc = ComponentCore.createComponent(project, components[i].getName());
-				if ( vc.getComponentTypeId().equals(componentTypeId))
-				{
-					v.add(components[i]);
-				}
-				//if (isWebComponent(project, components[i].getName())){
-					//v.add(components[i]);
-				//}
-			}			
+
+			IVirtualComponent vc = ComponentCore.createComponent(project);	
+			if ( vc != null && J2EEProjectUtilities.isProjectOfType(project,componentTypeId))
+			{
+				v.add(vc);
+			}
+			//if (isWebComponent(project, components[i].getName())){
+				//v.add(components[i]);
+			//}		
 
 		}
 		catch (Exception e){
@@ -411,7 +333,7 @@
 	    Vector v = new Vector(); 
 	    IVirtualComponent[] comps = getAllComponents();
 	    for (int i = 0; i < comps.length; i++) {
-			if (comps[i].getComponentTypeId().equals(componentTypeId))
+			if (J2EEProjectUtilities.isProjectOfType(comps[i].getProject(),componentTypeId))
 			{
 				//Add the project name to the vector if it has not been added already
 				String name = comps[i].getProject().getName();
@@ -474,21 +396,20 @@
         else
           return false;
 		
-		return exists(project, componentName);
+		return exists(project);
 	}
 	
 	/**
 	 * True if there exists a underlying resource backing up the component and project
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static boolean exists(IProject project, String componentName){
-		if (project!=null && componentName!=null &&	componentName.length() > 0) {
+	public static boolean exists(IProject project){
+		if (project!=null) {
             if (!project.exists())
               return false;
             
-			IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
+			IVirtualComponent vc = ComponentCore.createComponent(project);
 			return vc.exists();
 		}
 		else 
@@ -499,13 +420,12 @@
 	/**
 	 * Returns an array of EAR components which are referenced by the component
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static IVirtualComponent[] getReferencingEARComponents(IProject project, String componentName){
+	public static IVirtualComponent[] getReferencingEARComponents(IProject project){
 		List ears = new ArrayList();
 		try{
-			IVirtualComponent targetVC = ComponentCore.createComponent(project, componentName);
+			IVirtualComponent targetVC = ComponentCore.createComponent(project);
 			
 			IVirtualComponent[] earVC = getAllEARComponents();
 			for (int i=0; i<earVC.length;i++) {
@@ -528,14 +448,13 @@
 	/**
 	 * Returns the EJB Components referenced by the ear
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static IVirtualComponent[] getReferencingEJBComponentsFromEAR(IProject project, String earComponentName){
+	public static IVirtualComponent[] getReferencingEJBComponentsFromEAR(IProject project){
 
 		List ejbComps = new ArrayList();
 		try{
-			IVirtualComponent vc = ComponentCore.createComponent(project, earComponentName);
+			IVirtualComponent vc = ComponentCore.createComponent(project);
 			IVirtualReference[] refs = vc.getReferences();
 			for (int i=0;i<refs.length;i++){
 				if (isEJBComponent(refs[i].getReferencedComponent())){
@@ -783,8 +702,8 @@
 					}
 				}
 			} catch (Exception ce) {
-				Log log = new EclipseLog();
-				log.log(Log.ERROR, 5039, J2EEUtils.class, "getEARProjects", ce);
+				ILog log = EnvironmentService.getEclipseLog();
+				log.log(ILog.ERROR, 5039, J2EEUtils.class, "getEARProjects", ce);
 
 			}
 		}
@@ -800,13 +719,11 @@
 		
 		//get all components in the project
 		List v = new ArrayList();
+		IVirtualComponent component = ComponentCore.createComponent(project);
 		try {
-			IFlexibleProject flex = ComponentCore.createFlexibleProject(project);
-			IVirtualComponent[] comps = flex.getComponents();
-			for (int i=0;i<comps.length;i++){
-				if (isEJBComponent(comps[i]))
-					v.add(comps[i]);
-			}
+			if (component != null && isEJBComponent(component)){
+				v.add(component);
+			}	
 		}
 		catch (Exception e){
 			//handle exception
@@ -825,12 +742,11 @@
 		//get all components in the project
 		List v = new ArrayList();
 		try {
-			IFlexibleProject flex = ComponentCore.createFlexibleProject(project);
-			IVirtualComponent[] comps = flex.getComponents();
-			for (int i=0;i<comps.length;i++){
-				if (isAppClientComponent(comps[i]))
-					v.add(comps[i]);
-			}
+			IVirtualComponent component = ComponentCore.createComponent(project);
+			
+				if (component != null && isAppClientComponent(component)){
+					v.add(component);
+				}	
 		}
 		catch (Exception e){
 			//handle exception
@@ -842,14 +758,13 @@
 	/**
 	 * 
 	 * @param project
-	 * @param earComponentName
 	 * @return
 	 */
-	public static IVirtualComponent[] getReferencingEJB20ComponentsFromEAR(IProject project, String earComponentName){
+	public static IVirtualComponent[] getReferencingEJB20ComponentsFromEAR(IProject project){
 		 
 		List ejbComps = new ArrayList();
 		try{
-			IVirtualComponent vc = ComponentCore.createComponent(project, earComponentName);
+			IVirtualComponent vc = ComponentCore.createComponent(project);
 			IVirtualReference[] refs = vc.getReferences();
 			for (int i=0; i<refs.length;i++) {
 				if (isEJB20Component(refs[i].getReferencedComponent()))
@@ -895,13 +810,13 @@
 
 	/**
 	 * 
-	 * @param earComponents
+	 * @param project
 	 * @return
 	 */
-	public static IVirtualComponent[] getReferencingWebComponentsFromEAR(IProject project, String earComponentName){
+	public static IVirtualComponent[] getReferencingWebComponentsFromEAR(IProject project){
 		List webComps = new ArrayList();
 		try{
-			IVirtualComponent vc = ComponentCore.createComponent(project, earComponentName);
+			IVirtualComponent vc = ComponentCore.createComponent(project);
 			IVirtualReference[] refs = vc.getReferences();
 			for (int i=0; i<refs.length;i++) {
 				if (isWebComponent(refs[i].getReferencedComponent()))
@@ -922,19 +837,18 @@
 	 * @return
 	 */
 	public static boolean isEJB20Component(IVirtualComponent ejbComponent){
-		return isEJB20Component(ejbComponent.getProject(), ejbComponent.getName());
+		return isEJB20Component(ejbComponent.getProject());
 	}
 	
 	/**
 	 * 
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static boolean isEJB20Component(IProject project, String componentName){
+	public static boolean isEJB20Component(IProject project){
 		boolean isEJB = false;
 		try {
-      IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
+      IVirtualComponent vc = ComponentCore.createComponent(project);
 		  if (EJBArtifactEdit.isValidEJBModule(vc)) {
 			  EJBArtifactEdit  ejbEdit = null;
 			  try {
@@ -959,15 +873,12 @@
 	/**
 	 * Checks if the component at compName is referenced by the ear at earCompName
 	 * @param earProject
-	 * @param earCompName
 	 * @param project
-	 * @param compName
 	 * @return
 	 */
-	public static boolean isComponentAssociated(IProject earProject, String earCompName,
-								IProject project, String compName) {
-		IVirtualComponent vc1 = ComponentCore.createComponent(earProject, earCompName);
-		IVirtualComponent vc2 = ComponentCore.createComponent(project, compName);
+	public static boolean isComponentAssociated(IProject earProject, IProject project) {
+		IVirtualComponent vc1 = ComponentCore.createComponent(earProject);
+		IVirtualComponent vc2 = ComponentCore.createComponent(project);
 		return isComponentAssociated(vc1, vc2);
 	}
 	
@@ -995,23 +906,17 @@
 	/**
 	 * 
 	 * @param project
-	 * @param componentName
 	 * @param earProject
-	 * @param earComponentName
 	 */
-	public static void associateComponentToEAR(IProject project, String componentName,
-							IProject earProject, String earComponentName) {
+	public static void associateComponentToEAR(IProject project, IProject earProject) {
 		
-        IFlexibleProject flexearProj = ComponentCore.createFlexibleProject(earProject);
-		ComponentHandle earHandle = flexearProj.getComponent(earComponentName).getComponentHandle();
-		IFlexibleProject flexcompProj = ComponentCore.createFlexibleProject(project);
-		ComponentHandle compHandle = flexcompProj.getComponent(componentName).getComponentHandle();
         IDataModel addComponentToEARDataModel = DataModelFactory.createDataModel(new AddComponentToEnterpriseApplicationDataModelProvider());
-		addComponentToEARDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT_HANDLE, earHandle);
-		
-        List modList = (List) addComponentToEARDataModel.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST);
-        modList.add(compHandle);
-		addComponentToEARDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_HANDLE_LIST, modList);
+		IVirtualComponent earComp = ComponentCore.createComponent(earProject);
+        addComponentToEARDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earComp);
+        List modList = (List) addComponentToEARDataModel.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
+        IVirtualComponent targetComp = ComponentCore.createComponent(project);
+        modList.add(targetComp);
+		addComponentToEARDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modList);
         
 		try {
 			addComponentToEARDataModel.getDefaultOperation().execute(null, null);
@@ -1026,12 +931,11 @@
 	
 	/**
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static IPath getWebInfPath(IProject project, String componentName){
+	public static IPath getWebInfPath(IProject project){
 		
-		IVirtualComponent component = ComponentCore.createComponent(project, componentName);
+		IVirtualComponent component = ComponentCore.createComponent(project);
 		IVirtualFolder webInfDir = component.getRootFolder().getFolder(new Path("/WEB-INF"));
 		IPath modulePath = webInfDir.getWorkspaceRelativePath();
 	
@@ -1049,10 +953,9 @@
 		
 		IPath modulePath = null;
 		try {
-          IFlexibleProject fp = ComponentCore.createFlexibleProject(project);
-          IVirtualComponent[] vcs = fp.getComponents();
-		  if (vcs.length!=0) {
-            modulePath = vcs[0].getRootFolder().getWorkspaceRelativePath();
+          IVirtualComponent vc = ComponentCore.createComponent(project);
+		  if (ModuleCoreNature.isFlexibleProject(project)) {
+            modulePath = vc.getRootFolder().getWorkspaceRelativePath();
 		  }
 		}
 		catch(Exception ex){}
@@ -1062,11 +965,10 @@
 	
 	/**
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static IPath getWebContentPath(IProject project, String componentName){
-		IVirtualComponent component = ComponentCore.createComponent(project, componentName);
+	public static IPath getWebContentPath(IProject project){
+		IVirtualComponent component = ComponentCore.createComponent(project);
 		IPath modulePath = component.getRootFolder().getWorkspaceRelativePath();
 		return modulePath;
 	}
@@ -1090,12 +992,11 @@
 	
 	/**
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static IContainer getWebContentContainer(IProject project, String componentName){
+	public static IContainer getWebContentContainer(IProject project){
 		IContainer container = null;
-		IPath modulePath = getWebContentPath(project, componentName);
+		IPath modulePath = getWebContentPath(project);
 		IResource res = ResourceUtils.findResource(modulePath);
 		if (res instanceof IContainer){
 		  container = (IContainer)res;
@@ -1113,112 +1014,55 @@
 	public static String getFirstWebModuleName(IProject project){
       String moduleName = null;
       try {
-        IFlexibleProject fp = ComponentCore.createFlexibleProject(project);
-        IVirtualComponent[] vcs = fp.getComponents();
-        if (vcs.length!=0)
-          moduleName = vcs[0].getName();
+        IVirtualComponent vc = ComponentCore.createComponent(project);
+        moduleName = vc.getName();
       }
       catch(Exception ex){}
   
       return moduleName;  			
 	}
 	
-
-	/**
-	 * True if the component is a valid Web component
-	 * @param project
-	 * @param componentName
-	 * @return
-	 */
-	public static boolean isWebComponent(IProject project, String componentName) {
-    IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
-    return isWebComponent(vc);
-	}
 	
 	public static boolean isWebComponent(IVirtualComponent comp){
-    if ( comp.getComponentTypeId().equals(IModuleConstants.JST_WEB_MODULE)){
-      return true;
-    }
-    return false;
+	    return J2EEProjectUtilities.isDynamicWebProject(comp.getProject());
   }
-
-	/**
-	 * True is the component is a valid EAR component
-	 * @param project
-	 * @param componentName
-	 * @return
-	 */
-	public static boolean isEARComponent(IProject project, String componentName){
-    IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
-    return isEARComponent(vc);
-	}
 	
 	public static boolean isEARComponent(IVirtualComponent comp){
-    if (comp.getComponentTypeId().equals(IModuleConstants.JST_EAR_MODULE)){
-      return true;
-    }
-    return false;
+	    return J2EEProjectUtilities.isEARProject(comp.getProject());
 	}
 
 	/**
 	 * True if the component is a valid EJB component
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static boolean isEJBComponent(IProject project, String componentName) {
-    IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
-    return isEJBComponent(vc);
+	public static boolean isEJBComponent(IProject project) {
+      IVirtualComponent vc = ComponentCore.createComponent(project);
+      if (vc != null)
+      {
+        return isEJBComponent(vc);
+      }
+      else
+      { 
+        return false;
+      }
 	}
 
 	public static boolean isEJBComponent(IVirtualComponent comp){
-    if (comp.getComponentTypeId().equals(IModuleConstants.JST_EJB_MODULE)){
-      return true;
-    }
-    return false;
-	}
-	
-	/**
-	 * True if the component is a true Application client component
-	 * @param project
-	 * @param componentName
-	 * @return
-	 */
-	public static boolean isAppClientComponent(IProject project, String componentName) {
-    IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
-    return isAppClientComponent(vc);
+		return J2EEProjectUtilities.isEJBProject(comp.getProject());
 	}	
 
 	public static boolean isAppClientComponent(IVirtualComponent comp){
-    if (comp.getComponentTypeId().equals(IModuleConstants.JST_APPCLIENT_MODULE)){
-      return true;
-    }
-    return false;
-	}
-	
-	/**
-	 * True if the component is a valid Java component
-	 * @param project
-	 * @param componentName
-	 * @return
-	 */
-	public static boolean isJavaComponent(IProject project, String componentName) {
-    IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
-    return isJavaComponent(vc);
+		return J2EEProjectUtilities.isApplicationClientProject(comp.getProject());
 	}
 	
 	public static boolean isJavaComponent(IVirtualComponent comp){
-    if (comp.getComponentTypeId().equals(IModuleConstants.JST_UTILITY_MODULE)){
-      return true;
-    }
-    return false;
+		return J2EEProjectUtilities.isUtilityProject(comp.getProject());
 	}	
 	
-  public static String getComponentTypeId(IProject project, String componentName)
-  {
-    IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
-    return vc.getComponentTypeId();
-  }
+	public static String getComponentTypeId(IProject project) {
+		return J2EEProjectUtilities.getJ2EEProjectType(project);
+	}
   
 	public static String[] toComponentNamesArray(IVirtualComponent[] components){
 		String[] ecNames = new String[components.length];
@@ -1279,5 +1123,111 @@
 			return new Integer(J2EEVersionConstants.EJB_2_0_ID);
 		}			
 	}
+
+	/**
+	 * True if the component is a valid Java component
+	 * @param project
+	 * @return
+	 */
+	public static boolean isJavaComponent(IProject project) {
+	  IVirtualComponent vc = ComponentCore.createComponent(project);
+      if (vc != null)
+      {
+	    return isJavaComponent(vc);
+      }
+      else
+      {
+        //check if it's a faceted project with only the Java facet.
+        try
+        {
+          if (project.exists())
+          {
+            IFacetedProject fProject = ProjectFacetsManager.create(project);
+            if (fProject != null)
+            {
+              Set facets = fProject.getProjectFacets();
+              if (facets.size()==1)
+              {
+                IProjectFacetVersion pfv = (IProjectFacetVersion)facets.iterator().next();
+                if (pfv.getProjectFacet().getId().equals(IModuleConstants.JST_JAVA))
+                {
+                  return true;
+                }
+              }                            
+            }
+            else
+            {
+              //This is not a faceted project. Check if this is a simple Java project.
+              IJavaProject javaProject = null;    
+              javaProject = JavaCore.create(project);    
+              if (javaProject != null)
+              {
+                return true;
+              }        
+            }
+          }
+        } catch (CoreException ce)
+        {
+          
+        }                        
+      }
+      
+      return false;
+	}
+
+	/**
+	 * True if the component is a valid Web component
+	 * @param project
+	 * @return
+	 */
+	public static boolean isWebComponent(IProject project) {
+	  IVirtualComponent vc = ComponentCore.createComponent(project);
+      if (vc != null)
+      {
+        return isWebComponent(vc);  
+      }
+      else
+      {
+        return false;
+      }	
+	}
+
+	/**
+	 * True if the component is a true Application client component
+	 * @param project
+	 * @return
+	 */
+	public static boolean isAppClientComponent(IProject project) {
+	  IVirtualComponent vc = ComponentCore.createComponent(project);
+      if (vc != null)
+      {
+	  return isAppClientComponent(vc);
+      }
+      else
+      {
+        return false;
+      }
+	}
+
+	/**
+	 * True is the component is a valid EAR component
+	 * @param project
+	 * @return
+	 */
+	public static boolean isEARComponent(IProject project){
+	  IVirtualComponent vc = ComponentCore.createComponent(project);
+      if (vc != null)
+      {
+	  return isEARComponent(vc);
+      }
+      else
+      {
+        return false;
+      }
+	}
+	
+	public static IFolder getOutputContainerRoot (IVirtualComponent component) {
+		return (IFolder)J2EEProjectUtilities.getOutputContainers(component.getProject())[0];
+	}
 	
 }
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/JavaMOFUtils.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/JavaMOFUtils.java
index aa8cdbd..f883dd3 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/JavaMOFUtils.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/JavaMOFUtils.java
@@ -14,14 +14,14 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Vector;
-
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.internal.plugin.JavaEMFNature;
+import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
+import org.eclipse.jem.workbench.utility.JemProjectUtilities;
 import org.eclipse.jem.java.JavaClass;
+import org.eclipse.jem.java.JavaRefFactory;
 import org.eclipse.jem.java.JavaVisibilityKind;
 import org.eclipse.jem.java.Method;
-import org.eclipse.jem.java.impl.JavaClassImpl;
 
 /**
 * This class contains some useful utilities for dealing with the JavaMOF
@@ -184,11 +184,33 @@
 		return false;
  	}
 
- public static JavaClass getJavaClass(String className , IProject project) throws CoreException
+  /* 
+   * 
+   */
+ /**
+ * @param classQName Fully qualified classname (packageName + typeName)
+ * @param project
+ * @return
+ * @throws CoreException
+ */
+public static JavaClass getJavaClass(String classQName , IProject project) throws CoreException
  	{
- 		JavaEMFNature jMOF = (JavaEMFNature)JavaEMFNature.createRuntime(project);
-    	return  (JavaClass)JavaClassImpl.reflect(className, jMOF.getResourceSet());
+	 	EMFNature jMOF = JemProjectUtilities.getJEM_EMF_Nature(project, true);
+	 	return (JavaClass)JavaRefFactory.eINSTANCE.reflectType(classQName,jMOF.getResourceSet());
  	}
+ 
+ /**
+ * @param packageName
+ * @param typeName
+ * @param project
+ * @return
+ * @throws CoreException
+ */
+public static JavaClass getJavaClass(String packageName, String typeName , IProject project) throws CoreException
+	{
+	 	EMFNature jMOF = JemProjectUtilities.getJEM_EMF_Nature(project, true);
+	 	return (JavaClass)JavaRefFactory.eINSTANCE.reflectType(packageName, typeName, jMOF.getResourceSet());
+	}
 
  public static boolean isValidSEIFile(JavaClass beanClass, JavaClass seiClass)
  	{
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java
index 8718622..d2fa7c3 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ResourceUtils.java
@@ -49,15 +49,16 @@
 import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit;
 import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
 import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
+import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.internal.StructureEdit;
 import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
 import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerUtil;
@@ -289,14 +290,11 @@
 	 */
 	public static IVirtualComponent getComponentOf(IPath absolutePath){
 		if (absolutePath.isAbsolute()) {
-			String componentName = absolutePath.segment(1);
-			if (componentName != null) {
 				String projectName = absolutePath.segment(0);
 				IProject project = getWorkspaceRoot().getProject(projectName);
 				if (projectName != null) {
-					return ComponentCore.createComponent(project, componentName);
+					return ComponentCore.createComponent(project);
 				}
-			}
 		}
 		return null;
 	}
@@ -521,12 +519,10 @@
 	 * Returns the component type id as defined in IModuleConstants
 	 * i.e. IModuleConstants.JST_WEB_MODULE = "jst.web"
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static String getComponentType(IProject project, String componentName){
-		IVirtualComponent comp = ComponentCore.createComponent(project, componentName);
-		return getComponentType(comp);
+	public static String getComponentType(IProject project){
+		return J2EEProjectUtilities.getJ2EEProjectType(project);
 	}
 	
 	/**
@@ -535,7 +531,7 @@
 	 * @return
 	 */
 	public static String getComponentType(IVirtualComponent component){
-		return component.getComponentTypeId();
+		return getComponentType(component.getProject());
 	}
 	
 	/**
@@ -565,15 +561,19 @@
 	 *            The project.
 	 * @return WebModule Deployable of the <code>project</code> or null if the
 	 *         project has no Web nature.
-	 * @deprecated  see ServerUtils.getModule(IProject, String)
 	 */
 	public static IModule getModule(IProject project) {
-		IModule[] modules = ServerUtil.getModules(project);
-		if (modules!=null && modules.length!=0) {
-			return modules[0];
-		}
-		return null;
-	}
+	return ServerUtil.getModule(project);
+}
+	
+// Workaround for 113621 
+//public static IModule getModule(IProject project) {
+//	IModule[] modules = ServerUtil.getModules(project);
+//	if (modules!=null && modules.length!=0) {
+//		return modules[0];
+//	}
+//	return null;
+//}
 
 	/**
 	 * Returns the build output location of the <code>project</code> as an
@@ -594,13 +594,13 @@
 			}
 		} catch (JavaModelException e) {
 		}
-		Log log = new EclipseLog();
-		log.log(Log.INFO, 5032, ResourceUtils.class, "getJavaOutputLocation",
+		ILog log = EnvironmentService.getEclipseLog();
+		log.log(ILog.INFO, 5032, ResourceUtils.class, "getJavaOutputLocation",
 				"project=" + project + ",outputLocation=" + outputLocation);
 
 		return outputLocation;
 	}
-	
+
 	/**
 	 * Returns a build source location of the <code>project</code> as an
 	 * <code>IPath</code>, or null if the project either has no Java nature
@@ -616,8 +616,8 @@
 	 * @return A build source location of the <code>project</code> or null if
 	 *         the project has no Java nature or if the project's build
 	 *         classpath contains no folders local to the project.
-	 * @deprecated use getJavaSourceLocation(IProject project, String compName)
 	 */
+
 	public static IPath getJavaSourceLocation(IProject project) {
 		IPath sourceLocation = null;
 		IPackageFragmentRoot[] fragmentRoots = getJavaPackageFragmentRoots(project);
@@ -634,24 +634,25 @@
 			}
 		}
 
-		Log log = new EclipseLog();
-		log.log(Log.INFO, 5030, ResourceUtils.class, "getJavaSourceLocation",
+		ILog log = EnvironmentService.getEclipseLog();
+		log.log(ILog.INFO, 5030, ResourceUtils.class, "getJavaSourceLocation",
 				"project=" + project + ",sourceLocation=" + sourceLocation);
 		
 		return sourceLocation;
 	}
 
+	
 	/**
 	 * Returns the "JavaSource" folder
 	 * @param project
-	 * @param compName
 	 * @return
 	 */
-	public static IPath getJavaSourceLocation(IProject project, String compName){
-		IVirtualComponent component = ComponentCore.createComponent(project, compName);
+    /*
+	public static IPath getJavaSourceLocation(IProject project){
+		IVirtualComponent component = ComponentCore.createComponent(project);
 		return getJavaSourceLocation(component);			
 	}
-	
+	*/
 	/**
 	 * Returns the JavaSource location folder
 	 * @param comp
@@ -777,15 +778,14 @@
 	/**
 	 * 
 	 * @param project
-	 * @param componentName
 	 * @return
 	 */
-	public static IFolder getWebComponentServerRoot(IProject project, String componentName){
+	public static IFolder getWebComponentServerRoot(IProject project){
 		
       IFolder webModuleServerRoot = null;
-      IVirtualComponent vc = ComponentCore.createComponent(project, componentName);
+      IVirtualComponent vc = ComponentCore.createComponent(project);
       if (vc.exists())
-        webModuleServerRoot = StructureEdit.getOutputContainerRoot(vc);
+        webModuleServerRoot = J2EEUtils.getOutputContainerRoot(vc);
 
 	  return webModuleServerRoot;
 	}
@@ -820,8 +820,8 @@
 			}
 		}
 		
-		Log log = new EclipseLog();
-		log.log(Log.INFO, 5036, ResourceUtils.class, "getWebProjectURL",
+		ILog log = EnvironmentService.getEclipseLog();
+		log.log(ILog.INFO, 5036, ResourceUtils.class, "getWebProjectURL",
 				"project=" + project + ",webProjectURL=" + webProjectURL);
 
 		return webProjectURL;
@@ -887,8 +887,8 @@
 //  			}
 //  		}
 //  	}
-// 	Log log = new EclipseLog();
-//    log.log(Log.INFO, 5036, ResourceUtils.class, "getWebProjectURL", "project="+project+",webProjectURL="+webProjectURL);
+// 	ILog log = new EclipseLog();
+//    log.log(ILog.INFO, 5036, ResourceUtils.class, "getWebProjectURL", "project="+project+",webProjectURL="+webProjectURL);
 //  	return webProjectURL;  	
 //  }
 	/**
@@ -917,8 +917,8 @@
 				}
 			}
 		}
-		Log log = new EclipseLog();
-		log.log(Log.INFO, 5037, ResourceUtils.class, "getWebProjectURL",
+		ILog log = EnvironmentService.getEclipseLog();
+		log.log(ILog.INFO, 5037, ResourceUtils.class, "getWebProjectURL",
 				"project=" + project + ",webProjectURL=" + webProjectURL);
 
 		return webProjectURL;
@@ -1108,8 +1108,8 @@
 //			IWorkspaceRoot workspace = getWorkspaceRoot();
 //			url.append(getResourceURI(workspace.getFile(absolutePath)));
 //		}
-//		Log log = new EclipseLog();
-//		log.log(Log.INFO, 5038, ResourceUtils.class, "getURLFromPath",
+//		ILog log = new EclipseLog();
+//		log.log(ILog.INFO, 5038, ResourceUtils.class, "getURLFromPath",
 //				"absolutePath=" + absolutePath + ",url=" + url);
 //
 //		return url.toString();
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/SelectionToResource.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/SelectionToResource.java
index 8e02827..7c77dab 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/SelectionToResource.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/SelectionToResource.java
@@ -14,16 +14,15 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
-
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 public class SelectionToResource implements Transformer
 {
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.data.Transformer#transform(java.lang.Object)
+   * @see org.eclipse.wst.command.internal.env.core.data.Transformer#transform(java.lang.Object)
    */
   public Object transform(Object value)
   {
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ServerUtils.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ServerUtils.java
index f736e28..06f5b03 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ServerUtils.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/ServerUtils.java
@@ -22,15 +22,17 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.logger.proxy.Logger;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.servertarget.IServerTargetConstants;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.jst.ws.internal.WSPluginMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeType;
@@ -46,8 +48,6 @@
  */
 public final class ServerUtils {
 
-	private MessageUtils msgUtils_;
-
 	private Hashtable serverIdToLabel_;
 
 	private Hashtable serverLabelToId_;
@@ -63,8 +63,6 @@
 	}
 
 	public ServerUtils() {
-		String pluginId = "org.eclipse.jst.ws";
-		msgUtils_ = new MessageUtils(pluginId + ".plugin", this);
 	}
 
 	// Gets the Server labels given the server factory id
@@ -97,11 +95,12 @@
 		return (String) serverLabelToId_.get(factoryLabel);
 	}
 
-	public Status modifyModules(Environment env, IServer server,
+	public IStatus modifyModules(IEnvironment env, IServer server,
 			IModule module, boolean add, IProgressMonitor monitor) {
 
 		IServerWorkingCopy wc = null;
-		Status status = new SimpleStatus("");
+		IStatus status = Status.OK_STATUS;
+    
 		try {
 
 			if (module == null || !module.getProject().exists()) {
@@ -147,19 +146,22 @@
 			} else {
 				// handle case of Null WC; non-issue for now
 			}
-		} catch (CoreException ce) {
-			status = new SimpleStatus("", msgUtils_
-					.getMessage("MSG_ERROR_SERVER"), Status.ERROR, ce);
+		} 
+    catch (CoreException exc ) 
+    {
+			status = StatusUtils.errorStatus( WSPluginMessages.MSG_ERROR_SERVER, exc );
 			env.getStatusHandler().reportError(status);
 			return status;
 		} finally {
 			if (wc != null) {
 				// Always saveAll and release the serverWorkingCopy
-				try {
+				try 
+        {
 					wc.saveAll(true, monitor);
-				} catch (CoreException cex) {
-					status = new SimpleStatus("", msgUtils_
-							.getMessage("MSG_ERROR_SERVER"), Status.ERROR, cex);
+				} 
+        catch (CoreException exc ) 
+        {
+					status = StatusUtils.errorStatus( WSPluginMessages.MSG_ERROR_SERVER, exc );
 					env.getStatusHandler().reportError(status);
 					return status;
 				}
@@ -219,7 +221,7 @@
 	 * 
 	 * @deprecated
 	 */
-	public IServer createServer(Environment env, IModule module,
+	public IServer createServer(IEnvironment env, IModule module,
 			String serverTypeId, IProgressMonitor monitor) {
 		IServerWorkingCopy serverWC = null;
 		IServer server = null;
@@ -230,9 +232,9 @@
 				if (serverWC != null) {
 					server = serverWC.saveAll(true, monitor);
 				}
-			} catch (CoreException ce) {
-				Status status = new SimpleStatus("", msgUtils_
-						.getMessage("MSG_ERROR_SERVER"), Status.ERROR, ce);
+			} catch (CoreException ce) 
+      {
+				IStatus status = StatusUtils.errorStatus( WSPluginMessages.MSG_ERROR_SERVER, ce);
 				env.getStatusHandler().reportError(status);
 				return null;
 			}
@@ -262,9 +264,10 @@
 			}
 
 			return server;
-		} catch (Exception e) {
-			Status status = new SimpleStatus("", msgUtils_
-					.getMessage("MSG_ERROR_SERVER"), Status.ERROR, e);
+		} 
+    catch (Exception e) 
+    {
+			IStatus status = StatusUtils.errorStatus( WSPluginMessages.MSG_ERROR_SERVER, e);
 			env.getStatusHandler().reportError(status);
 			return null;
 		} finally {
@@ -273,8 +276,7 @@
 					serverWC.saveAll(true, monitor);
 				}
 			} catch (CoreException ce) {
-				Status status = new SimpleStatus("", msgUtils_
-						.getMessage("MSG_ERROR_SERVER"), Status.ERROR, ce);
+				IStatus status = StatusUtils.errorStatus( WSPluginMessages.MSG_ERROR_SERVER, ce);
 				env.getStatusHandler().reportError(status);
 				return null;
 			}
@@ -349,7 +351,7 @@
 		String[] serverIds = null;
 
 		if (project != null) {
-			IServer[] servers = ServerUtil.getServersByModule(getModule(project, component.getName()), null);
+			IServer[] servers = ServerUtil.getServersByModule(getModule(project), null);
 			if (servers != null) {
 				serverIds = new String[servers.length];
 
@@ -386,19 +388,18 @@
 		return (String[]) serverIds.toArray(new String[serverIds.size()]);
 	}
 
-	public static IModule getModule(IProject project, String componentName) {
-		IModule[] modules = ServerUtil.getModules(project);
-		IModule moduleFound = null;
-
-		for (int index = 0; index < modules.length; index++) {
-			if (modules[index].getName().equals(componentName)) {
-				moduleFound = modules[index];
-				break;
-			}
-		}
-
-		return moduleFound;
-	}
+	public static IModule getModule(IProject project) {
+	return ServerUtil.getModule(project);
+}
+	
+// Workaround for 113621
+//public static IModule getModule(IProject project) {
+//	IModule[] modules = ServerUtil.getModules(project);
+//	if (modules!=null && modules.length!=0) {
+//		return modules[0];
+//	}
+//	return null;
+//}
   
 	/**
 	 * Returns the URL string corresponding to the web server module root of the
@@ -410,9 +411,9 @@
 	 * @return The web server module root URL or null if the project has no Web
 	 *         nature or has no association to a server instance.
 	 */
-	public static String getWebComponentURL(IProject project, String componentName) {
+	public static String getWebComponentURL(IProject project, String serverFactoryId) {
 		String webProjectURL = null;
-		IModule module = getModule(project, componentName);
+		IModule module = getModule(project);
 		if (module != null) {
 			IServer serverInstance = getServerForModule(module);
 			if (serverInstance != null) {
@@ -426,24 +427,38 @@
 				}
 			}
 			else {
-				IRuntime projectTarget = ServerCore.getProjectProperties(project).getRuntimeTarget();
-				if (projectTarget!=null)
+				//IRuntime projectTarget = ServerCore.getProjectProperties(project).getRuntimeTarget();
+                IServerType serverType = ServerCore.findServerType(serverFactoryId);               
+				if (serverType!=null)
 				{
-					String projectTargetId = projectTarget.getRuntimeType().getId();
-					String serverFactoryId = getFactoryIdFromRuntimeTargetId(projectTargetId);
-					IServerType serverType = ServerCore.findServerType(serverFactoryId);
 					try {
-						if (serverType!=null) {
-							IServerWorkingCopy serverWC = serverType.createServer(null, null, projectTarget, null);
-							IURLProvider urlProvider = (IURLProvider) serverWC.loadAdapter(IURLProvider.class, null);
-							if (urlProvider!=null) {
-								URL url = urlProvider.getModuleRootURL(module);							
-								if (url != null) {
-									String s = url.toString();
-									webProjectURL = (s.endsWith("/") ? s.substring(0, s.length() - 1) : s);
-								}				
-							}
-						}
+                        //Choose a Runtime which is not a stub
+                        IRuntime nonStubRuntime = null;
+                        IRuntime[] runtimes = ServerUtil.getRuntimes(null, null);
+                        String serverRuntimeTypeId = serverType.getRuntimeType().getId();
+                        for (int i = 0; i < runtimes.length; i++) {
+                            IRuntime runtime = runtimes[i];
+                            String thisRuntimeTypeId = runtime.getRuntimeType().getId();
+                            if (thisRuntimeTypeId.equals(serverRuntimeTypeId) && !runtime.isStub()) {
+                                //Found an appropriate IRuntime that is not a stub
+                                nonStubRuntime = runtime;
+                                break;
+                            }
+                        }
+                        
+                        if (nonStubRuntime != null)
+                        {
+					      IServerWorkingCopy serverWC = serverType.createServer(null, null, nonStubRuntime, null);
+						  IURLProvider urlProvider = (IURLProvider) serverWC.loadAdapter(IURLProvider.class, null);
+						  if (urlProvider!=null) {
+						     URL url = urlProvider.getModuleRootURL(module);							
+							 if (url != null) {
+								String s = url.toString();
+								webProjectURL = (s.endsWith("/") ? s.substring(0, s.length() - 1) : s);
+							 }				
+						  }
+                        }
+
 					} catch(CoreException ce){
                         Logger.getLogger().log(ce);
 					}
@@ -465,10 +480,10 @@
 	 *         nature or has no association to a server instance.
 	 */
 	public static String getWebComponentURL(IProject project,
-			String componentName, String serverFactoryId, IServer server) {
+			String serverFactoryId, IServer server) {
 
 		String webProjectURL = null;
-		IModule module = getModule(project, componentName);
+		IModule module = getModule(project);
 		if (module != null) {
 			IServer serverInstance = ServerUtils.getServerForModule(module, serverFactoryId, server, true, new NullProgressMonitor());
 			if (serverInstance != null) {
@@ -485,8 +500,8 @@
 		return webProjectURL;
 	}
 
-	public static String getEncodedWebComponentURL(IProject project, String componentName) {
-		String url = getWebComponentURL(project, componentName);
+	public static String getEncodedWebComponentURL(IProject project, String serverFactoryId) {
+		String url = getWebComponentURL(project, serverFactoryId);
 		if (url != null) {
 			int index = url.lastIndexOf('/');
 			if (index != -1) {
@@ -516,7 +531,7 @@
 
 	public static IServer getDefaultExistingServer(IVirtualComponent component) {
 		IProject project = component.getProject();
-		IModule module = getModule(project, component.getName());
+		IModule module = getModule(project);
 		IServer preferredServer = ServerCore.getDefaultServer(module);
 		if (preferredServer != null)
 			return preferredServer;
@@ -546,11 +561,16 @@
 	 */
 	public static IServer getDefaultExistingServer(IProject project) {
     
-        IModule[] modules = ServerUtil.getModules(project);
-        IServer preferredServer = null;
-        if (modules.length > 0){
-          preferredServer = ServerCore.getDefaultServer(modules[0]);
-        }
+      IModule module = ServerUtil.getModule(project);
+      IServer preferredServer = null;
+      preferredServer = ServerCore.getDefaultServer(module);
+		
+// Workaround for 113621
+//		IModule[] modules = ServerUtil.getModules(project);
+//      IServer preferredServer = null;
+//      if (modules.length > 0){
+//        preferredServer = ServerCore.getDefaultServer(modules[0]);
+//      }
   
 		if (preferredServer != null)
 			return preferredServer;
@@ -648,7 +668,7 @@
 		if (runtimeTargetId == null)
 			return false;
 
-		String earModuleType = IServerTargetConstants.EAR_TYPE;
+		String earModuleType = IModuleConstants.JST_EAR_MODULE;
 		String stJ2EEVersion = ServerUtils.getServerTargetJ2EEVersion(j2eeVersion);
         List runtimes = Arrays.asList(ServerUtil.getRuntimes(earModuleType, stJ2EEVersion));
 		for (int i = 0; i < runtimes.size(); i++) {
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StatusObjectHandler.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StatusObjectHandler.java
index 52f0fe9..1111d76 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StatusObjectHandler.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StatusObjectHandler.java
@@ -14,7 +14,6 @@
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.MultiStatus;
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2PathTransformer.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2PathTransformer.java
new file mode 100644
index 0000000..da7e1da
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2PathTransformer.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 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.common;
+
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
+
+/**
+ * 
+ * Transforms a input String to a Path
+ * 
+ * @author joan
+ *
+ */
+
+public class String2PathTransformer implements Transformer {
+	
+	public Object transform(Object value) {				 
+		Path path = new Path(value.toString());
+		return path;		 
+	}
+
+}
+
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
new file mode 100644
index 0000000..15c87ef
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2SelectionTransformer.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.common;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jem.java.JavaClass;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jst.j2ee.ejb.EJBJar;
+import org.eclipse.jst.j2ee.ejb.EJBResource;
+import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
+import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
+import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+
+/**
+ * Transforms a string value representing a workspace resource path into a StructuredSelection object
+ * 
+ * @author joan
+ *
+ */
+
+public class String2SelectionTransformer implements Transformer {
+
+	public Object transform(Object value) {
+		
+		StructuredSelection selection = null;
+		IResource resource = FileResourceUtils.getWorkspaceRoot().findMember(new Path(value.toString()));
+		IProject resProject = resource.getProject();
+		
+		// check if resource is part of an EJB
+		if (J2EEUtils.isEJBComponent(resProject))
+		{
+			// if resource is part of EJB need to get the EnterpriseBean as the selection
+			IVirtualComponent[] ejbComponents = J2EEUtils.getEJBComponents(resProject);
+			EJBArtifactEdit  ejbEdit = null;			
+			try{				
+				ejbEdit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbComponents[0]);				
+	            EJBResource ejbRes = ejbEdit.getEJBJarXmiResource();
+	            EJBJar ejbJar = ejbRes.getEJBJar();	            
+	            IPath path = resource.getFullPath();
+	            String resourcePath = ResourceUtils.getJavaResourcePackageName(path);
+	            String javaClassName = resource.getName();
+	            // strip off file extension if necessary
+	            if (javaClassName.lastIndexOf('.')>-1)
+	            {	
+	              javaClassName = javaClassName.substring(0, javaClassName.lastIndexOf('.'));	              
+	            } 
+	            JavaClass javaClass = JavaMOFUtils.getJavaClass(resourcePath, javaClassName, resProject);
+	            EnterpriseBean ejb = ejbJar.getEnterpriseBeanWithReference(javaClass);
+	            if (ejb != null)
+	            {
+	            	selection = new StructuredSelection(ejb.getName());	
+	            }
+			}
+			catch (Exception exc)
+			{
+				
+			}
+			finally {
+	              if (ejbEdit!=null)
+	                ejbEdit.dispose();
+	            }
+		}		
+		
+		if (resource != null)
+		{
+			selection = new StructuredSelection(resource);			
+		}		
+		return selection;
+	}
+
+}
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2TestFacilityListTransformer.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2TestFacilityListTransformer.java
new file mode 100644
index 0000000..b859605
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2TestFacilityListTransformer.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.common;
+
+import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.selection.SelectionList;
+
+public class String2TestFacilityListTransformer implements Transformer {
+
+	public Object transform(Object value) {
+		String testFacility = (String)value;
+		//value represents name of a test facility
+		//pick up list of test facilities
+		String[] testTypes = WebServicePlugin.getInstance().getScenarioContext().getWebServiceTestTypes();        	
+		
+		int index = 0;
+		//match value to name of test facility and set index accordingly
+		for (int i = 0; i < testTypes.length; i++) {
+			if (testTypes[i].equals(testFacility))
+			{		
+				break;
+			}			
+			index++;
+		}
+		
+		SelectionList selectionList = new SelectionList(testTypes, index);		
+		return selectionList;
+	}
+}
+
+
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2TypeRuntimeServerModifier.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2TypeRuntimeServerModifier.java
new file mode 100644
index 0000000..adb3c62
--- /dev/null
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2TypeRuntimeServerModifier.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.jst.ws.internal.common;
+
+import java.util.Map;
+
+import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
+import org.eclipse.wst.command.internal.env.core.data.BeanModifier;
+
+public class String2TypeRuntimeServerModifier implements BeanModifier {
+
+	private String SERVICE_RT_ID_KEY = "Service.RuntimeId";  //$NON-NLS-N$
+	private String RUNTIME_ID = "RuntimeId";  //$NON-NLS-N$
+	private String SERVICE_SRV_ID_KEY = "Service.ServerId";  //$NON-NLS-N$
+	private String SERVER_ID = "ServerId";  //$NON-NLS-N$
+	private String SERVICE_PREFIX = "Service.";  //$NON-NLS-N$
+	private String CLIENT_PREFIX = "Client.";  //$NON-NLS-N$
+	
+	/**
+	 * Modifies the supplied TypeRuntimeServer bean with properties in holder.
+	 * If the bean is null, construct a new one and set its properties.
+	 * @param bean TypeRuntimeServer bean to be modified
+	 * @param holder Map containing values for TypeRuntimeServer properties 
+	 * @return TypeRuntimeServer with properties set
+	 */
+	public void modify(Object bean, Object holder) {
+		
+		TypeRuntimeServer types = null;
+		if (bean == null || !(bean instanceof TypeRuntimeServer))
+		{
+			types = new TypeRuntimeServer();			
+		}
+		else
+		{
+			types = (TypeRuntimeServer)bean;
+		}
+		
+		if (holder instanceof Map)
+		{	
+			Map typesMap = (Map)holder;
+			String prefix = "";
+			
+			
+			if (typesMap.containsKey(SERVICE_RT_ID_KEY)||typesMap.containsKey(SERVICE_SRV_ID_KEY))
+			{
+				prefix = SERVICE_PREFIX;
+			}			  	
+			else
+			{
+				prefix = CLIENT_PREFIX;
+			}
+			
+			String runtimeID = (String)typesMap.get(prefix+RUNTIME_ID);
+			if (runtimeID != null)
+				types.setRuntimeId(runtimeID);		
+			
+			String serverID = (String)typesMap.get(prefix+SERVER_ID);
+			if (serverID  != null)				
+				types.setServerId(serverID);			
+		}
+  }
+
+	
+}
+
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringToIProjectTransformer.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringToIProjectTransformer.java
index 9dc1a6e..92efc3b 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringToIProjectTransformer.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringToIProjectTransformer.java
@@ -11,7 +11,7 @@
 package org.eclipse.jst.ws.internal.common;
 
 import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
 
 
 /**
@@ -20,7 +20,7 @@
 public class StringToIProjectTransformer implements Transformer
 {
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.data.Transformer#transform(java.lang.Object)
+   * @see org.eclipse.wst.command.internal.env.core.data.Transformer#transform(java.lang.Object)
    * @param Object This must be a java.lang.String
    * @return Object Returns an IProject
    */
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringUtils.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringUtils.java
index 5d9fd9b..0c4bd2d 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringUtils.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/StringUtils.java
@@ -15,7 +15,6 @@
 import java.io.InputStream;
 import java.util.Enumeration;
 import java.util.Vector;
-
 import org.eclipse.jdt.core.JavaConventions;
 
 /**
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentProjectTopologyContext.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentProjectTopologyContext.java
deleted file mode 100644
index b1cf57c..0000000
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentProjectTopologyContext.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.context;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-import org.eclipse.wst.command.internal.env.context.PersistentContext;
-
-
-public class PersistentProjectTopologyContext extends PersistentContext implements ProjectTopologyContext
-{
-
-public PersistentProjectTopologyContext () 
-{
-	super( WebServicePlugin.getInstance());
-}
- public void load() {
-    String[] ids = ProjectTopologyDefaults.getClientTypes();
-    StringBuffer sb = new StringBuffer();
-    for (int i = 0; i < ids.length; i++)
-    {
-      if (i != 0)
-        sb.append(" ");
-      sb.append(ids[i]);
-    }
-    setDefault(PREFERENCE_CLIENT_TYPES, sb.toString());
-    setDefault(PREFERENCE_USE_TWO_EARS, ProjectTopologyDefaults.isUseTwoEARs());
- }
-
- public void setClientTypes(String[] ids)
- {
-   StringBuffer sb = new StringBuffer();
-   for (int i = 0; i < ids.length; i++)
-   {
-     if (i != 0)
-       sb.append(" ");
-     sb.append(ids[i]);
-   }
-   setValue(PREFERENCE_CLIENT_TYPES, sb.toString());
- }
-
- public String[] getClientTypes()
- {
-   StringTokenizer st = new StringTokenizer(getValueAsString(PREFERENCE_CLIENT_TYPES));
-   String[] s = new String[st.countTokens()];
-   for (int i = 0; i < s.length; i++)
-     s[i] = st.nextToken();
-   return s;
- }
-
- public void setUseTwoEARs(boolean use)
- {
-   setValue(PREFERENCE_USE_TWO_EARS, use);
- }
- public boolean isUseTwoEARs()
- {
-   return getValueAsBoolean(PREFERENCE_USE_TWO_EARS);
- }
-
- public ProjectTopologyContext copy() {
- 	TransientProjectTopologyContext context = new TransientProjectTopologyContext();
-	context.setClientTypes(getClientTypes());
-	context.setUseTwoEARs(isUseTwoEARs());
-	return context;
-}
-}
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java
index 8e6143a..e5ae338 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/PersistentScenarioContext.java
@@ -11,7 +11,9 @@
 
 package org.eclipse.jst.ws.internal.context;
 
+import java.util.Enumeration;
 import java.util.StringTokenizer;
+import java.util.Vector;
 
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestExtension;
 import org.eclipse.jst.ws.internal.ext.test.WebServiceTestRegistry;
@@ -44,23 +46,35 @@
     setDefaultStringIfNoDefault(PREFERENCE_WEBSERVICE_TYPE, defaults.webserviceTypeIdDefault() );
     setDefaultBooleanIfNoDefault(PREFERENCE_GENERATE_PROXY, defaults.generateProxyDefault() );
     setDefaultBooleanIfNoDefault(PREFERENCE_LAUNCH_WEBSERVICE_EXPLORER, defaults.launchWebserviceExplorerDefault() );
+    setDefaultBooleanIfNoDefault(PREFERENCE_INSTALL_WEBSERVICE, defaults.installWebserviceDefault() );
+    setDefaultBooleanIfNoDefault(PREFERENCE_INSTALL_CLIENT, defaults.installClientDefault() );
     setDefaultBooleanIfNoDefault(PREFERENCE_START_WEBSERVICE, defaults.startWebserviceDefault() );
     setDefaultBooleanIfNoDefault(PREFERENCE_TEST_WEBSERVICE, defaults.testWebserviceDefault() );
     setDefaultBooleanIfNoDefault(PREFERENCE_MONITOR_WEBSERVICE, defaults.getMonitorWebServiceDefault());
     setDefaultBooleanIfNoDefault(PREFERENCE_LAUNCH_SAMPLE, defaults.launchSample() );
   }
 
-  public String getNonJavaTestService()
+  public String[] getNonJavaTestService()
   {
     WebServiceTestRegistry registry = WebServiceTestRegistry.getInstance();
     String[] testTypes = getWebServiceTestTypes();
-    for (int i = 0; i < testTypes.length; i++)
+    Vector newTestCases = new Vector();
+	for (int i = 0; i < testTypes.length; i++)
     {
       WebServiceTestExtension wse = (WebServiceTestExtension) registry
           .getWebServiceExtensionsByName(testTypes[i]);
-      if (wse.testWSDL()) return testTypes[i];
+      if (wse.testWSDL()) 
+		  newTestCases.addElement(testTypes[i]);
     }
-    return "";
+	String[] wsdlTestArray = new String[newTestCases.size()];
+	Enumeration e = newTestCases.elements();
+	int i = 0;
+	while(e.hasMoreElements()){
+	  wsdlTestArray[i] = (String)e.nextElement();
+	  i++;
+	}
+	
+	return wsdlTestArray;
   }
   
   public void setWebServiceTestTypes(String[] ids)
@@ -155,6 +169,32 @@
   }
   
   /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getInstallWebService()
+   */
+  public boolean getInstallWebService()
+  {
+    return getValueAsBoolean(PREFERENCE_INSTALL_WEBSERVICE);
+  }
+  
+  public boolean getInstallWebServiceDefault()
+  {
+    return getDefaultBoolean(PREFERENCE_INSTALL_WEBSERVICE);
+  }
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getInstallWebService()
+   */
+  public boolean getInstallClient()
+  {
+    return getValueAsBoolean(PREFERENCE_INSTALL_CLIENT);
+  }
+  
+  public boolean getInstallClientDefault()
+  {
+    return getDefaultBoolean(PREFERENCE_INSTALL_CLIENT);
+  }
+  
+  /* (non-Javadoc)
    * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getTestWebService()
    */
   public boolean getTestWebService()
@@ -205,6 +245,22 @@
   }
   
   /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setInstallWebService(boolean)
+   */
+  public void setInstallWebService(boolean value)
+  {
+    setValue( PREFERENCE_INSTALL_WEBSERVICE, value);
+  }
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setInstallWebService(boolean)
+   */
+  public void setInstallClient(boolean value)
+  {
+    setValue( PREFERENCE_INSTALL_CLIENT, value);
+  }
+  
+  /* (non-Javadoc)
    * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setStartWebService(boolean)
    */
   public void setStartWebService(boolean value)
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ProjectTopologyContext.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ProjectTopologyContext.java
deleted file mode 100644
index 616d335..0000000
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ProjectTopologyContext.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.context;
-
-public interface ProjectTopologyContext 
-{
-  /**
-    * This constant String is used to lookup the preferred order of the different client types
-  **/
-  public static final String PREFERENCE_CLIENT_TYPES = "clientTypes";
-  
-  /**
-    * This constant String is used to lookup the two EAR option
-  **/
-  public static final String PREFERENCE_USE_TWO_EARS = "useTwoEARs";
-  
-  public void setClientTypes(String[] ids);
-  public String[] getClientTypes();
-
-  public void setUseTwoEARs(boolean use);
-  public boolean isUseTwoEARs();
-
-  public ProjectTopologyContext copy();
-}
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ProjectTopologyDefaults.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ProjectTopologyDefaults.java
deleted file mode 100644
index b20c609..0000000
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ProjectTopologyDefaults.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.context;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-
-public class ProjectTopologyDefaults
-{
-  public static final String[] getClientTypes()
-  {
-    IExtensionRegistry reg = Platform.getExtensionRegistry();
-    IConfigurationElement[] elements = reg.getConfigurationElementsFor("org.eclipse.jst.ws.consumption.ui", "clientProjectType");
-    String[] types = new String[elements.length];
-    for (int i = 0; i < types.length; i++)
-      types[i] = elements[i].getAttribute("id");
-    return types;
-  }
-
-  public static final boolean isUseTwoEARs()
-  {
-    return true;
-  }
-}
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioContext.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioContext.java
index 9bcbd24..a5c07f0 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioContext.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioContext.java
@@ -20,6 +20,10 @@
   
   public final String PREFERENCE_START_WEBSERVICE = "startWebService";
   
+  public final String PREFERENCE_INSTALL_WEBSERVICE = "installWebService";
+  
+  public final String PREFERENCE_INSTALL_CLIENT = "installClient";
+  
   public final String PREFERENCE_LAUNCH_WEBSERVICE_EXPLORER = "launchWebServiceExplorer";
   
   public final String PREFERENCE_GENERATE_PROXY = "generateProxy";
@@ -35,12 +39,20 @@
   public String[] getWebServiceTestTypes();
   public void setWebServiceTestTypes(String[] testTypes);
   
-  public String getNonJavaTestService();
+  public String[] getNonJavaTestService();
   
   public String getWebServiceType();
   public String getWebServiceTypeDefault();
   public void   setWebServiceType( String value );
   
+  public boolean getInstallWebService();
+  public boolean getInstallWebServiceDefault();
+  public void    setInstallWebService( boolean value );
+  
+  public boolean getInstallClient();
+  public boolean getInstallClientDefault();
+  public void    setInstallClient( boolean value );
+    
   public boolean getStartWebService();
   public boolean getStartWebServiceDefault();
   public void    setStartWebService( boolean value );
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioDefaults.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioDefaults.java
index a7aeb25..cf4c314 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioDefaults.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/ScenarioDefaults.java
@@ -57,7 +57,7 @@
   
   public String webserviceTypeIdDefault()
   {
-    return "0/org.eclipse.jst.ws.type.java";
+    return "0/org.eclipse.jst.ws.wsImpl.java";
   }
   
   public boolean startWebserviceDefault()
@@ -65,6 +65,16 @@
     return true;
   }
   
+  public boolean installWebserviceDefault()
+  {
+    return true;
+  }
+  
+  public boolean installClientDefault()
+  {
+    return true;
+  }
+  
   public boolean launchWebserviceExplorerDefault()
   {
     return false;
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/TransientProjectTopologyContext.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/TransientProjectTopologyContext.java
deleted file mode 100644
index e4a289b..0000000
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/TransientProjectTopologyContext.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.context;
-
-
-public class TransientProjectTopologyContext implements ProjectTopologyContext
-{
- private String[] clientTypes;
- private boolean twoEARs;
- 
- public TransientProjectTopologyContext () {}
-
- public void setClientTypes(String[] clientTypes)
- {
-   this.clientTypes = clientTypes;
- }
- public String[] getClientTypes()
- {
-   return clientTypes;
- }
-
- public void setUseTwoEARs(boolean use)
- {
-   this.twoEARs = use;
- }
- public boolean isUseTwoEARs()
- {
-   return twoEARs;
- }
-
- public ProjectTopologyContext copy() {
- 	TransientProjectTopologyContext context = new TransientProjectTopologyContext();
-	context.setClientTypes(getClientTypes());
-	context.setUseTwoEARs(isUseTwoEARs());
-	return context;
- }
-}
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/TransientScenarioContext.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/TransientScenarioContext.java
index 8730619..43f589d 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/TransientScenarioContext.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/context/TransientScenarioContext.java
@@ -14,8 +14,10 @@
 public class TransientScenarioContext implements ScenarioContext
 {
   private String[] webServiceTestTypes;
-  private String   nonJavaTestService;
+  private String[] nonJavaTestService;
   private String   webServiceType_;
+  private boolean  installWebService_;
+  private boolean  installClient_;
   private boolean  startWebService_;
   private boolean  launchWebServiceExplorer_;
   private boolean  generateProxy_;
@@ -28,12 +30,12 @@
  
   public TransientScenarioContext () {}
 
-  public String getNonJavaTestService()
+  public String[] getNonJavaTestService()
   {
     return nonJavaTestService;
   }
  
-  public void setNonJavaTestService(String nonJavaTestService)
+  public void setNonJavaTestService(String[] nonJavaTestService)
   {
     this.nonJavaTestService = nonJavaTestService;	
   }
@@ -57,6 +59,8 @@
 	context.setClientWebServiceType( getClientWebServiceType() );
 	context.setGenerateProxy( getGenerateProxy() );
 	context.setLaunchWebServiceExplorer( getLaunchWebServiceExplorer() );
+	context.setInstallWebService( getInstallWebService() );
+	context.setInstallClient( getInstallClient() );
 	context.setStartWebService( getStartWebService() );
 	context.setTestWebService( getTestWebService() );
 	context.setMonitorWebService(getMonitorWebService());
@@ -95,6 +99,28 @@
   public boolean getLaunchWebServiceExplorerDefault(){ return defaults.launchWebserviceExplorerDefault(); }
   
   /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getInstallWebService()
+   */
+  public boolean getInstallWebService()
+  {
+    return installWebService_;
+  }
+  
+  public boolean getInstallWebServiceDefault(){ return defaults.installWebserviceDefault(); }
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getInstallWebService()
+   */
+  public boolean getInstallClient()
+  {
+    return installClient_;
+  }
+  
+  public boolean getInstallClientDefault(){ return defaults.installClientDefault(); }
+  
+  
+  
+  /* (non-Javadoc)
    * @see org.eclipse.jst.ws.internal.context.ScenarioContext#getStartWebService()
    */
   public boolean getStartWebService()
@@ -149,6 +175,22 @@
   }
   
   /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setInstallWebService(boolean)
+   */
+  public void setInstallWebService(boolean value)
+  {
+    installWebService_ = value;
+  }
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setInstallWebService(boolean)
+   */
+  public void setInstallClient(boolean value)
+  {
+    installClient_ = value;
+  }
+  
+  /* (non-Javadoc)
    * @see org.eclipse.jst.ws.internal.context.ScenarioContext#setStartWebService(boolean)
    */
   public void setStartWebService(boolean value)
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/dialog/IStatusDialogConstants.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/dialog/IStatusDialogConstants.java
index 687bfeb..5831b23 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/dialog/IStatusDialogConstants.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/dialog/IStatusDialogConstants.java
@@ -11,16 +11,11 @@
 
 package org.eclipse.jst.ws.internal.dialog;
 
-import org.eclipse.jst.ws.internal.plugin.WebServicePlugin;
-
 /**
 * Constants for status dialogs
 */
 public interface IStatusDialogConstants {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2002.";
-
   /*
   * Button ID for the "Yes" button
   */
@@ -42,16 +37,4 @@
   */
   public static final int DETAILS_ID = 13;
 
-  /*
-  * Button label for the "Yes" button
-  */
-  public static final String YES_LABEL = WebServicePlugin.getMessage("%STATUS_DIALOG_YES_LABEL");
-  /*
-  * Button label for the "Yes to all" button
-  */
-  public static final String YES_TO_ALL_LABEL = WebServicePlugin.getMessage("%STATUS_DIALOG_YES_TO_ALL_LABEL");
-  /*
-  * Button label for the "Cancel" button
-  */
-  public static final String CANCEL_LABEL = WebServicePlugin.getMessage("%STATUS_DIALOG_CANCEL_LABEL");
 }
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExecutable.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExecutable.java
index 37326bf..9660fbb 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExecutable.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExecutable.java
@@ -11,6 +11,8 @@
 
 package org.eclipse.jst.ws.internal.ext;
 
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
 /**
 * All Extensions with exectutable extensions should implement this 
 * to fit our framework
@@ -23,7 +25,7 @@
   *Returns a wizard fragment for this exention type 
   *
   */
-  public WebServiceFinishCommand getFinishCommand();
+  public AbstractDataModelOperation getFinishCommand();
 }
 
 
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionImpl.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionImpl.java
index 1c16bb4..7d9d92f 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionImpl.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionImpl.java
@@ -13,8 +13,8 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
 
 
 
@@ -27,7 +27,7 @@
 public class WebServiceExtensionImpl implements WebServiceExtension
 {
 
-	private Log	log_;
+	private ILog	log_;
 	
   /*
   * The ConfigElement that holds extension info
@@ -43,7 +43,7 @@
   public WebServiceExtensionImpl(IConfigurationElement configElement)
   {
     configElement_ = configElement;
-    log_ = new EclipseLog();
+    log_ = EnvironmentService.getEclipseLog();
   }
 
   // Copyright
@@ -61,7 +61,7 @@
     try{
       return configElement_.createExecutableExtension("class");
     }catch (CoreException e){
-      log_.log(Log.ERROR, 5029, this, "getWebServiceExecutableExtension",e);
+      log_.log(ILog.ERROR, 5029, this, "getWebServiceExecutableExtension",e);
     }
 
     return null;
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionRegistryImpl.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionRegistryImpl.java
index 2f53fd2..5a9456f 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionRegistryImpl.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceExtensionRegistryImpl.java
@@ -13,7 +13,6 @@
 
 import java.util.Hashtable;
 import java.util.Vector;
-
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.jst.ws.internal.data.LabelsAndIds;
 
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceFinishCommand.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceFinishCommand.java
deleted file mode 100644
index f57cb14..0000000
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/WebServiceFinishCommand.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
-* <copyright>
-*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2000, 2002 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*
-* </copyright>
-*/
-
-package org.eclipse.jst.ws.internal.ext;
-
-import org.eclipse.wst.command.internal.provisional.env.core.Command;
-
-public interface WebServiceFinishCommand extends Command
-{
-}
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/JavaProxyTestCommand.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/JavaProxyTestCommand.java
index 15c387e..4eae341 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/JavaProxyTestCommand.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/JavaProxyTestCommand.java
@@ -1,17 +1,17 @@
-/**
-* <copyright>
-*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2000, 2002 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*
-* </copyright>
-*/
+/*******************************************************************************
+ * Copyright (c) 2000, 2002 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
+ *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.ext.test;
 
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
 
 public interface JavaProxyTestCommand extends WebServiceTestFinishCommand
 {
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WSDLTestFinishCommand.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WSDLTestFinishCommand.java
index 2523dcf..1b29e53 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WSDLTestFinishCommand.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WSDLTestFinishCommand.java
@@ -1,13 +1,13 @@
-/**
-* <copyright>
-*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2000, 2002 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*
-* </copyright>
-*/
+/*******************************************************************************
+ * Copyright (c) 2000, 2002 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
+ *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.ext.test;
 
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WebServiceTestFinishCommand.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WebServiceTestFinishCommand.java
index 0e87ff5..7419367 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WebServiceTestFinishCommand.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/ext/test/WebServiceTestFinishCommand.java
@@ -1,22 +1,20 @@
-/**
-* <copyright>
-*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2000, 2002 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*
-* </copyright>
-*/
+/*******************************************************************************
+ * Copyright (c) 2000, 2002 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
+ *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.ext.test;
 
 import java.util.List;
-
-import org.eclipse.jst.ws.internal.ext.WebServiceFinishCommand;
 import org.eclipse.wst.server.core.IServer;
 
-public interface WebServiceTestFinishCommand extends WebServiceFinishCommand
+public interface WebServiceTestFinishCommand 
 {
 
   /**
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/plugin/WebServicePlugin.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/plugin/WebServicePlugin.java
index 166072a..6ebdb3e 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/plugin/WebServicePlugin.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/plugin/WebServicePlugin.java
@@ -12,17 +12,14 @@
 package org.eclipse.jst.ws.internal.plugin;
 
 import java.text.MessageFormat;
-
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jst.ws.internal.context.PersistentProjectTopologyContext;
 import org.eclipse.jst.ws.internal.context.PersistentScenarioContext;
 import org.eclipse.jst.ws.internal.context.PersistentUDDIPreferenceContext;
-import org.eclipse.jst.ws.internal.context.ProjectTopologyContext;
 import org.eclipse.jst.ws.internal.context.ScenarioContext;
 import org.eclipse.jst.ws.internal.context.UDDIPreferenceContext;
 import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
 
 
 /**
@@ -46,7 +43,6 @@
 
   private PersistentResourceContext resourceContext_;
   private PersistentScenarioContext scenarioContext_;
-  private PersistentProjectTopologyContext projectTopologyContext_;
   private PersistentUDDIPreferenceContext uddiPreferenceContext;
   
   /**
@@ -69,7 +65,6 @@
 
   protected void initializeDefaultPluginPreferences() 
   {
-  		((PersistentProjectTopologyContext) getProjectTopologyContext()).load();
   		((PersistentUDDIPreferenceContext) getUDDIPreferenceContext()).load();
   }
 
@@ -90,14 +85,6 @@
 
 		return scenarioContext_;
   }
-
-  public ProjectTopologyContext getProjectTopologyContext()
-  {
-    if (projectTopologyContext_ == null)
-      projectTopologyContext_ = new PersistentProjectTopologyContext();
-    return projectTopologyContext_;
-  }
-
   
   public UDDIPreferenceContext getUDDIPreferenceContext()
   {
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/plugin.properties b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/plugin.properties
deleted file mode 100644
index 29bdaaf..0000000
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 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
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-
-MSG_ERROR_SERVER=IWAB0213E Error in starting server.
diff --git a/bundles/org.eclipse.wst.command.env.core/.cvsignore b/bundles/org.eclipse.wst.command.env.core/.cvsignore
index d8590af..b46ce70 100644
--- a/bundles/org.eclipse.wst.command.env.core/.cvsignore
+++ b/bundles/org.eclipse.wst.command.env.core/.cvsignore
@@ -3,3 +3,5 @@
 runtime
 temp.folder
 envcore.jar
+@dot
+src.zip
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 cbada8b..8e20a34 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,17 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.command.env.core
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.command.env.core,
- org.eclipse.wst.command.internal.env.core.data,
+Export-Package: org.eclipse.wst.command.internal.env.core.data,
  org.eclipse.wst.command.internal.env.core.fragment,
  org.eclipse.wst.command.internal.env.core.registry,
- org.eclipse.wst.command.internal.env.core.uri.file,
- org.eclipse.wst.command.internal.provisional.env.core,
- org.eclipse.wst.command.internal.provisional.env.core.common,
- org.eclipse.wst.command.internal.provisional.env.core.context,
- org.eclipse.wst.command.internal.provisional.env.core.data,
- org.eclipse.wst.command.internal.provisional.env.core.selection,
- org.eclipse.wst.command.internal.provisional.env.core.uri
+ org.eclipse.wst.command.internal.env.core,
+ org.eclipse.wst.command.internal.env.core.common,
+ org.eclipse.wst.command.internal.env.core.context,
+ org.eclipse.wst.command.internal.env.core.selection,
+ org.eclipse.wst.command.internal.env.core.uri
+Require-Bundle: org.eclipse.wst.common.frameworks,
+ org.eclipse.core.commands,
+ org.eclipse.core.runtime,
+ org.eclipse.wst.common.environment
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/env/core/environment.properties b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/env/core/environment.properties
deleted file mode 100644
index b1d7769..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/env/core/environment.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-
-#
-# Messages for SimpleURIFactory
-#
-MSG_NULL_ARG_SPECIFIED=Null specified as argument to {0}.
-MSG_SCHEME_NOT_FOUND=Scheme not found for URI {0}.
-MSG_ABSOLUTE_PATH_WITHOUT_SCHEME=Absolute path specified without a scheme for URI {0}.
-
-#
-# Common Messages
-#
-MSG_URI_NOT_RELATIVE=URL: {0} is not relative.
-MSG_ERROR_UNEXPECTED_ERROR=IWAB0014E Unexpected exception occured.
-
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/CommandFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/CommandFactory.java
new file mode 100644
index 0000000..0957e6d
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/CommandFactory.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core;
+
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+/**
+ * This interface is used to create Command objects.
+ *
+ */
+public interface CommandFactory 
+{
+  /**
+   * 
+   * @return returns a created Command object.
+   */
+  public AbstractDataModelOperation create();
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/CommandManager.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/CommandManager.java
new file mode 100644
index 0000000..19da219
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/CommandManager.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core;
+
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+
+/**
+ * CommandManagers help manage the lifecycle of Commands.
+ */
+public interface CommandManager
+{
+  /**
+   * Returns true if this CommandManager is capable of undoing
+   * Commands. Some CommandManagers and Environments may be of
+   * a sort that will never undo() Commands. Command.execute()
+   * methods should take advantage of this method to optimize
+   * out any caching logic whenever this method returns false.
+   */
+  public boolean isUndoEnabled ();
+
+  // There's probably more, like factory methods for creating
+  // Undo/Redo stacks and stuff like that.
+  
+  public DataMappingRegistry getMappingRegistry();
+}
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
new file mode 100644
index 0000000..429c18e
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCore.properties
@@ -0,0 +1,19 @@
+###############################################################################
+# Copyright (c) 2001, 2004 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
+###############################################################################
+
+#
+# Common Messages
+#
+MSG_ERROR_UNEXPECTED_ERROR=IWAB0014E Unexpected exception occured.
+
+TITLE_WARNING=Warning:
+TITLE_ERROR=Error:
+TITLE_INFO=Info:
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCoreMessages.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCoreMessages.java
new file mode 100644
index 0000000..94581af
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCoreMessages.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class EnvironmentCoreMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.wst.command.internal.env.core.EnvironmentCore";//$NON-NLS-1$
+
+	private EnvironmentCoreMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_UNEXPECTED_ERROR;
+	public static String TITLE_WARNING;
+	public static String TITLE_ERROR;
+	public static String TITLE_INFO;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, EnvironmentCoreMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/ICommandFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/ICommandFactory.java
new file mode 100644
index 0000000..182a28b
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/ICommandFactory.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.command.internal.env.core;
+
+import java.util.Iterator;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+
+/**
+ * 
+ * This class is used to return a sequence of Commands.
+ *
+ */
+public interface ICommandFactory extends Iterator 
+{
+  /**
+   * 
+   * @return returns the next Command in the sequence.
+   */
+  public AbstractDataModelOperation getNextCommand();
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/SimpleCommandFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/SimpleCommandFactory.java
new file mode 100644
index 0000000..75fdc4a
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/SimpleCommandFactory.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.command.internal.env.core;
+
+import java.util.Vector;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+
+public class SimpleCommandFactory implements ICommandFactory 
+{
+    private Vector commands_;
+	private int    index_;
+	
+	public SimpleCommandFactory( Vector commands )
+	{
+	  commands_ = commands;
+	  index_    = 0;
+	}
+	
+	public AbstractDataModelOperation getNextCommand() 
+	{
+		return (AbstractDataModelOperation)next();
+	}
+
+	public void remove() 
+	{
+      throw new UnsupportedOperationException();
+	}
+
+	public boolean hasNext() 
+	{
+		return index_ < commands_.size();
+	}
+
+	public Object next() 
+	{
+		return commands_.elementAt(index_++);
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Condition.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Condition.java
new file mode 100644
index 0000000..6d5b180
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Condition.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.common;
+
+/**
+ * This interface defines a boolean condition that can be evaluated for any object.
+ */
+public interface Condition
+{
+  /**
+   * This returns whether the given object passes this condition.
+   */
+  public boolean evaluate();
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Evaluate.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Evaluate.java
new file mode 100644
index 0000000..0dcb74e
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Evaluate.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.common;
+
+/**
+  * This interface can be used when a conditional object needs to be returned.
+**/
+public interface Evaluate
+{
+  /**
+    * @return returns an object based on some evaluated condition.
+  **/
+  public Object evaluate();
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/MessageUtils.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/MessageUtils.java
new file mode 100644
index 0000000..aa7bb59
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/MessageUtils.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.common;
+
+import java.text.MessageFormat;
+import java.util.Hashtable;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * This class provides a convienent way to access resource bundles and
+ * retieve translated strings.
+ *
+ *
+ */
+public class MessageUtils
+{
+  private ResourceBundle resource_;
+  
+  private static Hashtable bundles_ = new Hashtable();
+  
+  /**
+   * 
+   * @param bundleId the resource bundle ID.
+   * @param object the class loader for this object will be used to retrieve
+   *               the resource bundle.
+   */
+  public MessageUtils( String bundleId, Object object )
+  {
+    this( bundleId, object.getClass().getClassLoader() );
+  }
+  
+  /**
+   * 
+   * @param bundleId the resource bundle ID.
+   * @param loader the class loader that will be used to retrieve
+   *               the resource bundle.
+   */
+  public MessageUtils( String bundleId, ClassLoader loader )
+  {
+    resource_ = (ResourceBundle)bundles_.get( bundleId );
+    
+    if( resource_ == null )
+    {
+      resource_ = ResourceBundle.getBundle( bundleId, Locale.getDefault(), loader );
+      bundles_.put( bundleId, resource_ );
+    }
+  }
+  
+  /**
+   * 
+   * @param key the key for the string to retrieve.
+   * @return returns the translated string.
+   */
+  public String getMessage ( String key )
+  {
+    String value = key;
+    
+    try
+    {
+      value = resource_.getString( key ); 
+    }
+    catch( Throwable exc )
+    {
+    }
+    
+    return value;
+  }
+  
+  /**
+   * 
+   * @param key the key for the string to retrieve.
+   * @param args These arguments will be substituted into the translated string.
+   * @return returns the translated string with any substitutions.
+   */
+  public String getMessage ( String key, Object[] args )
+  {
+    return MessageFormat.format( getMessage(key),args );
+  } 
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/ProgressUtils.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/ProgressUtils.java
new file mode 100644
index 0000000..4028caa
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/ProgressUtils.java
@@ -0,0 +1,22 @@
+/***************************************************************************************************
+ * Copyright (c) 2003, 2005 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
+ **************************************************************************************************/
+package org.eclipse.wst.command.internal.env.core.common;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+public class ProgressUtils
+{
+  static public void report( IProgressMonitor monitor, String message )
+  {
+    if( monitor != null ) 
+    {
+       monitor.beginTask( message, IProgressMonitor.UNKNOWN );
+    }
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Range.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Range.java
new file mode 100644
index 0000000..2e98b4b
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/Range.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.common;
+
+import org.eclipse.wst.common.environment.uri.IURI;
+
+/**
+ * Carries position information within a resource.
+ */
+public interface Range
+{
+  public static final int UNKNOWN = -1;
+
+  /**
+   * Returns the identifier of the resource the range applies to.
+   */
+  public IURI getURI ();
+
+  /**
+   * Returns the index, zero-indexed, of the first line
+   * of the range.
+   */
+  public int getStartingLineNumber ();
+
+  /**
+   * Returns the index, zero-indexed, of the first character
+   * of the range relative to the beginning of the line.
+   */
+  public int getStartingCharNumberInLine ();
+
+  /**
+   * Returns the index, zero-indexed, of the first character
+   * of the range relative to the beginning of the file.
+   */
+  public int getStartingCharNumberInURI ();
+
+  /**
+   * Returns the index, zero-indexed, of the last line
+   * of the range.
+   */
+  public int getEndingLineNumber ();
+
+  /**
+   * Returns the offset, zero-indexed, of the last character
+   * of the range relative to the beginning of the line.
+   */
+  public int getEndingCharNumberInLine ();
+
+  /**
+   * Returns the index, zero-indexed, of the last character
+   * of the range relative to the beginning of the file.
+   */
+  public int getEndingCharNumberInURI ();
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/RangeVector.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/RangeVector.java
new file mode 100644
index 0000000..3f86edf
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/RangeVector.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.common;
+
+import java.util.Vector;
+
+/**
+ * This Vector makes the protected method removeRange public.
+ *
+ */
+public class RangeVector extends Vector
+{
+  /**
+   * Comment for <code>serialVersionUID</code>
+   */
+  private static final long serialVersionUID = 4048793476659230773L;
+
+  public void removeRange( int start, int end )
+  {
+    super.removeRange( start, end );
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/StatusUtils.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/StatusUtils.java
new file mode 100644
index 0000000..a03a572
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/common/StatusUtils.java
@@ -0,0 +1,58 @@
+/***************************************************************************************************
+ * Copyright (c) 2003, 2005 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
+ **************************************************************************************************/
+package org.eclipse.wst.command.internal.env.core.common;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+
+public class StatusUtils
+{
+  public static IStatus errorStatus( String errorMessage )
+  {
+    return new Status( IStatus.ERROR, "id", 0, errorMessage, null );
+  }
+  
+  public static IStatus errorStatus( Throwable exc )
+  {
+    String message = exc.getMessage();
+    
+    return new Status( IStatus.ERROR, "id", 0, message == null ? "" : message, exc );
+  }
+  
+  public static IStatus errorStatus( String message, Throwable exc )
+  {
+    return new Status( IStatus.ERROR, "id", 0, message, exc );
+  }
+  
+  public static MultiStatus multiStatus( String message, IStatus[] children, Throwable exc )
+  {
+    return new MultiStatus( "id", 0, children, message, exc );  
+  }
+  
+  public static MultiStatus multiStatus( String message, IStatus[] children )
+  {
+    return new MultiStatus( "id", 0, children, message, null );  
+  }
+  
+  public static IStatus warningStatus( String warningMessage )
+  {
+    return new Status( IStatus.WARNING, "id", 0, warningMessage, null );
+  }
+  
+  public static IStatus warningStatus( String warningMessage, Throwable exc )
+  {
+    return new Status( IStatus.WARNING, "id", 0, warningMessage, exc );
+  }
+  
+  public static IStatus infoStatus( String infoMessage )
+  {
+    return new Status( IStatus.INFO, "id", 0, infoMessage, null );
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/Context.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/Context.java
new file mode 100644
index 0000000..d38351b
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/Context.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.context;
+
+/**
+ * This interface provides a way to get and set preference information.
+ *
+ */
+public interface Context 
+{
+ /**
+  * Loads the preference data into this Context object.
+  *
+  */
+ public void load();
+
+ /**
+  * Sets the default for a boolean preference.
+  * @param name the preference name.
+  * @param value the preference value.
+  */
+ public void setDefault (String name, boolean value); 
+ 
+ /**
+  * Sets the default for a string preference.
+  * @param name the preference name.
+  * @param value the preference value.
+  */
+ public void setDefault (String name, String value);
+ 
+ /**
+  * Sets the default for a int preference.
+  * @param name the preference name.
+  * @param value the preference value.
+  */
+ public void setDefault (String name, int value); 
+
+ /**
+  * Sets the value for a string preference.
+  * @param name the preference name.
+  * @param value the preference value.
+  */
+ public void setValue (String name, String value);
+ 
+ /**
+  * Sets the value for a boolean preference.
+  * @param name the preference name.
+  * @param value the preference value.
+  */
+ public void setValue (String name, boolean value);
+ 
+ /**
+  * Sets the value for a int preference.
+  * @param name the preference name.
+  * @param value the preference value.
+  */
+ public void setValue (String name, int value);   
+
+ /**
+  * Gets the value for a string preference.
+  * @param name the preference name.
+  * @return the preference value.
+  */
+ public String getValueAsString ( String name);
+ 
+ /**
+  * Gets the value for a boolean preference.
+  * @param name the preference name.
+  * @return the preference value.
+  */
+ public boolean getValueAsBoolean ( String name);
+ 
+ /**
+  * Gets the value for a int preference.
+  * @param name the preference name.
+  * @return the preference value.
+  */
+ public int getValueAsInt ( String name);  		
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/ResourceContext.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/ResourceContext.java
new file mode 100644
index 0000000..b36ecc2
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/ResourceContext.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.context;
+
+public interface ResourceContext 
+{
+ /**
+   * This constant string is used to lookup the overwrite files general preference from
+   * the plugins local preferences store.
+ **/
+ public static final String PREFERENCE_OVERWRITE = "filesOverwrite";
+
+ /**
+   * This constant string is used to lookup the create folders general preference from
+   * the plugins local preferences store.
+ **/
+ public static final String PREFERENCE_CREATE_FOLDERS = "createFolders";
+ 
+ /**
+   * This constant string is used to lookup the checkout files general preference from
+   * the plugins local preferences store.
+ **/
+ public static final String PREFERENCE_CHECKOUT = "filesCheckout";
+
+ /**
+  * 
+  * @param enable set whether overwriting of files is enabled.
+  */
+ public void setOverwriteFilesEnabled ( boolean enable);
+ 
+ /**
+  * 
+  * @return returns whether overwriting of files is enabled.
+  */
+ public boolean isOverwriteFilesEnabled();
+ 
+ /**
+  * 
+  * @param enable set whether creation of folders is enabled.
+  */
+ public void setCreateFoldersEnabled( boolean enable);
+ 
+ /**
+  * 
+  * @return returns whether creation of folders is enabled.
+  */
+ public boolean isCreateFoldersEnabled(); 
+ 
+ /**
+  * 
+  * @param enable sets whether automatic checkout of files is enabled.
+  */
+ public void setCheckoutFilesEnabled( boolean enable);
+ 
+ /**
+  * 
+  * @return returns whether automatic checkout of files is enabled.
+  */
+ public boolean isCheckoutFilesEnabled();
+ 
+ /**
+  * 
+  * @return returns a copy of this ResourceContext.
+  */
+ public ResourceContext copy();
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/ResourceDefaults.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/ResourceDefaults.java
new file mode 100644
index 0000000..dad8026
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/ResourceDefaults.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.context;
+
+public class ResourceDefaults
+{
+ private static final boolean PREFERENCE_OVERWRITE_DEFAULT = false;
+ private static final boolean PREFERENCE_CREATE_FOLDERS_DEFAULT = true;
+ private static final boolean PREFERENCE_CHECKOUT_DEFAULT = false;
+
+ /**
+  * 
+  * @return returns the default setting for overwriting files.
+  */
+ public static boolean getOverwriteFilesDefault ()
+ {
+ 	return PREFERENCE_OVERWRITE_DEFAULT;
+ }
+ 
+ /**
+  * 
+  * @return returns the default setting ofr creating folders.
+  */
+ public static boolean getCreateFoldersDefault ()
+ { 
+	return PREFERENCE_CREATE_FOLDERS_DEFAULT;
+ }
+
+ /**
+  * 
+  * @return returns the default setting for checking out files.
+  */
+ public static boolean getCheckoutFilesDefault()
+ {
+	return PREFERENCE_CHECKOUT_DEFAULT;
+ }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/TransientResourceContext.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/TransientResourceContext.java
new file mode 100644
index 0000000..1dffa02
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/context/TransientResourceContext.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.context;
+
+/**
+ * This class implements a ResourceContext interface where the state
+ * of the context data is transient.
+ *
+ */
+public class TransientResourceContext implements ResourceContext 
+{
+  private boolean overWriteFiles;
+  private boolean createFolders;
+  private boolean checkOutFiles;
+
+  public TransientResourceContext() {
+    setOverwriteFilesEnabled(ResourceDefaults.getOverwriteFilesDefault());
+    setCreateFoldersEnabled(ResourceDefaults.getCreateFoldersDefault());
+    setCheckoutFilesEnabled(ResourceDefaults.getCheckoutFilesDefault());
+  }
+
+  /**  
+   * @see org.eclipse.wst.command.internal.env.core.context.ResourceContext#setOverwriteFilesEnabled(boolean)
+   */
+  public void setOverwriteFilesEnabled(boolean enable) {
+    overWriteFiles = enable;
+  }
+  
+  /**  
+   * @see org.eclipse.wst.command.internal.env.core.context.ResourceContext#isOverwriteFilesEnabled()
+   */
+  public boolean isOverwriteFilesEnabled() {
+    return overWriteFiles;
+  }
+
+  /**  
+   * @see org.eclipse.wst.command.internal.env.core.context.ResourceContext#setCreateFoldersEnabled(boolean)
+   */
+  public void setCreateFoldersEnabled(boolean enable) {
+    createFolders = enable;
+  }
+  
+  /**  
+   * @see org.eclipse.wst.command.internal.env.core.context.ResourceContext#isCreateFoldersEnabled()
+   */
+  public boolean isCreateFoldersEnabled() {
+    return createFolders;
+  }
+
+  /**  
+   * @see org.eclipse.wst.command.internal.env.core.context.ResourceContext#setCheckoutFilesEnabled(boolean)
+   */
+  public void setCheckoutFilesEnabled(boolean enable) {
+    checkOutFiles = enable;
+  }
+  
+  /**  
+   * @see org.eclipse.wst.command.internal.env.core.context.ResourceContext#isCheckoutFilesEnabled()
+   */
+  public boolean isCheckoutFilesEnabled() {
+    return checkOutFiles;
+  }
+  
+  /**  
+   * @see org.eclipse.wst.command.internal.env.core.context.ResourceContext#copy()
+   */
+  public ResourceContext copy() {
+    ResourceContext cc = new TransientResourceContext();
+    cc.setOverwriteFilesEnabled(isOverwriteFilesEnabled());
+    cc.setCreateFoldersEnabled(isCreateFoldersEnabled());
+    cc.setCheckoutFilesEnabled(isCheckoutFilesEnabled());
+    return cc;
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/BeanModifier.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/BeanModifier.java
new file mode 100644
index 0000000..d56fc66
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/BeanModifier.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.data;
+
+public interface BeanModifier {
+
+	/**
+	 * Performs modification on bean properties using data provided
+	 * @param bean  The bean to be modified
+	 * @param propertyHolder The data to use to make the modification
+	 */
+	public void modify(Object bean, Object propertyHolder);
+	
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java
index 0262a5b..30ce90f 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataFlowManager.java
@@ -15,11 +15,8 @@
 import java.lang.reflect.Modifier;
 import java.util.Hashtable;
 import java.util.Vector;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
 
 
 public class DataFlowManager 
@@ -27,9 +24,9 @@
   private DataMappingRegistryImpl registry_;
   private Hashtable               classTable_;
   private int                     order_;
-  private Environment				environment_;
+  private IEnvironment				environment_;
   
-  public DataFlowManager( DataMappingRegistryImpl registry, Environment environment )
+  public DataFlowManager( DataMappingRegistryImpl registry, IEnvironment environment )
   {
     registry_   = registry;
     classTable_ = new Hashtable();
@@ -48,7 +45,7 @@
     String     objectType = object.getClass().getName();
     ClassEntry classEntry = (ClassEntry)classTable_.get( objectType );
 	
-    environment_.getLog().log(Log.INFO, "data", 5004, this, "process", "Processing: " + objectType );
+    environment_.getLog().log(ILog.INFO, "data", 5004, this, "process", "Processing: " + objectType );
     
     if( classEntry == null )
     {
@@ -94,7 +91,7 @@
             
             if( getter.order == -1 )
             {
-            	environment_.getLog().log(Log.INFO , "data", 5005, this, "process", "  >>No getter found for property: " + setterMethod.getName());
+            	environment_.getLog().log(ILog.INFO , "data", 5005, this, "process", "  >>No getter found for property: " + setterMethod.getName());
             }
             
             if( currentObjectMethod.order < getter.order ) 
@@ -116,7 +113,7 @@
         }
         else
         {
-        	environment_.getLog().log(Log.INFO, "data", 5006, this, "process", "  >>No rule found for setter: " + setterMethod.getName() );
+        	environment_.getLog().log(ILog.INFO, "data", 5006, this, "process", "  >>No rule found for setter: " + setterMethod.getName() );
         }
       }
     }   
@@ -238,7 +235,7 @@
                                         "\" threw an exception." );
   	}
   	
-  	environment_.getLog().log(Log.INFO, "data", 5007, this, "invokeMethod ","  Setting prop: " + clientMethod.getName() + " data=" + data + " from: " + sourceObject.getClass().getName() );
+  	environment_.getLog().log(ILog.INFO, "data", 5007, this, "invokeMethod ","  Setting prop: " + clientMethod.getName() + " data=" + data + " from: " + sourceObject.getClass().getName() );
   	
   	
   	if( transformer != null )
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistry.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistry.java
new file mode 100644
index 0000000..99da37a
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistry.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.data;
+
+public interface DataMappingRegistry
+{
+  /**
+   * This method adds a data mapping from a source object to a target
+   * object.  When the sourceObject is encountered by the framework the
+   * sourceProperty will be called and the data will be passed to the
+   * targetProperty in the targetObject.  If a transformer object is
+   * specified the sourceObject is transformed before being passed to
+   * the target object.
+   * 
+   * @param sourceType      The source object.
+   * @param sourceProperty  The source property.
+   * @param targetType      The target object.
+   * @param targetProperty  The target property.
+   * @param transformer     The transformer object that transforms the
+   *                        the source object.
+   */
+  public void addMapping( Class       sourceType,
+						  String      sourceProperty,
+						  Class       targetType,
+						  String      targetProperty,
+						  Transformer transformer );
+  
+  /**
+   * This method is equivalent to the above with targetProperty the same
+   * as the sourceProperty and with the transformer set to null.
+   * 
+   * @param sourceType     The source object.
+   * @param sourceProperty The source property.
+   * @param targetType     The target object.
+   */
+  public void addMapping( Class       sourceType,
+	                      String      sourceProperty,
+	                      Class       targetType );
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java
index c6d3426..7bea577 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/DataMappingRegistryImpl.java
@@ -13,9 +13,6 @@
 import java.util.Hashtable;
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
-
 
 public class DataMappingRegistryImpl implements DataMappingRegistry
 {  
@@ -27,7 +24,7 @@
   }
   
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry#addMapping(java.lang.Class, java.lang.String, java.lang.Class, java.lang.String, org.eclipse.wst.command.internal.provisional.env.core.data.Transformer)
+   * @see org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry#addMapping(java.lang.Class, java.lang.String, java.lang.Class, java.lang.String, org.eclipse.wst.command.internal.env.core.data.Transformer)
    */
   public void addMapping( Class sourceType, String sourceProperty,
                           Class targetType, String targetProperty, 
@@ -111,7 +108,7 @@
 //  }
   
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry#addMapping(java.lang.Class, java.lang.String, java.lang.Class)
+   * @see org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry#addMapping(java.lang.Class, java.lang.String, java.lang.Class)
    */
   public void addMapping(Class sourceType, String sourceProperty, Class targetType) 
   {
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java
index 8835239..df242c1 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/RuleEntry.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.core.data;
 
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
 
 public class RuleEntry 
 {
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/Transformer.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/Transformer.java
new file mode 100644
index 0000000..19c3c01
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/data/Transformer.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.data;
+
+/**
+ * This interface is used to transform an object from one class to another.
+ *
+ */
+public interface Transformer
+{
+  /*
+   * @return returns a transformed object based on the input value.
+   */
+  public Object transform( Object value );
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/AbstractCommandFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/AbstractCommandFragment.java
index 9f8ea47..d18a2f2 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/AbstractCommandFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/AbstractCommandFragment.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.core.fragment;
 
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 
 
 /**
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/BooleanFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/BooleanFragment.java
index 6379c5b..571156d 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/BooleanFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/BooleanFragment.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.core.fragment;
 
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 
 
 /**
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ChoiceFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ChoiceFragment.java
index ab7edc0..3982cbd 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ChoiceFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ChoiceFragment.java
@@ -13,8 +13,8 @@
 import java.util.Enumeration;
 import java.util.Hashtable;
 
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Evaluate;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.common.Evaluate;
 
 
 /**
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFactoryFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFactoryFragment.java
index 6991b66..19075ac 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFactoryFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFactoryFragment.java
@@ -13,10 +13,10 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.Command;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 public abstract class CommandFactoryFragment implements CommandFragment 
 {
@@ -139,7 +139,7 @@
 		  
 	while( factory != null && factory.hasNext() )
 	{
-	  Command command = (Command)factory.getNextCommand();
+	  AbstractDataModelOperation command = factory.getNextCommand();
 			
 	  commands.add( new ChildFragment( command, index++ ) );
 	}
@@ -149,12 +149,12 @@
   
   private class ChildFragment extends SimpleFragment
   {
-	int index_;
+	  int index_;
 	
-	public ChildFragment( Command command, int index )
-	{
-	  super( command, command.getId() );
-	  index_ = index;
-	}
+	  public ChildFragment( AbstractDataModelOperation command, int index )
+	  {
+	    super( command, command.getID() );
+	    index_ = index;
+	  }
   }
 }
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragment.java
index e68761c..03af35e 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragment.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.core.fragment;
 
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 
 
 /**
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragmentEngine.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragmentEngine.java
index 65acace..2a68f63 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragmentEngine.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/CommandFragmentEngine.java
@@ -12,16 +12,19 @@
 
 import java.util.Stack;
 
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.CommandManager;
+import org.eclipse.wst.command.internal.env.core.EnvironmentCoreMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
-import org.eclipse.wst.command.internal.provisional.env.core.Command;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandManager;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 
@@ -34,10 +37,11 @@
   private Stack            commandStack_;
   private FragmentListener undoFragmentListener_;
   private FragmentListener nextFragmentListener_;
+  private FragmentListener afterExecuteFragmentListener_;
   private FragmentListener peekFragmentListener_;
   private DataFlowManager  dataManager_;
-  private Environment      environment_;
-  private Status           lastStatus_;
+  private IEnvironment     environment_;
+  private IStatus          lastStatus_;
   
   /**
    * Creates a CommandFragmentEngine.
@@ -46,7 +50,7 @@
    * @param dataManager the data manager containing all of the data mappings.
    * @param environment the environment.
    */
-  public CommandFragmentEngine( CommandFragment startFragment, DataFlowManager dataManager, Environment environment )
+  public CommandFragmentEngine( CommandFragment startFragment, DataFlowManager dataManager, IEnvironment environment )
   {
   	SequenceFragment root = new SequenceFragment();
   	root.add( startFragment );
@@ -72,7 +76,7 @@
    * 
    * @return the Status from the last Command executed.
    */
-  public Status getLastStatus()
+  public IStatus getLastStatus()
   {
     return lastStatus_;
   }
@@ -95,6 +99,11 @@
     nextFragmentListener_ = listener;
   }
   
+  public void setAfterExecuteFragmentListener( FragmentListener listener )
+  {
+    afterExecuteFragmentListener_ = listener;
+  }
+  
   /**
    * Sets the next fragment listener for this engine.  This listener will be
    * called for each fragment that is traversed in peekForwardToNextStop operation.
@@ -167,20 +176,20 @@
    * command fragment stack and does execute any command associated with
    * a CommandFragment.
    */
-  public void moveForwardToNextStop()
+  public void moveForwardToNextStop( IProgressMonitor monitor )
   {
   	CommandListEntry topEntry        = (CommandListEntry)commandStack_.lastElement();  	
   	int              parentIndex     = topEntry.parentIndex_;
   	CommandFragment  currentFragment = topEntry.fragment_;  
-  	boolean          continueExecute = visitTop();
+  	boolean          continueExecute = visitTop( monitor );
   	CommandFragment  childFragment    = currentFragment.getFirstSubFragment();
-  	
+  	    
   	// If the current fragment has child fragments we need to traverse these children.
   	while( childFragment != null && continueExecute )
   	{
   	  parentIndex = commandStack_.size() - 1;
   	  addToStack( childFragment, parentIndex );
-  	  continueExecute = visitTop();
+  	  continueExecute = visitTop( monitor );
   	  currentFragment = childFragment;
   	  childFragment   = currentFragment.getFirstSubFragment();
   	}
@@ -214,7 +223,7 @@
   	  	// We have a new fragment that we need to add to the top of the stack.
   	  	addToStack( nextFragment, parentIndex );  	  	
   	    parentIndex     = commandStack_.size() - 1;  	
-  	    continueExecute = visitTop();
+  	    continueExecute = visitTop( monitor );
   	    currentFragment = null;  	  	
   	  }
   	}
@@ -229,7 +238,16 @@
   {    
   	CommandListEntry topEntry = (CommandListEntry)commandStack_.lastElement();	
   	
-	// Always undo the top element.
+	  if( topEntry.fragmentStopped_ && !topEntry.beforeExecute_ )
+    {
+      // Normally the command at the top of the stack has not been executed.  If
+      // it has been execute, it means that we tried to execute and it failed.
+      // The first command in the command stack failed.  Therefore, we should
+      // only undo this command.
+      performUndo( topEntry );
+      return topEntry.parentIndex_ == 0;
+    }
+    
   	performUndo( topEntry );
   		
     while( topEntry.parentIndex_ != 0 )
@@ -252,11 +270,19 @@
   {
     if( entry.parentIndex_ == 0 ) return;
     
-	Command cmd = entry.command_;
+	  AbstractDataModelOperation cmd = entry.command_;
   	  
-  	if( cmd != null && cmd.isUndoable() && !entry.beforeExecute_ )
+  	if( cmd != null && cmd.canUndo() && !entry.beforeExecute_ )
 	{
-	  cmd.undo( environment_ );
+    try
+    {
+	    cmd.undo( null, null );
+    }
+    catch( Exception exc )
+    {
+      exc.printStackTrace();
+    }
+    
 	  entry.beforeExecute_ = true;
 	}
   	  
@@ -285,7 +311,7 @@
   	return continueNavigate;
   }
     
-  private boolean visitTop()
+  private boolean visitTop( IProgressMonitor monitor )
   {  
   	CommandListEntry entry           = (CommandListEntry)commandStack_.lastElement();
   	boolean         continueNavigate = nextFragmentListener_.notify( entry.fragment_ );
@@ -298,9 +324,25 @@
       // Add any rules to the mapping registry before we execute the command.
       entry.fragment_.registerDataMappings( dataManager_.getMappingRegistry() );
    
-  	  lastStatus_ = runCommand( entry );
+  	  lastStatus_ = runCommand( entry, monitor );
   	  
-  	  if( lastStatus_.getSeverity() == Status.ERROR ) continueNavigate = false;
+      if( afterExecuteFragmentListener_ != null )
+      {
+        continueNavigate = afterExecuteFragmentListener_.notify( entry.fragment_ );  
+        
+        if( !continueNavigate )
+        {
+          // The after execution listener has indicated that execution should stop.
+          // Therefore, we will upgrade the severity of the last status to ERROR.
+          lastStatus_ = new Status( IStatus.ERROR, 
+                                    lastStatus_.getPlugin(), 
+                                    lastStatus_.getCode(), 
+                                    lastStatus_.getMessage(),
+                                    lastStatus_.getException() );
+        }
+      }
+      
+  	  if( continueNavigate && lastStatus_.getSeverity() == IStatus.ERROR ) continueNavigate = false;
   	}
   	
    	if( !continueNavigate ) entry.fragmentStopped_ = true;
@@ -314,14 +356,20 @@
     commandStack_.push( entry );
   }
   
-  private Status runCommand( CommandListEntry entry )
+  // Subclasses can do initialization before the execution of a command here
+  protected void initBeforeExecute( AbstractDataModelOperation operation )
+  {  
+  }
+  
+  private IStatus runCommand( CommandListEntry entry, IProgressMonitor monitor )
   {
 	CommandFactory factory  = entry.fragment_.getCommandFactory();
-  	Status         status   = new SimpleStatus( "" );
+  	IStatus      status   = Status.OK_STATUS;
   	
   	if( factory != null )
   	{
-  	  Command cmd    = factory.create();
+  	  AbstractDataModelOperation cmd  = factory.create();
+      
   	  entry.command_ = cmd;
   	    
   	  if( cmd != null )
@@ -330,17 +378,21 @@
   	  	  
   	    try
   	    {
-  	      environment_.getLog().log(Log.INFO, "command", 5001, this, "runCommand", "Executing: " + cmd.getClass().getName());
+          initBeforeExecute( cmd );
+          
+  	      environment_.getLog().log(ILog.INFO, "command", 5001, this, "runCommand", "Executing: " + cmd.getClass().getName());
   	  	    
- 	      status = cmd.execute( environment_ ); 	      
-		  entry.beforeExecute_ = false;
+ 	        cmd.setEnvironment( environment_ );
+          status = cmd.execute( monitor, null );
+          
+		      entry.beforeExecute_ = false;
   	    }
   	    catch( Throwable exc )
   	    {
-  	      MessageUtils utils           = new MessageUtils( "org.eclipse.wst.command.env.core.environment", this );
-  	      SimpleStatus unexpectedError = new SimpleStatus("id", exc.getMessage(), Status.ERROR, exc );
-  	      status = new SimpleStatus( "", utils.getMessage( "MSG_ERROR_UNEXPECTED_ERROR" ), new Status[]{unexpectedError} );
-  	      environment_.getStatusHandler().reportError( status );
+  	      IStatus      unexpectedError = StatusUtils.errorStatus( exc );
+          MultiStatus  parentStatus    = new MultiStatus( "id", 0, new IStatus[]{unexpectedError}, 
+                                                          EnvironmentCoreMessages.MSG_ERROR_UNEXPECTED_ERROR, null );
+  	      environment_.getStatusHandler().reportError( parentStatus );
   	    }
   	    finally
   	    {
@@ -351,14 +403,14 @@
   	        message = "Error: " + status.getMessage(); 
   	      }
   	      
-	      environment_.getLog().log(Log.INFO, "command", 5001, this, "runCommand", "Execution status: " + message );
+	      environment_.getLog().log(ILog.INFO, "command", 5001, this, "runCommand", "Execution status: " + message );
   	    }
   	  }
   	}
   	
   	return status;
   }
-  
+    
   private class CommandListEntry
   {
   	public CommandListEntry( CommandFragment fragment, int parentIndex )
@@ -369,7 +421,7 @@
 	  beforeExecute_   = true;
   	}
   	  	
-  	public Command         command_;
+  	public AbstractDataModelOperation command_;
   	public CommandFragment fragment_;
   	public int             parentIndex_;
   	public boolean         fragmentStopped_;
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ExtensionFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ExtensionFragment.java
index e293fbe..7751ba6 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ExtensionFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/ExtensionFragment.java
@@ -11,7 +11,6 @@
 package org.eclipse.wst.command.internal.env.core.fragment;
 
 import java.util.Hashtable;
-
 import org.eclipse.wst.command.internal.env.core.registry.CommandRegistry;
 
 
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/LoopFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/LoopFragment.java
index 7d41fc1..60cdc9a 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/LoopFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/LoopFragment.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.core.fragment;
 
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.RangeVector;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.common.RangeVector;
 
 
 /**
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SequenceFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SequenceFragment.java
index 0abcb35..1908712 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SequenceFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SequenceFragment.java
@@ -14,7 +14,7 @@
 import java.util.List;
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
 
 
 /**
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SimpleFragment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SimpleFragment.java
index 934857b..0d1f1e4 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SimpleFragment.java
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/fragment/SimpleFragment.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.core.fragment;
 
-import org.eclipse.wst.command.internal.provisional.env.core.Command;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandFactory;
+import org.eclipse.wst.command.internal.env.core.CommandFactory;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
   * This class implements an empty of WizardFragment.
@@ -28,13 +28,13 @@
     this( (CommandFactory)null, id );  
   }
   
-  public SimpleFragment( final Command command, String id )
+  public SimpleFragment( final AbstractDataModelOperation operation, String id )
   {
     super( new CommandFactory()
            {
-             public Command create()
+             public AbstractDataModelOperation create()
              {
-               return command;
+               return operation;
              }
            }, id );  
   }
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/BooleanSelection.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/BooleanSelection.java
new file mode 100644
index 0000000..b2ee8b0
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/BooleanSelection.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+/**
+ * This class combines a string with a boolean value.  This is
+ * useful for storing the state data for a boolean selection list.
+ */
+package org.eclipse.wst.command.internal.env.core.selection;
+
+public class BooleanSelection
+{
+  private String  value_;
+  private boolean selected_;
+  
+  public BooleanSelection( String value, boolean selected )
+  {
+    value_    = value;
+    selected_ = selected;
+  }
+  
+  /**
+   * 
+   * @return Get the string value.
+   */
+  public String getValue()
+  {
+    return value_;
+  }
+  
+  /**
+   * 
+   * @return Get the boolean value for this string.
+   */
+  public boolean isSelected()
+  {
+    return selected_;
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/ChoicesToString.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/ChoicesToString.java
new file mode 100644
index 0000000..3453a02
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/ChoicesToString.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.selection;
+
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
+
+/**
+ * This transformer class selects a string at a particular level
+ * in a SelectionListChoices class.
+ */
+public class ChoicesToString implements Transformer
+{
+  private int level_;
+  
+  public ChoicesToString( int level )
+  {
+    level_ = level;
+  }
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.wst.command.internal.env.core.data.Transformer#transform(java.lang.Object)
+   */
+  public Object transform( Object value )
+  {
+    SelectionListChoices choices = (SelectionListChoices)value;
+    
+    for( int index = 0; index < level_; index++ )
+    {
+      choices = choices.getChoice();
+    }
+    
+    return choices.getList().getSelection();
+  }
+
+  public SelectionList transform( SelectionListChoices choices )
+  {
+    return (SelectionList)transform( (Object)choices );
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/DynamicList.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/DynamicList.java
new file mode 100644
index 0000000..937d38d
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/DynamicList.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.selection;
+
+import java.util.Vector;
+
+/**
+ * This is a Dynamic version of the SelectionListChoices class.
+ */
+public class DynamicList 
+{
+  private Vector stringList_ = new Vector();
+  private Vector dynamicListVectorList_ = new Vector();
+  
+  /**
+   * Adds an entry into the dynamic list.
+   * 
+   * @param values the string values that lead to the target.
+   * @param target the target.
+   */
+  public void add( String[] values, Object target )
+  {
+    DynamicList currentList = this;
+    
+    for( int index = 0; index < values.length; index++ )
+    {
+      String value      = values[index];
+      int    length     = currentList.stringList_.size();
+      int    foundIndex = -1;
+      
+      // Find the string in the current list.
+      for( int searchIndex = 0; searchIndex < length; searchIndex++ )
+      {
+        String string = (String)currentList.stringList_.elementAt( searchIndex ); 
+        
+        if( string.equals( value ) ) 
+        {
+          foundIndex = searchIndex;
+          break;
+        }
+      }
+      
+      if( foundIndex == -1 )
+      {
+        // We have a new string so add it to the list.
+        currentList.stringList_.add( value );
+        currentList.dynamicListVectorList_.add( new DynamicList() );
+        foundIndex = length;
+      }
+      
+      currentList = (DynamicList)currentList.dynamicListVectorList_.elementAt( foundIndex );       
+    }
+    
+    currentList.dynamicListVectorList_.add( target );
+  }
+  
+  /**
+   * 
+   * @return returns a SelectionListChoices object from this DynamicList
+   * object.
+   */
+  public SelectionListChoices toListChoices()
+  {
+    SelectionList list   = new SelectionList( (String[])stringList_.toArray( new String[0] ), 0);
+    int           length = dynamicListVectorList_.size();
+    Vector        vector = new Vector(); 
+    
+    for( int index = 0; index < length; index++ )
+    {
+      Object obj = dynamicListVectorList_.elementAt(index);
+      
+      if( obj instanceof DynamicList )
+      {
+        vector.add( ((DynamicList)obj).toListChoices() );
+      }
+      else
+      {
+        vector.add( obj );
+      }
+    }
+    
+    return new SelectionListChoices( list, vector );
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/SelectionList.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/SelectionList.java
new file mode 100644
index 0000000..e52ebdc
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/SelectionList.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.selection;
+
+/**
+ * This class stores a list strings along with a selectionIndex which
+ * stores the current string that selected.  There is also a selection
+ * value.  If this value is one of the strings in the the string list
+ * then selectionIndex will contain the index of this string.  If it
+ * is not in the list then the selectionValue string will contain this
+ * value and selectionIndex will be set to -1.  This class can be
+ * used to store the state data for a Combo box.
+ */
+public class SelectionList
+{
+  private int      selectionIndex_;
+  private String[] list_;
+  private String   selectionValue_;
+  
+  public SelectionList( String[] list, int selectionIndex )
+  {
+    list_           = list;
+    selectionIndex_ = selectionIndex;
+  }
+  
+  /**
+   * Sets the selection value for this object.
+   * 
+   * @param value the value.
+   */
+  public void setSelectionValue( String value )
+  {
+    selectionValue_ = value;  
+    selectionIndex_ = -1;
+    
+    for( int index = 0; index < list_.length; index++ )
+    {
+      if( value.equals( list_[index] ) )
+      {
+        selectionIndex_ = index;
+        break;
+      }
+    }
+  } 
+  
+  /*
+   * @return returns the string list.
+   */
+  public String[] getList()
+  {
+    return list_;
+  }
+  
+  /*
+   * Sets the currently selected string in the list.
+   */
+  public void setIndex( int index )
+  {
+    selectionIndex_ = index;
+    selectionValue_ = null;
+  }
+ 
+  /*
+   * @return returns the index of the current string.  The value
+   * will be -1 if the selection value is not in the string list.
+   */
+  public int getIndex()
+  {
+    return selectionIndex_;  
+  }
+  
+  /*
+   * @return returns the current string selection for this object.
+   */
+  public String getSelection()
+  {
+    if( selectionValue_ != null ) return selectionValue_;
+    
+    if( selectionIndex_ == -1 || selectionIndex_ > list_.length-1 )
+    {
+      return "";
+    }
+    else
+    {
+      return list_[ selectionIndex_ ];
+    }
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/SelectionListChoices.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/SelectionListChoices.java
new file mode 100644
index 0000000..6c6aba8
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/selection/SelectionListChoices.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.selection;
+
+import java.util.Vector;
+
+/*
+ * This class can be used to store a hierarchy of SelectionList
+ * objects.
+ */
+public class SelectionListChoices
+{
+  private SelectionList selectionList_;
+  private Vector        choices_;
+  private SelectionList newValueSelectionList_;
+  
+  /**
+   * 
+   * @param list     The selection list.
+   * @param choices  This is a vector of SelectionListChoies and can be
+   *                 null if there are no choices.  This index of list
+   *                 is used to index into choices.  If index is -1 then
+   *                 the newValueSelectionList is used.
+   */
+  public SelectionListChoices( SelectionList list, Vector choices )
+  {
+    selectionList_ = list;
+    choices_       = choices;
+    
+    newValueSelectionList_ = new SelectionList( new String[0], -1 );
+  }
+  
+  public SelectionListChoices( SelectionList list, Vector choices, SelectionList newList )
+  {
+    this( list, choices );
+    newValueSelectionList_ = newList;
+  }
+  
+  /**
+   * @return returns the current Selection list.
+   */
+  public SelectionList getList()
+  {
+    return selectionList_;
+  }
+  
+  /**
+   * 
+   * @return returns the choices for this object.
+   */
+  public Vector getChoices()
+  {
+    return choices_;
+  }
+  
+  /**
+   * 
+   * @param level the level in the hierarchy where we want to get the choices.
+   * @return returns a vector of SelectionListChoices.
+   */
+  public Vector getChoicesAtLevel( int level )
+  {
+    SelectionListChoices choices = this;
+    
+    for( int index = 0; index < level; index++ )
+    {
+      choices = choices.getChoice();
+    }
+    
+    return choices.getChoices();
+  }
+  
+  /**
+   * 
+   * @return returns the current SelectionListChoice
+   */
+  public SelectionListChoices getChoice()
+  {
+    int                  selectionIndex = selectionList_.getIndex();
+    SelectionListChoices result         = null;
+    
+    if( selectionIndex == -1 )
+    {
+      result = new SelectionListChoices( newValueSelectionList_, null );
+    }
+    else if( choices_ != null && choices_.size() != 0 ) 
+    {
+      result = (SelectionListChoices)choices_.elementAt( selectionIndex );
+    }
+    
+    return result;
+  }
+  
+  /**
+   * 
+   * @param index the index of the choice we want.
+   * @return returns the SelectionListChoice at the index specified.
+   */
+  public SelectionListChoices getChoice(int index)
+  {
+    SelectionListChoices result = null;
+    if (index < 0 || index >= getList().getList().length)
+    {
+      result = new SelectionListChoices( newValueSelectionList_, null );      
+    }
+    else
+    {
+      result = (SelectionListChoices)choices_.elementAt( index );
+    }
+      
+    return result;
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/NativeFileCommand.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/NativeFileCommand.java
new file mode 100644
index 0000000..ef51355
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/NativeFileCommand.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.core.uri;
+
+import java.io.File;
+import java.util.LinkedList;
+import java.util.List;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.wst.common.environment.uri.IURI;
+import org.eclipse.wst.common.environment.uri.URIException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+public abstract class NativeFileCommand extends AbstractDataModelOperation
+{
+  protected String name;
+
+  protected String description;
+
+  protected IURI[] urisToRead;
+
+  protected IURI[] urisToWrite;
+
+  protected NativeFileCommand ()
+  {
+    this(null,null);
+  }
+
+  protected NativeFileCommand ( String name, String description )
+  {
+    this.name = name;
+    this.description = description;
+  }
+
+  public String getName ()
+  {
+    return name;
+  }
+
+  public String getDescription ()
+  {
+    return description;
+  }
+
+  public void setURIsToRead ( IURI[] urisToRead )
+  {
+    this.urisToRead = urisToRead;
+  }
+
+  public IURI[] getURIsToRead ()
+  {
+    return urisToRead;
+  }
+
+  public void setURIsToWrite ( IURI[] urisToWrite )
+  {
+    this.urisToWrite = urisToWrite;
+  }
+
+  public IURI[] getURIsToWrite ()
+  {
+    return urisToWrite;
+  }
+
+  public IStatus execute ( IProgressMonitor monitor, IAdaptable adaptable )
+  {
+    File[] filesToRead = getFiles(urisToRead);
+    File[] filesToWrite = getFiles(urisToWrite);
+    preProcess(filesToRead,filesToWrite);
+    IStatus status = execute(filesToRead,filesToWrite);
+    postProcess(filesToRead,filesToWrite);
+    return status;
+  }
+
+  public abstract IStatus execute ( File[] filesToRead, File[] filesToWrite );
+
+  private void preProcess ( File[] filesToRead, File[] filesToWrite )
+  {
+    // TBD.
+  }
+
+  private void postProcess ( File[] filesToRead, File[] filesToWrite )
+  {
+    // TBD.
+  }
+
+  private File[] getFiles ( IURI[] uris )
+  {
+    List list = new LinkedList();
+    if (uris != null)
+    {
+      for (int i=0; i<uris.length; i++)
+      {
+        if (uris[i].isAvailableAsFile())
+        {
+          try
+          {
+            list.add(uris[i].asFile());
+          }
+          catch (URIException e)
+          {
+          }
+        }
+      }
+    }
+    return (File[])list.toArray(new File[0]);
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/file/FileScheme.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/file/FileScheme.java
deleted file mode 100644
index 2dd7500..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/file/FileScheme.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.uri.file;
-
-import java.net.URL;
-
-import org.eclipse.wst.command.internal.provisional.env.core.uri.RelativeScheme;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.RelativeURI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URI;
-
-
-public class FileScheme extends RelativeScheme 
-{
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#isValid(org.eclipse.env.uri.URI)
-   */
-  public boolean isValid(URI uri)
-  {
-    return uri.toString().startsWith( "file:" );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.lang.String)
-   */
-  public URI newURI(String uri) 
-  {
-    String newURI = null;
-    
-    if( uri.startsWith( "file:") )
-    {
-      // The file protocol has been specified so keep it as is.
-      newURI = uri;
-    }
-    else if( uri.startsWith( "/") )
-    {
-      // The file scheme has not been specified so we will add it.
-      newURI = "file:" + uri;
-    }
-    
-    if( newURI == null )
-    {
-      return new RelativeURI( uri );
-    }
-    else
-    {
-      return new FileURI( newURI );
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(org.eclipse.env.uri.URI)
-   */
-  public URI newURI(URI uri) 
-  {
-    return new FileURI( uri.toString() );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.net.URL)
-   */
-  public URI newURI(URL url) 
-  {
-    return new FileURI( url.toString() );
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/file/FileURI.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/file/FileURI.java
deleted file mode 100644
index 179cbd9..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/uri/file/FileURI.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.core.uri.file;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Vector;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.RelativeURI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIException;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIFilter;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIScheme;
-
-
-public class FileURI extends RelativeURI 
-{
-  private File file_ = null;
-  
-  public FileURI( String uri )
-  {
-    super( uri );
-    
-    if( getURIScheme().isValid( this ) )
-    {
-      file_ = new File( uri.substring( 5, uri.length() ) );
-    }
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asFile()
-   */
-  public File asFile() 
-  {
-    return file_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#erase()
-   */
-  public void erase() throws URIException
-  {
-    deleteFile( file_ );
-  }
-
-  private void deleteFile( File file )
-  {
-    if( file.isDirectory() )
-    {
-      File[] children = file.listFiles();
-      
-      for( int index = 0; index < children.length; index++ )
-      {
-        File child = children[index];
-        
-        if( child.isDirectory() )
-        {
-          deleteFile( child );
-        }
-        else
-        {
-          child.delete();
-        }
-      }
-    }
-    
-    file.delete();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getInputStream()
-   */
-  public InputStream getInputStream() throws URIException
-  {
-    FileInputStream stream = null;
-    
-    try
-    {
-      File parent = file_.getParentFile();
-      parent.mkdirs();
-      
-      stream = new FileInputStream( file_ );  
-    }
-    catch( IOException exc )
-    {
-      Status status = new SimpleStatus( "", exc.getMessage(), Status.ERROR, exc );
-      throw new URIException( status, this );
-    }
-    
-    return stream;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getOutputStream()
-   */
-  public OutputStream getOutputStream() throws URIException
-  {
-    FileOutputStream stream = null;
-    
-    try
-    {
-      File parent = file_.getParentFile();
-      parent.mkdirs();
-      
-      stream = new FileOutputStream( file_ );  
-    }
-    catch( IOException exc )
-    {
-      Status status = new SimpleStatus( "", exc.getMessage(), Status.ERROR, exc );
-      throw new URIException( status, this );
-    }
-    
-    return stream;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getURIScheme()
-   */
-  public URIScheme getURIScheme()
-  {
-    return new FileScheme();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsFile()
-   */
-  public boolean isAvailableAsFile()
-  {
-    return file_ != null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsURL()
-   */
-  public boolean isAvailableAsURL()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isLeaf()
-   */
-  public boolean isLeaf()
-  {
-    return file_.isFile();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isPresent()
-   */
-  public boolean isPresent()
-  {
-    return file_.exists();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isReadable()
-   */
-  public boolean isReadable()
-  {
-    return file_.canRead();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isWritable()
-   */
-  public boolean isWritable()
-  {
-    return file_.canWrite();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list()
-   */
-  public URI[] list() throws URIException
-  {
-    File[] children = file_.listFiles();
-    URI[]  URIs     = new URI[0];
-    
-    if( children != null )
-    {
-      int   length   = children.length;
-      
-      URIs = new URI[length];
-    
-      for( int index = 0; index < length; index++ )
-      {
-        URIs[index] = new FileURI( "file:" + children[index].getAbsolutePath() );
-      }
-    }
-    
-    return URIs;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list(org.eclipse.env.uri.URIFilter)
-   */
-  public URI[] list(URIFilter uriFilter) throws URIException
-  {
-    File[]   children = file_.listFiles();
-    int      length   = children == null ? 0 : children.length;
-    Vector   URIs     = new Vector();
-    
-    for( int index = 0; index < length; index++ )
-    {
-      URI newURI = new FileURI( "file:" + children[index].getAbsolutePath() );
-      
-      if( uriFilter.accepts( newURI) )
-      {
-        URIs.add( newURI );
-      } 
-    }
-    
-    return (URI[])URIs.toArray( new URI[0] );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#rename(org.eclipse.env.uri.URI)
-   */
-  public void rename(URI newURI) throws URIException
-  {
-    uri_ = newURI.toString();
-    file_.renameTo( new File( uri_ ) );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchFolder()
-   */
-  public void touchFolder() throws URIException
-  {
-    file_.mkdirs();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchLeaf()
-   */
-  public void touchLeaf() throws URIException
-  {
-    try
-    {
-      // Ensure that the parent folders are created.
-      File parent = file_.getParentFile();
-      parent.mkdirs();
-      
-      file_.createNewFile();
-    }
-    catch( IOException exc )
-    {
-      Status status = new SimpleStatus( "", exc.getMessage(), Status.ERROR, exc );
-      throw new URIException( status, this );      
-    }
-  }
-    
-  private class Dummy 
-  {
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/Command.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/Command.java
deleted file mode 100644
index 6907bdd..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/Command.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-/**
- * Commands are executable, undoable, redoable objects.
- * Every Command has a name and a description.
- */
-public interface Command
-{
-  /**
-   * 
-   * @return Returns a unique ID for this Command.
-   */
-  public String getId();
-  
-  /**
-   * Returns the name of the Command, a short translatable string
-   * indicating what the Command does. Can be null.
-   * @return The name of the Command. Can be null.
-   */
-  public String getName ();
-
-  /**
-   * Returns the description of the Command. Can be null.
-   * @return The description of the Command. Can be null.
-   */
-  public String getDescription ();
-  
-  /**
-   * Executes the Command.
-   * @param environment The environment.
-   * Must not be null.
-   * @return A <code>Status</code> object indicating the degree
-   * to which the <code>execute</code> method was successful.
-   * A valud of <code>null</code>, or a Status with a severity
-   * of less than <code>Status.ERROR</code> signifies success.
-   */
-  public Status execute ( Environment environment );
-
-  /**
-   * Returns <code>true</code> if, and only if, the Command's
-   * <code>undo</code> method is supported.
-   * @return True if the Command supports being undone.
-   */
-  public boolean isUndoable ();
-
-  /**
-   * Undoes the Command.
-   * @param environment The environment.
-   * Must not be null.
-   * @return A <code>Status</code> object indicating the degree
-   * to which the <code>undo</code> method was successful.
-   * A valud of <code>null</code>, or a Status with a severity
-   * of less than <code>Status.ERROR</code> signifies success.
-   */
-  public Status undo ( Environment environment );
-
-  /**
-   * Returns <code>true</code> if, and only if, the Command's
-   * <code>redo</code> method is supported.
-   * @return True if the Command supports being redone.
-   */
-  public boolean isRedoable ();
-
-  /**
-   * Re-executes the Command.
-   * @param environment The environment.
-   * Must not be null.
-   * @return A <code>Status</code> object indicating the degree
-   * to which the <code>redo</code> method was successful.
-   * A value of <code>null</code>, or a Status with a severity
-   * of less then <code>Status.ERROR</code> signifies success.
-   */
-  public Status redo ( Environment environment );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/CommandFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/CommandFactory.java
deleted file mode 100644
index 0c18b33..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/CommandFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core;
-
-/**
- * This interface is used to create Command objects.
- *
- */
-public interface CommandFactory 
-{
-  /**
-   * 
-   * @return returns a created Command object.
-   */
-  public Command create();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/CommandManager.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/CommandManager.java
deleted file mode 100644
index 873a376..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/CommandManager.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core;
-
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-
-/**
- * CommandManagers help manage the lifecycle of Commands.
- */
-public interface CommandManager
-{
-  /**
-   * Returns true if this CommandManager is capable of undoing
-   * Commands. Some CommandManagers and Environments may be of
-   * a sort that will never undo() Commands. Command.execute()
-   * methods should take advantage of this method to optimize
-   * out any caching logic whenever this method returns false.
-   */
-  public boolean isUndoEnabled ();
-
-  // There's probably more, like factory methods for creating
-  // Undo/Redo stacks and stuff like that.
-  
-  public DataMappingRegistry getMappingRegistry();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/ICommandFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/ICommandFactory.java
deleted file mode 100644
index 061e429..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/ICommandFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.command.internal.provisional.env.core;
-
-import java.util.Iterator;
-
-
-/**
- * 
- * This class is used to return a sequence of Commands.
- *
- */
-public interface ICommandFactory extends Iterator 
-{
-  /**
-   * 
-   * @return returns the next Command in the sequence.
-   */
-  public Command getNextCommand();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/MultiCommand.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/MultiCommand.java
deleted file mode 100644
index eb6dc66..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/MultiCommand.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core;
-
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-
-/**
- * This command can be used to group multiple Commands together
- * into a single sequence list of commands to execute.
- *
- *
- */
-public class MultiCommand extends SimpleCommand
-{
-	  
-  protected String name        = null;
-  protected String description = null;
-
-  private List            commands_      = new LinkedList();
-  private Command[]       commandsArray_ = null;
-
-  /**
-   * Creates a MultiCommand with no name, description, or list of commands.
-   *
-   */
-  public MultiCommand ()
-  {
-  }
-
-  /**
-   * Creates a MutilCommands with an empty list of commands.
-   * @param name The name of the command.
-   * @param description A description of the command.
-   */
-  public MultiCommand ( String name, String description )
-  {
-    this.name = name;
-    this.description = description;
-  }
-
-  /**
-   * Creates a MultiCommand
-   * @param name the name of the command.
-   * @param description a description of the command.
-   * @param commands an initial list of the commands to execute.
-   */
-  public MultiCommand ( String name, String description, Command[] commands )
-  {
-    this.name = name;
-    this.description = description;
-    commands_.addAll(Arrays.asList(commands));
-  }
-
-  /**
-   * Adds a command to the list of commands to execute.
-   * @param command the command to add.
-   */
-  public void add ( Command command )
-  {
-    commandsArray_ = null;
-    commands_.add(command);
-  }
-
-  /**
-   *  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.Command#getName()
-   */
-  public String getName ()
-  {
-    return name != null ? name : (commands_.size() > 0 ? ((Command)commands_.get(0)).getName() : null);
-  }
-
-  /**
-   * 
-   * @see org.eclipse.wst.command.internal.provisional.env.core.Command#getDescription()
-   */
-  public String getDescription ()
-  {
-    return description != null ? description : (commands_.size() > 0 ? ((Command)commands_.get(0)).getDescription() : null);
-  }
-
-  /**
-   * Executes the list of commands in the MultiCommand.
-   */
-  public Status execute ( Environment environment )
-  {
-    Status status = null;
-    Command[] commands = commandsArray();
-    for (int i=0; i<commands.length; i++)
-    {
-      status = commands[i].execute(environment);
-      
-      if (status != null && status.matches(Status.ERROR))
-      {
-        for (i--; i>=0; i--)
-        {
-          commands[i].undo(environment);
-        }
-        return status;
-      }
-    }
-    return status;
-  }
-
-  /**
-   * Indicates if this command is undoable.  If one of the commands
-   * in the list is undoable the entire list is considered to be 
-   * undoable.
-   */
-  public boolean isUndoable ()
-  {
-    ListIterator i = commands_.listIterator();
-    while (i.hasPrevious())
-    {
-      if (!((Command)i.previous()).isUndoable())
-      {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Undos this command if it can.
-   */
-  public Status undo ( Environment environment )
-  {
-    Status status = null;
-    ListIterator i = commands_.listIterator();
-    while (i.hasPrevious())
-    {
-      status = ((Command)i.previous()).undo(environment);
-    }
-    return status;
-  }
-
-  /**
-   * Returns whether this command is redoable or not.
-   */
-  public boolean isRedoable ()
-  {
-    ListIterator i = commands_.listIterator();
-    while (i.hasNext())
-    {
-      if (!((Command)i.next()).isRedoable())
-      {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Reexecutes this command.
-   */
-  public Status redo ( Environment environment )
-  {
-    Status status = null;
-    Command[] commands = commandsArray();
-    for (int i=0; i<commands.length; i++)
-    {
-      status = commands[i].redo(environment);
-      if (status != null && status.matches(Status.ERROR))
-      {
-        for (i--; i>=0; i--)
-        {
-          commands[i].undo(environment);
-        }
-        return status;
-      }
-    }
-    return status;
-  }
-  
-  private Command[] commandsArray ()
-  {
-    if (commandsArray_ == null)
-    {
-      commandsArray_ = (Command[])commands_.toArray(new Command[0]);
-    }
-    return commandsArray_;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/SimpleCommand.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/SimpleCommand.java
deleted file mode 100644
index 1ba6e0b..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/SimpleCommand.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-/**
- * This is a simple implementation of the Command interface that subclass
- * can extend.
- *
- */
-public class SimpleCommand implements Command
-{
-  private String name_;
-  private String description_;
-  
-  public SimpleCommand( String name, String description )
-  {
-    name_        = name;
-    description_ = description;
-  }
-  
-  public SimpleCommand()
-  {  
-    name_        = "";
-    description_ = "";
-  }
-  
-  /**
-   * 
-   * @return Returns a unique ID for this Command.
-   */  
-  public String getId() 
-  {
-	return getClass().getName();
-  }
-    
-  /**
-   * Sets the name of the command.
-   * @param name the name.
-   */
-  public void setName( String name )
-  {
-    name_ = name;  
-  }
-  
-  /**
-   * Sets the description of the command.
-   * @param description the description.
-   */
-  public void setDescription( String description )
-  {
-    description_ = description;
-  }
-  
-  /**
-   * @see org.eclipse.env.command.Command#execute(org.eclipse.env.common.Environment)
-   */
-  public Status execute(Environment environment)
-  {
-    return new SimpleStatus( "" );
-  }
-  
-  /**
-   * @see org.eclipse.env.command.Command#getDescription()
-   */
-  public String getDescription()
-  {
-    return description_;
-  }
-
-  /**)
-   * @see org.eclipse.env.command.Command#getName()
-   */
-  public String getName()
-  {
-    return name_;
-  }
-  
-  /**)
-   * @see org.eclipse.env.command.Command#isRedoable()
-   */
-  public boolean isRedoable()
-  {
-    return false;
-  }
-
-  /**
-   * @see org.eclipse.env.command.Command#isUndoable()
-   */
-  public boolean isUndoable()
-  {
-    return false;
-  }
-
-  /**
-   * @see org.eclipse.env.command.Command#redo(org.eclipse.env.common.Environment)
-   */
-  public Status redo(Environment environment)
-  {
-    return new SimpleStatus( "" );
-  }
-
-  /**
-   * @see org.eclipse.env.command.Command#undo(org.eclipse.env.common.Environment)
-   */
-  public Status undo(Environment environment)
-  {
-    return new SimpleStatus( "" );
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/SimpleCommandFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/SimpleCommandFactory.java
deleted file mode 100644
index 0ddd11e..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/SimpleCommandFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.wst.command.internal.provisional.env.core;
-
-import java.util.Vector;
-
-
-public class SimpleCommandFactory implements ICommandFactory 
-{
-    private Vector commands_;
-	private int    index_;
-	
-	public SimpleCommandFactory( Vector commands )
-	{
-	  commands_ = commands;
-	  index_    = 0;
-	}
-	
-	public Command getNextCommand() 
-	{
-		return (Command)next();
-	}
-
-	public void remove() 
-	{
-      throw new UnsupportedOperationException();
-	}
-
-	public boolean hasNext() 
-	{
-		return index_ < commands_.size();
-	}
-
-	public Object next() 
-	{
-		return commands_.elementAt(index_++);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Choice.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Choice.java
deleted file mode 100644
index 71b9379..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Choice.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-public class Choice {
-
-  	protected char shortcut = ' '; 
-	protected String label = null;
-  	protected String description = null;
-  	
-	/**
-	 * Constructor for Choice.
-	 */
-	public Choice() {
-	}
-
-	/**
-	 * Constructor for Choice.
-	 * @param shortcut
-	 * @param label
-	 */
-	public Choice(char shortcut, String label) {
-		this.shortcut = shortcut;
-		this.label = label;
-	}
-	
-	/**
-	 * Constructor for Choice.
-	 * @param shortcut
-	 * @param label
-	 * @param description
-	 */
-	public Choice(char shortcut, String label, String description) {
-		this.shortcut = shortcut;
-		this.label = label;
-		this.description = description;
-	}
-
-	/**
-	 * Gets the label.
-	 * @return Returns a String
-	 */
-	public String getLabel() {
-		return label;
-	}
-
-	/**
-	 * Sets the label.
-	 * @param label The label to set
-	 */
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Gets the description.
-	 * @return Returns a String
-	 */
-	public String getDescription() {
-		return description;
-	}
-
-	/**
-	 * Sets the description.
-	 * @param description The description to set
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	/**
-	 * Gets the shortcut.
-	 * @return Returns a char
-	 */
-	public char getShortcut() {
-		return shortcut;
-	}
-
-	/**
-	 * Sets the shortcut.
-	 * @param shortcut The shortcut to set
-	 */
-	public void setShortcut(char shortcut) {
-		this.shortcut = shortcut;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Condition.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Condition.java
deleted file mode 100644
index 35058af..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Condition.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- * This interface defines a boolean condition that can be evaluated for any object.
- */
-public interface Condition
-{
-  /**
-   * This returns whether the given object passes this condition.
-   */
-  public boolean evaluate();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Environment.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Environment.java
deleted file mode 100644
index f51c230..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Environment.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-import org.eclipse.wst.command.internal.provisional.env.core.CommandManager;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIFactory;
-
-
-/**
- * An Environment provides the means for a 
- * <ol>
- * <li>A log for writing messages to a logging facility,</li>
- * <li>A progress monitor for receiving progress information,</li>
- * <li>A status handler for receiving and processing status reports,</li>
- * <li>A factory for the handling of URIs (resources).</li>
- * </ol>
- */
-public interface Environment
-{
-  /**
-   * Returns a logging facility.
-   */
-  public Log getLog ();
-
-  /**
-   * Returns a progress monitor.
-   */
-  public ProgressMonitor getProgressMonitor ();
-
-  /**
-   * Returns a status handler.
-   */
-  public StatusHandler getStatusHandler ();
-
-  /**
-   * Returns a URI factory.
-   * Hint: Implementers should insure that the Factory they return
-   * has a reference to this Environment so that URI objects can
-   * report progress and announce status.
-   */
-  public URIFactory getURIFactory ();
-
-  /**
-   * Returns a compiler appropriate to the environment.
-   */
-  public JavaCompiler getJavaCompiler ();
-
-  /**
-   * Returns an object that helps manage execution/undoing of Commands.
-   */
-  public CommandManager getCommandManager ();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/EnvironmentException.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/EnvironmentException.java
deleted file mode 100644
index 54f9f44..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/EnvironmentException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- * This is the exception class for conditions raised by the Environment.
- */
-public class EnvironmentException extends Exception
-{
-  /**
-   * Comment for <code>serialVersionUID</code>
-   */
-  private static final long serialVersionUID = 3978983275899402036L;
-  
-  protected Status status = null;
-  
-  /**
-   * Creates a new EnvironmentException.
-   */
-  public EnvironmentException ()
-  {
-    super();
-  }
-
-  /**
-   * Creates a new EnvironmentException.
-   */
-  public EnvironmentException ( Status status )
-  {
-    super(status == null ? null : status.getMessage());
-    this.status = status;
-  }
-
-  /**
-   * Returns the Status object.
-   */
-  public Status getStatus()
-  {
-    return status;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Evaluate.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Evaluate.java
deleted file mode 100644
index 255a81f..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Evaluate.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
-  * This interface can be used when a conditional object needs to be returned.
-**/
-public interface Evaluate
-{
-  /**
-    * @return returns an object based on some evaluated condition.
-  **/
-  public Object evaluate();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/JavaCompiler.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/JavaCompiler.java
deleted file mode 100644
index 00a426c..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/JavaCompiler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URI;
-
-/**
- * This is the interface for an object that does Java compilation
- * of a resource.
- */
-public interface JavaCompiler
-{
-  /**
-   * Compiles the given Java file to the given class file,
-   * using context information on classpaths, options, etc.
-   */
-  public void compile ( URI javaUri, URI classUri, JavaCompilerContext context );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/JavaCompilerContext.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/JavaCompilerContext.java
deleted file mode 100644
index f6cfd7e..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/JavaCompilerContext.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- * This is the interface for an object that contains data
- * required by JavaCompiler.compile().
- */
-public interface JavaCompilerContext
-{
-  // TBD...
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Log.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Log.java
deleted file mode 100644
index 488225f..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Log.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- * Log objects provide a means for logging information for FFDC etc.
- */
-public interface Log
-{
-  public static final int OK = 0;
-  public static final int INFO = 1;
-  public static final int WARNING = 2;
-  public static final int ERROR = 4;
-
-  /**
-   * Returns true if logging is enabled.
-   * There is no requirement to call this method before attempting
-   * a call to one of the <code>log</code> methods, as they will
-   * quietly do nothing if logging is disabled. This method can be
-   * useful, however, anywhere the cost of building up the parameters
-   * to a log method might be high and best avoided except when logging
-   * is enabled.
-   * @return True if logging is enabled, and false otherwise.
-   */
-  public boolean isEnabled ();
-  
-  /**
-   * Returns true if the the debug option is set to true.
-   */
-  public boolean isEnabled (String option);
-
-  /**
-   * Logs a <code>Throwable</code>.
-   * @param severity The severity of the logging entry.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param throwable The Throwable to log.
-   */
-  public void log ( int severity, int messageNum, Object caller, String method, Throwable throwable );
-  
-  /**
-   * Logs a <code>Throwable</code>.
-   * @param severity The severity of the logging entry.
-   * @param debug option
-   * @param messageNum The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param throwable The Throwable to log.
-   */
-  public void log ( int severity, String option, int messageNum, Object caller, String method, Throwable throwable );
-
-  /**
-   * Logs a <code>Status</code>.
-   * @param severity The severity of the logging entry.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param status The Status to log.
-   */
-  public void log ( int severity, int messageNum, Object caller, String method, Status status );
-  
-  /**
-   * Logs a <code>Status</code>.
-   * @param severity The severity of the logging entry.
-   * @param debug option
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param status The Status to log.
-   */
-  public void log ( int severity, String option, int messageNum, Object caller, String method, Status status );
-
-  /**
-   * Logs an <code>Object</code>.
-   * @param severity The severity of the logging entry.
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param object The Object to log.
-   */
-  public void log ( int severity, int messageNum, Object caller, String method, Object object );
-  
-  /**
-   * Logs an <code>Object</code>.
-   * @param severity The severity of the logging entry.
-   * @param debug option
-   * @param messageNum  The message number.
-   * @param caller The object (for non-static methods) or class (for
-   * static methods) doing the logging.
-   * @param method The simple name of the method doing the loging.
-   * @param object The Object to log.
-   */
-  public void log ( int severity, String option, int messageNum, Object caller, String method, Object object );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/MessageUtils.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/MessageUtils.java
deleted file mode 100644
index 8dbf182..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/MessageUtils.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-import java.text.MessageFormat;
-import java.util.Hashtable;
-import java.util.Locale;
-import java.util.ResourceBundle;
-
-/**
- * This class provides a convienent way to access resource bundles and
- * retieve translated strings.
- *
- *
- */
-public class MessageUtils
-{
-  private ResourceBundle resource_;
-  
-  private static Hashtable bundles_ = new Hashtable();
-  
-  /**
-   * 
-   * @param bundleId the resource bundle ID.
-   * @param object the class loader for this object will be used to retrieve
-   *               the resource bundle.
-   */
-  public MessageUtils( String bundleId, Object object )
-  {
-    this( bundleId, object.getClass().getClassLoader() );
-  }
-  
-  /**
-   * 
-   * @param bundleId the resource bundle ID.
-   * @param loader the class loader that will be used to retrieve
-   *               the resource bundle.
-   */
-  public MessageUtils( String bundleId, ClassLoader loader )
-  {
-    resource_ = (ResourceBundle)bundles_.get( bundleId );
-    
-    if( resource_ == null )
-    {
-      resource_ = ResourceBundle.getBundle( bundleId, Locale.getDefault(), loader );
-      bundles_.put( bundleId, resource_ );
-    }
-  }
-  
-  /**
-   * 
-   * @param key the key for the string to retrieve.
-   * @return returns the translated string.
-   */
-  public String getMessage ( String key )
-  {
-    String value = key;
-    
-    try
-    {
-      value = resource_.getString( key ); 
-    }
-    catch( Throwable exc )
-    {
-    }
-    
-    return value;
-  }
-  
-  /**
-   * 
-   * @param key the key for the string to retrieve.
-   * @param args These arguments will be substituted into the translated string.
-   * @return returns the translated string with any substitutions.
-   */
-  public String getMessage ( String key, Object[] args )
-  {
-    return MessageFormat.format( getMessage(key),args );
-  } 
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/NullProgressMonitor.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/NullProgressMonitor.java
deleted file mode 100644
index 85236a2..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/NullProgressMonitor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- *  A ProgressMonitor that does nothing. 
- */
-public class NullProgressMonitor implements ProgressMonitor
-{
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor#getChildProgressMonitor()
-	 */
-	public ProgressMonitor getChildProgressMonitor() 
-	{
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor#isCancelRequested()
-	 */
-	public boolean isCancelRequested() 
-	{
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor#report(java.lang.String)
-	 */
-	public void report(String progress) 
-	{
-	}
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/NullStatusHandler.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/NullStatusHandler.java
deleted file mode 100644
index 4a07868..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/NullStatusHandler.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-public class NullStatusHandler implements StatusHandler
-{
-  
-  /**
-   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
-   */
-  public Choice report(Status status, Choice[] choices) 
-  {
-  	Choice result = null;
-  	
-  	// Always take the first choice if available.
-    if( choices != null && choices.length > 0 )
-    {
-    	result = choices[0];
-    }
-    
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status)
-   */
-  public void report(Status status) throws StatusException
-  {
-  }
-  
-  /*
-   * Report a warning.
-   */
-  private boolean reportWarning(Status status)
-  {
-    return true;
-  }
-
-  /*
-   * Report and error.
-   */
-  private boolean reportErrorStatus(Status status)
-  {
-    return false;
-  }
-  
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#reportError(org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-   */
-  public void reportError(Status status)
-  {
-    reportErrorStatus( status );
-  }
-  
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#reportInfo(org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-   */
-  public void reportInfo(Status status)
-  {
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/ProgressMonitor.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/ProgressMonitor.java
deleted file mode 100644
index 0f12677..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/ProgressMonitor.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-public interface ProgressMonitor
-{
-  /**
-   * Reports progress.
-   */
-  public void report ( String progress );
-
-  /**
-   * Returns a new progress monitor that will record progress
-   * messages as "children" of the message most recently reported
-   * thru the parent monitor.
-   */
-  public ProgressMonitor getChildProgressMonitor ();
-
-  /**
-   * Returns true if the environment has requested cancellation
-   * of the operation in progress. It is entirely up to a Command
-   * to decide if, and when, to consult this method.
-   */
-  public boolean isCancelRequested ();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Range.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Range.java
deleted file mode 100644
index 75ff51c..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Range.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URI;
-
-/**
- * Carries position information within a resource.
- */
-public interface Range
-{
-  public static final int UNKNOWN = -1;
-
-  /**
-   * Returns the identifier of the resource the range applies to.
-   */
-  public URI getURI ();
-
-  /**
-   * Returns the index, zero-indexed, of the first line
-   * of the range.
-   */
-  public int getStartingLineNumber ();
-
-  /**
-   * Returns the index, zero-indexed, of the first character
-   * of the range relative to the beginning of the line.
-   */
-  public int getStartingCharNumberInLine ();
-
-  /**
-   * Returns the index, zero-indexed, of the first character
-   * of the range relative to the beginning of the file.
-   */
-  public int getStartingCharNumberInURI ();
-
-  /**
-   * Returns the index, zero-indexed, of the last line
-   * of the range.
-   */
-  public int getEndingLineNumber ();
-
-  /**
-   * Returns the offset, zero-indexed, of the last character
-   * of the range relative to the beginning of the line.
-   */
-  public int getEndingCharNumberInLine ();
-
-  /**
-   * Returns the index, zero-indexed, of the last character
-   * of the range relative to the beginning of the file.
-   */
-  public int getEndingCharNumberInURI ();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/RangeVector.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/RangeVector.java
deleted file mode 100644
index ee3c52a..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/RangeVector.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-import java.util.Vector;
-
-/**
- * This Vector makes the protected method removeRange public.
- *
- */
-public class RangeVector extends Vector
-{
-  /**
-   * Comment for <code>serialVersionUID</code>
-   */
-  private static final long serialVersionUID = 4048793476659230773L;
-
-  public void removeRange( int start, int end )
-  {
-    super.removeRange( start, end );
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/SimpleStatus.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/SimpleStatus.java
deleted file mode 100644
index c35f98b..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/SimpleStatus.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-import java.util.List;
-import java.util.LinkedList;
-import java.util.Iterator;
-
-/**
- * A usually sufficient implementation of Status.
- */
-public class SimpleStatus implements Status
-{
-  
-  private List children_ = new LinkedList();
-  private String id_;
-  private String message_;
-  private int severity_;
-  private Throwable throwable_;
-
-  /**
-   * Method SimpleStatus.
-   * @param id
-   */
-  public SimpleStatus ( String id )
-  {
-    this(id,"",OK,null);
-  }
-
-  /**
-   * Method SimpleStatus.
-   * @param id
-   * @param message
-   * @param severity
-   */
-  public SimpleStatus ( String id, String message, int severity )
-  {
-    this(id,message,severity,null);
-  }
-
-  /**
-   * Method SimpleStatus.
-   * @param id
-   * @param message
-   * @param children
-   */
-  public SimpleStatus ( String id, String message, Status[] children )
-  {
-    this(id,message,OK,null);
-    for (int i=0; i<children.length; i++)
-    {
-      children_.add(children[i]);
-    }
-  }
-
-  /**
-   * Method SimpleStatus.
-   * @param id
-   * @param message
-   * @param severity
-   * @param throwable
-   */
-  public SimpleStatus ( String id, String message, int severity, Throwable throwable )
-  {
-    id_ = id;
-    message_ = message;
-    severity_ = severity;
-    throwable_ = throwable;
-  }
-
-  /**
-   * @see Status#getId()
-   */
-  public String getId ()
-  {
-    return id_;
-  }
-
-  /**
-   * @see Status#getMessage()
-   */
-  public String getMessage ()
-  {
-    return message_;
-  }
-
-  /**
-   * @see Status#getSeverity()
-   */
-  public int getSeverity ()
-  {
-    int severity = severity_;
-    if (children_.size() > 0)
-    {
-      Iterator i = children_.iterator();
-      while (i.hasNext())
-      {
-        Status status = (Status)i.next();
-        int childSeverity = status.getSeverity();
-        if (childSeverity > severity)
-        {
-          severity = childSeverity;
-        }
-      }
-    }
-    return severity;
-  }
-
-  /**
-   * @see Status#getThrowable()
-   */
-  public Throwable getThrowable ()
-  {
-    return throwable_;
-  }
-
-  /**
-   * @see Status#hasChildren()
-   */
-  public boolean hasChildren ()
-  {
-    return children_.size() > 0;
-  }
-
-  /**
-   * @see Status#getChildren()
-   */
-  public Status[] getChildren ()
-  {
-    return (Status[])children_.toArray(new Status[0]);
-  }
-
-  /**
-   * @see Status#matches(int)
-   */
-  public boolean matches ( int mask )
-  {
-    return (getSeverity() | mask) != 0;
-  }
-
-  /**
-   * Method addChild.
-   * @param status
-   */
-  public void addChild ( Status status )
-  {
-    children_.add(status);
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Status.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Status.java
deleted file mode 100644
index 8b89d14..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/Status.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- * Carries status information.
- */
-public interface Status
-{
-  /**
-   * Status: Everything is fine, and there are no messages or details.
-   */
-  public static final int OK = 0;
-
-  /**
-   * Status: Everything is fine, but there is information to report.
-   */
-  public static final int INFO = 1;
-
-  /**
-   * Status: Things are working, but possibly not as expected.
-   */
-  public static final int WARNING = 2;
-
-  /**
-   * Status: Blammo.
-   */
-  public static final int ERROR = 4;
-
-  /**
-   * Returns a non-translated application specific identifier.
-   * May return null.
-   */
-  public String getId ();
-
-  /**
-   * Returns a translated (locale-sensitive) message.
-   * May return null.
-   */
-  public String getMessage ();
-
-  /**
-   * Returns the severity.
-   */
-  public int getSeverity ();
-
-  /**
-   * Returns an exception (throwable) behind the status, if any.
-   * May return null.
-   */
-  public Throwable getThrowable ();
-
-  /**
-   * Returns true if this status object has child status objects.
-   */
-  public boolean hasChildren ();
-
-  /**
-   * Returns the immediate child Status objects of this object.
-   * Never returns null, but may return a zero-length array.
-   */
-  public Status[] getChildren ();
-
-  /**
-   * Returns true if this status' severity matches the severity
-   * mask passed in. Strictly speaking:
-   * this.matches(that) == (this.getSeverity() | that != 0)
-   */
-  public boolean matches ( int mask );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/StatusException.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/StatusException.java
deleted file mode 100644
index 37019ae..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/StatusException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- * This is the exception class used by StatusHandlers to tell their
- * callers that processing should stop.
- */
-public class StatusException extends EnvironmentException
-{
-  /**
-   * Comment for <code>serialVersionUID</code>
-   * */
-  private static final long serialVersionUID = 3618141160322119992L;
-
-  /**
-   * The Choice that lead to the exception being thrown,
-   * if any (ie. may be null).
-   */
-  protected Choice choice;
-
-  /**
-   * Creates a new StatusException with the given Status.
-   */
-  public StatusException( Status status )
-  {
-    super( status );  
-  }
-  
-  /**
-   * Creates a new StatusException with the given Choice.
-   * The Choice may be null.
-   */
-  public StatusException ( Choice choice )
-  {
-    super();
-    this.choice = choice;
-  }
-
-  /**
-   * Creates a new StatusException with the given Choice
-   * and status object. The Choice may be null.
-   */
-  public StatusException ( Status status, Choice choice )
-  {
-    super(status);
-    this.choice = choice;
-  }
-
-  /**
-   * Returns the Choice object inside this exception.
-   */
-  public Choice getChoice ()
-  {
-    return choice;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/StatusHandler.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/StatusHandler.java
deleted file mode 100644
index 214691a..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/common/StatusHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.common;
-
-/**
- * Processes status events raised by the caller and returns an
- * indication of choices made by the recipient of the status and
- * may raise an exception against the caller to have them abort
- * procesing.
- */
-public interface StatusHandler
-{
-  /**
-   * Reports the given Status and set of possible responses.
-   * Returns the choice made by the handler.
-   */
-  public Choice report ( Status status, Choice[] choices );
-  
-  /**
-   * Reports the given Status with implied options to either
-   * continue or abort.
-   * Throws an exception if the handler decides the caller
-   * should stop processing.
-   */
-  public void report ( Status status ) throws StatusException;
-  
-  /**
-   * Report the given Error Status.  No user feedback is provided.
-   * @param status
-   */
-  public void reportError( Status status );
-  
-  /**
-   * Report the given Info Status.  No user feedback is provided.
-   * @param status
-   */
-  public void reportInfo( Status status );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/Context.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/Context.java
deleted file mode 100644
index af278b9..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/Context.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.context;
-
-/**
- * This interface provides a way to get and set preference information.
- *
- */
-public interface Context 
-{
- /**
-  * Loads the preference data into this Context object.
-  *
-  */
- public void load();
-
- /**
-  * Sets the default for a boolean preference.
-  * @param name the preference name.
-  * @param value the preference value.
-  */
- public void setDefault (String name, boolean value); 
- 
- /**
-  * Sets the default for a string preference.
-  * @param name the preference name.
-  * @param value the preference value.
-  */
- public void setDefault (String name, String value);
- 
- /**
-  * Sets the default for a int preference.
-  * @param name the preference name.
-  * @param value the preference value.
-  */
- public void setDefault (String name, int value); 
-
- /**
-  * Sets the value for a string preference.
-  * @param name the preference name.
-  * @param value the preference value.
-  */
- public void setValue (String name, String value);
- 
- /**
-  * Sets the value for a boolean preference.
-  * @param name the preference name.
-  * @param value the preference value.
-  */
- public void setValue (String name, boolean value);
- 
- /**
-  * Sets the value for a int preference.
-  * @param name the preference name.
-  * @param value the preference value.
-  */
- public void setValue (String name, int value);   
-
- /**
-  * Gets the value for a string preference.
-  * @param name the preference name.
-  * @return the preference value.
-  */
- public String getValueAsString ( String name);
- 
- /**
-  * Gets the value for a boolean preference.
-  * @param name the preference name.
-  * @return the preference value.
-  */
- public boolean getValueAsBoolean ( String name);
- 
- /**
-  * Gets the value for a int preference.
-  * @param name the preference name.
-  * @return the preference value.
-  */
- public int getValueAsInt ( String name);  		
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/ResourceContext.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/ResourceContext.java
deleted file mode 100644
index 9faff00..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/ResourceContext.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.context;
-
-public interface ResourceContext 
-{
- /**
-   * This constant string is used to lookup the overwrite files general preference from
-   * the plugins local preferences store.
- **/
- public static final String PREFERENCE_OVERWRITE = "filesOverwrite";
-
- /**
-   * This constant string is used to lookup the create folders general preference from
-   * the plugins local preferences store.
- **/
- public static final String PREFERENCE_CREATE_FOLDERS = "createFolders";
- 
- /**
-   * This constant string is used to lookup the checkout files general preference from
-   * the plugins local preferences store.
- **/
- public static final String PREFERENCE_CHECKOUT = "filesCheckout";
-
- /**
-  * 
-  * @param enable set whether overwriting of files is enabled.
-  */
- public void setOverwriteFilesEnabled ( boolean enable);
- 
- /**
-  * 
-  * @return returns whether overwriting of files is enabled.
-  */
- public boolean isOverwriteFilesEnabled();
- 
- /**
-  * 
-  * @param enable set whether creation of folders is enabled.
-  */
- public void setCreateFoldersEnabled( boolean enable);
- 
- /**
-  * 
-  * @return returns whether creation of folders is enabled.
-  */
- public boolean isCreateFoldersEnabled(); 
- 
- /**
-  * 
-  * @param enable sets whether automatic checkout of files is enabled.
-  */
- public void setCheckoutFilesEnabled( boolean enable);
- 
- /**
-  * 
-  * @return returns whether automatic checkout of files is enabled.
-  */
- public boolean isCheckoutFilesEnabled();
- 
- /**
-  * 
-  * @return returns a copy of this ResourceContext.
-  */
- public ResourceContext copy();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/ResourceDefaults.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/ResourceDefaults.java
deleted file mode 100644
index 7a22a28..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/ResourceDefaults.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.context;
-
-public class ResourceDefaults
-{
- private static final boolean PREFERENCE_OVERWRITE_DEFAULT = false;
- private static final boolean PREFERENCE_CREATE_FOLDERS_DEFAULT = true;
- private static final boolean PREFERENCE_CHECKOUT_DEFAULT = false;
-
- /**
-  * 
-  * @return returns the default setting for overwriting files.
-  */
- public static boolean getOverwriteFilesDefault ()
- {
- 	return PREFERENCE_OVERWRITE_DEFAULT;
- }
- 
- /**
-  * 
-  * @return returns the default setting ofr creating folders.
-  */
- public static boolean getCreateFoldersDefault ()
- { 
-	return PREFERENCE_CREATE_FOLDERS_DEFAULT;
- }
-
- /**
-  * 
-  * @return returns the default setting for checking out files.
-  */
- public static boolean getCheckoutFilesDefault()
- {
-	return PREFERENCE_CHECKOUT_DEFAULT;
- }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/TransientResourceContext.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/TransientResourceContext.java
deleted file mode 100644
index 791aa95..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/context/TransientResourceContext.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.context;
-
-/**
- * This class implements a ResourceContext interface where the state
- * of the context data is transient.
- *
- */
-public class TransientResourceContext implements ResourceContext 
-{
-  private boolean overWriteFiles;
-  private boolean createFolders;
-  private boolean checkOutFiles;
-
-  public TransientResourceContext() {
-    setOverwriteFilesEnabled(ResourceDefaults.getOverwriteFilesDefault());
-    setCreateFoldersEnabled(ResourceDefaults.getCreateFoldersDefault());
-    setCheckoutFilesEnabled(ResourceDefaults.getCheckoutFilesDefault());
-  }
-
-  /**  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext#setOverwriteFilesEnabled(boolean)
-   */
-  public void setOverwriteFilesEnabled(boolean enable) {
-    overWriteFiles = enable;
-  }
-  
-  /**  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext#isOverwriteFilesEnabled()
-   */
-  public boolean isOverwriteFilesEnabled() {
-    return overWriteFiles;
-  }
-
-  /**  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext#setCreateFoldersEnabled(boolean)
-   */
-  public void setCreateFoldersEnabled(boolean enable) {
-    createFolders = enable;
-  }
-  
-  /**  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext#isCreateFoldersEnabled()
-   */
-  public boolean isCreateFoldersEnabled() {
-    return createFolders;
-  }
-
-  /**  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext#setCheckoutFilesEnabled(boolean)
-   */
-  public void setCheckoutFilesEnabled(boolean enable) {
-    checkOutFiles = enable;
-  }
-  
-  /**  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext#isCheckoutFilesEnabled()
-   */
-  public boolean isCheckoutFilesEnabled() {
-    return checkOutFiles;
-  }
-  
-  /**  
-   * @see org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext#copy()
-   */
-  public ResourceContext copy() {
-    ResourceContext cc = new TransientResourceContext();
-    cc.setOverwriteFilesEnabled(isOverwriteFilesEnabled());
-    cc.setCreateFoldersEnabled(isCreateFoldersEnabled());
-    cc.setCheckoutFilesEnabled(isCheckoutFilesEnabled());
-    return cc;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/data/DataMappingRegistry.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/data/DataMappingRegistry.java
deleted file mode 100644
index b34a874..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/data/DataMappingRegistry.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.data;
-
-public interface DataMappingRegistry
-{
-  /**
-   * This method adds a data mapping from a source object to a target
-   * object.  When the sourceObject is encountered by the framework the
-   * sourceProperty will be called and the data will be passed to the
-   * targetProperty in the targetObject.  If a transformer object is
-   * specified the sourceObject is transformed before being passed to
-   * the target object.
-   * 
-   * @param sourceType      The source object.
-   * @param sourceProperty  The source property.
-   * @param targetType      The target object.
-   * @param targetProperty  The target property.
-   * @param transformer     The transformer object that transforms the
-   *                        the source object.
-   */
-  public void addMapping( Class       sourceType,
-						  String      sourceProperty,
-						  Class       targetType,
-						  String      targetProperty,
-						  Transformer transformer );
-  
-  /**
-   * This method is equivalent to the above with targetProperty the same
-   * as the sourceProperty and with the transformer set to null.
-   * 
-   * @param sourceType     The source object.
-   * @param sourceProperty The source property.
-   * @param targetType     The target object.
-   */
-  public void addMapping( Class       sourceType,
-	                      String      sourceProperty,
-	                      Class       targetType );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/data/Transformer.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/data/Transformer.java
deleted file mode 100644
index 1c2bdb2..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/data/Transformer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.data;
-
-/**
- * This interface is used to transform an object from one class to another.
- *
- */
-public interface Transformer
-{
-  /*
-   * @return returns a transformed object based on the input value.
-   */
-  public Object transform( Object value );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/BooleanSelection.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/BooleanSelection.java
deleted file mode 100644
index 1386521..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/BooleanSelection.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-/**
- * This class combines a string with a boolean value.  This is
- * useful for storing the state data for a boolean selection list.
- */
-package org.eclipse.wst.command.internal.provisional.env.core.selection;
-
-public class BooleanSelection
-{
-  private String  value_;
-  private boolean selected_;
-  
-  public BooleanSelection( String value, boolean selected )
-  {
-    value_    = value;
-    selected_ = selected;
-  }
-  
-  /**
-   * 
-   * @return Get the string value.
-   */
-  public String getValue()
-  {
-    return value_;
-  }
-  
-  /**
-   * 
-   * @return Get the boolean value for this string.
-   */
-  public boolean isSelected()
-  {
-    return selected_;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/ChoicesToString.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/ChoicesToString.java
deleted file mode 100644
index 5f39b4e..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/ChoicesToString.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.selection;
-
-import org.eclipse.wst.command.internal.provisional.env.core.data.Transformer;
-
-/**
- * This transformer class selects a string at a particular level
- * in a SelectionListChoices class.
- */
-public class ChoicesToString implements Transformer
-{
-  private int level_;
-  
-  public ChoicesToString( int level )
-  {
-    level_ = level;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.data.Transformer#transform(java.lang.Object)
-   */
-  public Object transform( Object value )
-  {
-    SelectionListChoices choices = (SelectionListChoices)value;
-    
-    for( int index = 0; index < level_; index++ )
-    {
-      choices = choices.getChoice();
-    }
-    
-    return choices.getList().getSelection();
-  }
-
-  public SelectionList transform( SelectionListChoices choices )
-  {
-    return (SelectionList)transform( (Object)choices );
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/DynamicList.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/DynamicList.java
deleted file mode 100644
index a76b04b..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/DynamicList.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.selection;
-
-import java.util.Vector;
-
-/**
- * This is a Dynamic version of the SelectionListChoices class.
- */
-public class DynamicList 
-{
-  private Vector stringList_ = new Vector();
-  private Vector dynamicListVectorList_ = new Vector();
-  
-  /**
-   * Adds an entry into the dynamic list.
-   * 
-   * @param values the string values that lead to the target.
-   * @param target the target.
-   */
-  public void add( String[] values, Object target )
-  {
-    DynamicList currentList = this;
-    
-    for( int index = 0; index < values.length; index++ )
-    {
-      String value      = values[index];
-      int    length     = currentList.stringList_.size();
-      int    foundIndex = -1;
-      
-      // Find the string in the current list.
-      for( int searchIndex = 0; searchIndex < length; searchIndex++ )
-      {
-        String string = (String)currentList.stringList_.elementAt( searchIndex ); 
-        
-        if( string.equals( value ) ) 
-        {
-          foundIndex = searchIndex;
-          break;
-        }
-      }
-      
-      if( foundIndex == -1 )
-      {
-        // We have a new string so add it to the list.
-        currentList.stringList_.add( value );
-        currentList.dynamicListVectorList_.add( new DynamicList() );
-        foundIndex = length;
-      }
-      
-      currentList = (DynamicList)currentList.dynamicListVectorList_.elementAt( foundIndex );       
-    }
-    
-    currentList.dynamicListVectorList_.add( target );
-  }
-  
-  /**
-   * 
-   * @return returns a SelectionListChoices object from this DynamicList
-   * object.
-   */
-  public SelectionListChoices toListChoices()
-  {
-    SelectionList list   = new SelectionList( (String[])stringList_.toArray( new String[0] ), 0);
-    int           length = dynamicListVectorList_.size();
-    Vector        vector = new Vector(); 
-    
-    for( int index = 0; index < length; index++ )
-    {
-      Object obj = dynamicListVectorList_.elementAt(index);
-      
-      if( obj instanceof DynamicList )
-      {
-        vector.add( ((DynamicList)obj).toListChoices() );
-      }
-      else
-      {
-        vector.add( obj );
-      }
-    }
-    
-    return new SelectionListChoices( list, vector );
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/SelectionList.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/SelectionList.java
deleted file mode 100644
index d6354db..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/SelectionList.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.selection;
-
-/**
- * This class stores a list strings along with a selectionIndex which
- * stores the current string that selected.  There is also a selection
- * value.  If this value is one of the strings in the the string list
- * then selectionIndex will contain the index of this string.  If it
- * is not in the list then the selectionValue string will contain this
- * value and selectionIndex will be set to -1.  This class can be
- * used to store the state data for a Combo box.
- */
-public class SelectionList
-{
-  private int      selectionIndex_;
-  private String[] list_;
-  private String   selectionValue_;
-  
-  public SelectionList( String[] list, int selectionIndex )
-  {
-    list_           = list;
-    selectionIndex_ = selectionIndex;
-  }
-  
-  /**
-   * Sets the selection value for this object.
-   * 
-   * @param value the value.
-   */
-  public void setSelectionValue( String value )
-  {
-    selectionValue_ = value;  
-    selectionIndex_ = -1;
-    
-    for( int index = 0; index < list_.length; index++ )
-    {
-      if( value.equals( list_[index] ) )
-      {
-        selectionIndex_ = index;
-        break;
-      }
-    }
-  } 
-  
-  /*
-   * @return returns the string list.
-   */
-  public String[] getList()
-  {
-    return list_;
-  }
-  
-  /*
-   * Sets the currently selected string in the list.
-   */
-  public void setIndex( int index )
-  {
-    selectionIndex_ = index;
-    selectionValue_ = null;
-  }
- 
-  /*
-   * @return returns the index of the current string.  The value
-   * will be -1 if the selection value is not in the string list.
-   */
-  public int getIndex()
-  {
-    return selectionIndex_;  
-  }
-  
-  /*
-   * @return returns the current string selection for this object.
-   */
-  public String getSelection()
-  {
-    if( selectionValue_ != null ) return selectionValue_;
-    
-    if( selectionIndex_ == -1 || selectionIndex_ > list_.length-1 )
-    {
-      return "";
-    }
-    else
-    {
-      return list_[ selectionIndex_ ];
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/SelectionListChoices.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/SelectionListChoices.java
deleted file mode 100644
index 04b0d72..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/selection/SelectionListChoices.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.selection;
-
-import java.util.Vector;
-
-/*
- * This class can be used to store a hierarchy of SelectionList
- * objects.
- */
-public class SelectionListChoices
-{
-  private SelectionList selectionList_;
-  private Vector        choices_;
-  private SelectionList newValueSelectionList_;
-  
-  /**
-   * 
-   * @param list     The selection list.
-   * @param choices  This is a vector of SelectionListChoies and can be
-   *                 null if there are no choices.  This index of list
-   *                 is used to index into choices.  If index is -1 then
-   *                 the newValueSelectionList is used.
-   */
-  public SelectionListChoices( SelectionList list, Vector choices )
-  {
-    selectionList_ = list;
-    choices_       = choices;
-    
-    newValueSelectionList_ = new SelectionList( new String[0], -1 );
-  }
-  
-  public SelectionListChoices( SelectionList list, Vector choices, SelectionList newList )
-  {
-    this( list, choices );
-    newValueSelectionList_ = newList;
-  }
-  
-  /**
-   * @return returns the current Selection list.
-   */
-  public SelectionList getList()
-  {
-    return selectionList_;
-  }
-  
-  /**
-   * 
-   * @return returns the choices for this object.
-   */
-  public Vector getChoices()
-  {
-    return choices_;
-  }
-  
-  /**
-   * 
-   * @param level the level in the hierarchy where we want to get the choices.
-   * @return returns a vector of SelectionListChoices.
-   */
-  public Vector getChoicesAtLevel( int level )
-  {
-    SelectionListChoices choices = this;
-    
-    for( int index = 0; index < level; index++ )
-    {
-      choices = choices.getChoice();
-    }
-    
-    return choices.getChoices();
-  }
-  
-  /**
-   * 
-   * @return returns the current SelectionListChoice
-   */
-  public SelectionListChoices getChoice()
-  {
-    int                  selectionIndex = selectionList_.getIndex();
-    SelectionListChoices result         = null;
-    
-    if( selectionIndex == -1 )
-    {
-      result = new SelectionListChoices( newValueSelectionList_, null );
-    }
-    else if( choices_ != null && choices_.size() != 0 ) 
-    {
-      result = (SelectionListChoices)choices_.elementAt( selectionIndex );
-    }
-    
-    return result;
-  }
-  
-  /**
-   * 
-   * @param index the index of the choice we want.
-   * @return returns the SelectionListChoice at the index specified.
-   */
-  public SelectionListChoices getChoice(int index)
-  {
-    SelectionListChoices result = null;
-    if (index < 0 || index >= getList().getList().length)
-    {
-      result = new SelectionListChoices( newValueSelectionList_, null );      
-    }
-    else
-    {
-      result = (SelectionListChoices)choices_.elementAt( index );
-    }
-      
-    return result;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/NativeFileCommand.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/NativeFileCommand.java
deleted file mode 100644
index 1ecd846..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/NativeFileCommand.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import java.io.File;
-import java.util.List;
-import java.util.LinkedList;
-
-import org.eclipse.wst.command.internal.provisional.env.core.Command;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIException;
-
-public abstract class NativeFileCommand implements Command
-{
-  protected String name;
-
-  protected String description;
-
-  protected URI[] urisToRead;
-
-  protected URI[] urisToWrite;
-
-  protected NativeFileCommand ()
-  {
-    this(null,null);
-  }
-
-  protected NativeFileCommand ( String name, String description )
-  {
-    this.name = name;
-    this.description = description;
-  }
-
-  public String getName ()
-  {
-    return name;
-  }
-
-  public String getDescription ()
-  {
-    return description;
-  }
-
-  public void setURIsToRead ( URI[] urisToRead )
-  {
-    this.urisToRead = urisToRead;
-  }
-
-  public URI[] getURIsToRead ()
-  {
-    return urisToRead;
-  }
-
-  public void setURIsToWrite ( URI[] urisToWrite )
-  {
-    this.urisToWrite = urisToWrite;
-  }
-
-  public URI[] getURIsToWrite ()
-  {
-    return urisToWrite;
-  }
-
-  public Status execute ( Environment environment )
-  {
-    File[] filesToRead = getFiles(urisToRead);
-    File[] filesToWrite = getFiles(urisToWrite);
-    preProcess(filesToRead,filesToWrite);
-    Status status = execute(environment,filesToRead,filesToWrite);
-    postProcess(filesToRead,filesToWrite);
-    return status;
-  }
-
-  public abstract Status execute ( Environment environment, File[] filesToRead, File[] filesToWrite );
-
-  public boolean isUndoable ()
-  {
-    return false;
-  }
-
-  public Status undo ( Environment environment )
-  {
-    return null;
-  }
-
-  public boolean isRedoable ()
-  {
-    return false;
-  }
-
-  public Status redo ( Environment environment )
-  {
-    return null;
-  }
-
-  private void preProcess ( File[] filesToRead, File[] filesToWrite )
-  {
-    // TBD.
-  }
-
-  private void postProcess ( File[] filesToRead, File[] filesToWrite )
-  {
-    // TBD.
-  }
-
-  private File[] getFiles ( URI[] uris )
-  {
-    List list = new LinkedList();
-    if (uris != null)
-    {
-      for (int i=0; i<uris.length; i++)
-      {
-        if (uris[i].isAvailableAsFile())
-        {
-          try
-          {
-            list.add(uris[i].asFile());
-          }
-          catch (URIException e)
-          {
-          }
-        }
-      }
-    }
-    return (File[])list.toArray(new File[0]);
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/RelativeScheme.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/RelativeScheme.java
deleted file mode 100644
index 726d228..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/RelativeScheme.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import java.net.URL;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-
-public class RelativeScheme implements URIScheme
-{
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#isHierarchical()
-   */
-  public boolean isHierarchical()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#isValid(org.eclipse.env.uri.URI)
-   */
-  public boolean isValid(URI uri)
-  {
-    return !uri.toString().startsWith( "/" );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.lang.String)
-   */
-  public URI newURI(String uri) 
-  {
-    return new RelativeURI( uri );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(org.eclipse.env.uri.URI)
-   */
-  public URI newURI(URI uri) 
-  {
-    return new RelativeURI( uri.toString() );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#newURI(java.net.URL)
-   */
-  public URI newURI(URL url) 
-  {
-    return new RelativeURI( url.toString() );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URIScheme#validate(org.eclipse.env.uri.URI)
-   */
-  public Status validate(URI uri)
-  {
-    Status result = null;
-    
-    if( isValid( uri ) )
-    {
-      result = new SimpleStatus( "", "", Status.OK );
-    }
-    else
-    {
-      result = new SimpleStatus( "", "", Status.ERROR );      
-    }
-    
-    return result;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/RelativeURI.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/RelativeURI.java
deleted file mode 100644
index 573baab..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/RelativeURI.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-
-public class RelativeURI implements URI
-{
-  protected String uri_;
-  
-  public RelativeURI( String uri )
-  {
-    uri_ = uri;   
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#append(org.eclipse.env.uri.URI)
-   */
-  public URI append(URI relativeURI) throws URIException
-  {
-    if( !relativeURI.isRelative()) 
-     {
-      MessageUtils msg = new MessageUtils( "org.eclipse.wst.command.env.core.environment", new Dummy() );
-      
-      throw new URIException( 
-          new SimpleStatus( "RelativeURI", 
-              msg.getMessage( "MSG_URI_NOT_RELATIVE", new Object[]{ relativeURI.toString() }),
-              Status.ERROR ));
-    }
-    
-    String newURI = uri_ + "/" + relativeURI.toString();
-    
-    return getURIScheme().newURI( newURI );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asFile()
-   */
-  public File asFile() 
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asString()
-   */
-  public String asString()
-  {
-    return uri_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#toString()
-   */
-  public String toString()
-  {
-    return uri_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#asURL()
-   */
-  public URL asURL() throws URIException
-  {
-    URL url = null;
-    
-    try
-    {
-      url = new URL( uri_ );
-    }
-    catch( MalformedURLException exc )
-    {
-      throw new URIException( 
-              new SimpleStatus( "RelativeURI", exc.getMessage(), Status.ERROR ),
-            this ); 
-    }
-    
-    return url;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#erase()
-   */
-  public void erase() throws URIException
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getInputStream()
-   */
-  public InputStream getInputStream() throws URIException
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getOutputStream()
-   */
-  public OutputStream getOutputStream() throws URIException
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#getURIScheme()
-   */
-  public URIScheme getURIScheme()
-  {
-    return new RelativeScheme();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsFile()
-   */
-  public boolean isAvailableAsFile()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isAvailableAsURL()
-   */
-  public boolean isAvailableAsURL()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isHierarchical()
-   */
-  public boolean isHierarchical()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isLeaf()
-   */
-  public boolean isLeaf()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isPresent()
-   */
-  public boolean isPresent()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isReadable()
-   */
-  public boolean isReadable()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isRelative()
-   */
-  public boolean isRelative()
-  {
-    return true;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#isWritable()
-   */
-  public boolean isWritable()
-  {
-    return false;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list()
-   */
-  public URI[] list() throws URIException
-  {
-    return new URI[0];
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#list(org.eclipse.env.uri.URIFilter)
-   */
-  public URI[] list(URIFilter uriFilter) throws URIException
-  {
-    return new URI[0];
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#parent()
-   */
-  public URI parent() throws URIException
-  {
-    int lastSlash  = uri_.lastIndexOf( '/' );
-    int firstSlash = uri_.indexOf( '/' );
-    
-    // If there is a parent, then it must start with a slash
-    // and end with a slash.
-    if( lastSlash == -1 || firstSlash == -1 ) return null;
-        
-    return getURIScheme().newURI( uri_.substring(0, lastSlash ) );
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#rename(org.eclipse.env.uri.URI)
-   */
-  public void rename(URI newURI) throws URIException
-  {
-    uri_ = newURI.toString();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchFolder()
-   */
-  public void touchFolder() throws URIException
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#touchLeaf()
-   */
-  public void touchLeaf() throws URIException
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#visit(org.eclipse.env.uri.URIVisitor, org.eclipse.env.uri.URIFilter)
-   */
-  public void visit(URIVisitor uriVisitor, URIFilter uriFilter)
-    throws URIException
-  {
-    boolean continueVisit = true;
-    
-    // If the filter accepts this we will visit it.
-    if( uriFilter.accepts( this ) )
-    {
-      continueVisit = uriVisitor.visit( this );  
-    }
-       
-    URI[] children  = list();
-    
-    for( int index = 0; index < children.length && continueVisit; index++ )
-    {
-      children[index].visit( uriVisitor, uriFilter );
-    }  
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.env.uri.URI#visit(org.eclipse.env.uri.URIVisitor)
-   */
-  public void visit(URIVisitor uriVisitor) throws URIException
-  {
-    boolean continueVisit = uriVisitor.visit( this );  
-    
-    URI[] children  = list();
-    
-    for( int index = 0; index < children.length && continueVisit; index++ )
-     {
-      children[index].visit( uriVisitor );
-    }  
-  }
-    
-  private class Dummy 
-  {
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/SimpleURIFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/SimpleURIFactory.java
deleted file mode 100644
index 171661c..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/SimpleURIFactory.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import java.net.URL;
-import java.util.Hashtable;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-
-public class SimpleURIFactory implements URIFactory
-{
-  private Hashtable    schemes_ = new Hashtable();
-  private MessageUtils msg_     = new MessageUtils( "org.eclipse.wst.command.env.core.environment", this );
-  
-  
-  /* (non-Javadoc)
-   */
-  public URI newURI(String uri) throws URIException
-  {
-    URIScheme scheme = newURIScheme( uri );
-    
-    return scheme.newURI( uri );
-  }
-
-  /* (non-Javadoc)
-   */
-  public URI newURI(URL url) throws URIException
-  {
-    URIScheme scheme = newURIScheme( url.toString() );
-    
-    return scheme.newURI( url );
-  }
-
-  /* (non-Javadoc)
-   */
-  public URIScheme newURIScheme(String schemeOrURI) throws URIException
-  {
-    URIScheme newScheme = null;
-    
-    if( schemeOrURI == null )
-    {
-      throw new URIException( 
-              new SimpleStatus( "SimpleURIFactory",
-                                msg_.getMessage( "MSG_NULL_ARG_SPECIFIED", new Object[]{"newURIScheme"}),
-                                Status.ERROR ) );
-    }
-    
-    int colon    = schemeOrURI.indexOf(':');
-    int slash    = schemeOrURI.indexOf('/');
-    
-    // A protocol was specified.  Note: a colon appearing after a path is not
-    // considered part of the protocol for this URI.
-    if( (colon != -1 && slash == -1) || ( colon != -1 && colon < slash ) )
-    {
-      String protocol = schemeOrURI.substring(0, colon );
-      newScheme       = (URIScheme)schemes_.get( protocol );
-      
-      if( newScheme == null )
-      {
-        throw new URIException( 
-            new SimpleStatus( "SimpleURIFactory",
-                msg_.getMessage( "MSG_SCHEME_NOT_FOUND", new Object[]{ schemeOrURI }),
-                Status.ERROR ) );       
-      }
-    }
-    else if( schemeOrURI.startsWith( "/") )
-    {
-      throw new URIException( 
-          new SimpleStatus( "SimpleURIFactory",
-              msg_.getMessage( "MSG_ABSOLUTE_PATH_WITHOUT_SCHEME", new Object[]{ schemeOrURI }),
-              Status.ERROR ) );
-      
-    }
-    else
-    {
-      newScheme = new RelativeScheme();
-    }
-    
-    return newScheme;
-  }
-  
-  public void registerScheme( String protocol, URIScheme scheme )
-  {
-    schemes_.put( protocol, scheme );
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URI.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URI.java
deleted file mode 100644
index 04e0484..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URI.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-/**
- * A URI represents a Univeral Resource Identifer.
- */
-public interface URI
-{
-  /**
-   * Returns the string form of the URI.
-   * The resource need not exist.
-   */
-  public String toString ();
-
-  /**
-   * Returns the URIScheme for the scheme of this URI.
-   * The resource need not exist.
-   */
-  public URIScheme getURIScheme ();
-
-  /**
-   * Returns true iff the resource identified by this URI exists.
-   */
-  public boolean isPresent ();
-
-  /**
-   * Returns true iff the resource identified by this URI exists
-   * and is a leaf. Returns true always for non-hierarchical schemes.
-   */
-  public boolean isLeaf ();
-
-  /**
-   * Returns true iff the resource identified by this URI exists
-   * and is readable. A readable leaf resource indicates that an
-   * input stream can be opened on the resource. A readable folder
-   * resource indicates that the children of the folder, if any,
-   * can be determined via the list() or visit() methods.
-   */
-  public boolean isReadable ();
-
-  /**
-   * Returns true iff the resource identified by this URI exists
-   * and is writable. A writable leaf resource indicates that an
-   * output stream can be opened on the resource. A writable folder
-   * resource indicates that new resources can be created in the folder.
-   */
-  public boolean isWritable ();
-
-  /**
-   * Returns true iff this URI belongs to a hierarchical scheme.
-   * The resource need not exist.
-   * this.isHierarchical() == this.getURIScheme().isHierarchical().
-   */
-  public boolean isHierarchical ();
-
-  /**
-   * Returns true iff this URI is a relative URI.
-   * The resource need not exist.
-   */
-  public boolean isRelative ();
-
-  /**
-   * Returns the URI of the folder containing this URI.
-   * The resource need not exist.
-   */
-  public URI parent () throws URIException;
-
-  /**
-   * Returns a new, normalized URI formed by appending the given
-   * relative URI to this URI. Both URIs must be hierarchical.
-   * The resulting URI will always be hierarchical. The given
-   * URI must be relative. This URI can be relative or absolute.
-   * the resulting URI will be equivalently relative or absolute.
-   */
-  public URI append ( URI relativeURI ) throws URIException;
-
-  /**
-   * Gets an InputStream for reading from the resource
-   * identified by this leaf or non-hierarchical URI.
-   */
-  public InputStream getInputStream () throws URIException;
-
-  /**
-   * Gets an OutputStream for writing to the resource
-   * identified by this leaf or non-hierarchical URI.
-   */
-  public OutputStream getOutputStream () throws URIException;
-
-  /**
-   * Creates a new, empty resource at the location identified by
-   * the URI. On completion, this.isLeaf() == true. If a leaf
-   * resource already exists, this method does nothing. If a
-   * non-leaf resource already exists under this URI, creation
-   * will fail and an exception will be thrown.
-   */
-  public void touchLeaf () throws URIException;
-
-  /**
-   * Creates a new folder resource at the location identified by
-   * the URI. The scheme of the URI must be hierarchical.
-   * On completion, this.isLeaf() == false. If a folder resource
-   * already exists, this method does nothing. If a leaf resource
-   * already exists under this URI, creation will fail and an
-   * exception will be thrown.
-   */
-  public void touchFolder () throws URIException;
-
-  /**
-   * Erases the resource identified by this URI.
-   */
-  public void erase () throws URIException;
-
-  /**
-   * Renames or moves the resource identified by this URI
-   * to the new URI.
-   */
-  public void rename ( URI newURI ) throws URIException;
-
-  /**
-   * Visits this resource and its decendants in pre-order fashion.
-   * For each resource, whether a folder or a leaf, the given
-   * URIVisitor's visit() method is called with the URI of the
-   * resource. If URIVisitor.visit() returns false, the visiting
-   * algorithm will "prune" the decendants of the resource and
-   * carry on visiting the rest of the tree. If URIVisitor.visit()
-   * returns true, the visiting algorithm will continue its walk
-   * down the resource's descendants.
-   */
-  public void visit ( URIVisitor uriVisitor ) throws URIException;
-
-  /**
-   * As for visit(URIVisitor), except only resource URIs that are
-   * accepted by the given filter are visited. If a folder resource
-   * fails to be accepted by the filter, this will not prevent the
-   * visiting algorithm from walking the resource's descendants.
-   * It remains the job of the visitor to choose whether or not to
-   * prune a branch by returning false or true.
-   */
-  public void visit ( URIVisitor uriVisitor, URIFilter uriFilter ) throws URIException;
-
-  /**
-   * Returns a list of URIs for the immediate children of the given
-   * hierarchical, non-leaf URI. This method never returns null,
-   * though it may return a zero length array.
-   */
-  public URI[] list () throws URIException;
-
-  /**
-   * As for list(), except only URIs that are accepted by the given
-   * filter are returned in the array. This method never returns null,
-   * though it may return a zero length array.
-   */
-  public URI[] list ( URIFilter uriFilter ) throws URIException;
-
-  /**
-   * Returns true if the asURL() method is fair game,
-   * in other words, if this URI can be converted into a URL.
-   */
-  public boolean isAvailableAsURL ();
-
-  /**
-   * Returns a URL object for the resource under this URI.
-   * There are many URIs and URISchemes for which this method
-   * will fail and throw an exception. It should be used only
-   * in cases where URIs are known to be representable as URLs.
-   */
-  public URL asURL () throws URIException;
-
-  /**
-   * Returns true if the asFile() method is fair game,
-   * in other words, if this URI can be converted into a File.
-   */
-  public boolean isAvailableAsFile ();
-
-  /**
-   * Returns a File object for the resource under this URI.
-   * There are many URIs and URISchemes for which this method
-   * will fail and throw an exception. It should be used only
-   * in cases where URIs are known to be backed by physical files.
-   */
-  public File asFile () throws URIException;
-
-  /**
-   * Returns the URI as a string.
-   * Equivalent to toString().
-   */
-  public String asString ();
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIException.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIException.java
deleted file mode 100644
index 5039f22..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIException.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-/**
- * This is the base class for most exceptions thrown by URI classes.
- * Every URIException carries a URI and a Status, each of which may
- * be null. The getMessage() method as inherited from Exception will
- * return the message from the URIExceptin's Status object, if any.
- */
-public class URIException extends Exception
-{
-  /**
-   * Comment for <code>serialVersionUID</code>
-   */
-  private static final long serialVersionUID = 3258130271424756018L;
-
-  /**
-   * A Status object containing details about the exception,
-   * if applicable.
-   */
-  protected Status status;
-
-  /**
-   * The URI for which the exception occured,
-   * if applicable.
-   */
-  protected URI uri;
-
-  /**
-   * Creates a new URIException with the given Status.
-   * The status may be null.
-   */
-  public URIException ( Status status )
-  {
-    super();
-    this.status = status;
-  }
-
-  /**
-   * Creates a new URIException for the given Status and URI,
-   * each of which may be null.
-   */
-  public URIException ( Status status, URI uri )
-  {
-    super(status != null ? status.getMessage() : null);
-    this.status = status;
-    this.uri = uri;
-  }
-
-  /**
-   * Returns the Status object inside this exception.
-   */
-  public Status getStatus ()
-  {
-    return status;
-  }
-
-  /**
-   * Returns the URI inside this exception.
-   */
-  public URI getURI ()
-  {
-    return uri;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIFactory.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIFactory.java
deleted file mode 100644
index 63815f0..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import java.net.URL;
-
-/**
- * This is a factory for creating new URI and URIScheme objects.
- */
-public interface URIFactory
-{
-  /**
-   * Creates and returns a new URI for the given string.
-   */
-  public URI newURI ( String uri ) throws URIException;
-
-  /**
-   * Creates and returns a new URI for the given URL.
-   */
-  public URI newURI ( URL url ) throws URIException;
-
-  /**
-   * Creates and returns a new URIScheme for the given scheme string.
-   * If the string contains no colons, the entire string is interpretted
-   * as the name of the scheme. If the string contains a colon, then the
-   * substring up to but excluding the first colon is interpretted as the
-   * name of the scheme, meaning the caller can pass in any URI string in
-   * order to get a URIScheme object.
-   */
-  public URIScheme newURIScheme ( String schemeOrURI ) throws URIException;
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIFilter.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIFilter.java
deleted file mode 100644
index 80e1118..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIFilter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-/**
- * This interface is implemented by classes that visit or list URIs.
- * Refer to {@link URI#getChildren}.
- */
-public interface URIFilter
-{
-  /**
-   * Filters the given URI.
-   * @param uri The resource to filter.
-   * @return True if the resource matches the filter,
-   * false if it does not.
-   * @throws URIException If the filter fails to analyze the resource.
-   */
-  public boolean accepts ( URI uri ) throws URIException;
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIScheme.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIScheme.java
deleted file mode 100644
index 321135d..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIScheme.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-import java.net.URL;
-
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-/**
- * A URIScheme represents a single scheme for some a family of
- * Univeral Resource Identifiers. Examples include "file", "http"
- * and "platform" (Eclipse).
- */
-public interface URIScheme
-{
-  /**
-   * Returns a new URI.
-   */
-  public URI newURI ( String uri ) throws URIException;
-
-  /**
-   * Returns a new URI.
-   */
-  public URI newURI ( URL url ) throws URIException;
-
-  /**
-   * Returns a new URI.
-   */
-  public URI newURI ( URI uri ) throws URIException;
-
-  /**
-   * Returns the proper name of the scheme.
-   */
-  public String toString ();
-
-  /**
-   * Returns true if and only if this is a hierarchical scheme.
-   */
-  public boolean isHierarchical ();
-
-  /**
-   * Returns true if and only if the given URI satisfies the
-   * grammatical requirements of the scheme. Absolute URIs must
-   * begin with "<scheme>:". Relative URIs must either not contain
-   * a colon, ":", or it must begin with "./".
-   */
-  public boolean isValid ( URI uri );
-
-  /**
-   * Returns a Status object indicating whether or not the given
-   * URI is valid. The severity and message of the Status object
-   * will describe this.
-   */
-  public Status validate ( URI uri );
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIUtils.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIUtils.java
deleted file mode 100644
index 59e7ef5..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIUtils.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-/**
- * This class contains several static utility methods for
- * working with URIs.
- */
-public class URIUtils
-{
-  /**
-   * Copies all bytes from the old URI to the new URI.
-   */
-  public static void copy ( URI oldUri, URI newUri ) throws URIException
-  {
-  }
-
-  /**
-   * Moves one URI to another.
-   */
-  public static void move ( URI oldUri, URI newUri ) throws URIException
-  {
-  }
-
-  /**
-   * Constructs a new, temporary leaf URI.
-   * The scheme of the URI may be, but is not guaranteed to be, "file:".
-   */
-  public static URI getTemporaryLeafURI () throws URIException
-  {
-    return null;
-  }
-
-  /**
-   * Constructs a new, temporary folder URI.
-   * The scheme of the URI may be, but is not guaranteed to be, "file:".
-   */
-  public static URI getTemporaryFolderURI () throws URIException
-  {
-    return null;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIVisitor.java b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIVisitor.java
deleted file mode 100644
index 8301624..0000000
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/provisional/env/core/uri/URIVisitor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.provisional.env.core.uri;
-
-/**
- * This interface is implemented by classes that visit URIs.
- * Refer to {@link URI#visit}.
- */
-public interface URIVisitor
-{
-  /**
-   * Visits the given URI.
-   * @param uri The resource to visit.
-   * @return True if the resource's descendants should be visited,
-   * or false if they should not be visited.
-   * @throws URIException If the visit method fails.
-   */
-  public boolean visit ( URI uri ) throws URIException;
-}
diff --git a/bundles/org.eclipse.wst.command.env.ui/.cvsignore b/bundles/org.eclipse.wst.command.env.ui/.cvsignore
index 272cab6..156443a 100644
--- a/bundles/org.eclipse.wst.command.env.ui/.cvsignore
+++ b/bundles/org.eclipse.wst.command.env.ui/.cvsignore
@@ -3,3 +3,5 @@
 runtime
 temp.folder
 envui.jar
+@dot
+src.zip
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 4921cbb..90e29cd 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,23 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.command.env.ui; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.wst.command.internal.env.ui.plugin.EnvUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.command.env.ui,
- org.eclipse.wst.command.env.ui.widgets,
+Export-Package: org.eclipse.wst.command.internal.env.ui,
  org.eclipse.wst.command.internal.env.ui.dialog,
  org.eclipse.wst.command.internal.env.ui.eclipse,
  org.eclipse.wst.command.internal.env.ui.plugin,
  org.eclipse.wst.command.internal.env.ui.preferences,
  org.eclipse.wst.command.internal.env.ui.registry,
  org.eclipse.wst.command.internal.env.ui.widgets,
- org.eclipse.wst.command.internal.env.ui.widgets.popup,
- org.eclipse.wst.command.internal.provisional.env.ui.widgets
+ org.eclipse.wst.command.internal.env.ui.widgets.popup
 Require-Bundle: org.eclipse.wst.command.env.core,
  org.eclipse.wst.command.env,
  org.eclipse.core.runtime,
  org.eclipse.ui,
- org.eclipse.osgi
+ org.eclipse.osgi,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.wst.common.environment,
+ org.eclipse.core.resources,
+ org.eclipse.ui.ide
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.command.env.ui/build.properties b/bundles/org.eclipse.wst.command.env.ui/build.properties
index 4b75d28..74d7e49 100644
--- a/bundles/org.eclipse.wst.command.env.ui/build.properties
+++ b/bundles/org.eclipse.wst.command.env.ui/build.properties
@@ -2,6 +2,7 @@
                *.jar,\
                .,\
                META-INF/,\
+               icons/,\
                plugin.properties,\
                about.html
 source.. = src/
diff --git a/bundles/org.eclipse.wst.command.env.ui/icons/full/obj16/ant_buildfile.gif b/bundles/org.eclipse.wst.command.env.ui/icons/full/obj16/ant_buildfile.gif
new file mode 100644
index 0000000..6df3469
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/icons/full/obj16/ant_buildfile.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.command.env.ui/icons/full/wizban/newantfiles_wiz.gif b/bundles/org.eclipse.wst.command.env.ui/icons/full/wizban/newantfiles_wiz.gif
new file mode 100644
index 0000000..bc3553c
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/icons/full/wizban/newantfiles_wiz.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.command.env.ui/icons/full/wizban/webservices_wiz.gif b/bundles/org.eclipse.wst.command.env.ui/icons/full/wizban/webservices_wiz.gif
new file mode 100644
index 0000000..abd1f9c
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/icons/full/wizban/webservices_wiz.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.command.env.ui/plugin.properties b/bundles/org.eclipse.wst.command.env.ui/plugin.properties
index ec15066..2c57ea9 100644
--- a/bundles/org.eclipse.wst.command.env.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.command.env.ui/plugin.properties
@@ -16,3 +16,6 @@
 PLUGIN_PROVIDER=Eclipse.org
 
 WIDGET_REGISTRY_NAME=Widget contributor registry
+
+PLUGIN_XP_ANT_WIZARD_NAME=Ant Files
+PLUGIN_XP_ANT_WIZARD_DESC=Create Ant script and properties files in the workspace.
diff --git a/bundles/org.eclipse.wst.command.env.ui/plugin.xml b/bundles/org.eclipse.wst.command.env.ui/plugin.xml
index edee0b8..ed63985 100644
--- a/bundles/org.eclipse.wst.command.env.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.command.env.ui/plugin.xml
@@ -3,5 +3,21 @@
 
 <plugin>
 
-     <extension-point id="widgetRegistry" name="%WIDGET_REGISTRY_NAME" schema="schema/widgetRegistry.exsd"/>   
+<extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            name="%PLUGIN_XP_ANT_WIZARD_NAME"
+            icon="icons/full/obj16/ant_buildfile.gif"
+            category="org.eclipse.jst.ws.ui.new"
+            class="org.eclipse.wst.command.internal.env.ui.dialog.AntFileImportWizard"
+            id="org.eclipse.wst.command.env.ui.AntFileImportWizard">
+         <description>
+            %PLUGIN_XP_ANT_WIZARD_DESC
+         </description>
+      </wizard>
+   </extension>
+
+   <!-- The following extension point is internal and likely to be removed in a future release. -->
+   <extension-point id="widgetRegistry" name="%WIDGET_REGISTRY_NAME" schema="schema/widgetRegistry.exsd"/>
+
 </plugin>
diff --git a/bundles/org.eclipse.wst.command.env.ui/schema/widgetRegistry.exsd b/bundles/org.eclipse.wst.command.env.ui/schema/widgetRegistry.exsd
index 8b59ca1..596cc7c 100644
--- a/bundles/org.eclipse.wst.command.env.ui/schema/widgetRegistry.exsd
+++ b/bundles/org.eclipse.wst.command.env.ui/schema/widgetRegistry.exsd
@@ -3,10 +3,10 @@
 <schema targetNamespace="org.eclipse.wst.command.env.ui">
 <annotation>
       <appInfo>
-         <meta.schema plugin="org.eclipse.wst.command.env.ui" id="widgetRegistry" name="widgetRegistry"/>
+         <meta.schema plugin="org.eclipse.wst.command.env.ui" id="widgetRegistry" name="Widget Registry"/>
       </appInfo>
       <documentation>
-         [Enter description of this extension point.]
+         
       </documentation>
    </annotation>
 
@@ -18,14 +18,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -63,7 +70,7 @@
          <meta.section type="since"/>
       </appInfo>
       <documentation>
-         [Enter the first release in which this extension point appears.]
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
       </documentation>
    </annotation>
 
@@ -72,7 +79,7 @@
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
-         [Enter extension point usage example here.]
+         
       </documentation>
    </annotation>
 
@@ -81,7 +88,7 @@
          <meta.section type="apiInfo"/>
       </appInfo>
       <documentation>
-         [Enter API information here.]
+         
       </documentation>
    </annotation>
 
@@ -90,7 +97,7 @@
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
-         [Enter information about supplied implementation of this extension point.]
+         
       </documentation>
    </annotation>
 
@@ -99,7 +106,11 @@
          <meta.section type="copyright"/>
       </appInfo>
       <documentation>
-         
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
       </documentation>
    </annotation>
 
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/env/ui/environmentui.properties b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/env/ui/environmentui.properties
deleted file mode 100644
index bc1f403..0000000
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/env/ui/environmentui.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-
-BUTTON_SHOW_ALL_DIALOGS=Show All
-BUTTON_HIDE_ALL_DIALOGS=Hide All
-CHECKBOX_DO_NOT_SHOW_DIALOG_AGAIN=Do not show me this dialog box again.
-
-TOOLTIP_PPAD_PAGE=Control to show/hide the dialogs that appear when a pop-up action is executed.
-TOOLTIP_DO_NOT_SHOW_DIALOG_AGAIN=To allow this dialog to show again, enable from preference - dialogs.
-TOOLTIP_PPAD_BUTTON_SHOW_ALL=Show all dialogs.
-TOOLTIP_PPAD_BUTTON_HIDE_ALL=Hide all dialogs and execute pop-up actions.
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/env/ui/widgets/environment.properties b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/env/ui/widgets/environment.properties
deleted file mode 100644
index 7a98e36..0000000
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/env/ui/widgets/environment.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-
-MSG_ERROR_WIZARD_ID_NOT_FOUND=IWAB0013E Could not find wizard id: {0}
-
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUI.properties b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUI.properties
new file mode 100644
index 0000000..7b5414c
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUI.properties
@@ -0,0 +1,27 @@
+###############################################################################
+# Copyright (c) 2001, 2004 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
+###############################################################################
+
+BUTTON_SHOW_ALL_DIALOGS=Show All
+BUTTON_HIDE_ALL_DIALOGS=Hide All
+CHECKBOX_DO_NOT_SHOW_DIALOG_AGAIN=Do not show me this dialog box again.
+
+TOOLTIP_PPAD_PAGE=Control to show/hide the dialogs that appear when a pop-up action is executed.
+TOOLTIP_DO_NOT_SHOW_DIALOG_AGAIN=To allow this dialog to show again, enable from preference - dialogs.
+TOOLTIP_PPAD_BUTTON_SHOW_ALL=Show all dialogs.
+TOOLTIP_PPAD_BUTTON_HIDE_ALL=Hide all dialogs and execute pop-up actions.
+
+WIZARD_TITLE_ANT=Create Ant Files
+WIZARD_PAGE_TITLE_ANT=Create Web Service Ant files
+WIZARD_PAGE_DESC_ANT=Select workspace folder for Ant script and properties files
+MSG_STATUS_COPYING_ANT_FILES=Copying web services Ant files
+MSG_ERR_COPYING_ANT_FILES=Error encountered copying Ant files
+
+MSG_ERROR_WIZARD_ID_NOT_FOUND=IWAB0013E Could not find wizard id: {0}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUIMessages.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUIMessages.java
new file mode 100644
index 0000000..c7ce6df
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/EnvironmentUIMessages.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class EnvironmentUIMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.wst.command.internal.env.ui.EnvironmentUI";//$NON-NLS-1$
+
+	private EnvironmentUIMessages() {
+		// Do not instantiate
+	}
+
+	public static String BUTTON_SHOW_ALL_DIALOGS;
+	public static String BUTTON_HIDE_ALL_DIALOGS;
+	public static String CHECKBOX_DO_NOT_SHOW_DIALOG_AGAIN;
+	public static String TOOLTIP_PPAD_PAGE;
+	public static String TOOLTIP_DO_NOT_SHOW_DIALOG_AGAIN;
+	public static String TOOLTIP_PPAD_BUTTON_SHOW_ALL;
+	public static String TOOLTIP_PPAD_BUTTON_HIDE_ALL;
+	public static String MSG_ERROR_WIZARD_ID_NOT_FOUND;
+	public static String WIZARD_TITLE_ANT;
+	public static String WIZARD_PAGE_TITLE_ANT;
+	public static String WIZARD_PAGE_DESC_ANT;
+	public static String MSG_STATUS_COPYING_ANT_FILES;
+	public static String MSG_ERR_COPYING_ANT_FILES;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, EnvironmentUIMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/AntFileImportWizard.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/AntFileImportWizard.java
new file mode 100644
index 0000000..274290f
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/AntFileImportWizard.java
@@ -0,0 +1,245 @@
+package org.eclipse.wst.command.internal.env.ui.dialog;
+
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartReference;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.part.ISetSelectionTarget;
+import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
+import org.eclipse.wst.command.internal.env.core.common.ProgressUtils;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
+import org.eclipse.wst.command.internal.env.plugin.EnvPlugin;
+import org.eclipse.wst.command.internal.env.ui.EnvironmentUIMessages;
+import org.eclipse.wst.command.internal.env.ui.plugin.EnvUIPlugin;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.environment.NullStatusHandler;
+//import org.eclipse.wst.common.environment.IEnvironment;
+
+public class AntFileImportWizard extends Wizard implements INewWizard {
+
+	//private IConfigurationElement fConfigElement;
+	private AntFileImportWizardPage mainPage;
+	/**
+     * The workbench.
+     */
+    private IWorkbench workbench;
+
+    /**
+     * The current selection.
+     */
+    protected IStructuredSelection selection;
+    
+	public AntFileImportWizard()
+	{
+		super();		 
+		setWindowTitle(EnvironmentUIMessages.WIZARD_TITLE_ANT);
+	}
+	
+	public void setWindowTitle(String newTitle) {
+		super.setWindowTitle(newTitle);
+	}
+	
+	 public void addPages() {
+	        super.addPages();	        
+	        mainPage = new AntFileImportWizardPage(EnvironmentUIMessages.WIZARD_PAGE_TITLE_ANT, getSelection());
+            addPage(mainPage);
+	    }
+	
+	public boolean performFinish() {	
+		IPath destination = mainPage.getPath();
+		if (destination == null)
+		{
+			return false;
+		}			
+		else
+		{
+			//jvh: TODO: add extension so extenders of the command framework can register properties files to import
+			//  here we pick up all registered Ant files and import - also would be nice to allow user to choose a subset
+			String[] sourceFiles = new String[]{"ant/wsgen.xml", "ant/axisclient.properties", "ant/axisservice.properties"}; //$NON-NLS$
+			for (int i = 0; i < sourceFiles.length; i++) {
+				String fileSource = sourceFiles[i];
+				String targetFile = fileSource;
+				//strip any leading segments off of targetFile
+				int fileStart = targetFile.lastIndexOf("/");
+				if (fileStart >= 0)
+				{
+				  targetFile = targetFile.substring(fileStart);
+				}
+				Plugin sourcePlugin = EnvPlugin.getInstance();  
+				//jvh: TODO - add real progress monitor in here...
+				copyIFile(sourcePlugin, fileSource, destination, targetFile, (IProgressMonitor)new NullProgressMonitor());					
+			}
+		}
+	    return true;		
+  }	
+	
+	private IStatus copyIFile(Plugin plugin, String source, IPath targetPath, String targetFile, /*IEnvironment env,*/ IProgressMonitor monitor )
+	{
+	    
+	  if (plugin != null)
+	  {
+	    IPath target = targetPath.append(new Path(targetFile));
+	    
+	    ProgressUtils.report( monitor, EnvironmentUIMessages.MSG_STATUS_COPYING_ANT_FILES);
+	    try
+	    {
+	       ResourceContext context = new TransientResourceContext();
+	       context.setOverwriteFilesEnabled(true);
+	       context.setCreateFoldersEnabled(true);
+	       context.setCheckoutFilesEnabled(true);
+	       IResource resource = FileResourceUtils.findResource(target);
+	       if(resource != null) return Status.OK_STATUS;
+	       FileResourceUtils.createFile(context, 
+	                      							target,
+	                                    plugin.openStream(new Path(source)),
+	                                    monitor, (IStatusHandler)new NullStatusHandler());
+	       
+	                                    
+	    }
+	    catch (Exception e) {	    	
+	      return StatusUtils.errorStatus(EnvironmentUIMessages.MSG_ERR_COPYING_ANT_FILES, e);
+	    }
+	  }
+	  return Status.OK_STATUS;
+	}
+	
+    /**
+     * Returns the selection which was passed to <code>init</code>.
+     *
+     * @return the selection
+     */
+    public IStructuredSelection getSelection() {
+        return selection;
+    }
+
+    /**
+     * Returns the workbench which was passed to <code>init</code>.
+     *
+     * @return the workbench
+     */
+    public IWorkbench getWorkbench() {
+        return workbench;
+    }
+
+    /**
+     * The <code>BasicNewResourceWizard</code> implementation of this 
+     * <code>IWorkbenchWizard</code> method records the given workbench and
+     * selection, and initializes the default banner image for the pages
+     * by calling <code>initializeDefaultPageImageDescriptor</code>.
+     * Subclasses may extend.
+     */
+    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
+        this.workbench = workbench;
+        this.selection = currentSelection;
+
+        initializeDefaultPageImageDescriptor();
+    }
+
+    /**
+     * Initializes the default page image descriptor to an appropriate banner.
+     * By calling <code>setDefaultPageImageDescriptor</code>.
+     * The default implementation of this method uses a generic new wizard image.
+     * <p>
+     * Subclasses may reimplement.
+     * </p>
+     */
+    protected void initializeDefaultPageImageDescriptor() {
+    	ImageDescriptor desc = EnvUIPlugin.getImageDescriptor("icons/full/wizban/newantfiles_wiz.gif");//$NON-NLS-1$
+        setDefaultPageImageDescriptor(desc);
+    }
+
+    /**
+     * Selects and reveals the newly added resource in all parts
+     * of the active workbench window's active page.
+     *
+     * @see ISetSelectionTarget
+     */
+    protected void selectAndReveal(IResource newResource) {
+        selectAndReveal(newResource, getWorkbench().getActiveWorkbenchWindow());
+    }
+
+    /**
+     * Attempts to select and reveal the specified resource in all
+     * parts within the supplied workbench window's active page.
+     * <p>
+     * Checks all parts in the active page to see if they implement <code>ISetSelectionTarget</code>,
+     * either directly or as an adapter. If so, tells the part to select and reveal the
+     * specified resource.
+     * </p>
+     *
+     * @param resource the resource to be selected and revealed
+     * @param window the workbench window to select and reveal the resource
+     * 
+     * @see ISetSelectionTarget
+     */
+    public static void selectAndReveal(IResource resource,
+            IWorkbenchWindow window) {
+        // validate the input
+        if (window == null || resource == null)
+            return;
+        IWorkbenchPage page = window.getActivePage();
+        if (page == null)
+            return;
+
+        // get all the view and editor parts
+        List parts = new ArrayList();
+        IWorkbenchPartReference refs[] = page.getViewReferences();
+        for (int i = 0; i < refs.length; i++) {
+            IWorkbenchPart part = refs[i].getPart(false);
+            if (part != null)
+                parts.add(part);
+        }
+        refs = page.getEditorReferences();
+        for (int i = 0; i < refs.length; i++) {
+            if (refs[i].getPart(false) != null)
+                parts.add(refs[i].getPart(false));
+        }
+
+        final ISelection selection = new StructuredSelection(resource);
+        Iterator itr = parts.iterator();
+        while (itr.hasNext()) {
+            IWorkbenchPart part = (IWorkbenchPart) itr.next();
+
+            // get the part's ISetSelectionTarget implementation
+            ISetSelectionTarget target = null;
+            if (part instanceof ISetSelectionTarget)
+                target = (ISetSelectionTarget) part;
+            else
+                target = (ISetSelectionTarget) part
+                        .getAdapter(ISetSelectionTarget.class);
+
+            if (target != null) {
+                // select and reveal resource
+                final ISetSelectionTarget finalTarget = target;
+                window.getShell().getDisplay().asyncExec(new Runnable() {
+                    public void run() {
+                        finalTarget.selectReveal(selection);
+                    }
+                });
+            }
+        }
+    }
+	
+}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/AntFileImportWizardPage.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/AntFileImportWizardPage.java
new file mode 100644
index 0000000..da94422
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/AntFileImportWizardPage.java
@@ -0,0 +1,45 @@
+package org.eclipse.wst.command.internal.env.ui.dialog;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.dialogs.WizardResourceImportPage;
+import org.eclipse.wst.command.internal.env.ui.EnvironmentUIMessages;
+
+public class AntFileImportWizardPage extends WizardResourceImportPage{
+	  
+	public AntFileImportWizardPage(String pageName,
+	            IStructuredSelection selection) {
+	        super("WSAntFilesPage1", selection);//$NON-NLS-1$
+	        setTitle(pageName);	        
+	        setDescription(EnvironmentUIMessages.WIZARD_PAGE_DESC_ANT);	        
+	    }
+	
+	protected ITreeContentProvider getFileProvider() {
+		return null;
+	}
+	
+	public IPath getPath()
+	{
+		return getContainerFullPath();
+	}
+	
+		protected void createSourceGroup(Composite parent) {
+			//don't need source group
+		}
+	
+	protected ITreeContentProvider getFolderProvider() {
+		 return null;
+	}
+	
+	protected void createOptionsGroup(Composite parent) {
+        //empty - don't want an options group 
+    }
+	
+	
+	
+}
+
+
+
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/ErrorDialog.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/ErrorDialog.java
index 83617c4..16cc76a 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/ErrorDialog.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/ErrorDialog.java
@@ -10,13 +10,13 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.dialog;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -58,7 +58,7 @@
     Shell parentShell,
     String dialogTitle,
     String message,
-    Status status,
+    IStatus status,
     int displayMask)
   {
     super(parentShell, dialogTitle, message, status, displayMask);
@@ -75,7 +75,7 @@
       StatusDialogConstants.OK_ID,
       IDialogConstants.OK_LABEL,
       true);
-    if (status.hasChildren() || status.getThrowable() != null )
+    if (status.isMultiStatus() || status.getException() != null )
     {
       detailsButton =
         createButton(
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/InfoDialog.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/InfoDialog.java
index 2fc2974..fa6c84f 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/InfoDialog.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/InfoDialog.java
@@ -10,13 +10,13 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.dialog;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -57,7 +57,7 @@
     Shell parentShell,
     String dialogTitle,
     String message,
-    Status status,
+    IStatus status,
     int displayMask)
   {
     super(parentShell, dialogTitle, message, status, displayMask);
@@ -74,7 +74,7 @@
       StatusDialogConstants.OK_ID,
       IDialogConstants.OK_LABEL,
       true);
-    if (status.hasChildren())
+    if (status.isMultiStatus() )
     {
       detailsButton =
         createButton(
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/MessageDialog.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/MessageDialog.java
index 7accb25..f75cc47 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/MessageDialog.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/MessageDialog.java
@@ -12,7 +12,7 @@
 
 import java.util.Arrays;
 import java.util.Iterator;
-
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.resource.JFaceResources;
@@ -31,8 +31,7 @@
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.command.internal.env.common.StringUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.Choice;
 
 
 /**
@@ -86,7 +85,7 @@
   /**
    * The main status object.
    */
-  protected Status status;
+  protected IStatus status;
   
   private Point savedSize = null;
 
@@ -123,7 +122,7 @@
     Shell parentShell,
     String dialogTitle,
     String message,
-    Status status,
+    IStatus status,
     int displayMask)
   {
     super(parentShell);
@@ -172,7 +171,7 @@
       StatusDialogConstants.OK_ID,
       IDialogConstants.OK_LABEL,
       true);
-    if (status.hasChildren() || status.getThrowable() != null )
+    if (status.isMultiStatus() || status.getException() != null )
     {
       detailsButton =
         createButton(
@@ -209,7 +208,8 @@
     GridLayout gl = new GridLayout();
     gl.numColumns = 2;
     imageAndLabel.setLayout(gl);
-    composite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ));
+    imageAndLabel.setLayoutData( new GridData( GridData.FILL_BOTH ) );
+    composite.setLayoutData( new GridData( GridData.FILL_BOTH ));
     
     // create image
     Image image = getDialogImage();
@@ -326,32 +326,32 @@
     Shell parent,
     String dialogTitle,
     String message,
-    Status status)
+    IStatus status)
   {
 
     switch (status.getSeverity())
     {
-      case Status.INFO :
+      case IStatus.INFO :
         return openInfo(
           parent,
           dialogTitle,
           message,
           status,
-          Status.OK | Status.INFO | Status.WARNING | Status.ERROR);
-      case Status.WARNING :
+          IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR);
+      case IStatus.WARNING :
         return openWarning(
           parent,
           dialogTitle,
           message,
           status,
-          Status.OK | Status.INFO | Status.WARNING | Status.ERROR);
+          IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR);
       default :
         return openError(
           parent,
           dialogTitle,
           message,
           status,
-          Status.OK | Status.INFO | Status.WARNING | Status.ERROR);
+          IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR);
     }
 
   }
@@ -360,7 +360,7 @@
     Shell parent,
     String dialogTitle,
     String message,
-    Status status,
+    IStatus status,
     Choice[] options)
   {
 
@@ -369,7 +369,7 @@
       dialogTitle,
       message,
       status,
-      Status.OK | Status.INFO | Status.WARNING | Status.ERROR,
+      IStatus.OK | IStatus.INFO | IStatus.WARNING | IStatus.ERROR,
       options);
   }
 
@@ -403,7 +403,7 @@
     Shell parentShell,
     String title,
     String message,
-    Status status,
+    IStatus status,
     int displayMask)
   {
     ErrorDialog dialog =
@@ -415,7 +415,7 @@
     Shell parentShell,
     String title,
     String message,
-    Status status,
+    IStatus status,
     int displayMask)
   {
     InfoDialog dialog =
@@ -427,7 +427,7 @@
     Shell parentShell,
     String title,
     String message,
-    Status status,
+    IStatus status,
     int displayMask)
   {
     WarningDialog dialog =
@@ -439,7 +439,7 @@
     Shell parentShell,
     String title,
     String message,
-    Status status,
+    IStatus status,
     int displayMask,
     Choice[] options)
   {
@@ -466,11 +466,11 @@
     Iterator enumeration = statusList.iterator();
     while (enumeration.hasNext())
     {
-      Status childStatus = (Status) enumeration.next();
+      IStatus childStatus = (IStatus) enumeration.next();
       populateList(list, childStatus, 0);
     }
   }
-  private void populateList(List list, Status status, int nesting)
+  private void populateList(List list, IStatus status, int nesting)
   {
     if (!status.matches(displayMask))
     {
@@ -483,13 +483,13 @@
     }
     sb.append(status.getMessage());
     list.add(sb.toString());
-    Status[] children = status.getChildren();
+    IStatus[] children = status.getChildren();
     for (int i = 0; i < children.length; i++)
     {
       populateList(list, children[i], nesting + 1);
     }
   }
-  private void populateDetails(Text text, Status status, int nesting)
+  private void populateDetails(Text text, IStatus status, int nesting)
   {
     if (!status.matches(displayMask))
     {
@@ -498,7 +498,7 @@
         
     String    tabChars    = StringUtils.repeat( ' ', nesting * 2 );
     String    messageLine = tabChars + status.getMessage() + System.getProperty("line.separator");
-    Throwable except      = status.getThrowable();
+    Throwable except      = status.getException();
     
     text.append( messageLine );
     
@@ -512,7 +512,7 @@
       }
     }
     
-    Status[] children = status.getChildren();
+    IStatus[] children = status.getChildren();
     for (int i = 0; i < children.length; i++)
     {
       populateDetails(text, children[i], nesting + 1);
@@ -528,9 +528,9 @@
    * @return <code>true</code> if the given status should be displayed, and
    *         <code>false</code> otherwise
    */
-  protected static boolean shouldDisplay(Status status, int mask)
+  protected static boolean shouldDisplay(IStatus status, int mask)
   {
-    Status[] children = status.getChildren();
+    IStatus[] children = status.getChildren();
     if (children == null || children.length == 0)
     {
       return status.matches(mask);
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/OptionsDialog.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/OptionsDialog.java
index e7f1042..24ceea3 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/OptionsDialog.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/OptionsDialog.java
@@ -10,14 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.dialog;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.Choice;
 
 
 /**
@@ -36,7 +36,7 @@
     Shell parentShell,
     String dialogTitle,
     String message,
-    Status status,
+    IStatus status,
     int displayMask,
     Choice[] choices)
   {
@@ -54,7 +54,7 @@
     {
       createButton(parent, choices[i].getShortcut(), choices[i].getLabel(), true);
     }
-    if (status.hasChildren())
+    if (status.isMultiStatus() )
     {
       detailsButton =
         createButton(
@@ -95,9 +95,9 @@
     // create image
     switch (status.getSeverity())
     {
-      case Status.INFO :
+      case IStatus.INFO :
         return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_INFORMATION);
-      case Status.WARNING :
+      case IStatus.WARNING :
         return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_WARNING);
       default :
         return PlatformUI.getWorkbench().getDisplay().getSystemImage(SWT.ICON_ERROR);
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/WarningDialog.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/WarningDialog.java
index f27d67c..9d28e3d 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/WarningDialog.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/dialog/WarningDialog.java
@@ -10,12 +10,12 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.dialog;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.swt.SWT;
 import org.eclipse.ui.PlatformUI;
 
 
@@ -57,7 +57,7 @@
     Shell parentShell,
     String dialogTitle,
     String message,
-    Status status,
+    IStatus status,
     int displayMask)
   {
     super(parentShell, dialogTitle, message, status, displayMask);
@@ -79,7 +79,7 @@
       StatusDialogConstants.CANCEL_ID,
       IDialogConstants.CANCEL_LABEL,
       false);
-    if (status.hasChildren())
+    if (status.isMultiStatus())
     {
       detailsButton =
         createButton(
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseEnvironment.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseEnvironment.java
deleted file mode 100644
index a0d9dad..0000000
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseEnvironment.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.ui.eclipse;
-
-import org.eclipse.wst.command.internal.env.core.uri.file.FileScheme;
-import org.eclipse.wst.command.internal.env.eclipse.BaseEclipseEnvironment;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseScheme;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandManager;
-import org.eclipse.wst.command.internal.provisional.env.core.common.JavaCompiler;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.SimpleURIFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIFactory;
-
-
-/**
- * This class implements an Environment class for the Eclipse Environment.
- * This Environment currently supports the "platform" protocol and the "file"
- * protocol.
- *
- */
-public class EclipseEnvironment implements BaseEclipseEnvironment
-{
-  private CommandManager   commandManager_  = null;
-  private SimpleURIFactory uriFactory_      = null;
-  private ResourceContext  resourceContext_ = null;
-  private ProgressMonitor  monitor_         = null;
-  private StatusHandler    statusHandler_   = null;
-  private Log              logger_          = null;
-  
-  public EclipseEnvironment( CommandManager  commandManager, 
-		                     ResourceContext resourceContext,
-					         ProgressMonitor monitor,
-						     StatusHandler   statusHandler )
-  {
-    commandManager_  = commandManager;
-    resourceContext_ = resourceContext;
-    uriFactory_      = new SimpleURIFactory();
-    monitor_         = monitor;
-    statusHandler_   = statusHandler;
-    
-    uriFactory_.registerScheme( "platform", new EclipseScheme( this ) );
-    uriFactory_.registerScheme( "file", new FileScheme() );
-  }
-  
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getCommandManager()
-   */
-  public CommandManager getCommandManager()
-  {
-    return commandManager_;
-  }
-
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getJavaCompiler()
-   */
-  public JavaCompiler getJavaCompiler()
-  {
-    return null;
-  }
-
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getLog()
-   */
-  public Log getLog()
-  {
-	if( logger_ == null ) logger_ = new EclipseLog();
-	
-    return logger_;
-  }
-
-  /**
-   * 
-   * @param logger the new logger for this environment.
-   */
-  public void setLog( Log logger )
-  {
-	logger_ = logger;  
-  }
-  
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getProgressMonitor()
-   */
-  public ProgressMonitor getProgressMonitor()
-  {
-    return monitor_;
-  }
-
- 
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getStatusHandler()
-   */
-  public StatusHandler getStatusHandler()
-  {
-    return statusHandler_;
-  }
-
-  /** (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getURIFactory()
-   */
-  public URIFactory getURIFactory()
-  {
-    return uriFactory_;
-  }
-
-  /**
-   * @return returns a ResourceContext for this Environment.
-   */
-  public ResourceContext getResourceContext()
-  {
-    return resourceContext_;
-  }
-  
-  public void setCommandManager( CommandManager manager )
-  {
-	commandManager_ = manager;  
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseProgressMonitor.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseProgressMonitor.java
deleted file mode 100644
index b200609..0000000
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseProgressMonitor.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.ui.eclipse;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-
-
-public class EclipseProgressMonitor implements ProgressMonitor
-{
-  protected IProgressMonitor monitor_;
-  
-  public EclipseProgressMonitor()
-  {
-  }
-  
-  /**
-   * Sets an eclipse IProgressMonitor to this monitor. 
-   * @param monitor
-   */
-  public void setMonitor( IProgressMonitor monitor )
-  {
-    monitor_ = monitor;  
-  }
-  
-  /**
-   * 
-   * @return returns the Eclipse IProgressMonitor for this monitor.
-   */
-  public IProgressMonitor getMonitor()
-  {
-  	return monitor_;
-  }
-  
-  /**
-   * @see org.eclipse.env.common.ProgressMonitor#getChildProgressMonitor()
-   */
-  public ProgressMonitor getChildProgressMonitor()
-  {
-    return null;
-  }
-
-  /**
-   * @see org.eclipse.env.common.ProgressMonitor#isCancelRequested()
-   */
-  public boolean isCancelRequested()
-  {
-    return monitor_ == null ? false : monitor_.isCanceled();
-  }
-
-  /**
-   * @see org.eclipse.env.common.ProgressMonitor#report(java.lang.String)
-   */
-  public void report(String progress)
-  {
-    if( monitor_ != null ) 
-    {
-      Display currentThreadDisplay = Display.findDisplay( Thread.currentThread() );
-      
-      if( currentThreadDisplay != null )
-      {
-        monitor_.beginTask( progress, IProgressMonitor.UNKNOWN );
-      }
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseStatusHandler.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseStatusHandler.java
index acd8d12..1c13310 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseStatusHandler.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EclipseStatusHandler.java
@@ -10,50 +10,72 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.eclipse;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
+import org.eclipse.wst.command.internal.env.core.EnvironmentCoreMessages;
 import org.eclipse.wst.command.internal.env.ui.dialog.MessageDialog;
 import org.eclipse.wst.command.internal.env.ui.dialog.StatusDialogConstants;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.environment.StatusException;
 
 
 /**
- * This is the Eclipse UI version of the StatusHandler
+ * This is the Eclipse UI version of the IStatusHandler
  */
-public class EclipseStatusHandler implements StatusHandler
+public class EclipseStatusHandler implements IStatusHandler
 {
-  private Shell        shell_;
-  private MessageUtils msg_;
-  
+  private IStatus worstStatus = Status.OK_STATUS;
+  private Shell   shell       = null;
+    
   public EclipseStatusHandler()
-  {
-    this( new Shell() );
+  {  
   }
-
-  public EclipseStatusHandler(Shell shell)
+  
+  public EclipseStatusHandler( Shell theShell )
   {
-    msg_   = new MessageUtils( "org.eclipse.wst.command.internal.env.common.environment", this );
-    shell_ = shell;
+    shell = theShell;  
+  }
+  
+  public IStatus getStatus()
+  {
+    return worstStatus;
+  }
+  
+  public void resetStatus()
+  {
+    worstStatus = Status.OK_STATUS;  
   }
   
   /**
-   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
+   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
    */
-  public Choice report(Status status, Choice[] choices) 
+  public Choice report( final IStatus status, final Choice[] choices) 
   {
-    int result =
-    MessageDialog.openMessage(
-        shell_,
-        msg_.getMessage("TITLE_WARNING"),
-				null,
-				status,
-				choices);
+    final int[] result = new int[1];
+    
+    checkStatus( status );
+    
+    Runnable runnable = new Runnable()
+    {
+      public void run()
+      {
+        result[0] =
+          MessageDialog.openMessage( getShell(),
+                                     EnvironmentCoreMessages.TITLE_WARNING, //TODO: Should be inferred from status' severity.
+				                             null,
+				                             status,
+				                             choices);
+      }
+    };
+    
+    Display.getDefault().syncExec( runnable );
+    
     for (int i = 0; i < choices.length; i++)
      {
-      if (choices[i].getShortcut() == result)
+      if (choices[i].getShortcut() == result[0] )
         return choices[i];
     }
     
@@ -61,12 +83,14 @@
   }
 
   /**
-   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status)
+   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status)
    */
-  public void report(Status status) throws StatusException
+  public void report(IStatus status) throws StatusException
   {
     boolean userOk = false;
     
+    checkStatus( status );
+    
     switch (status.getSeverity())
     {
       // an error has been reported and we need to stop executing the comming
@@ -92,44 +116,87 @@
     if( !userOk ) throw new StatusException( status );
   }
   
-  private boolean reportWarning(Status status)
+  private boolean reportWarning( final IStatus status )
   {
-    int userResponse =
-      MessageDialog.openMessage(
-        shell_,
-        msg_.getMessage("TITLE_WARNING"),
-        null,
-        status);
-    return (userResponse == StatusDialogConstants.OK_ID);
+    final int userResponse[] = new int[1];
+    
+    Runnable runnable = new Runnable()
+    {
+      public void run()
+      {
+        userResponse[0] =
+          MessageDialog.openMessage( getShell(),
+                                     EnvironmentCoreMessages.TITLE_WARNING,
+                                     null,
+                                     status);
+      }
+    };
+    
+    Display.getDefault().syncExec( runnable );
+    
+    return (userResponse[0] == StatusDialogConstants.OK_ID);
   }
 
-  private boolean reportErrorStatus(Status status)
+  private boolean reportErrorStatus(final IStatus status)
   {
-    MessageDialog.openMessage(
-      shell_,
-      msg_.getMessage("TITLE_ERROR"),
-      null,
-      status);
+    Runnable runnable = new Runnable()
+    {
+      public void run()
+      {
+        MessageDialog.openMessage( getShell(),
+                                   EnvironmentCoreMessages.TITLE_ERROR,
+                                   null,
+                                   status);
+      }
+    };
+    
+    Display.getDefault().syncExec( runnable );
+    
     return false;
   }
   
-  /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#reportError(org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-   */
-  public void reportError(Status status)
+  private void checkStatus( IStatus status )
   {
+    if( status.getSeverity() > worstStatus.getSeverity() )
+    {
+      worstStatus = status;
+    }
+  }
+  
+  /**
+   * @see org.eclipse.wst.command.internal.env.core.common.IStatusHandler#reportError(org.eclipse.wst.command.internal.env.core.common.Status)
+   */
+  public void reportError(IStatus status)
+  {
+    checkStatus( status );
     reportErrorStatus( status );
   }
   
   /**
-   * @see org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler#reportInfo(org.eclipse.wst.command.internal.provisional.env.core.common.Status)
+   * @see org.eclipse.wst.command.internal.env.core.common.IStatusHandler#reportInfo(org.eclipse.wst.command.internal.env.core.common.Status)
    */
-  public void reportInfo(Status status)
+  public void reportInfo(final IStatus status)
   {
-    MessageDialog.openMessage(
-        shell_,
-        msg_.getMessage("TITLE_INFO"),
-        null,
-        status);
+    Runnable runnable = new Runnable()
+    {
+      public void run()
+      {
+        MessageDialog.openMessage( getShell(),
+                                   EnvironmentCoreMessages.TITLE_INFO,
+                                   null,
+                                   status);
+      }
+    };
+    
+    Display.getDefault().syncExec( runnable );
+  }
+  
+  private Shell getShell()
+  {
+    if( shell != null ) return shell;
+    
+    Display display = Display.getDefault();
+    
+    return display == null ? null : display.getActiveShell();
   }
 }
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EnvironmentUtils.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EnvironmentUtils.java
new file mode 100644
index 0000000..60ea6d2
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/EnvironmentUtils.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ui.eclipse;
+
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.common.environment.IEnvironment;
+
+public final class EnvironmentUtils
+{     
+  /**
+   * 
+   * @param env This should be an EclipseEnvironment.
+   * @return Returns a ResourceContext.
+   */ 
+  public static ResourceContext getResourceContext( IEnvironment env )
+  {
+    ResourceContext context = null;
+    
+    if( env instanceof EclipseEnvironment )
+    {
+      context = ((EclipseEnvironment)env).getResourceContext();
+    }
+    else
+    {
+      context = new TransientResourceContext();
+    }
+    
+    return context;
+  }
+  
+  
+}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/SWTEnvironmentManager.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/SWTEnvironmentManager.java
new file mode 100644
index 0000000..99132bc
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/eclipse/SWTEnvironmentManager.java
@@ -0,0 +1,28 @@
+/***************************************************************************************************
+ * Copyright (c) 2005 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
+ **************************************************************************************************/
+package org.eclipse.wst.command.internal.env.ui.eclipse;
+
+import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
+import org.eclipse.wst.command.internal.env.eclipse.BaseEclipseEnvironment;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+
+public class SWTEnvironmentManager
+{
+  /**
+   * Returns a new instance of an IEnvironment for the Eclipse SWT GUI.
+   */
+  public static BaseEclipseEnvironment getNewSWTEnvironment()
+  {
+    PersistentResourceContext context        = PersistentResourceContext.getInstance();
+    EclipseStatusHandler      handler        = new EclipseStatusHandler();
+    EclipseEnvironment        environment    = new EclipseEnvironment( null, context, handler );
+    
+    return environment;  
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/plugin/EnvUIPlugin.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/plugin/EnvUIPlugin.java
index cef2bd0..4c15d60 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/plugin/EnvUIPlugin.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/plugin/EnvUIPlugin.java
@@ -11,7 +11,11 @@
 
 package org.eclipse.wst.command.internal.env.ui.plugin;
 
+import java.net.MalformedURLException;
+import java.net.URL;
+
 import org.eclipse.core.runtime.Plugin;
+import org.eclipse.jface.resource.ImageDescriptor;
 
 /**
  * The main plugin class to be used in the desktop.
@@ -35,4 +39,17 @@
 	public static EnvUIPlugin getInstance() {
 		return instance;
 	}
+	 public static ImageDescriptor getImageDescriptor ( String name )
+	  {
+	    try
+	    {
+	      URL installURL = instance.getBundle().getEntry("/");
+	      URL imageURL = new URL(installURL,name);
+	      return ImageDescriptor.createFromURL(imageURL);
+	    }
+	    catch (MalformedURLException e)
+	    {
+	      return null;
+	    }
+	  }
 }
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/preferences/ActionDialogsPreferencePage.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/preferences/ActionDialogsPreferencePage.java
index 924bc95..ed422d3 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/preferences/ActionDialogsPreferencePage.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/preferences/ActionDialogsPreferencePage.java
@@ -30,7 +30,7 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.command.internal.env.context.PersistentActionDialogsContext;
 import org.eclipse.wst.command.internal.env.preferences.ActionDialogPreferenceType;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.ui.EnvironmentUIMessages;
 
 
 /**
@@ -81,8 +81,7 @@
    */
   protected Control createContents(Composite superparent)
   {
-    MessageUtils msgUtils = new MessageUtils( "org.eclipse.wst.command.env.ui.environmentui", this );
-    
+   
     checkBoxes_ = new Hashtable();
     addOptionalDialogsCheckBoxes (superparent);
 	new Label(superparent, SWT.HORIZONTAL);
@@ -91,19 +90,19 @@
     GridLayout layout = new GridLayout();
     layout.numColumns = 2;
     parent.setLayout( layout );
-    parent.setToolTipText(msgUtils.getMessage("TOOLTIP_PPAD_PAGE"));
+    parent.setToolTipText(EnvironmentUIMessages.TOOLTIP_PPAD_PAGE);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, INFOPOP_PPAD_PAGE );
 	
     showAll = new Button(parent, SWT.NONE);
-    showAll.setText(msgUtils.getMessage("BUTTON_SHOW_ALL_DIALOGS"));
+    showAll.setText(EnvironmentUIMessages.BUTTON_SHOW_ALL_DIALOGS);
     showAll.addListener(SWT.Selection, this);
-    showAll.setToolTipText(msgUtils.getMessage("TOOLTIP_PPAD_BUTTON_SHOW_ALL"));
+    showAll.setToolTipText(EnvironmentUIMessages.TOOLTIP_PPAD_BUTTON_SHOW_ALL);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(showAll, INFOPOP_PPAD_BUTTON_SHOW_ALL );
    
     hideAll = new Button(parent, SWT.NONE);
-    hideAll.setText(msgUtils.getMessage("BUTTON_HIDE_ALL_DIALOGS"));
+    hideAll.setText(EnvironmentUIMessages.BUTTON_HIDE_ALL_DIALOGS);
     hideAll.addListener ( SWT.Selection, this);
-    hideAll.setToolTipText(msgUtils.getMessage("TOOLTIP_PPAD_BUTTON_HIDE_ALL"));
+    hideAll.setToolTipText(EnvironmentUIMessages.TOOLTIP_PPAD_BUTTON_HIDE_ALL);
     PlatformUI.getWorkbench().getHelpSystem().setHelp(hideAll, INFOPOP_PPAD_BUTTON_HIDE_ALL );
 
     initializeValues();
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/registry/WidgetRegistry.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/registry/WidgetRegistry.java
index 5af7fc0..5ab5b31 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/registry/WidgetRegistry.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/registry/WidgetRegistry.java
@@ -12,11 +12,10 @@
 package org.eclipse.wst.command.internal.env.ui.registry;
 
 import java.util.Hashtable;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributorFactory;
+import org.eclipse.wst.command.internal.env.ui.widgets.INamedWidgetContributorFactory;
 
 public class WidgetRegistry 
 {
@@ -30,15 +29,20 @@
   
   public static WidgetRegistry instance()
   {
-    if( registry_ == null )
+	if (registry_ == null)
 	{
-	  registry_ = new WidgetRegistry();
-	  registry_.load();
+		registry_ = new WidgetRegistry();
+		registry_.load();
 	}
-	
+
 	return registry_;
   }
   
+  public static void initialize()
+  {
+    registry_ = null;  
+  }
+  
   /**
    * 
    * @param id the methodId that may have WidgetContributor associated with it.
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CanFinishRegistry.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CanFinishRegistry.java
index eb4e585..bfe0a0e 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CanFinishRegistry.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CanFinishRegistry.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 
 /**
  * This is an interface for an abstract can finish registry.
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBinding.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBinding.java
index f77c3ac..afd591b 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBinding.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBinding.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactoryFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public interface CommandWidgetBinding extends CommandFragmentFactoryFactory
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBindingList.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBindingList.java
index 0e726f6..7b87845 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBindingList.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CommandWidgetBindingList.java
@@ -12,10 +12,10 @@
 
 import java.util.Vector;
 
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentFactory;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
 
 
 public class CommandWidgetBindingList implements CommandWidgetBinding
@@ -60,7 +60,7 @@
   }
   
   /* (non-Javadoc)
-   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry)
+   * @see org.eclipse.wst.command.env.ui.widgets.CommandWidgetBinding#registerDataMappings(org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry)
    */
   public void registerDataMappings(DataMappingRegistry dataRegistry) 
   {
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CurrentPageCommand.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CurrentPageCommand.java
index 1d1cbbb..6509401 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CurrentPageCommand.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/CurrentPageCommand.java
@@ -11,8 +11,13 @@
 
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
@@ -20,7 +25,7 @@
  * Use of this class is not recommended.
  *
  */
-public class CurrentPageCommand extends SimpleCommand
+public class CurrentPageCommand extends AbstractDataModelOperation
 {
   private WizardPageManager pageManager_;
   
@@ -33,4 +38,9 @@
   {
     return pageManager_.getCurrentPage();
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DataObjectCommand.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DataObjectCommand.java
index 3233b90..0450ad3 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DataObjectCommand.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DataObjectCommand.java
@@ -11,7 +11,12 @@
 
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
@@ -19,7 +24,7 @@
  * this wizard.
  *
  */
-public class DataObjectCommand extends SimpleCommand
+public class DataObjectCommand extends AbstractDataModelOperation
 {
   private Object dataObject_;
   
@@ -32,4 +37,9 @@
   {
     return dataObject_;
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DynamicWizard.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DynamicWizard.java
index 4c605c0..5b94b66 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DynamicWizard.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/DynamicWizard.java
@@ -25,19 +25,20 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
 import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistryImpl;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SequenceFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.SimpleFragment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.command.internal.env.ui.EnvironmentUIMessages;
 import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseStatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.ui.registry.WidgetRegistry;
 import org.osgi.framework.Bundle;
 
 
@@ -180,8 +181,7 @@
         
     if( wizardElement_ == null )
     {
-      MessageUtils msg = new MessageUtils( "org.eclipse.wst.command.env.ui.widgets.environment", this );
-      Status status = new Status( Status.ERROR, "id", 0, msg.getMessage( "MSG_ERROR_WIZARD_ID_NOT_FOUND", new String[]{ wizardId}) , null );
+      Status status = new Status( Status.ERROR, "id", 0, NLS.bind(EnvironmentUIMessages.MSG_ERROR_WIZARD_ID_NOT_FOUND, new String[]{ wizardId}) , null );
       throw new CoreException( status );
     }
   }
@@ -198,8 +198,7 @@
   {    
     PersistentResourceContext context        = PersistentResourceContext.getInstance();
     EclipseStatusHandler      handler        = new EclipseStatusHandler();
-    EclipseProgressMonitor    monitor        = new EclipseProgressMonitor();
-    EclipseEnvironment        environment    = new EclipseEnvironment( null, context, monitor, handler );
+    EclipseEnvironment        environment    = new EclipseEnvironment( null, context, handler );
     
     DataMappingRegistryImpl dataRegistry_   = new DataMappingRegistryImpl();
     SimpleWidgetRegistry    widgetRegistry_ = new SimpleWidgetRegistry();  
@@ -380,13 +379,14 @@
    */
   private void cleanup()
   {
-	iconBannerName_       = null;;
-	bundle_               = null;;
-	canFinishRegistry_    = null; 
-	pageManager_          = null;
-	wizardTitle_          = null;
-	dataObjectCommand_    = null;
-	startPage_            = null;
-	commandWidgetBinding_ = null;  
+	  iconBannerName_       = null;
+	  bundle_               = null;
+	  canFinishRegistry_    = null; 
+	  pageManager_          = null;
+	  wizardTitle_          = null;
+	  dataObjectCommand_    = null;
+	  startPage_            = null;
+	  commandWidgetBinding_ = null;
+	  WidgetRegistry.initialize();
   }
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/INamedWidgetContributor.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/INamedWidgetContributor.java
new file mode 100644
index 0000000..a5baf32
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/INamedWidgetContributor.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.command.internal.env.ui.widgets;
+
+
+public interface INamedWidgetContributor 
+{
+  /**
+   * 
+   * @return returns the WidgetContributor for this Named widget.
+   */
+  public WidgetContributorFactory getWidgetContributorFactory();
+  
+  /**
+   * 
+   * @return returns the name.
+   */
+  public String getName ();
+  
+  /**
+   * 
+   * @return returns a description that might be displayed on
+   * a wizard page.
+   */
+  public String getDescription ();
+  
+  /**
+   * 
+   * @return returns title that may be displayed on 
+   * a wizard page.
+   */
+  public String getTitle();  
+}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/INamedWidgetContributorFactory.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/INamedWidgetContributorFactory.java
new file mode 100644
index 0000000..f14ff03
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/INamedWidgetContributorFactory.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.command.internal.env.ui.widgets;
+
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
+
+public interface INamedWidgetContributorFactory 
+{
+  /**
+   * 
+   * @return returns the first named widget.
+   */
+  INamedWidgetContributor getFirstNamedWidget();
+  
+  /**
+   * 
+   * @param widgetContributor
+   * @return returns the next named widget after the one specified.
+   */
+  INamedWidgetContributor getNextNamedWidget( INamedWidgetContributor widgetContributor );
+  
+  /**
+   * This method is used by extenions to register the data mappings
+   * that their widgets use.
+   * 
+   * @param dataRegistry
+   */
+  public void registerDataMappings( DataMappingRegistry dataRegistry );
+  
+}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SelectionCommand.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SelectionCommand.java
index b3da1e0..1abb1e6 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SelectionCommand.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SelectionCommand.java
@@ -11,8 +11,13 @@
 
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
 /**
@@ -22,7 +27,7 @@
  * this command to the command that needs it.
  *
  */
-public class SelectionCommand extends SimpleCommand
+public class SelectionCommand extends AbstractDataModelOperation
 {
   private IStructuredSelection selection_;
   
@@ -35,4 +40,9 @@
   {
     return selection_;
   }
+
+  public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+  {
+    return Status.OK_STATUS;
+  }
 }
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCanFinishRegistry.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCanFinishRegistry.java
index 2f4be59..43d193f 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCanFinishRegistry.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCanFinishRegistry.java
@@ -12,7 +12,7 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.common.Condition;
+import org.eclipse.wst.command.internal.env.core.common.Condition;
 
 
 
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCommandEngineManager.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCommandEngineManager.java
index 4bfb3a2..a92bb29 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCommandEngineManager.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleCommandEngineManager.java
@@ -11,18 +11,17 @@
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
 import java.lang.reflect.InvocationTargetException;
-
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.operation.IRunnableContext;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine;
 import org.eclipse.wst.command.internal.env.core.fragment.FragmentListener;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseStatusHandler;
+import org.eclipse.wst.common.environment.ILog;
 
 
 /**
@@ -60,7 +59,7 @@
   {
   	engine_ = new CommandFragmentEngine( root, dataManager_, environment_ );
 	
-	environment_.setCommandManager( engine_ );
+	  environment_.setCommandManager( engine_ );
   	
     engine_.setPeekFragmentListener( 
       new FragmentListener()
@@ -79,8 +78,17 @@
           return nextFragment( fragment );
         }
       } );  
+    
+    engine_.setAfterExecuteFragmentListener( 
+        new FragmentListener()
+        {
+          public  boolean notify( CommandFragment fragment )
+          {
+            return afterExecuteNextFragment( fragment );
+          }
+        } );  
                                                              
-	engine_.setUndoFragmentListener(
+	  engine_.setUndoFragmentListener(
       new FragmentListener()
       {
         public boolean notify( CommandFragment fragment )
@@ -89,6 +97,38 @@
         }
       } );               
   }
+
+  protected boolean afterExecuteNextFragment( CommandFragment fragment )
+  {
+    boolean              continueExecute = true;
+    EclipseStatusHandler statusHandler   = (EclipseStatusHandler)environment_.getStatusHandler();
+    IStatus              commandStatus   = engine_.getLastStatus();
+    IStatus              handlerStatus   = statusHandler.getStatus();
+    
+    if( commandStatus.getSeverity() == IStatus.ERROR &&
+        handlerStatus.getSeverity() != IStatus.ERROR )
+    {
+      // The command returned an error status for the engine to stop,
+      // but the status handler did not have report and error.
+      // Therefore, we will report this status returned by the command
+      // if there is a message to display.  
+      String errorMessage = commandStatus.getMessage();
+      
+      if( errorMessage != null && errorMessage.length() > 0 )
+      {
+        statusHandler.reportError( commandStatus );
+      }
+    }
+    else if( commandStatus.getSeverity() != IStatus.ERROR &&
+             handlerStatus.getSeverity() == IStatus.ERROR )
+    {
+      // The last command didn't return an error, but the status handler
+      // did report and error.  Therefore, we should stop.
+      continueExecute = false;   
+    }
+    
+    return continueExecute;
+  }
   
   /**
    * The CommandFragmentEngine calls this method when it is peeking forward
@@ -143,7 +183,7 @@
    * @param context the context
    * @return returns the status of executing the commands.
    */
-  public Status runForwardToNextStop( IRunnableContext context )
+  public IStatus runForwardToNextStop( IRunnableContext context )
   {
     IRunnableWithProgress operation = null;
     
@@ -198,15 +238,16 @@
     IRunnableWithProgress operation = new IRunnableWithProgress()
     {
       public void run( IProgressMonitor monitor )
-    //WorkspaceModifyOperation operation = new WorkspaceModifyOperation()
-    //{
-    //  public void execute( IProgressMonitor monitor )
       {
-        EclipseProgressMonitor eclipseMonitor = (EclipseProgressMonitor)environment_.getProgressMonitor();
-        eclipseMonitor.setMonitor( monitor );
-        environment_.getLog().log(Log.INFO, "command", 5002, this, "getTransactionOperation", "Start of transaction");
-        engine_.moveForwardToNextStop();
-        environment_.getLog().log(Log.INFO, "command", 5003, this, "getTransactionOperation", "End of transaction");
+        environment_.getLog().log(ILog.INFO, "command", 5002, this, "getTransactionOperation", "Start of transaction");
+        
+        EclipseStatusHandler statusHandler = (EclipseStatusHandler)environment_.getStatusHandler();
+        
+        statusHandler.resetStatus();
+        engine_.moveForwardToNextStop( monitor );
+        
+        
+        environment_.getLog().log(ILog.INFO, "command", 5003, this, "getTransactionOperation", "End of transaction");
       }
     };
     
@@ -219,11 +260,13 @@
     {
       public void run( IProgressMonitor monitor )
       {
-        EclipseProgressMonitor eclipseMonitor = (EclipseProgressMonitor)environment_.getProgressMonitor();
-        eclipseMonitor.setMonitor( monitor );
-        environment_.getLog().log(Log.INFO, "command", 5085, this, "getNoTransactionOperation", "Start of NON transaction");
-        engine_.moveForwardToNextStop();
-        environment_.getLog().log(Log.INFO, "command", 5086, this, "getNoTransactionOperation", "End of NON transaction");
+        environment_.getLog().log(ILog.INFO, "command", 5085, this, "getNoTransactionOperation", "Start of NON transaction");
+        
+        EclipseStatusHandler statusHandler = (EclipseStatusHandler)environment_.getStatusHandler();
+        
+        statusHandler.resetStatus();
+        engine_.moveForwardToNextStop( monitor );
+        environment_.getLog().log(ILog.INFO, "command", 5086, this, "getNoTransactionOperation", "End of NON transaction");
       }
     }; 
     
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimplePopupWizardPage.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimplePopupWizardPage.java
index a263997..d79c2ac 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimplePopupWizardPage.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimplePopupWizardPage.java
@@ -19,7 +19,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.command.internal.env.context.PersistentActionDialogsContext;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.ui.EnvironmentUIMessages;
 
 
 
@@ -37,7 +37,6 @@
   public void createControl( Composite parent ) 
   {
   	      Composite                      composite = new Composite( parent, SWT.NONE );
-  	      MessageUtils                   msgUtils  = new MessageUtils("org.eclipse.wst.command.env.ui.environmentui", this );
   	final PersistentActionDialogsContext context   = PersistentActionDialogsContext.getInstance();
   	
     GridLayout gridlayout   = new GridLayout();
@@ -54,11 +53,11 @@
   	if( pageManager_.getCurrentPage() == null && context.showCheckbox(id_) )
   	{
       final  Button button  = new Button( composite, SWT.CHECK );
-      String label   = msgUtils.getMessage( "CHECKBOX_DO_NOT_SHOW_DIALOG_AGAIN" );
+      String label   = EnvironmentUIMessages.CHECKBOX_DO_NOT_SHOW_DIALOG_AGAIN;
       
       /*CONTEXT_ID TWP0001 for the show/hide check box*/
       String infopop =	"org.eclipse.wst.command.env.ui.TWP0001";
-      String tooltip = msgUtils.getMessage( "TOOLTIP_DO_NOT_SHOW_DIALOG_AGAIN" );
+      String tooltip = EnvironmentUIMessages.TOOLTIP_DO_NOT_SHOW_DIALOG_AGAIN;
       
       button.setText( label );
       button.setToolTipText( tooltip );
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetContributor.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetContributor.java
index c1c6c39..652acb1 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetContributor.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetContributor.java
@@ -11,8 +11,7 @@
 
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 
 public class SimpleWidgetContributor implements INamedWidgetContributor 
 {
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetDataContributor.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetDataContributor.java
index 922726d..5484c9e 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetDataContributor.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWidgetDataContributor.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Listener;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -33,7 +33,7 @@
   /**
    * @see org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributor#getStatus()
    */
-  public Status getStatus()
+  public IStatus getStatus()
   {
     return null;
   }
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWizardPage.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWizardPage.java
index 6d81317..4d2bb59 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWizardPage.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleWizardPage.java
@@ -19,7 +19,6 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Listener;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 
@@ -61,11 +60,11 @@
   	  
   public void validatePageToStatus()
   {
-    Status status  = widget_.getStatus();
+    IStatus status  = widget_.getStatus();
     
     if( status != null )
     {
-      if( status.getSeverity() == Status.ERROR )
+      if( status.getSeverity() == IStatus.ERROR )
       {
         String message = status.getMessage();
 
@@ -81,13 +80,13 @@
           
         setPageComplete( false );
       }
-      else if (status.getSeverity() == Status.WARNING )
+      else if (status.getSeverity() == IStatus.WARNING )
       {
         setErrorMessage( null );
         setMessage(status.getMessage(), IStatus.WARNING );
         setPageComplete( true );
       }
-      else if( status.getSeverity() == Status.INFO )
+      else if( status.getSeverity() == IStatus.INFO )
       {
         setErrorMessage( null );
         setMessage( status.getMessage(), IStatus.INFO );
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetBindingToWidgetFactoryAdapter.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetBindingToWidgetFactoryAdapter.java
index 0835e2f..152f7c8 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetBindingToWidgetFactoryAdapter.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetBindingToWidgetFactoryAdapter.java
@@ -13,8 +13,7 @@
 
 import java.util.Hashtable;
 
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistry;
 
 public class WidgetBindingToWidgetFactoryAdapter 
 {
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetContributor.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetContributor.java
index 660d744..b6db626 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetContributor.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WidgetContributor.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Listener;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 
 /**
@@ -67,5 +67,5 @@
    *         be invalid.  For any other status severity or if the status returned
    *         is null this widget is considered to be valid.
    */
-  public Status getStatus();
+  public IStatus getStatus();
 }
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 bc51f67..1830b44 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
@@ -12,17 +12,14 @@
 
 import java.util.Hashtable;
 import java.util.Stack;
-
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.wizard.IWizard;
 import org.eclipse.jface.wizard.IWizardContainer;
 import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
 import org.eclipse.wst.command.internal.env.ui.registry.WidgetRegistry;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributor;
-import org.eclipse.wst.command.internal.provisional.env.ui.widgets.INamedWidgetContributorFactory;
 
 
 
@@ -60,13 +57,13 @@
   	pageTable_          = new Hashtable();  
   	registry_           = registry;
   	wizard_             = wizard;
-	widgetTable_        = new Hashtable();
-	widgetFactoryTable_ = new Hashtable();
-	widgetRegistry_     = WidgetRegistry.instance();
-	widgetStackStack_   = new Stack();
+	  widgetTable_        = new Hashtable();
+	  widgetFactoryTable_ = new Hashtable();
+	  widgetRegistry_     = WidgetRegistry.instance();
+	  widgetStackStack_   = new Stack();
   }
   
-  public Status runForwardToNextStop()
+  public IStatus runForwardToNextStop()
   {    
   	firstFragment_  = true;
   	nextPage_       = null;
@@ -93,7 +90,7 @@
     
 	try
 	{
-  	  nextPage_ = getNextPageInGroup( widgetFactory_, false );
+  	nextPage_ = getNextPageInGroup( widgetFactory_, false );
 		
 	  if( nextPage_ == null )
 	  {
@@ -112,10 +109,10 @@
   public IWizardPage getNextPage()
   {  	
 	try
-	{
-  	  // Need to externalize the data for the current page so that
-  	  // when we move forward below the data is available.
-  	  if( currentPage_ != null ) currentPage_.getDataEvents().externalize();
+	{    
+  	// Need to externalize the data for the current page so that
+  	// when we move forward below the data is available.
+  	if( currentPage_ != null ) currentPage_.getDataEvents().externalize();
   	
 	  nextPage_ = getNextPageInGroup( widgetFactory_, true );
 	
@@ -124,18 +121,18 @@
 	    widgetFactory_ = null;
 	    widgetStack_   = null;
 		
-  	    Status status = runForwardToNextStop();
+  	  IStatus status = runForwardToNextStop();
   	
-  	    if( status.getSeverity() == Status.ERROR )
-  	    {
-  	      // An error has occured so we need undo to the previous stop point.
-  	      undoToLastPage();
-  	    }
+  	  if( status.getSeverity() == IStatus.ERROR )
+  	  {
+  	    // An error has occured so we need undo to the previous stop point.
+  	    undoToLastPage();
+  	  }
 	  }
 	
-  	  if( nextPage_ != null ) nextPage_.setWizard( wizard_ );
+  	if( nextPage_ != null ) nextPage_.setWizard( wizard_ );
   	  	
-  	  return nextPage_;
+  	return nextPage_;
 	}
 	catch( Throwable exc )
 	{
@@ -165,32 +162,32 @@
   	  //       we are basically just leaving the current page without retrieving its state and
   	  //       moving to the previous page which already has its state set.
 	
-	  if( widgetFactory_ != null )
-	  {
-		if( widgetStack_.size() > 0 )
-		{
-		  widgetStack_.pop();
-		}
+	    if( widgetFactory_ != null )
+	    {
+		    if( widgetStack_.size() > 0 )
+		    {
+		      widgetStack_.pop();
+		    }
 		
-		if( widgetStack_.size() == 0 )
-		{
-		  widgetFactory_ = null;
-		  widgetStack_ = null;
-		  widgetStackStack_.pop();
-		}
-	  }
+		    if( widgetStack_.size() == 0 )
+		    {
+		      widgetFactory_ = null;
+		      widgetStack_ = null;
+		      widgetStackStack_.pop();
+		    }
+	    }
 	  
-	  if( widgetFactory_ == null )
-	  {
+	    if( widgetFactory_ == null )
+	    {
   	    undoToLastPage();
-	  }
+	    }
 	  
   	  currentPage_ = page;
   	}	
   	else if( isPageVisible )
   	{
-	  try
-	  {
+	    try
+	    {
   	    // We are moving forward one page.
   	    WidgetDataEvents dataEvents = page.getDataEvents();
   	  
@@ -198,19 +195,19 @@
   	    dataEvents.internalize();
   	  
   	    page.validatePageToStatus();  	  
-	  }
-	  catch( Throwable exc )
-	  {
-		exc.printStackTrace();
-	  }
-	  finally
-	  {
-	  	if( currentPage_ != null ) page.setPreviousPage( currentPage_ );
+	    }
+	    catch( Throwable exc )
+	    {
+		    exc.printStackTrace();
+	    }
+	    finally
+	    {
+	  	  if( currentPage_ != null ) page.setPreviousPage( currentPage_ );
 	    	  
-	  	if( firstPage_ == null ) firstPage_ = page;
+	  	  if( firstPage_ == null ) firstPage_ = page;
 	  	  
-	  	currentPage_ = page;  
-	  }
+	  	  currentPage_ = page;  
+	    }
   	}
   }
   
@@ -227,9 +224,9 @@
   	// Loop through subsequent pages.
   	do
   	{  	  
-  	  Status status = runForwardToNextStop();	  
+  	  IStatus status = runForwardToNextStop();	  
   	  
-  	  if( status.getSeverity() == Status.ERROR )
+  	  if( status.getSeverity() == IStatus.ERROR )
   	  {
   	  	// An error occured in one of the commands.
   	  	doneOk = false;
@@ -273,15 +270,15 @@
     // Check to see if this fragment is in our page table.
     nextPage_ = getPage( fragment );
           	
-	if( nextPage_ == null )
-	{
-	  INamedWidgetContributorFactory factory = getWidgetFactory( fragment.getId() );
-	  
-	  if( factory != null )
+	  if( nextPage_ == null )
 	  {
-		nextPage_ = getNextPageInGroup( factory, false );  
+	    INamedWidgetContributorFactory factory = getWidgetFactory( fragment.getId() );
+	  
+	    if( factory != null )
+	    {
+		    nextPage_ = getNextPageInGroup( factory, false );  
+	    }
 	  }
-	}
 	
     return nextPage_ == null;
   }
@@ -300,24 +297,34 @@
   	}
   	else
   	{
-	  widgetFactory_ = getWidgetFactory( fragment.getId() );
+	    widgetFactory_ = getWidgetFactory( fragment.getId() );
 	  
-	  if( widgetFactory_ != null )
-	  {
-		widgetStack_ = new Stack();
+	    if( widgetFactory_ != null )
+	    {
+		    widgetStack_ = new Stack();
+        
+        nextPage_ = getNextPageInGroup( widgetFactory_, true );
 		
-		StackEntry entry = new StackEntry();
+        if( nextPage_ == null )
+        {
+          // We found a widget contributor for this fragment, but no page was delivered for it.
+          // We will therefore, not put it on our stack of widget stacks.
+          widgetStack_ = null;
+          widgetFactory_ = null;
+        }
+        else
+        {
+		      StackEntry entry = new StackEntry();
 		
-		entry.factory_ = widgetFactory_;
-		entry.stack_   = widgetStack_;
-		widgetStackStack_.push( entry );
-		
-		nextPage_ = getNextPageInGroup( widgetFactory_, true );
-	  }
-	  else
-	  {
+		      entry.factory_ = widgetFactory_;
+		      entry.stack_   = widgetStack_;
+		      widgetStackStack_.push( entry );
+        }
+	    }
+	    else
+	    {
   	    nextPage_ = getPage( fragment );
-	  }
+	    }
   	}  	  	
   	
     return nextPage_ == null;
@@ -333,75 +340,75 @@
   
   private PageWizardDataEvents getNextPageInGroup( INamedWidgetContributorFactory factory, boolean pushNewWidget )
   {
-	PageWizardDataEvents page = null;
+	  PageWizardDataEvents page = null;
 	
-	if( factory != null )
-	{	  
-	  INamedWidgetContributor newWidget = null;
+	  if( factory != null )
+	  {	  
+	    INamedWidgetContributor newWidget = null;
 		  
-	  if( widgetStack_ == null || widgetStack_.size() == 0 )
-	  {
-		newWidget = factory.getFirstNamedWidget();   
-	  }
-	  else
-	  {
-		INamedWidgetContributor currentWidget = (INamedWidgetContributor)widgetStack_.peek();
-		newWidget = factory.getNextNamedWidget( currentWidget ); 
-	  }
+	    if( widgetStack_ == null || widgetStack_.size() == 0 )
+	    {
+		    newWidget = factory.getFirstNamedWidget();   
+	    }
+	    else
+	    {
+		    INamedWidgetContributor currentWidget = (INamedWidgetContributor)widgetStack_.peek();
+		    newWidget = factory.getNextNamedWidget( currentWidget ); 
+	    }
 		  
-	  if( newWidget != null )
-	  {
-		page = getPage( newWidget );
+	    if( newWidget != null )
+	    {
+		    page = getPage( newWidget );
 		
-		if( pushNewWidget )
-		{
-		  widgetStack_.push( newWidget );
-		}
+		    if( pushNewWidget )
+		    {
+		      widgetStack_.push( newWidget );
+		    }
+	    }
 	  }
-	}
 		
-	return page;  
+	  return page;  
   }
   
   private void undoToLastPage()
   {
     boolean stackEmpty  = false;
-	boolean doneUndoing = false;
+	  boolean doneUndoing = false;
     
-	while( !doneUndoing )
-	{
-	  stackEmpty = engine_.undoToLastStop();
-	  
-	  IWizardPage page = null;
-	  
-	  if( lastUndoFragment_ != null )
+	  while( !doneUndoing )
 	  {
-	    page = getPage( lastUndoFragment_ );
-		
-	    if( page == null )
-	    {
-		  // Check to see if a group page fragment was found.
-		  INamedWidgetContributorFactory factory = getWidgetFactory( lastUndoFragment_.getId() );
-		  
-		  if( factory != null )
-		  {
-		    StackEntry entry = (StackEntry)widgetStackStack_.peek();
-			
-		    widgetFactory_ = entry.factory_;
-		    widgetStack_   = entry.stack_;	
-			
-		    if( widgetStack_ != null && !widgetStack_.empty() )
-		    {
-		      INamedWidgetContributor currentWidget = (INamedWidgetContributor)widgetStack_.peek();
-			
-		      page = getPage( currentWidget );
-		    }
-		  }
-	    }
-	  }
+	    stackEmpty = engine_.undoToLastStop();
 	  
-	  doneUndoing = page != null || stackEmpty;
-	}
+	    IWizardPage page = null;
+	  
+	    if( lastUndoFragment_ != null )
+	    {
+	      page = getPage( lastUndoFragment_ );
+		
+	      if( page == null )
+	      {
+		      // Check to see if a group page fragment was found.
+		      INamedWidgetContributorFactory factory = getWidgetFactory( lastUndoFragment_.getId() );
+		  
+		      if( factory != null )
+		      {
+		        StackEntry entry = (StackEntry)widgetStackStack_.peek();
+			
+		        widgetFactory_ = entry.factory_;
+		        widgetStack_   = entry.stack_;	
+			
+		        if( widgetStack_ != null && !widgetStack_.empty() )
+		        {
+		          INamedWidgetContributor currentWidget = (INamedWidgetContributor)widgetStack_.peek();
+			
+		          page = getPage( currentWidget );
+		        }
+		      }
+	      }
+	    }
+	  
+	    doneUndoing = page != null || stackEmpty;
+	  }
   }
   
   private PageWizardDataEvents getPage( CommandFragment fragment )
@@ -427,46 +434,46 @@
   
   private PageWizardDataEvents getPage( INamedWidgetContributor widget )
   {
-	PageWizardDataEvents page = (PageWizardDataEvents)widgetTable_.get( widget );
+	  PageWizardDataEvents page = (PageWizardDataEvents)widgetTable_.get( widget );
 
-	if( page == null )
-	{
-	  PageInfo pageInfo = new PageInfo(widget.getTitle(), widget.getDescription(), widget.getWidgetContributorFactory() );
+	  if( page == null )
+	  {
+	    PageInfo pageInfo = new PageInfo(widget.getTitle(), widget.getDescription(), widget.getWidgetContributorFactory() );
 	  
-	  page = pageFactory_.getPage( pageInfo, this );
-	  widgetTable_.put( widget, page );
-	}
+	    page = pageFactory_.getPage( pageInfo, this );
+	    widgetTable_.put( widget, page );
+	  }
 	
-	return page;
+	  return page;
   }
   
   private INamedWidgetContributorFactory getWidgetFactory( String id )
   {
-	INamedWidgetContributorFactory factory = (INamedWidgetContributorFactory)widgetFactoryTable_.get( id );
+	  INamedWidgetContributorFactory factory = (INamedWidgetContributorFactory)widgetFactoryTable_.get( id );
 	
-	if( factory == null )
-	{
-	  // The factory is not in our table so we will try the registry.
-	  factory = widgetRegistry_.getFactory( id );
-	  
-	  if( factory != null )
+	  if( factory == null )
 	  {
-	    widgetFactoryTable_.put( id, factory );
-	    factory.registerDataMappings( dataManager_.getMappingRegistry() );
-		dataManager_.process( factory );
+	    // The factory is not in our table so we will try the registry.
+	    factory = widgetRegistry_.getFactory( id );
+	  
+	    if( factory != null )
+	    {
+	      widgetFactoryTable_.put( id, factory );
+	      factory.registerDataMappings( dataManager_.getMappingRegistry() );
+		    dataManager_.process( factory );
+	    }
 	  }
-	}
-	else
-	{
-	  dataManager_.process( factory );
-	}
+	  else
+	  {
+	    dataManager_.process( factory );
+	  }
 	
-	return factory;
+	  return factory;
   }
   
   private class StackEntry
   {
     INamedWidgetContributorFactory factory_;
-	Stack                          stack_;
+	  Stack                          stack_;
   }
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/popup/DynamicPopupWizard.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/popup/DynamicPopupWizard.java
index bca1d66..4738f8b 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/popup/DynamicPopupWizard.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/popup/DynamicPopupWizard.java
@@ -11,11 +11,9 @@
 package org.eclipse.wst.command.internal.env.ui.widgets.popup;
 
 import java.lang.reflect.InvocationTargetException;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.jface.operation.IRunnableContext;
@@ -32,8 +30,7 @@
 import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
 import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistryImpl;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
 import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseStatusHandler;
 import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.DynamicWizard;
@@ -164,8 +161,7 @@
   {
 	PersistentResourceContext  resourceContext = PersistentResourceContext.getInstance();
 	EclipseStatusHandler       handler         = new EclipseStatusHandler();
-	EclipseProgressMonitor     monitor         = new EclipseProgressMonitor();
-	EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, monitor, handler );
+	EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, handler );
 	    
 	DataMappingRegistryImpl    dataRegistry_   = new DataMappingRegistryImpl();	    
 	DataFlowManager            dataManager     = new DataFlowManager( dataRegistry_, environment );
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/provisional/env/ui/widgets/INamedWidgetContributor.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/provisional/env/ui/widgets/INamedWidgetContributor.java
deleted file mode 100644
index da54ce9..0000000
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/provisional/env/ui/widgets/INamedWidgetContributor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.command.internal.provisional.env.ui.widgets;
-
-import org.eclipse.wst.command.internal.env.ui.widgets.WidgetContributorFactory;
-
-public interface INamedWidgetContributor 
-{
-  /**
-   * 
-   * @return returns the WidgetContributor for this Named widget.
-   */
-  public WidgetContributorFactory getWidgetContributorFactory();
-  
-  /**
-   * 
-   * @return returns the name.
-   */
-  public String getName ();
-  
-  /**
-   * 
-   * @return returns a description that might be displayed on
-   * a wizard page.
-   */
-  public String getDescription ();
-  
-  /**
-   * 
-   * @return returns title that may be displayed on 
-   * a wizard page.
-   */
-  public String getTitle();  
-}
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/provisional/env/ui/widgets/INamedWidgetContributorFactory.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/provisional/env/ui/widgets/INamedWidgetContributorFactory.java
deleted file mode 100644
index 0485ffd..0000000
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/provisional/env/ui/widgets/INamedWidgetContributorFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.command.internal.provisional.env.ui.widgets;
-
-import org.eclipse.wst.command.internal.provisional.env.core.data.DataMappingRegistry;
-
-public interface INamedWidgetContributorFactory 
-{
-  /**
-   * 
-   * @return returns the first named widget.
-   */
-  INamedWidgetContributor getFirstNamedWidget();
-  
-  /**
-   * 
-   * @param widgetContributor
-   * @return returns the next named widget after the one specified.
-   */
-  INamedWidgetContributor getNextNamedWidget( INamedWidgetContributor widgetContributor );
-  
-  /**
-   * This method is used by extenions to register the data mappings
-   * that their widgets use.
-   * 
-   * @param dataRegistry
-   */
-  public void registerDataMappings( DataMappingRegistry dataRegistry );
-  
-}
diff --git a/bundles/org.eclipse.wst.command.env/.classpath b/bundles/org.eclipse.wst.command.env/.classpath
index 751c8f2..70d4ebc 100644
--- a/bundles/org.eclipse.wst.command.env/.classpath
+++ b/bundles/org.eclipse.wst.command.env/.classpath
@@ -3,5 +3,6 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="ant-src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.wst.command.env/.cvsignore b/bundles/org.eclipse.wst.command.env/.cvsignore
index d190fb0..7be5ad2 100644
--- a/bundles/org.eclipse.wst.command.env/.cvsignore
+++ b/bundles/org.eclipse.wst.command.env/.cvsignore
@@ -3,3 +3,6 @@
 runtime
 temp.folder
 env.jar
+@dot
+src.zip
+envsrc.zip
diff --git a/bundles/org.eclipse.wst.command.env/.externalToolBuilders/build-anttasks.launch b/bundles/org.eclipse.wst.command.env/.externalToolBuilders/build-anttasks.launch
new file mode 100644
index 0000000..e4b79ad
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/.externalToolBuilders/build-anttasks.launch
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+<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}"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+</launchConfiguration>
diff --git a/bundles/org.eclipse.wst.command.env/.options b/bundles/org.eclipse.wst.command.env/.options
deleted file mode 100644
index 1e0b724..0000000
--- a/bundles/org.eclipse.wst.command.env/.options
+++ /dev/null
@@ -1,18 +0,0 @@
-# Debugging options for the org.eclipse.wst.env plugin.
-
-# Turn on debugging master switch for the org.eclipse.wst.command.env plugin.
-org.eclipse.wst.command.env/debug=true
-
-# Turn on different tracing level
-org.eclipse.wst.command.env/trace/info=true
-org.eclipse.wst.command.env/trace/warning=true
-org.eclipse.wst.command.env/trace/error=true
-
-# Turn on data flow tracing
-org.eclipse.wst.command.env/trace/data=true
-
-# Turn on command tracing
-org.eclipse.wst.command.env/trace/command=true
-
-# Turn on emitter tracing
-org.eclipse.wst.command.env/trace/emitter=true
diff --git a/bundles/org.eclipse.wst.command.env/.project b/bundles/org.eclipse.wst.command.env/.project
index 74dad12..31281d9 100644
--- a/bundles/org.eclipse.wst.command.env/.project
+++ b/bundles/org.eclipse.wst.command.env/.project
@@ -20,6 +20,16 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+			<triggers>full,incremental,</triggers>
+			<arguments>
+				<dictionary>
+					<key>LaunchConfigHandle</key>
+					<value>&lt;project&gt;/.externalToolBuilders/build-anttasks.launch</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
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 b35ae4b..0ccb675 100644
--- a/bundles/org.eclipse.wst.command.env/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.command.env/META-INF/MANIFEST.MF
@@ -1,12 +1,15 @@
 Manifest-Version: 1.0
+Bundle-ClassPath: env.jar
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.command.env; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.wst.command.internal.env.plugin.EnvPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.command.internal.env.commandline,
+Export-Package: org.eclipse.wst.command.internal.env.ant,
+ org.eclipse.wst.command.internal.env,
+ org.eclipse.wst.command.internal.env.commandline,
  org.eclipse.wst.command.internal.env.common,
  org.eclipse.wst.command.internal.env.context,
  org.eclipse.wst.command.internal.env.eclipse,
@@ -14,5 +17,10 @@
  org.eclipse.wst.command.internal.env.preferences
 Require-Bundle: org.eclipse.wst.command.env.core,
  org.eclipse.core.runtime,
- org.eclipse.core.resources
+ org.eclipse.core.resources,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.core.commands,
+ org.eclipse.wst.common.environment,
+ org.apache.ant,
+ org.eclipse.ant.core
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.command.env/ant-lib/.cvsignore b/bundles/org.eclipse.wst.command.env/ant-lib/.cvsignore
new file mode 100644
index 0000000..60dbc39
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/ant-lib/.cvsignore
@@ -0,0 +1,2 @@
+anttasks.jar
+anttaskssrc.zip
diff --git a/bundles/org.eclipse.wst.command.env/ant-src/ws/ant/task/WebServiceGenerationAntTask.java b/bundles/org.eclipse.wst.command.env/ant-src/ws/ant/task/WebServiceGenerationAntTask.java
new file mode 100644
index 0000000..d4f3b7d
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/ant-src/ws/ant/task/WebServiceGenerationAntTask.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package ws.ant.task;
+
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+import org.eclipse.wst.command.internal.env.ant.AntController;
+
+public class WebServiceGenerationAntTask extends Task {
+	
+		public void execute()
+		{			
+			//get properties set in the Ant file
+			Project proj = getProject();
+            if (proj != null)
+            {
+                //call the AntController to kick off generation
+    			new AntController(proj.getProperties());
+            }           		
+		}		
+	}
+
+
diff --git a/bundles/org.eclipse.wst.command.env/ant/axisclient.properties b/bundles/org.eclipse.wst.command.env/ant/axisclient.properties
new file mode 100644
index 0000000..c97b1df
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/ant/axisclient.properties
@@ -0,0 +1,44 @@
+!--scenarioType REQUIRED. Differentiates from "service" scenario.  See axisservice.properties.
+scenarioType=client
+
+!--InitialSelection REQUIRED.  Workspace relative URI to the input WSDL or Java.
+InitialSelection=/dynamicWebProjectName/WebContent/wsdl/myService.wsdl
+
+!--Utility property values - use these to list values for the following properties:
+!-- Client.RuntimeId, Client.ServerId 
+ListRuntimes=true
+ListServers=true
+ 
+!--type:String - ID of web service runtime 
+Client.RuntimeId=org.eclipse.jst.ws.axis.creation.axisWebServiceRT
+!--type:String - ID of target server 
+Client.ServerId=org.eclipse.jst.server.tomcat.50
+
+!--type:String - name of Client project - this property can be used to give the client project a 
+!-- different name than the project containing the initial selection
+ClientProjectName=clientProjectName
+!--type:String - name of Client EAR project - set only if applicable for selected server type
+ClientEarProjectName=clientEARProjectName
+!--type:String - type of Client project - must be one of: jst.web, jst.java
+!-- only jst.web is valid for Axis
+ClientComponentType=jst.web
+
+!-- CustomizeClientMappings - set to true to supply package-namespace mappings type: boolean
+CustomizeClientMappings=false  
+    
+!-- String: workspace relative URI <jvh - can it be any URI?> to property file containing mappings
+!-- need not be set if CustomizeClientMappings is false  
+!-- file format: file extension must be .properties.  The content of the properties file must be of the format package = namespace .
+Mappings=/testProj/mappings/mappings.txt
+
+!--OverwriteFilesEnabled - set to true to overwrite files that already exist. type:boolean 
+!-- note for non-interactive mode it is recommended that this be set to true
+OverwriteFilesEnabled=true
+
+!--CreateFoldersEnabled - set to true create folders necessary during file generation type:boolean
+!-- note for non-interactive mode it is recommended that this be set to true
+CreateFoldersEnabled=true
+
+!--CheckoutFilesEnabled - set to true to check out files with no warning to the user type:boolean
+!-- note for non-interactive mode it is recommended that this be set to true
+CheckoutFilesEnabled=true
diff --git a/bundles/org.eclipse.wst.command.env/ant/axisservice.properties b/bundles/org.eclipse.wst.command.env/ant/axisservice.properties
new file mode 100644
index 0000000..a3c9645
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/ant/axisservice.properties
@@ -0,0 +1,50 @@
+!-- REQUIRED. Differentiates from "client" scenario.  See axisclient.properties.
+scenarioType=service
+
+!-- REQUIRED.  Workspace relative URI to the input WSDL or Java
+InitialSelection=/dynamicWebProjectName/WebContent/myService.wsdl
+
+!--Utility property values - use these to list valid values for the following properties:
+!-- Service.RuntimeId, Service.ServerId 
+ListRuntimes=true
+ListServers=true
+
+!--  type:String  - ID of web service runtime 
+Service.RuntimeId=org.eclipse.jst.ws.axis.creation.axisWebServiceRT
+!--type:String -  ID of target server 
+Service.ServerId=org.eclipse.jst.server.tomcat.50
+
+!--ServiceProjectName - !--type:String - name of Service project - this property can be used to give the service project a different name than the project containing the initial selection.  type: String    
+ServiceProjectName=serviceProjectName
+!--ServiceProjectName - !--type:String - name of Service project - this property can be used to give the service project a different name than the project containing the initial selection.  type: String
+ServiceEarProjectName=serviceEarProjectName
+
+!-- AXIS SERVICE ----
+!-- All scenarios. String: workspace relative URI to property file containing mappings
+!-- Top Down - Mappings that are used to override the default package names of the generated Java template classes.  
+!-- file format: file extension must be .properties.  For bottom up, the content of the properties file must be of the format package = namespace .
+!-- For top down, the content of the properties file must be of the format namespace=package
+!--<TODO> need to confirm format and escape characters required.
+Mappings=/testProj/mappings/mappings.txt
+
+!-- Top down - String: the workspace relative URI for a Java source folder for the generated Java code - must be existing workspace source folder
+JavaOutput=/projectName/JavaSource
+
+!-- Bottom up - comma delimited string of method names to be exposed in output WSDL.  If no list is provided, all methods are exposed.
+Methods=
+!-- Bottom up - String: one of: RPC, DOCUMENT, WRAPPED
+Style=DOCUMENT
+!-- Bottom up - String: one of: LITERAL, ENCODED 
+Use=LITERAL																												 
+
+!--OverwriteFilesEnabled - set to true to overwrite files that already exist. type:boolean 
+!-- note for non-interactive mode it is recommended that this be set to true
+OverwriteFilesEnabled=true
+
+!--CreateFoldersEnabled - set to true create folders necessary during file generation type:boolean
+!-- note for non-interactive mode it is recommended that this be set to true
+CreateFoldersEnabled=true
+
+!--CheckoutFilesEnabled - set to true to check out files with no warning to the user type:boolean
+!-- note for non-interactive mode it is recommended that this be set to true
+CheckoutFilesEnabled=true
diff --git a/bundles/org.eclipse.wst.command.env/ant/wsant.bat b/bundles/org.eclipse.wst.command.env/ant/wsant.bat
new file mode 100644
index 0000000..a1f0bf5
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/ant/wsant.bat
@@ -0,0 +1,28 @@
+echo off
+setlocal
+
+REM *********** Local envars ***************************
+
+REM The JRE java.exe to be used
+set JAVAEXE="C:\j2sdk1.4.2_07\jre\bin\java.exe"
+
+REM The Eclipse startup.jar - target workspace/wtp workspace
+set STARTUPJAR="D:\wtp0929\eclipse\startup.jar"
+
+REM The location of your workspace
+set WORKSPACE=D:\workspaces\ant_task
+
+REM ****************************************************
+
+if not exist %JAVAEXE% echo ERROR: incorrect java.exe=%JAVAEXE%, edit this file and correct the JAVAEXE envar
+if not exist %JAVAEXE% goto done
+
+if not exist %STARTUPJAR% echo ERROR: incorrect startup.jar=%STARTUPJAR%, edit this file and correct the STARTUPJAR envar
+if not exist %STARTUPJAR% goto done
+
+:run
+@echo on
+%JAVAEXE% -cp %STARTUPJAR% org.eclipse.core.launcher.Main -noupdate -application org.eclipse.ant.core.antRunner -data %WORKSPACE% -file wsgen.xml %* >wsgen.txt 2>&1
+
+:done
+pause
diff --git a/bundles/org.eclipse.wst.command.env/ant/wsant.sh b/bundles/org.eclipse.wst.command.env/ant/wsant.sh
new file mode 100644
index 0000000..b2efc16
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/ant/wsant.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+set +v
+
+#Script to run WebService Ant tasks in headless Eclipse mode
+
+echo "Setting environment variables"
+
+# The JRE java.exe to be used
+JAVAEXE=/home/tester/sunjdk/j2sdk1.4.2_06/bin/java
+                                                                                
+# The Eclipse startup.jar - the wtp workspace to launch headless
+STARTUPJAR=/opt/wtp_install/wtp_1116/eclipse/startup.jar
+
+# The location of your workspace
+WORKSPACE=/home/tester/workspace_1116b
+
+run() {
+  set -v
+  $JAVAEXE -cp $STARTUPJAR org.eclipse.core.launcher.Main -noupdate -application org.eclipse.ant.core.antRunner -data $WORKSPACE -file wsgen.xml $ls > wsgen.txt 2>&1
+}
+
+if [ ! -e $JAVAEXE ]; then 
+  echo "ERROR: incorrect java.exe=$JAVAEXE, edit the script and correct the JAVAEXE environment variable";
+  exit 1;
+fi
+                                                                           
+if [ ! -e $STARTUPJAR ]; then
+echo "ERROR: incorrect startup.jar=$STARTUPJAR, edit the script and correct the STARTUPJAR environment variable";
+exit 1;
+fi  
+
+run
+exit 0
diff --git a/bundles/org.eclipse.wst.command.env/ant/wsgen.xml b/bundles/org.eclipse.wst.command.env/ant/wsgen.xml
new file mode 100644
index 0000000..947a6c7
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/ant/wsgen.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<project default="main" basedir=".">
+
+<echo message="pulling in property files"/>
+<property file="axisservice.properties"/>
+	
+<echo message="calling the web services generation ant task: wsgen"/>
+ <target name="main" >
+  	 <wsgen/>
+  </target>
+  
+</project>
diff --git a/bundles/org.eclipse.wst.command.env/build-anttasks.xml b/bundles/org.eclipse.wst.command.env/build-anttasks.xml
new file mode 100644
index 0000000..42458bc
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/build-anttasks.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="Build Ant Environment support JAR" default="build" basedir=".">
+
+	<target name="build" description="Cleans, builds and refreshes" depends="clean, ant-lib/anttasks.jar"/>
+
+	<target name="init" depends="properties">
+		<property name="version.suffix" value="_3.1.0"/>
+		<property name="new.version.suffix" value="_3.2.0"/>
+		<property name="bootclasspath" value=""/>
+		<property name="temp.folder" value="${basedir}/temp.folder"/>
+		<property name="build.result.folder" value="${basedir}"/>
+		<property name="win32.jar" value="${eclipse.home}/plugins/org.eclipse.swt.win32.win32.x86${version.suffix}.jar"/>
+		<property name="gtk.jar" value="${eclipse.home}/plugins/org.eclipse.swt.gtk.linux.x86${version.suffix}.jar"/>
+		<property name="motif.jar" value="${eclipse.home}/plugins/org.eclipse.swt.motif${version.suffix}.jar"/>
+		<property name="osx.jar" value="${eclipse.home}/plugins/org.eclipse.swt.carbon.macosx.ppc${version.suffix}.jar"/>
+		<available file="${win32.jar}" property="swt.jar" value="${win32.jar}"/>
+		<available file="${gtk.jar}" property="swt.jar" value="${gtk.jar}"/>
+		<available file="${motif.jar}" property="swt.jar" value="${motif.jar}"/>
+		<available file="${osx.jar}" property="swt.jar" value="${osx.jar}"/>
+	</target>
+
+	<target name="properties" if="eclipse.running">
+		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+	</target>
+		
+		<target name="ant-lib/anttasks.jar" description= "Creates the antrunner.jar" depends="init">
+			<property name="destdir" value="${temp.folder}/ant-lib/anttasks.jar"/>
+			<delete dir="${destdir}"/>
+			<mkdir dir="${destdir}"/>
+			<javac destdir="${destdir}" failonerror="true" verbose="false" debug="on" includeJavaRuntime= "yes"
+			 	bootclasspath="${bootclasspath}"
+			 	classpath="${basedir}/bin">
+				<src path="ant-src/"/>
+			</javac>
+			<copy todir="${destdir}">
+				<fileset dir="ant-src/" excludes="**/*.java"/>
+			</copy>
+			<mkdir dir="${build.result.folder}/ant-lib"/>
+			<jar destfile="${build.result.folder}/ant-lib/anttasks.jar" basedir="${destdir}"/>
+			<delete dir="${temp.folder}"/>
+		</target>
+
+		<target name="clean" description="Deletes previous build remnants" depends="init">
+			<delete file="${build.result.folder}/ant-lib/anttasks.jar"/>
+			<delete dir="${temp.folder}"/>
+		</target>
+	</project>
diff --git a/bundles/org.eclipse.wst.command.env/build.properties b/bundles/org.eclipse.wst.command.env/build.properties
index de22392..915706a 100644
--- a/bundles/org.eclipse.wst.command.env/build.properties
+++ b/bundles/org.eclipse.wst.command.env/build.properties
@@ -1,9 +1,14 @@
 bin.includes = plugin.xml,\
-               *.jar,\
                plugin.properties,\
-               .,\
+               env.jar,\
                META-INF/,\
-               about.html
-source.. = src/
-output.. = bin/
-
+               about.html,\
+               ant/,\
+               ant-lib/anttasks.jar
+source.env.jar = src/
+output.env.jar = bin/
+jars.compile.order = env.jar,\
+                     ant-lib/anttasks.jar
+source.ant-lib/anttasks.jar = ant-src/
+output.ant-lib/anttasks.jar = bin/
+root.permissions.777 = ant/
diff --git a/bundles/org.eclipse.wst.command.env/plugin.properties b/bundles/org.eclipse.wst.command.env/plugin.properties
index afde089..55e7f09 100644
--- a/bundles/org.eclipse.wst.command.env/plugin.properties
+++ b/bundles/org.eclipse.wst.command.env/plugin.properties
@@ -18,4 +18,5 @@
 PLUGIN_XP_DYNAMIC_WIZARD=Dynamic Wizard
 PLUGIN_XP_POPUP_DIALOGS=Optional Pop-up Action Dialogs Types
 
-
+XP_antDataMapping=Ant Environment property mappings
+XP_antScenario=Ant Environment scenarios
diff --git a/bundles/org.eclipse.wst.command.env/plugin.xml b/bundles/org.eclipse.wst.command.env/plugin.xml
index e03a537..3962216 100644
--- a/bundles/org.eclipse.wst.command.env/plugin.xml
+++ b/bundles/org.eclipse.wst.command.env/plugin.xml
@@ -3,12 +3,33 @@
 
 <plugin>
 
-     <extension-point
+   <!-- The following extension point is internal and likely to change. -->
+   <extension-point
       id="dynamicWizard"
       name="%PLUGIN_XP_DYNAMIC_WIZARD"/>
-   
+
+   <!-- The following extension point is internal and likely to change. -->   
    <extension-point
       id="actionDialogPreferenceType"
       name="%PLUGIN_XP_POPUP_DIALOGS"/>
 
+   <extension-point id="antDataMapping" name="%XP_antDataMapping" schema="schema/antdatamapping.exsd"/>
+   <extension-point id="antScenario" name="%XP_antScenario" schema="schema/antScenario.exsd"/>
+     
+   <extension
+         id="wsgen"
+         name="wsgen"
+         point="org.eclipse.ant.core.antTasks">
+      <antTask
+            class="ws.ant.task.WebServiceGenerationAntTask"
+            eclipseRuntime="true"
+            headless="true"
+            library="ant-lib/anttasks.jar"
+            name="wsgen"/>
+   </extension> 
+     <extension
+           point="org.eclipse.ant.core.extraClasspathEntries">
+        <extraClasspathEntry library="ant-lib/anttasks.jar"/>
+     </extension>     
+
 </plugin>
diff --git a/bundles/org.eclipse.wst.command.env/schema/antScenario.exsd b/bundles/org.eclipse.wst.command.env/schema/antScenario.exsd
new file mode 100644
index 0000000..caaff52
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/schema/antScenario.exsd
@@ -0,0 +1,110 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.command.env">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.command.env" id="antScenario" name="Ant Environment Scenarios"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="antScenario"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="antScenario">
+      <complexType>
+         <attribute name="scenarioType" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.command.env/schema/antdatamapping.exsd b/bundles/org.eclipse.wst.command.env/schema/antdatamapping.exsd
new file mode 100644
index 0000000..95d9cad
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/schema/antdatamapping.exsd
@@ -0,0 +1,124 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.command.env">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.command.env" id="antDataMapping" name="Ant Environment Property Mappings"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="map"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="map">
+      <complexType>
+         <attribute name="key" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="operation" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="property" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="transform" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
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
new file mode 100644
index 0000000..41aa0a9
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/Environment.properties
@@ -0,0 +1,36 @@
+###############################################################################
+# Copyright (c) 2001, 2004 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
+###############################################################################
+
+#
+# Messages for ResouceUtils
+#
+MSG_ERROR_PATH_NOT_ABSOLUTE=IWAB0003E Path {0} is not absolute for creating a file.
+MSG_ERROR_PATH_EMPTY=IWAB0004E Path {0} is empty while creating a file.
+MSG_ERROR_PATH_NOT_FOLDER=IWAB0005E Path {0} is not a folder for creating a file.
+MSG_ERROR_FOLDER_CREATION_DISABLED=IWAB0007E Folder creation has been disabled for parent folder {0} and child {1}.
+MSG_ERROR_RESOURCE_NOT_FOLDER=IWAB0008E Resource {0} is not a folder.
+MSG_WARN_FILE_OVERWRITE_DISABLED=IWAB0009W Cannot overwrite file {1} in folder {0}.
+MSG_ERROR_FILE_CHECKOUT_DISABLED=IWAB0010E Cannot checkout file {1} in folder {0}.
+MSG_ERROR_RESOURCE_NOT_FILE=IWAB0011E The following path is not a resource: {0}.
+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_ERR_ANT_DATA_TRANSFORM=Exception transforming Ant property key {0} using transformation {1}.
+MSG_ERR_ANT_CALL_SETTER=Exception invoking setter method {0} for Ant property.
+MSG_ERR_ANT_CMD_FRAGMENT=Exception retrieving Ant command fragment from registry.
+
+LABEL_YES=Yes
+LABEL_YES_TO_ALL=Yes All
+LABEL_CANCEL=Cancel
+
+
+
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/EnvironmentMessages.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/EnvironmentMessages.java
new file mode 100644
index 0000000..717a53d
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/EnvironmentMessages.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class EnvironmentMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.wst.command.internal.env.Environment";//$NON-NLS-1$
+
+	private EnvironmentMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_PATH_NOT_ABSOLUTE;
+	public static String MSG_ERROR_PATH_EMPTY;
+	public static String MSG_ERROR_PATH_NOT_FOLDER;
+	public static String MSG_ERROR_FOLDER_CREATION_DISABLED;
+	public static String MSG_ERROR_RESOURCE_NOT_FOLDER;
+	public static String MSG_WARN_FILE_OVERWRITE_DISABLED;
+	public static String MSG_ERROR_FILE_CHECKOUT_DISABLED;
+	public static String MSG_ERROR_RESOURCE_NOT_FILE;
+	public static String MSG_ERROR_FOLDER_HAS_CHILDREN;
+	public static String MSG_ERROR_IO;
+	public static String MSG_ERROR_FILE_OVERWRITE_DISABLED;
+	public static String MSG_ERROR_UNEXPECTED_ERROR;
+	public static String MSG_ERR_ANT_DATA_TRANSFORM;
+	public static String MSG_ERR_ANT_CALL_SETTER;
+	public static String MSG_ERR_ANT_CMD_FRAGMENT;
+	public static String LABEL_YES;
+	public static String LABEL_YES_TO_ALL;
+	public static String LABEL_CANCEL;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, EnvironmentMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntController.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntController.java
new file mode 100644
index 0000000..65a21b4
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntController.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.command.internal.env.ant;
+
+import java.util.Hashtable;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
+import org.eclipse.wst.command.internal.env.core.CommandManager;
+import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
+import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistryImpl;
+import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
+import org.eclipse.wst.command.internal.env.core.fragment.FragmentListener;
+
+/**
+ * 
+ * Central point of control for web service Ant tasks.
+ * Constructs Ant environment, root fragment and command manager.  Starts execution of the command stack.
+ * 
+ * @author joan
+ *
+ */
+
+public class AntController {
+	
+	
+   private AntOperationManager operationManager_;
+	
+   public AntController(Hashtable properties)
+   {
+	   // construct the environment - passing in the property table	   
+	   // --maintains link to property table plus any other environment properties
+	   // --code to access extension point mappings for operations to retrieve data from property table
+	   PersistentResourceContext  resourceContext = PersistentResourceContext.getInstance();
+	   AntStatusHandler handler         = new AntStatusHandler();
+	   AntEnvironment environment = new AntEnvironment(this, resourceContext, handler, properties);
+       
+	   // construct data manager for maintaining state across operations
+	   DataFlowManager dataManager = new DataFlowManager( new DataMappingRegistryImpl(), environment);
+       
+	   //  set up operation fragments - conditional on options by user... service or client
+	   //  also need to initialize the "selection" or input file (WSDL, Java) here
+	   CommandFragment rootFragment =  environment.getRootCommandFragment();
+	   
+	   // construct the engine - manages execution of operations
+	   createOperationManager(rootFragment, dataManager, environment);
+	   
+	   DataMappingRegistryImpl    dataRegistry_   = new DataMappingRegistryImpl();
+	   rootFragment.registerDataMappings(dataRegistry_);
+	   
+	   //ready to start running operations
+ 	   ((AntOperationManager)getOperationManager()).moveForwardToNextStop(new NullProgressMonitor());
+   }
+   
+   private void createOperationManager(CommandFragment frag, DataFlowManager mgr, AntEnvironment env)
+   {		   
+		   operationManager_ = new AntOperationManager(frag, mgr, env);			
+	
+		   operationManager_.setPeekFragmentListener( 
+				      new FragmentListener()
+				      {
+				        public  boolean notify( CommandFragment fragment )
+				        {
+				          return peekFragment( fragment );
+				        }
+				      } );  
+				                  
+		   operationManager_.setNextFragmentListener( 
+				      new FragmentListener()
+				      {
+				        public  boolean notify( CommandFragment fragment )
+				        {
+				          return nextFragment( fragment );
+				        }
+				      } );  
+				                                                             
+		   operationManager_.setUndoFragmentListener(
+				      new FragmentListener()
+				      {
+				        public boolean notify( CommandFragment fragment )
+				        {
+				          return undoFragment( fragment );
+				        }
+				      } );
+   }
+	
+	protected CommandManager getOperationManager()
+	{
+		return operationManager_;
+	}
+	
+	/**
+	   * The CommandFragmentEngine calls this method when it is peeking forward
+	   * in the fragments.  When peeking forward the command stack state in the
+	   * engine is not changes.
+	   * 
+	   * 
+	   * @param fragment the fragment that it is peeking at.
+	   * @return Indicates whether peeking should stop or not.
+	   */
+	  protected boolean peekFragment( CommandFragment fragment )
+	  {     
+	    return true;
+	  }
+	  
+	  /**
+	   * The CommandFragmentEngine calls this method when it is moving forward
+	   * in the fragments.   When moving forward the command stack state is saved
+	   * at each fragment is traversed.
+	   * 
+	   * @param fragment the fragment that is being traversed.
+	   * @return indicates if the forward traversal should continue.  
+	   */
+	  protected boolean nextFragment( CommandFragment fragment )
+	  {     
+	    return true;
+	  }
+	  
+	  /**
+	   * This method is called for each fragment when the command engine is unwinding
+	   * its stack during an undo operation.
+	   * 
+	   * @param fragment  the fragment being undone.
+	   * @return returns true if the undo process should continue.
+	   */
+	  protected boolean undoFragment( CommandFragment fragment )
+	  {  	  	
+	    return true;
+	  }
+	   
+
+	
+	
+   
+   }
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntEnvironment.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntEnvironment.java
new file mode 100644
index 0000000..c08c87d
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntEnvironment.java
@@ -0,0 +1,498 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ant;
+
+import java.lang.reflect.*;
+import java.util.*;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.wst.command.internal.env.EnvironmentMessages;
+import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.command.internal.env.core.CommandManager;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.data.BeanModifier;
+import org.eclipse.wst.command.internal.env.core.data.ClassEntry;
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+/**
+ * 
+ * Access to status handler, log, resource context and command manager.  
+ * Initializes data for commands from Ant property files based on antDataMapping extensions. 
+ * 
+ * @author joan
+ *
+ */
+
+public class AntEnvironment extends EclipseEnvironment{
+	
+	private Hashtable antProperties_;
+	private Hashtable operationDataRecord_ = new Hashtable();
+	private boolean mappingComplete_;
+	private ClassEntry classEntry;	
+	
+	public static int INIT_OPERATION_DATA_SUCCESS = 1;
+	public static int INIT_OPERATION_DATA_FAIL = -1;
+	
+	// extensionPoint names and namespace
+	private static String MAPPER_EXT_PT = "antDataMapping";  //$NON-NLS-1$
+	private static String SCENARIO_EXT_PT = "antScenario";  //$NON-NLS-1$
+	private static String EXT_PT_NAMESPACE = "org.eclipse.wst.command.env"; ////$NON-NLS-1$
+	
+	// antDataMapping extension point attributes
+	private static final String MAPPER_OPERATION_ATTRIBUTE= "operation"; //$NON-NLS-1$
+	private static final String MAPPER_KEY_ATTRIBUTE= "key"; //$NON-NLS-1$
+	private static final String MAPPER_PROPERTY_ATTRIBUTE= "property"; //$NON-NLS-1$
+	private static final String MAPPER_TRANSFORM_ATTRIBUTE= "transform"; //$NON-NLS-1$
+	
+	// antScenario extension point attributes
+	private static final String SCENARIO_TYPE_ATTRIBUTE = "scenarioType"; //$NON-NLS-1$
+	private static final String SCENARIO_CLASS_ATTRIBUTE = "class"; //$NON-NLS-1$
+
+    private AntController controller_;
+	
+	public AntEnvironment(AntController controller, ResourceContext context, IStatusHandler handler, Hashtable properties)
+	{
+	   super(controller.getOperationManager(), context, handler);
+	   antProperties_ = properties;	
+	   controller_ = controller;	   
+	}
+	
+	// returns String since the property table built by Ant is property value pairs where the value is a String
+	private String getProperty(String key)
+	{
+		Object property = antProperties_.get(key);
+		if (property != null)
+			return property.toString();
+		return null;
+	}
+	
+	// call from engine prior to executing the operation 
+	public int initOperationData(AbstractDataModelOperation op)
+	{
+		//check to see if data has already been primed for this operation 
+		String qualifiedClassName = op.getClass().getName();
+		if (operationDataRecord_.get(qualifiedClassName) == null)
+		{
+			classEntry = new ClassEntry();
+			try {			
+			
+				//extension lookup for the bean - may be more than one property for it
+				Enumeration operationData = getMappingExtensions(op);					
+				classEntry.setterList_= getSetterList(op);		
+				while (operationData.hasMoreElements())
+				{				
+					PropertyDataHolder mapping = (PropertyDataHolder)operationData.nextElement();
+						
+					    mappingComplete_ = false;
+						String property = mapping.property_;
+						String setterMethodName = createSetterName(property);		
+												
+						int step = 1;
+						while (!mappingComplete_)
+						{							
+						   switch (step) {
+							case 1:
+								mappingComplete_ = transformAndSet(mapping, setterMethodName);								
+								break;								
+							case 2:
+								mappingComplete_ = callSetter(mapping.operation_, mapping.value_, setterMethodName);
+								break;
+								
+							case 3:
+								mappingComplete_ = callPrimitiveSetter(mapping);
+								break;
+							
+							case 4:
+								mappingComplete_ = callSetterConstructor(mapping);
+								break;
+								
+							default:
+								mappingComplete_ = true;
+								break;								
+							}
+						   step++;
+						}					
+				  }				
+                //add operation to the record - no need to initialize again...
+                operationDataRecord_.put(qualifiedClassName, "");
+			}			
+			catch (Exception e)
+			{
+				e.printStackTrace();
+				return INIT_OPERATION_DATA_FAIL;
+			}
+
+		}
+		return INIT_OPERATION_DATA_SUCCESS;
+	}
+
+	/**
+	 * Creates setter name based on the property passed in.  If the 
+	 * property has any leading qualifiers they are stripped off.
+	 * The property is capitalized and set is prepended.
+	 * @param property  The name of the property that requires a setter.
+	 * @return
+	 */	
+	private String createSetterName(String property)
+	{		
+		while (property.indexOf(".")>=0)
+		{
+			property=property.substring(property.indexOf(".")+1);
+		}		 
+		 String firstChar = property.substring(0,1);
+		 firstChar = firstChar.toUpperCase();
+		 property = firstChar + property.substring(1);  
+		 String setterName = "set" + property;		 
+		 return setterName;		 
+	}	
+	
+	   /**
+	    * Retrieves extensions for the org.eclipse.wst.command.env antDataMapping
+	    * extension point.  Extracts those that with class attribute values that match operationName.
+	    * All mappings are converted to PropertyDataHolder objects.
+	    * Any m:1 Ant key to property mappings are collected into a key-value map within
+	    * a single PropertyDataHolder.  
+	    * @param operationName The name of the operation that is being initialized.
+	    * @return A collection of PropertyDataHolder objects. Returns null if there are no extensions matching the operationName.
+	    */
+	   private Enumeration getMappingExtensions(AbstractDataModelOperation operation)
+	   {	   		   
+		   String operationName = operation.getClass().getName();
+		   //go to ext registry and get all antMapping extensions
+		   IExtensionRegistry reg = Platform.getExtensionRegistry();
+		   IExtensionPoint extPt = reg.getExtensionPoint(EXT_PT_NAMESPACE, MAPPER_EXT_PT);
+		   Hashtable dataTable = new Hashtable(25);
+		   
+		   IConfigurationElement[] elements = extPt.getConfigurationElements();
+		   
+		   for (int i = 0; i < elements.length; i++) {
+			
+			 IConfigurationElement ce = elements[i];
+			 Object obj = ce.getAttribute(MAPPER_OPERATION_ATTRIBUTE);
+			 // look for mappings for this operation
+			 if (obj.equals(operationName))
+			 {				 
+				 String key = ce.getAttribute(MAPPER_KEY_ATTRIBUTE);
+				 String value = getProperty(key);
+				 
+				 //check to see if the property for this extension is already in the data table
+				 // if so, there is a m:1 mapping
+				 if (value != null)  //only do a mapping if there is an Ant property value passed in...
+				 {
+				
+					 String property = ce.getAttribute(MAPPER_PROPERTY_ATTRIBUTE);
+					 Object transform = null;
+					 try
+					 {
+						 transform = ce.createExecutableExtension(MAPPER_TRANSFORM_ATTRIBUTE);	 
+					 }
+					 catch (CoreException cex) {
+					   getLog().log(ILog.ERROR, "ws_ant", 5092, this, "getMappingExtensions", EnvironmentMessages.bind(EnvironmentMessages.MSG_ERR_ANT_DATA_TRANSFORM, key, transform));                  
+					 }
+					 
+					 if (transform != null && transform instanceof BeanModifier/*dataTable.containsKey(property)*/)
+					 {
+						 //get the PropertyDataHolder from the table
+						 PropertyDataHolder holder = (PropertyDataHolder)dataTable.get(property);
+						 if (holder == null)
+						 {
+							 holder = new PropertyDataHolder();
+							 holder.key_ = "";
+							 holder.value_ = "";	
+							 holder.transform_ = transform;
+							 holder.operation_ = operation;
+							 holder.property_ = property;
+							 holder.map_ = new HashMap();
+							 holder.map_.put(key, value);
+							 dataTable.put(property, holder);
+						 }						 
+						 else
+						 {						
+							holder.map_.put(key, value);
+						 }					
+					 }
+					 else  //plain property mapping not a bean
+					 {
+						 PropertyDataHolder holder = new PropertyDataHolder();
+						 holder.operation_ = operation;
+						 holder.key_ = key;
+						 holder.property_ = property;
+						 holder.transform_ = transform;
+						 holder.value_ = value;
+						 dataTable.put(property, holder);
+					 }			 
+				 }			 
+		      }    	 
+		  }
+		   return dataTable.elements();
+		}     
+	   
+	   private boolean transformAndSet(PropertyDataHolder mapping, String setterMethodName)
+	   {
+			Object transform = mapping.transform_;
+			if (transform != null)
+			{
+				// get transform class & create setter parameters		
+				try
+				{
+					//Object classObject = Class.forName(transform).newInstance();
+					Object param = new Object();
+					if (transform instanceof Transformer)
+					{
+						Transformer transformer = (Transformer)transform;						
+						// transform the property value
+						param = transformer.transform(mapping.value_);						
+					}
+					else if (mapping.map_ != null && transform instanceof BeanModifier)
+					{
+						  BeanModifier modifier = (BeanModifier)transform;		
+                          Method getter = getGetterMethod(mapping);
+						  param = getter.invoke(mapping.operation_, new Object[]{});						  
+						  modifier.modify(param, mapping.map_);
+					}												
+					return callSetter(mapping.operation_, param, setterMethodName);
+					
+				}
+				catch (Exception exc)
+				{
+                    getLog().log(ILog.ERROR, "ws_ant", 5093, this, "transformAndSet", EnvironmentMessages.bind(EnvironmentMessages.MSG_ERR_ANT_DATA_TRANSFORM, mapping.key_, mapping.transform_));                    
+					return false;
+				}				
+			}
+			return false;
+	   }	   
+	   
+	   private Vector getSetterList(Object op)
+	   {
+		   Vector result = new Vector();
+           Method[] methods = op.getClass().getMethods();		     
+		     for( int index = 0; index < methods.length; index++ )
+		     {
+		       Method  method     = methods[index];
+		       boolean isPublic   = Modifier.isPublic( method.getModifiers() );
+		       Class   returnType = method.getReturnType();
+		     
+		       if( isPublic && 
+		           returnType == Void.TYPE && 
+		           method.getParameterTypes().length == 1 &&
+		           method.getName().startsWith( "set" ))
+		       {
+		         method.setAccessible( true );
+		         result.add( method );
+		       }
+		     }
+			     
+	     return result;
+	   }
+	   
+	   private Method getGetterMethod(PropertyDataHolder mapping)
+	   {
+	       Method getterFound = null;     
+
+	       if (classEntry.getterList_ == null)
+	       {
+	    	   classEntry.getterList_ = getGetterList(mapping.operation_);  
+	       }
+	       
+	       for( int index = 0; index < classEntry.getterList_.size(); index++ )
+	       {
+	         Method getter = (Method)classEntry.getterList_.elementAt( index );
+	         
+	         if( getter.getName().equals( "get" + mapping.property_ ))
+	         {
+	            getterFound = getter;
+	            break;
+	         }       
+	       }
+	       return getterFound;
+	   }
+	   
+	   private Vector getGetterList( Object object )
+	   {
+	     Vector result = new Vector();	     
+	     Method[] methods = object.getClass().getMethods();
+	     
+	     for( int index = 0; index < methods.length; index++ )
+	     {
+	       Method  method     = methods[index];
+	       boolean isPublic   = Modifier.isPublic( method.getModifiers() );
+	       Class   returnType = method.getReturnType();
+	     
+	       if( isPublic && 
+	           returnType != Void.TYPE && 
+	           method.getParameterTypes().length == 0 &&
+	           method.getName().startsWith( "get" ))
+	       {
+	         method.setAccessible( true );
+	         result.add( method );
+	       }
+	     }
+	     
+	     return result;
+	   }   
+       
+	   private boolean callSetter(AbstractDataModelOperation op, Object param, String setterMethodName)
+	   {
+		   for (Iterator iterator = classEntry.setterList_.iterator(); iterator.hasNext();) 
+		   {
+				Method method = (Method) iterator.next();
+				if (method.getName().equals(setterMethodName))
+				{                                        
+			       Class[] paramTypes = method.getParameterTypes();
+			       if (paramTypes.length == 1 && param != null)
+			       {			  
+			        	 try{			      			
+			     			 method.invoke(op, new Object[]{param});
+			     			 return true;
+			     		 }
+			     		 catch(Exception cex){
+			     			getLog().log(ILog.ERROR, "ws_ant", 5094, this, "callSetter", EnvironmentMessages.bind(EnvironmentMessages.MSG_ERR_ANT_CALL_SETTER, setterMethodName));
+			     		 }
+			       }  
+				}
+			}
+		    return false;
+	   }
+	   
+	
+	   // look for setter with primitive type parameter - if find one, convert String propertyValue and call it
+	   private boolean callPrimitiveSetter(PropertyDataHolder mapping)
+	   {			
+			for (Iterator iterator = classEntry.setterList_.iterator(); iterator.hasNext();) {
+				Method element = (Method) iterator.next();
+				Class[] parmTypes = element.getParameterTypes();
+				if (parmTypes.length==1 && parmTypes[0].isPrimitive())
+				{										
+					Class parmType = parmTypes[0].getClass();
+					Object setterParm = null;
+					if (parmType.equals(Integer.class))
+					{
+						setterParm = Integer.valueOf(mapping.value_);
+					}
+					else if (parmType.equals(Boolean.class))
+					{
+						setterParm = Boolean.valueOf(mapping.value_);
+					}
+					else if (parmType.equals(Character.class) && mapping.value_.length() == 1)
+					{
+						setterParm = new Character(mapping.value_.charAt(0));  
+					}
+					else if (parmType.equals(Byte.class))
+					{
+						setterParm = Byte.valueOf(mapping.value_);
+					}
+					else if (parmType.equals(Short.class))
+					{
+						setterParm = Short.valueOf(mapping.value_);
+					}
+					else if (parmType.equals(Long.class))
+					{
+						setterParm = Long.valueOf(mapping.value_);
+					}
+					else if (parmType.equals(Float.class))
+					{
+						setterParm = Float.valueOf(mapping.value_);
+					}
+					else if (parmType.equals(Double.class))
+					{
+						setterParm = Double.valueOf(mapping.value_);
+					}
+														
+				    if (setterParm != null)
+				    {	
+				    	try
+				    	{
+				    		element.invoke(mapping.operation_, new Object[]{setterParm});
+					    	return true;	
+				    	}
+				    	catch(Exception e){
+				    		getLog().log(ILog.ERROR, "ws_ant", 5095, this, "callPrimitiveSetter", EnvironmentMessages.bind(EnvironmentMessages.MSG_ERR_ANT_CALL_SETTER, element.getName()));
+				    	}
+				    }			
+				}
+		    }   
+			return false;
+	   }
+		
+		//check for setter with parameter type that takes a String to construct
+		// construct the parameter using String & call the setter  
+	   private boolean callSetterConstructor(PropertyDataHolder mapping)
+	   {	
+			for (Iterator iterator = classEntry.setterList_.iterator(); iterator.hasNext();) {
+				Method element = (Method) iterator.next();
+				Class[] parmTypes = element.getParameterTypes();
+				Class[] stringParm = new Class[]{String.class};
+				if (parmTypes.length==1)
+				{
+					try
+					{			
+						Constructor ctor = parmTypes.getClass().getConstructor(stringParm);
+						Object parameter = ctor.newInstance(new Object[]{mapping.value_});
+						element.invoke(mapping.operation_, new Object[]{parameter});						
+					}
+					catch (Exception exc)
+					{
+						getLog().log(ILog.ERROR, "ws_ant", 5096, this, "callSetterConstructor", EnvironmentMessages.bind(EnvironmentMessages.MSG_ERR_ANT_CALL_SETTER, element.getName()));
+						return false;
+					}
+				}
+	        }			
+		   return false;
+	   }
+
+	   /**
+	    * Returns an object that helps manage execution/undoing of Commands.
+	    */
+	   public CommandManager getCommandManager (){
+		   return controller_.getOperationManager();
+	   } 
+	   
+	   public CommandFragment getRootCommandFragment()
+       {
+    	   
+    	   //look up the commandFragment in the scenarioRegistry extension point with an ID corresponding to the scenario property in the propertytable
+    	   String scenarioProperty = (String)getProperty(SCENARIO_TYPE_ATTRIBUTE);
+    	   IExtensionRegistry reg = Platform.getExtensionRegistry();
+		   IExtensionPoint extPt = reg.getExtensionPoint(EXT_PT_NAMESPACE, SCENARIO_EXT_PT);
+		   
+		   IConfigurationElement[] elements = extPt.getConfigurationElements();
+		   
+		   for (int i = 0; i < elements.length; i++) {
+			
+			 IConfigurationElement configElement = elements[i];			 
+			 if (configElement.getAttribute(SCENARIO_TYPE_ATTRIBUTE).equals(scenarioProperty))
+			 {				 
+				 try
+				 {					 
+					Object obj = configElement.createExecutableExtension(SCENARIO_CLASS_ATTRIBUTE);
+		
+					if (obj instanceof org.eclipse.wst.command.internal.env.core.fragment.CommandFragment)
+					{
+						return (org.eclipse.wst.command.internal.env.core.fragment.CommandFragment)obj;
+					}
+				 }
+				 catch (Exception exception)
+				 {
+					 getLog().log(ILog.ERROR, "ws_ant", 5097, this, "getRootCommandFragment", EnvironmentMessages.MSG_ERR_ANT_CMD_FRAGMENT);					 
+				 }				 
+			  }    	   
+           }
+		   return null;
+       }
+  }
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntOperationManager.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntOperationManager.java
new file mode 100644
index 0000000..f8eaddc
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntOperationManager.java
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ant;
+
+import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
+import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
+import org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+/**
+ * Manages the execution of commands in the root fragment passed to the constructor.
+ * 
+ * @author joan
+ *
+ */	
+
+public class AntOperationManager extends CommandFragmentEngine
+{	
+	  private AntEnvironment environment_;
+	  
+	  protected void initBeforeExecute( AbstractDataModelOperation operation )
+    {
+      int initStatus = environment_.initOperationData( operation );
+      
+      if (initStatus == AntEnvironment.INIT_OPERATION_DATA_FAIL)
+      {
+        environment_.getLog().log(ILog.INFO, "ws_ant", 5098, this, "runCommand", "Initializing data for: " + operation.getClass().getName());
+      }
+    }
+
+    /**
+	   * Creates a CommandFragmentEngine.
+	   * 
+	   * @param startFragment the root fragment where traversal will begin.
+	   * @param dataManager the data manager containing all of the data mappings.
+	   * @param environment the environment.
+	   */
+	  public AntOperationManager( CommandFragment startFragment, DataFlowManager dataManager, AntEnvironment environment )
+	  {
+      super( startFragment, dataManager, environment );
+      
+	  	environment_ = environment;
+	  } 
+}
+
+
+
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntStatusHandler.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntStatusHandler.java
new file mode 100644
index 0000000..aa4c6c8
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/AntStatusHandler.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ant;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.environment.StatusException;
+
+public class AntStatusHandler implements IStatusHandler {
+
+	public Choice report(IStatus status, Choice[] choices) {
+		// TODO 
+		return null;
+	}
+
+	public void report(IStatus status) throws StatusException {
+		if (status.getSeverity() == IStatus.ERROR)
+			reportError(status);
+		else
+			reportInfo(status);
+
+	}
+
+	public void reportError(IStatus status) {
+		System.err.println(status.getMessage());
+	}
+
+	public void reportInfo(IStatus status) {		
+		System.out.println(status.getMessage());		
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/PropertyDataHolder.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/PropertyDataHolder.java
new file mode 100644
index 0000000..509ab6b
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/PropertyDataHolder.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ant;
+
+/**
+ * Simple class to hold data mapping information once retrieved from Ant property file.
+ * Map is used for many to one mappings involving mapping of multiple properties to a bean.
+ * In this case, the key_ and value_ should be set to an empty string and all key value pairs
+ * for properties put into the map instead.  The transformation for this case would be a modifier
+ * which will set the properties onto the bean.
+ */
+ 
+import java.util.Map;
+
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
+public class PropertyDataHolder {
+	   public AbstractDataModelOperation operation_;
+	   public Object transform_;
+	   public String key_;
+	   public String property_;
+	   public String value_;		
+	   public Map map_;
+}
+
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/String2BooleanTransformer.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/String2BooleanTransformer.java
new file mode 100644
index 0000000..783e54c
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/ant/String2BooleanTransformer.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.ant;
+
+import org.eclipse.wst.command.internal.env.core.data.Transformer;
+
+public class String2BooleanTransformer implements Transformer {
+
+	public Object transform(Object value) {
+			String str = (String)value;
+			str = str.toLowerCase();
+			if (str.equals("true"))
+			{
+				return new Boolean(true);
+			}
+			else return new Boolean(false);		
+
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/CommandLine.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/CommandLine.java
index 561fb75..c35982a 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/CommandLine.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/CommandLine.java
@@ -15,7 +15,6 @@
 import java.util.BitSet;
 import java.util.ResourceBundle;
 import java.util.Vector;
-
 import org.eclipse.wst.command.internal.env.common.StringUtils;
 
 
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/FlagMessages.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/FlagMessages.java
index 49a128c..1c56797 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/FlagMessages.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/commandline/FlagMessages.java
@@ -23,9 +23,6 @@
 public final class FlagMessages
 {
 
-  // Copyright
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
   public static final String PARSER_ERROR_FLAG_NOT_FOUND = "PARSER_ERROR_FLAG_NOT_FOUND";
 
   public static final String PARSER_ERROR_AMBIGUOUS_FLAG = "PARSER_ERROR_AMBIGUOUS_FLAG";
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/EnvironmentUtils.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/EnvironmentUtils.java
deleted file mode 100644
index b57af65..0000000
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/EnvironmentUtils.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.common;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-/**
- * @author cbrealey@ca.ibm.com
- * 
- * This class contains utility methods for converting between generic
- * Environment clases and Eclipse classes.
- */
-public final class EnvironmentUtils {
-	/**
-	 * Converts an Eclipse <code>IStatus</code> to an Environment
-	 * <code>Status</code>.
-	 * 
-	 * @param istatus
-	 *            The Eclipse status object.
-	 * @return An equivalent Environment status object.
-	 */
-	public static Status convertIStatusToStatus(IStatus istatus) {
-		Status status;
-		String message = istatus.getMessage();
-		IStatus[] children = istatus.getChildren();
-		int noOfChildren = children.length;
-		if (noOfChildren > 0) {
-			Status[] statusChildren = new Status[noOfChildren];
-			for (int i = 0; i < noOfChildren; i++) {
-				statusChildren[i] = convertIStatusToStatus(children[i]);
-			}
-
-			status = new SimpleStatus("", message, statusChildren);
-		} else {
-			int severity = istatus.getSeverity();
-			int statusSeverity = Status.OK;
-			switch (severity) {
-			case IStatus.ERROR:
-				statusSeverity = Status.ERROR;
-				break;
-			case IStatus.WARNING:
-				statusSeverity = Status.WARNING;
-				break;
-			case IStatus.INFO:
-				statusSeverity = Status.INFO;
-				break;
-			case IStatus.OK:
-				statusSeverity = Status.OK;
-				break;
-			default:
-			}
-			Throwable e = istatus.getException();
-			status = new SimpleStatus("", message, statusSeverity, e);
-		}
-
-		return status;
-	}
-
-	/**
-	 * Converts an Environment <code>Status</code> to an Eclipse
-	 * <code>IStatus</code>.
-	 * 
-	 * @param istatus
-	 *            The Environment status object.
-	 * @return An equivalent Eclipse status object.
-	 */
-	public static IStatus convertStatusToIStatus(Status status, String pluginId) {
-		IStatus istatus;
-		String message = status.getMessage();
-		Throwable throwable = status.getThrowable();
-		if (status.hasChildren()) {
-			Status[] children = status.getChildren();
-			int noOfChildren = children.length;
-			IStatus[] istatusChildren = new IStatus[noOfChildren];
-			for (int i = 0; i < noOfChildren; i++) {
-				istatusChildren[i] = convertStatusToIStatus(children[i],
-						pluginId);
-			}
-
-			istatus = new MultiStatus(pluginId, 0, istatusChildren, message,
-					throwable);
-		} else {
-			int severity = status.getSeverity();
-			int istatusSeverity = IStatus.OK;
-			switch (severity) {
-			case Status.ERROR:
-				istatusSeverity = IStatus.ERROR;
-				break;
-			case Status.WARNING:
-				istatusSeverity = IStatus.WARNING;
-				break;
-			case Status.INFO:
-				istatusSeverity = IStatus.INFO;
-				break;
-			case Status.OK:
-				istatusSeverity = IStatus.OK;
-				break;
-			default:
-			}
-			istatus = new org.eclipse.core.runtime.Status(istatusSeverity,
-					pluginId, 0, message, throwable);
-		}
-
-		return istatus;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceOutputStream.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceOutputStream.java
index d3bf306..0960ac6 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceOutputStream.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceOutputStream.java
@@ -14,12 +14,11 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IStatusHandler;
 
 
 
@@ -32,8 +31,8 @@
 
   IPath                 fFilePath;
   ResourceContext       fResourceContext; 
-  ProgressMonitor       fMonitor;   
-  StatusHandler         fStatusHandler;
+  IProgressMonitor       fMonitor;   
+  IStatusHandler         fStatusHandler;
   ByteArrayOutputStream fByteArrayOutputStream;
   boolean               fOpen;
 
@@ -57,8 +56,8 @@
   public FileResourceOutputStream ( 
   			ResourceContext resourceContext, 
   			IPath           filePath, 
-  			ProgressMonitor monitor,
-  			StatusHandler   statusHandler
+  			IProgressMonitor monitor,
+  			IStatusHandler   statusHandler
   			)
   {
     fFilePath = filePath;
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceUtils.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceUtils.java
index 82cf8d7..8b6025b 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceUtils.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/FileResourceUtils.java
@@ -26,17 +26,18 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.EnvironmentMessages;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.environment.StatusException;
 
 
 
@@ -54,7 +55,7 @@
   //
   private static IWorkspaceRoot root_ = null;
   
-  private static MessageUtils msg_ = new MessageUtils( "org.eclipse.wst.command.internal.env.common.environment", new FileResourceUtils() );
+//  private static MessageUtils msg_ = new MessageUtils( "org.eclipse.wst.command.internal.env.common.environment", new FileResourceUtils() );
 
 
  /**
@@ -70,10 +71,25 @@
     return root_;
   }
 
+  /**
+   * If the input path begins with the workspace root, the IPath that's relative to workspace root is returned.
+   * If the input path does not contain workspace root, the original path is returned.
+   * @param path input path to convert
+   * @return The workspace relative path.
+   */
+   public static IPath getWorkspaceRootRelativePath(IPath path) {
+		IPath rootPath = getWorkspaceRoot().getLocation();
+		if (path.matchingFirstSegments(rootPath) == rootPath.segmentCount()) {
+			path = path.removeFirstSegments(rootPath.segmentCount());
+		}
+		return path;
+	}
+   
  /**
-  * Returns the IWorkspace object.
-  * @return The IWorkspace object.
-  */
+	 * Returns the IWorkspace object.
+	 * 
+	 * @return The IWorkspace object.
+	 */
   public static IWorkspace getWorkspace ()
   {
     if (workspace_ == null)
@@ -97,9 +113,9 @@
   {
     Vector choices = new Vector();
     
-    choices.add(new Choice( 'Y', msg_.getMessage("LABEL_YES")));
-    choices.add(new Choice( 'A', msg_.getMessage("LABEL_YES_TO_ALL")));
-    choices.add(new Choice( 'C', msg_.getMessage("LABEL_CANCEL")));
+    choices.add(new Choice( 'Y', EnvironmentMessages.LABEL_YES));
+    choices.add(new Choice( 'A', EnvironmentMessages.LABEL_YES_TO_ALL));
+    choices.add(new Choice( 'C', EnvironmentMessages.LABEL_CANCEL));
     
     return (Choice[])choices.toArray(new Choice[choices.size()]);
   }
@@ -191,8 +207,8 @@
                                 IPath sourcePath,
                                 IPath pathname,
                                 IPath targetPath,
-                                ProgressMonitor progressMonitor,
-                                StatusHandler statusMonitor )
+                                IProgressMonitor progressMonitor,
+                                IStatusHandler statusMonitor )
      throws CoreException
    {
      try
@@ -207,7 +223,7 @@
        throw new CoreException(new Status(IStatus.ERROR,
                                plugin.getBundle().getSymbolicName(),
                                0,
-                               msg_.getMessage("MSG_ERROR_IO"),e));
+                               EnvironmentMessages.MSG_ERROR_IO,e));
      }
    }
    
@@ -221,19 +237,19 @@
    */
   public static boolean deleteFile( ResourceContext resourceContext, 
                                     IFile file,
-                                    ProgressMonitor progressMonitor, 
-                                    StatusHandler statusMonitor)
+                                    IProgressMonitor progressMonitor, 
+                                    IStatusHandler statusMonitor)
     throws CoreException
   {
     if (file.exists())
     {
       if (!resourceContext.isOverwriteFilesEnabled())
       {
-        SimpleStatus status 
-          = new SimpleStatus("", msg_.getMessage( "MSG_ERROR_FILE_OVERWRITE_DISABLED",
-                                                  new Object[]{ file.getParent().getFullPath().toString(),
-                                                                file.getName()}),
-                             Status.WARNING );
+        IStatus status 
+          = StatusUtils.warningStatus( NLS.bind(EnvironmentMessages.MSG_ERROR_FILE_OVERWRITE_DISABLED,
+                                                        new Object[]{ file.getParent().getFullPath().toString(),
+                                                                      file.getName()}) );
+                            
         
         Choice choice = statusMonitor.report( status, getThreeStateFileOptions() );
         
@@ -247,11 +263,10 @@
       {
         if (!resourceContext.isCheckoutFilesEnabled())
         {
-          SimpleStatus status 
-          = new SimpleStatus("", msg_.getMessage( "MSG_ERROR_FILE_CHECKOUT_DISABLED",
-                                                  new Object[]{ file.getParent().getFullPath().toString(),
-                                                                file.getName()}),
-                             Status.WARNING );
+          IStatus status 
+            = StatusUtils.warningStatus( NLS.bind(EnvironmentMessages.MSG_ERROR_FILE_CHECKOUT_DISABLED,
+                                                          new Object[]{ file.getParent().getFullPath().toString(),
+                                                                        file.getName()}) );
           
           Choice choice = statusMonitor.report( status, getThreeStateFileOptions() );
           
@@ -266,8 +281,7 @@
         
         if( status.getSeverity() == IStatus.ERROR )
         {
-          SimpleStatus validateStatus = new SimpleStatus( "", status.getMessage(), SimpleStatus.ERROR );
-          statusMonitor.reportError( validateStatus );
+          statusMonitor.reportError( status );
           return false;
         }
       }
@@ -288,8 +302,8 @@
    */
    public static boolean deleteFolder( ResourceContext resourceContext,
                                        IFolder folder,
-                                       ProgressMonitor progressMonitor,
-                                       StatusHandler statusMonitor )
+                                       IProgressMonitor progressMonitor,
+                                       IStatusHandler statusMonitor )
      throws CoreException
    {
      if (!folder.exists()) return true;
@@ -342,22 +356,22 @@
     ResourceContext resourceContext,
     IPath           absolutePath,
     InputStream     inputStream,
-    ProgressMonitor progressMonitor,
-    StatusHandler   statusHandler )
+    IProgressMonitor progressMonitor,
+    IStatusHandler   statusHandler )
 
     throws CoreException 
   {    
     if (!absolutePath.isAbsolute())
     {
-      throw new CoreException(new Status(IStatus.ERROR, "ResourceUtils",0,msg_.getMessage("MSG_ERROR_PATH_NOT_ABSOLUTE",new Object[] {absolutePath.toString()}),null));
+      throw new CoreException(new Status(IStatus.ERROR, "ResourceUtils",0,NLS.bind(EnvironmentMessages.MSG_ERROR_PATH_NOT_ABSOLUTE,new Object[] {absolutePath.toString()}),null));
     }
     if (absolutePath.segmentCount() < 1)
     {
-      throw new CoreException(new Status(IStatus.ERROR,"ResourceUtils",0,msg_.getMessage("MSG_ERROR_PATH_EMPTY",new Object[] {absolutePath.toString()}),null));
+      throw new CoreException(new Status(IStatus.ERROR,"ResourceUtils",0,NLS.bind(EnvironmentMessages.MSG_ERROR_PATH_EMPTY,new Object[] {absolutePath.toString()}),null));
     }
     if (absolutePath.segmentCount() < 2)
     {
-      throw new CoreException(new Status(IStatus.ERROR,"ResourceUtils",0,msg_.getMessage("MSG_ERROR_PATH_NOT_FOLDER",new Object[] {absolutePath.toString()}),null));
+      throw new CoreException(new Status(IStatus.ERROR,"ResourceUtils",0,NLS.bind(EnvironmentMessages.MSG_ERROR_PATH_NOT_FOLDER,new Object[] {absolutePath.toString()}),null));
     }
     IContainer parent   = makeFolderPath(resourceContext, absolutePath.removeLastSegments(1), progressMonitor, statusHandler);
     String     fileName = absolutePath.lastSegment();
@@ -414,8 +428,8 @@
     IProject        project,
     IPath           relativePath,
     InputStream     inputStream,
-    ProgressMonitor progressMonitor,
-    StatusHandler   statusMonitor )
+    IProgressMonitor progressMonitor,
+    IStatusHandler   statusMonitor )
  
     throws CoreException 
   {
@@ -457,10 +471,10 @@
   */
 
   public static OutputStream newFileOutputStream (
-       ResourceContext context,
-       IPath           file,
-       ProgressMonitor progressMonitor,
-       StatusHandler   statusHandler )
+       ResourceContext  context,
+       IPath            file,
+       IProgressMonitor progressMonitor,
+       IStatusHandler    statusHandler )
  
   {
     return new FileResourceOutputStream(context, file, progressMonitor, statusHandler);
@@ -484,10 +498,10 @@
    * @return returns the IContainer of the created folder.
    */
   public static IContainer makeFolderPath (
-    ResourceContext resourceContext,
-    IPath absolutePath,
-    ProgressMonitor progressMonitor,
-    StatusHandler statusHandler )
+    ResourceContext  resourceContext,
+    IPath            absolutePath,
+    IProgressMonitor progressMonitor,
+    IStatusHandler    statusHandler )
   
     throws CoreException
   {
@@ -508,11 +522,11 @@
   // The container must already exist.
   //
  private static IFolder makeFolder (
-    ResourceContext resourceContext,
-    IContainer      parent,
-    String          folderName,
-    ProgressMonitor progressMonitor,
-    StatusHandler   statusHandler )
+    ResourceContext  resourceContext,
+    IContainer       parent,
+    String           folderName,
+    IProgressMonitor progressMonitor,
+    IStatusHandler    statusHandler )
   
   throws CoreException
   {
@@ -524,10 +538,9 @@
       if (!resourceContext.isCreateFoldersEnabled())  
       {
         result = statusHandler.report(
-                new SimpleStatus( "ResourceUtils",
-        	                      msg_.getMessage("MSG_ERROR_FOLDER_CREATION_DISABLED",
-        	                      new Object[]{ parent.getFullPath().toString(), folderName} ),
-                                  Status.WARNING, null ), 
+                StatusUtils.warningStatus(
+                		NLS.bind(EnvironmentMessages.MSG_ERROR_FOLDER_CREATION_DISABLED,
+        	                      new Object[]{ parent.getFullPath().toString(), folderName} ) ), 
                 getThreeStateFileOptions() );
         
         if( result == null || result.getShortcut() == 'C' )
@@ -554,7 +567,7 @@
         new Status( IStatus.ERROR, 
                     "ResourceUtils",
                     0, 
-					msg_.getMessage( "MSG_ERROR_RESOURCE_NOT_FOLDER",
+                    NLS.bind(EnvironmentMessages.MSG_ERROR_RESOURCE_NOT_FOLDER,
 					                 new Object[]{ parent.getFullPath().append(folderName).toString() }),
 			null ) );
     }
@@ -565,12 +578,12 @@
   // The container must already exist.
   //
  private static IFile makeFile (
-    ResourceContext resourceContext,
-    IContainer      parent,
-    String          fileName,
-    InputStream     inputStream,
-    ProgressMonitor progressMonitor,
-    StatusHandler   statusHandler )
+    ResourceContext  resourceContext,
+    IContainer       parent,
+    String           fileName,
+    InputStream      inputStream,
+    IProgressMonitor progressMonitor,
+    IStatusHandler    statusHandler )
  
     throws CoreException
   {
@@ -584,11 +597,8 @@
         if( !resourceContext.isOverwriteFilesEnabled() )   
         {
           result = statusHandler.report( 
-                new SimpleStatus( "ResourceUtils",
-          	                      msg_.getMessage( "MSG_ERROR_FILE_OVERWRITE_DISABLED",
-                                                   new Object[] {parent.getFullPath().toString(),fileName}),
-                                  Status.WARNING ),
-					  		    
+                StatusUtils.warningStatus( NLS.bind(EnvironmentMessages.MSG_ERROR_FILE_OVERWRITE_DISABLED,
+                                           new Object[] {parent.getFullPath().toString(),fileName}) ),					  		    
                 getThreeStateFileOptions() );
           
           if( result == null || result.getShortcut() == 'C' )
@@ -607,10 +617,8 @@
           if( !resourceContext.isCheckoutFilesEnabled() ) 
           {            
             result = statusHandler.report( 
-                         new SimpleStatus( "ResourceUtils",
-            		                       msg_.getMessage( "MSG_ERROR_FILE_CHECKOUT_DISABLED",
-                                                            new Object[]{ parent.getFullPath().toString(),fileName} ),
-                                           Status.WARNING ), 
+                         StatusUtils.errorStatus( NLS.bind(EnvironmentMessages.MSG_ERROR_FILE_CHECKOUT_DISABLED,
+                                                  new Object[]{ parent.getFullPath().toString(),fileName} ) ), 
                          getThreeStateFileOptions() );
             
 		    if( result == null || result.getShortcut() == 'C' )
@@ -626,15 +634,11 @@
           IFile[] files = new IFile[1];
           files[0] = (IFile)child;
           
-          IStatus      status = getWorkspace().validateEdit(files,null);
-          SimpleStatus ss     = new SimpleStatus( status.getPlugin(), 
-                                                  status.getMessage(),
-                                                  status.getSeverity(), 
-												  status.getException() );
+          IStatus status = getWorkspace().validateEdit(files,null);
           
           try
           {
-            statusHandler.report( ss );
+            statusHandler.report( status );
           }
           catch( StatusException exc )
           {
@@ -655,7 +659,7 @@
           new Status( IStatus.ERROR,
                       "ResourceUtils",
                       0, 
-				      msg_.getMessage( "MSG_ERROR_RESOURCE_NOT_FILE",
+                      NLS.bind(EnvironmentMessages.MSG_ERROR_RESOURCE_NOT_FILE,
 				                       new Object[] {parent.getFullPath().append(fileName)}),
 					  null ) );
       }
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/StringUtils.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/StringUtils.java
index d7e6718..601e15a 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/StringUtils.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/StringUtils.java
@@ -293,11 +293,4 @@
   
   private static final char[] URI_SYMBOLS = {'-', '~', '#', '/', '.'};
   private static final char UNDERSCORE = '_';
-
-  private static boolean isDelimiter(char character)
-  {
-    return "\u002D\u002E\u003A\u005F\u00B7\u0387\u06DD\u06DE".indexOf(character) != -1;
-  }
-  
-  
 }
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/WaitForAutoBuildCommand.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/WaitForAutoBuildCommand.java
index b271a76..0d8a184 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/WaitForAutoBuildCommand.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/WaitForAutoBuildCommand.java
@@ -11,18 +11,19 @@
 package org.eclipse.wst.command.internal.env.common;
 
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 
-public class WaitForAutoBuildCommand extends SimpleCommand
+public class WaitForAutoBuildCommand extends AbstractDataModelOperation
 {
-  public Status execute(Environment environment) 
+  public IStatus execute( IProgressMonitor montitor, IAdaptable adaptable ) 
   {
-  	SimpleStatus status = new SimpleStatus( "" );
+  	IStatus status = Status.OK_STATUS;
   	
 	try 
 	{
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/environment.properties b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/environment.properties
deleted file mode 100644
index 6c160b0..0000000
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/common/environment.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-
-#
-# Messages for EclipseScheme
-#
-MSG_INVALID_PLATFORM_URL=Invalid URL: {0} for an Eclipse platform.
-
-#
-# Messages for ResouceUtils
-#
-MSG_ERROR_PATH_NOT_ABSOLUTE=IWAB0003E Path {0} is not absolute for creating a file.
-MSG_ERROR_PATH_EMPTY=IWAB0004E Path {0} is empty while creating a file.
-MSG_ERROR_PATH_NOT_FOLDER=IWAB0005E Path {0} is not a folder for creating a file.
-MSG_ERROR_FOLDER_CREATION_DISABLED=IWAB0007E Folder creation has been disabled for parent folder {0} and child {1}.
-MSG_ERROR_RESOURCE_NOT_FOLDER=IWAB0008E Resource {0} is not a folder.
-MSG_WARN_FILE_OVERWRITE_DISABLED=IWAB0009W Can not overwrite file {1} in folder {0}.
-MSG_ERROR_FILE_CHECKOUT_DISABLED=IWAB0010E Can not checkout file {1} in folder {0}.
-MSG_ERROR_RESOURCE_NOT_FILE=IWAB0011E The following path is not a resource: {0}.
-MSG_ERROR_FOLDER_HAS_CHILDREN=IWAB0012E Can not 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_FILE_CHECKOUT_DISABLED=IWAB0061E Cannot create the file "{1}" relative to the path "{0}" because automatic file check out has not been enabled. Do you want to enable it for this file?
-
-LABEL_YES=Yes
-LABEL_YES_TO_ALL=Yes All
-LABEL_CANCEL=Cancel
-
-TITLE_WARNING=Warning:
-TITLE_ERROR=Error:
-TITLE_INFO=Info:
-
-
-
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/ActionDialogPreferenceTypeRegistry.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/ActionDialogPreferenceTypeRegistry.java
index 9ada4f3..ff6a2c5 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/ActionDialogPreferenceTypeRegistry.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/ActionDialogPreferenceTypeRegistry.java
@@ -12,7 +12,6 @@
 package org.eclipse.wst.command.internal.env.context;
 
 import java.util.Vector;
-
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.Platform;
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentActionDialogsContext.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentActionDialogsContext.java
index 91e266e..2293f8c 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentActionDialogsContext.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentActionDialogsContext.java
@@ -67,8 +67,22 @@
   {
     ActionDialogPreferenceType dialog = registry.getActionDialogsPrefrence( id );    
    
-    return (dialog.getShowCheckbox() && !dialog.getAlwaysHide() && !isActionDialogEnabled( id )) ||
-            !dialog.getShowCheckbox() && !dialog.getAlwaysHide();
+    // We are trying to determine if the popup wizard should be displayed
+    // or not with this logic.  If the dialog variable is null then
+    // there was no popup extension point point defined for this wizard.  In
+    // this case we will assume that the popup should always be displayed.
+    // In the case where the extension says that the show check box control
+    // should be displayed we need to ensure that wizard should not always
+    // be hidden, as well we need to check the current setting of the check
+    // box via the isActionDialogEnabled call.  If the show check box state
+    // defined in the extension is false, but always hide is also false then
+    // we will display the pop wizard.
+    return dialog == null ||
+           ( ( dialog.getShowCheckbox() && 
+               !dialog.getAlwaysHide() && 
+               !isActionDialogEnabled( id ) ) ||
+             ( !dialog.getShowCheckbox() && 
+               !dialog.getAlwaysHide() ) );
   }
   
   public boolean showCheckbox( String id )
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentContext.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentContext.java
index e2f2d3b..5852c90 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentContext.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentContext.java
@@ -12,7 +12,7 @@
 
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.core.runtime.Preferences;
-import org.eclipse.wst.command.internal.provisional.env.core.context.Context;
+import org.eclipse.wst.command.internal.env.core.context.Context;
 
 /**
  * This class is used as the base class for types that what to persist preference
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentResourceContext.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentResourceContext.java
index d30a35d..a0675c4 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentResourceContext.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/context/PersistentResourceContext.java
@@ -10,10 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.context;
 
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.ResourceDefaults;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
 import org.eclipse.wst.command.internal.env.plugin.EnvPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceDefaults;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
 
 
 public class PersistentResourceContext extends PersistentContext implements ResourceContext
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/BaseEclipseEnvironment.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/BaseEclipseEnvironment.java
index 88e7f09..4f59f6c 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/BaseEclipseEnvironment.java
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/BaseEclipseEnvironment.java
@@ -10,14 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.eclipse;
 
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
 
 
 /**
- * This interface adds resources to the base Environment.
+ * This interface adds resources to the base IEnvironment.
  */
-public interface BaseEclipseEnvironment extends Environment 
+public interface BaseEclipseEnvironment extends IEnvironment 
 {
   /**
    * 
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/ConsoleEclipseEnvironment.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/ConsoleEclipseEnvironment.java
deleted file mode 100644
index 67880bf..0000000
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/ConsoleEclipseEnvironment.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.eclipse;
-
-import org.eclipse.wst.command.internal.env.core.uri.file.FileScheme;
-import org.eclipse.wst.command.internal.provisional.env.core.CommandManager;
-import org.eclipse.wst.command.internal.provisional.env.core.common.JavaCompiler;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.NullProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.NullStatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.SimpleURIFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIFactory;
-
-
-/**
- *  This class is intended for use in a headless Eclipse environment.  
- */
-public class ConsoleEclipseEnvironment implements BaseEclipseEnvironment
-{
-	private CommandManager   commandManager_  = null;
-	private SimpleURIFactory uriFactory_      = null;
-	private ResourceContext  resourceContext_ = null;
-	private ProgressMonitor  monitor_         = null;
-	private StatusHandler    statusHandler_   = null;
-	  
-	public ConsoleEclipseEnvironment( ResourceContext resourceContext )
-	{
-	  this( null, resourceContext, new NullProgressMonitor(), new NullStatusHandler() );	
-	}
-	
-	public ConsoleEclipseEnvironment( CommandManager  commandManager, 
-	                                  ResourceContext resourceContext,
-			    	                  ProgressMonitor monitor,
-					                  StatusHandler   statusHandler )
-	{
-	  commandManager_  = commandManager;
-	  resourceContext_ = resourceContext;
-	  uriFactory_      = new SimpleURIFactory();
-	  monitor_         = monitor;
-	  statusHandler_   = statusHandler;
-	    
-	  uriFactory_.registerScheme( "platform", new EclipseScheme( this ) );
-	  uriFactory_.registerScheme( "file", new FileScheme() );
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.env.eclipse.BaseEclipseEnvironment#getResourceContext()
-	 */
-	public ResourceContext getResourceContext() 
-	{
-		return resourceContext_;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getCommandManager()
-	 */
-	public CommandManager getCommandManager() 
-	{
-		return commandManager_;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getJavaCompiler()
-	 */
-	public JavaCompiler getJavaCompiler() 
-	{
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getLog()
-	 */
-	public Log getLog() 
-	{
-		return new EclipseLog();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getProgressMonitor()
-	 */
-	public ProgressMonitor getProgressMonitor() 
-	{
-		return monitor_;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getStatusHandler()
-	 */
-	public StatusHandler getStatusHandler() 
-	{
-		return statusHandler_;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Environment#getURIFactory()
-	 */
-	public URIFactory getURIFactory() 
-	{
-		return uriFactory_;
-	}
-}
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseEnvironment.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseEnvironment.java
new file mode 100644
index 0000000..20766b9
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseEnvironment.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.command.internal.env.eclipse;
+
+import org.eclipse.wst.command.internal.env.core.CommandManager;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.environment.uri.SimpleURIFactory;
+import org.eclipse.wst.common.environment.uri.IURIFactory;
+import org.eclipse.wst.common.environment.uri.IURIScheme;
+
+
+/**
+ * This class implements an IEnvironment class for the Eclipse IEnvironment.
+ * This IEnvironment currently supports the "platform" protocol and the "file"
+ * protocol.
+ *
+ */
+public class EclipseEnvironment implements BaseEclipseEnvironment
+{
+  private CommandManager   commandManager_  = null;
+  private SimpleURIFactory uriFactory_      = null;
+  private ResourceContext  resourceContext_ = null;
+  private IStatusHandler    statusHandler_   = null;
+  private ILog              logger_          = null;
+  
+  public EclipseEnvironment( CommandManager  commandManager, 
+ 		                         ResourceContext resourceContext,
+						                 IStatusHandler   statusHandler )
+  {
+    IURIScheme eclipseScheme = EnvironmentService.getEclipseScheme();
+    IURIScheme fileScheme    = EnvironmentService.getFileScheme();
+    
+    commandManager_  = commandManager;
+    resourceContext_ = resourceContext;
+    uriFactory_      = new SimpleURIFactory();
+    statusHandler_   = statusHandler;
+    
+    uriFactory_.registerScheme( "platform", eclipseScheme );
+    uriFactory_.registerScheme( "file", fileScheme );
+  }
+  
+  /**
+   * @see org.eclipse.wst.command.internal.env.core.common.IEnvironment#getCommandManager()
+   */
+  public CommandManager getCommandManager()
+  {
+    return commandManager_;
+  }
+
+  /**
+   * @see org.eclipse.wst.command.internal.env.core.common.IEnvironment#getLog()
+   */
+  public ILog getLog()
+  {
+	  if( logger_ == null )
+    {  
+      logger_ = EnvironmentService.getEclipseLog(); 
+    };
+	
+    return logger_;
+  }
+
+  /**
+   * 
+   * @param logger the new logger for this environment.
+   */
+  public void setLog( ILog logger )
+  {
+	logger_ = logger;  
+  }
+   
+  /**
+   * @see org.eclipse.wst.command.internal.env.core.common.IEnvironment#getStatusHandler()
+   */
+  public IStatusHandler getStatusHandler()
+  {
+    return statusHandler_;
+  }
+
+  /** (non-Javadoc)
+   * @see org.eclipse.wst.command.internal.env.core.common.IEnvironment#getURIFactory()
+   */
+  public IURIFactory getURIFactory()
+  {
+    return uriFactory_;
+  }
+
+  /**
+   * @return returns a ResourceContext for this IEnvironment.
+   */
+  public ResourceContext getResourceContext()
+  {
+    return resourceContext_;
+  }
+  
+  public void setCommandManager( CommandManager manager )
+  {
+	commandManager_ = manager;  
+  }
+}
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseLog.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseLog.java
deleted file mode 100644
index 9f8dfe7..0000000
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseLog.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.eclipse;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.command.internal.env.plugin.EnvPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-
-public class EclipseLog implements Log 
-{
-//	private Logger logger;
-	public EclipseLog() {
-		/*
-		logger = Logger.getLogger("org.eclipse.wst.command.env");
-		// logger.setLogFileName("env.log");
-		logger.setLevel(Level.INFO); // log all levels for now
-		*/
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return EnvPlugin.getInstance().isDebugging();
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#isEnabled(java.lang.String)
-	 */
-	public boolean isEnabled(String option) {
-		return "true".equals(Platform.getDebugOption("org.eclipse.wst.command.env/trace/"
-				+ option));
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, int, java.lang.Object, java.lang.String, java.lang.Object)
-	 */
-	public void log(int severity, int messageNum, Object caller,
-			String method, Object object) {
-		
-		if (isEnabled()) {
-			switch (severity) {
-				case Log.ERROR :
-					if (isEnabled("error"))
-//						logger
-//								.logError(getMessageNumString(messageNum) + "E "
-//										+ caller + "::" + method + ": object="
-//										+ object);
-						System.out.println(getMessageNumString(messageNum) + "E "
-							+ caller + "::" + method + ": object="
-							+ object);
-					break;
-				case Log.WARNING :
-					if (isEnabled("warning"))
-//						logger
-//								.logWarning(getMessageNumString(messageNum)
-//										+ "W " + caller + "::" + method
-//										+ ": object=" + object);
-						System.out.println(getMessageNumString(messageNum)
-								+ "W " + caller + "::" + method
-								+ ": object=" + object);
-					break;
-				case Log.INFO :
-					if (isEnabled("info"))
-//						logger
-//								.logInfo(getMessageNumString(messageNum) + "I "
-//										+ caller + "::" + method + ": object="
-//										+ object);
-						System.out.println(getMessageNumString(messageNum) + "I "
-								+ caller + "::" + method + ": object="
-								+ object);
-					break;
-			}
-		}
-		
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, int, java.lang.Object, java.lang.String, org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-	 */
-	public void log(int severity, int messageNum, Object caller,
-			String method, Status status) {
-		log(severity, messageNum, caller, method, (Object)status);
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, int, java.lang.Object, java.lang.String, java.lang.Throwable)
-	 */
-	public void log(int severity, int messageNum, Object caller,
-			String method, Throwable throwable) {
-		log( severity, messageNum, caller, method, (Object)null );
-		throwable.printStackTrace();
-		/*
-		if (isEnabled()) {
-			switch (severity) {
-				case Log.ERROR :
-					if (isEnabled("error"))
-						logger.logError(getMessageNumString(messageNum) + "E "
-								+ caller + "::" + method);
-					logger.logError(throwable);
-					break;
-				case Log.WARNING :
-					if (isEnabled("warning"))
-						logger.logWarning(getMessageNumString(messageNum) + "W "
-								+ caller + "::" + method);
-					logger.logWarning(throwable);
-					break;
-				case Log.INFO :
-					if (isEnabled("info"))
-						logger.logInfo(getMessageNumString(messageNum) + "I "
-								+ caller + "::" + method);
-					logger.logInfo(throwable);
-					break;
-			}
-		}
-		*/
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, java.lang.String, int, java.lang.Object, java.lang.String, java.lang.Object)
-	 */
-	public void log(int severity, String option, int messageNum,
-			Object caller, String method, Object object) {
-		/*
-		if (isEnabled(option))
-			logger.logInfo(getMessageNumString(messageNum) + "I " + caller
-					+ "::" + method + ": object=" + object);
-		*/
-		if (isEnabled(option))
-			System.out.println(getMessageNumString(messageNum) + "I " + caller
-					+ "::" + method + ": object=" + object);
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, java.lang.String, int, java.lang.Object, java.lang.String, java.lang.Throwable)
-	 */
-	public void log(int severity, String option, int messageNum,
-			Object caller, String method, Throwable throwable) {
-		/*
-		if (isEnabled(option)) {
-			logger.logInfo(getMessageNumString(messageNum) + "I " + caller
-					+ "::" + method);
-			logger.logInfo(throwable);
-		}
-		*/
-		if (isEnabled(option)) {
-			System.out.println(getMessageNumString(messageNum) + "I " + caller
-					+ "::" + method);
-			throwable.printStackTrace();
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.wst.command.internal.provisional.env.core.common.Log#log(int, java.lang.String, int, java.lang.Object, java.lang.String, org.eclipse.wst.command.internal.provisional.env.core.common.Status)
-	 */
-	public void log(int severity, String option, int messageNum,
-			Object caller, String method, Status status) {
-		log(severity, option, messageNum, caller, method, (Object)status);
-	}
-	
-	private String getMessageNumString(int messageNum) {
-		String messageNumString = "IWAB";
-		if (messageNum > 9999 || messageNum < 0)
-			messageNum = 9999; //default message number
-		messageNumString += (new Integer(messageNum)).toString();
-		return messageNumString;
-	}
-}
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseScheme.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseScheme.java
deleted file mode 100644
index fb5f776..0000000
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseScheme.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.eclipse;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.RelativeURI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIException;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIScheme;
-
-
-public class EclipseScheme implements URIScheme
-{
-  private BaseEclipseEnvironment  environment_;
-  private MessageUtils            msg_;
-  
-  public EclipseScheme( BaseEclipseEnvironment environment )
-  {
-    environment_ = environment;
-    msg_         = new MessageUtils( "org.eclipse.wst.command.internal.env.common.environment", this );
-  }
-  
-  /**
-   */
-  public boolean isHierarchical()
-  {
-    return true;
-  }
-
-  /**
-   */
-  public boolean isValid(URI uri)
-  {
-    boolean result = true;
-    
-    if( uri == null ) return false;
-    
-    try
-    {
-      getPathFromPlatformURI( uri.toString() );
-    }
-    catch( URIException exc )
-    {
-      result = false;
-    }
-    
-    return result;
-  }
-
-  /**
-   */
-  public URI newURI(String uri) throws URIException
-  {
-    String newURI = null;
-    
-    if( uri.startsWith( "platform:/resource") )
-    {
-      // The platform has been specified so keep it as is.
-      newURI = uri;
-    }
-    else if( uri.indexOf( ":") != -1 )
-    {
-      // The platform uri is not allowed to contain some other protocol. 
-      throw new URIException(
-          new SimpleStatus( "EclipseScheme",
-              msg_.getMessage("MSG_INVALID_PLATFORM_URL", new Object[]{uri}),
-              Status.ERROR ) );
-     }
-    else if( uri.startsWith( "/") )
-    {
-      // The platform scheme has not been specified so we will add it.
-      newURI = "platform:/resource" + uri;
-    }
-    
-    if( newURI == null )
-    {
-      return new RelativeURI( uri );
-    }
-    else
-    {
-      return new EclipseURI( newURI, environment_ );
-    }
-  }
-
-  /**
-   */
-  public URI newURI(URI uri) throws URIException
-  {
-    return newURI( uri.toString() );
-  }
-
-  /**
-   */
-  public URI newURI(URL url) throws URIException
-  {
-    return newURI( url.toString() );
-  }
-
-  /**
-   */
-  public Status validate(URI uri)
-  {
-    Status status = null;
-    
-    try
-    {
-      getPathFromPlatformURI( uri.toString() );
-      status = new SimpleStatus( "" );
-    }
-    catch( URIException exc )
-    {
-      status = exc.getStatus(); 
-    }
-    
-    return status;
-  }
-  
-  /**
-   * Gets the "platform:/resource" IPath given a url
-   * 
-   */
-  public String getPathFromPlatformURI(String uri) throws URIException 
-  {
-    String resourceFile = null;
-    URL    url          = null;
-    
-    try
-    {
-      url = new URL( uri ); 
-    }
-    catch( MalformedURLException exc )
-    { 
-    }
-    
-    if( url == null )
-    {
-      throw new URIException(
-          new SimpleStatus( "EclipseScheme",
-              msg_.getMessage("MSG_INVALID_PLATFORM_URL", new Object[]{uri}),
-              Status.ERROR ) );
-    }
-    if( url.getProtocol().equals("platform") ) 
-    {
-      String resourceURL = url.getFile();
-      
-      if (resourceURL.startsWith("/resource")) 
-      {
-        resourceFile = resourceURL.substring(10);   // omit the "/resource" portion
-      }
-    }
-    else 
-    {
-      throw new URIException(
-          new SimpleStatus( "EclipseScheme",
-                            msg_.getMessage("MSG_INVALID_PLATFORM_URL", new Object[]{url.getFile()}),
-							Status.ERROR ) );
-    }
-    
-    return resourceFile;
-  }
-  
-  /**
-   * 
-   * @param absolutePath an absolute IPath
-   * @return returns the platform URI for this path.
-   */
-  public String getURLFromPath( IPath absolutePath )
-  {
-    return "platform:/resource" + absolutePath;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseURI.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseURI.java
deleted file mode 100644
index e66d844..0000000
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EclipseURI.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.command.internal.env.eclipse;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.RelativeURI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URI;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIException;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIFilter;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIScheme;
-
-
-public class EclipseURI extends RelativeURI
-{
-  private BaseEclipseEnvironment environment_;
-  private EclipseScheme          scheme_;
-  private MessageUtils           msg_;
-  private File                   file_;
-  
-  public EclipseURI( String uri, BaseEclipseEnvironment environment )
-  {
-    super( uri );
-    
-    environment_  = environment;
-    scheme_       = new EclipseScheme( environment );
-    msg_          = new MessageUtils( "org.eclipse.wst.command.internal.env.common.environment", this );
-    file_         = getFile();
-  }
-    
-  /**
-   * @see org.eclipse.env.uri.URI#erase()
-   */
-  public void erase() throws URIException
-  {
-    try 
-    {
-      IResource file = getResource();
-      
-      if( file != null && file.exists() ) 
-      {
-        if( file instanceof IFile )
-        {
-          FileResourceUtils.deleteFile( environment_.getResourceContext(),
-                                        (IFile)file,
-                                        environment_.getProgressMonitor(),
-                                        environment_.getStatusHandler() );
-        }
-        else if( file instanceof IFolder )
-        {
-          FileResourceUtils.deleteFolder( environment_.getResourceContext(),
-                                          (IFolder)file,
-                                          environment_.getProgressMonitor(),
-                                          environment_.getStatusHandler() );          
-        }
-      }
-      
-    }
-    catch( Exception exc ) 
-    {      
-      throw new URIException(
-          new SimpleStatus( "EclipseURI",
-                            exc.getMessage(),
-		                    Status.ERROR,
-			                exc ), 
-          this );
-    }
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#getInputStream()
-   */
-  public InputStream getInputStream() throws URIException
-  {
-    try 
-    {
-      // If a class cast exception is throw it will be propogated as
-      // a URIException.
-      IFile file = (IFile)getResource();
-
-      //call getContents on the eclipse File object
-      if( file != null ) 
-      {
-        return file.getContents();
-      }
-    }
-    catch( Throwable exc ) 
-    {
-      throw new URIException(
-          new SimpleStatus( "EclipseURI",
-                            exc.getMessage(),
-							Status.ERROR,
-							exc ),
-          this );
-    }
-    
-    return null;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#getOutputStream()
-   */
-  public OutputStream getOutputStream() throws URIException
-  {
-    // Ensure that the parent folder exists.
-    URI parent = parent();
-    
-    if( !parent.isPresent() )
-    {
-      parent().touchFolder();
-    }
-    
-    return getOutStream();
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#getURIScheme()
-   */
-  public URIScheme getURIScheme()
-  {
-    return scheme_;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#isLeaf()
-   */
-  public boolean isLeaf()
-  {
-    boolean result = false;
-  
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && 
-          resource.exists() && 
-          resource.getType() == IResource.FILE )
-      {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This URI does not exist.
-      result = false;
-    }
-   
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#isPresent()
-   */
-  public boolean isPresent()
-  {
-    boolean result = false;
-    
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && resource.exists() )
-       {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This URI does not exist.
-      result = false;
-    }
-    
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#isReadable()
-   */
-  public boolean isReadable()
-  {
-    boolean result = false;
-    
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && resource.isAccessible() )
-       {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This URI does not exist.
-      result = false;
-    }
-    
-    return result;
-   }
-
-  /**
-   * @see org.eclipse.env.uri.URI#isRelative()
-   */
-  public boolean isRelative()
-  { 
-    return false;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#isWritable()
-   */
-  public boolean isWritable()
-  {
-    boolean result = false;
-    
-    try
-    {
-      IResource resource = getResource();
-      
-      if( resource != null && 
-          resource.isAccessible() && 
-          !resource.getResourceAttributes().isReadOnly() )
-       {  
-        result = true;
-      }
-    }
-    catch( URIException exc )
-    {
-      // This URI does not exist.
-      result = false;
-    }
-    
-    return result;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#list()
-   */
-  public URI[] list() throws URIException
-  {
-    IResource resource    = getResource();
-    URI[]     uriChildren = new URI[0];
-    
-    if( resource.getType() == IResource.FOLDER )
-    {
-      IFolder     folder   = (IFolder)resource;
-      
-      try
-      {
-        IResource[] children    = folder.members();  
-  
-        uriChildren = new URI[children.length];
-        
-        for( int index = 0; index < children.length; index++ )
-        {
-          IPath path = children[index].getFullPath();
-          uriChildren[index] = new EclipseURI( scheme_.getURLFromPath(path), environment_ );
-        }
-      }
-      catch( CoreException exc )
-      {
-      }
-    }
-    
-    return uriChildren;
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#list(org.eclipse.env.uri.URIFilter)
-   */
-  public URI[] list(URIFilter uriFilter) throws URIException
-  {
-    IResource resource = getResource();
-    URI[]     result   = new URI[0];
-    
-    if( resource.getType() == IResource.FOLDER )
-     {
-      IFolder     folder   = (IFolder)resource;
-      
-      try
-      {
-        IResource[] children    = folder.members();       
-        Vector      uriChildren = new Vector();
-        
-        for( int index = 0; index < children.length; index++ )
-         {
-          IPath path = children[index].getFullPath();
-          URI   uri  = new EclipseURI( scheme_.getURLFromPath(path), environment_ );
-          
-          if( uriFilter.accepts( uri ) )
-          {
-            uriChildren.add( uri );
-          }
-        }
-        
-        result = (URI[])uriChildren.toArray( new URI[0] );
-      }
-      catch( CoreException exc )
-      {
-      }
-    }
-    
-    return result;
-  }
-   
-  /**
-   * @see org.eclipse.env.uri.URI#rename(org.eclipse.env.uri.URI)
-   */
-  public void rename(URI newURI )
-  {
-    // TODO Auto-generated method stub
-
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#touchFolder()
-   */
-  public void touchFolder() throws URIException
-  {
-    IResource resource = getResource();
-    
-    if( resource != null )
-    { 
-      if( resource.getType() == IResource.FOLDER )
-      {
-        IFolder folder = (IFolder)resource;
-        
-        try
-        {
-          if( folder.members().length > 0 )
-          {
-            throw new URIException( 
-                new SimpleStatus( "EclipseURI",
-                    msg_.getMessage( "MSG_ERROR_FOLDER_HAS_CHILDREN", new Object[]{ folder.toString() } ),
-                    Status.ERROR ),
-                this );
-								
-          }
-        }
-        catch( CoreException exc )
-        {        
-          throw new URIException( 
-              new SimpleStatus( "EclipseURI",
-                  exc.getMessage(),
-                  Status.ERROR,
-				  exc ),
-              this );
-        }
-      }
-      else
-      {
-         //??? Not sure what to do if touching a folder and the URI exists and it is not a folder.
-      }
-    }
-    else
-    {
-      IPath newPath = new Path( scheme_.getPathFromPlatformURI( uri_ ) ).makeAbsolute();
-      
-      try
-      {
-        FileResourceUtils.makeFolderPath( environment_.getResourceContext(), 
-                                      newPath,
-                                      environment_.getProgressMonitor(),
-			  	                      environment_.getStatusHandler() );
-      }
-      catch( CoreException exc )
-      {
-        throw new URIException( 
-            new SimpleStatus( "EclipseURI",
-                exc.getMessage(),
-                Status.ERROR,
-								exc ),
-            this );
-        
-      }
-    }
-  }
-
-  /**
-   * @see org.eclipse.env.uri.URI#touchLeaf()
-   */
-  public void touchLeaf() throws URIException
-  {
-    IResource resource = getResource();
-    
-    if( resource != null )
-    {
-      // The resource already exists so do nothing.
-    }    
-    else
-    {
-      // Get the parent for this leaf and create it if required.
-      URI parent = parent();
-      
-      if( !parent.isPresent() )
-      {  
-        parent().touchFolder();
-      }
-      
-      try
-      {
-        // Get an output stream to the specified file and immediately close it.
-        // This should create a 0 byte file.
-        getOutStream().close();
-      }
-      catch( IOException exc )
-      {
-        throw new URIException( new SimpleStatus( "EclipseURI", 
-                                                  exc.getMessage(), 
-                                                  Status.ERROR,
-											      exc ),
-                                this ); 
-      }
-    }
-
-  }
-
-  private IResource getResource() throws URIException
-  {    
-    IPath  path             = new Path( scheme_.getPathFromPlatformURI(uri_) );
-    String absolutePathname = path.makeAbsolute().toString();
-   
-    return FileResourceUtils.findResource(absolutePathname);
-  }
-  
-  /**
-   * @see org.eclipse.env.uri.URI#getOutputStream()
-   */
-  private OutputStream getOutStream() throws URIException
-  {
-    IPath        file   = new Path( scheme_.getPathFromPlatformURI( uri_ ) ).makeAbsolute();
-    OutputStream stream = null;
-    
-    stream = FileResourceUtils.newFileOutputStream ( environment_.getResourceContext(),
-                                                 file,
-                                                 environment_.getProgressMonitor(),
- 			                                     environment_.getStatusHandler() );    
-    return stream;
-  }
-  
-  /**
-   * Returns a File object for the resource under this URI.
-   * There are many URIs and URISchemes for which this method
-   * will fail and throw an exception. It should be used only
-   * in cases where URIs are known to be backed by physical files.
-   */
-  public File asFile ()
-  {
-  	return file_;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.command.internal.provisional.env.core.uri.URI#isAvailableAsFile()
-   */
-  public boolean isAvailableAsFile() 
-  {
-  	return file_ != null;
-  }
-  
-  private File getFile()
-  {
-    String platformRes = "platform:/resource";
-    File   result      = null;
-    
-    if (uri_.startsWith(platformRes))
-    {
-      result = new File(ResourcesPlugin.getWorkspace().getRoot().getLocation().removeTrailingSeparator().append(uri_.substring(platformRes.length(), uri_.length())).toString());
-    }
-    
-    return result;
-  }
-}
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EnvironmentManager.java b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EnvironmentManager.java
new file mode 100644
index 0000000..ed691d6
--- /dev/null
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/eclipse/EnvironmentManager.java
@@ -0,0 +1,28 @@
+/***************************************************************************************************
+ * Copyright (c) 2005 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
+ **************************************************************************************************/
+package org.eclipse.wst.command.internal.env.eclipse;
+
+import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.environment.NullStatusHandler;
+
+public class EnvironmentManager
+{
+  /**
+   * Returns a new instance of an IEnvironment for the Eclipse non-GUI.
+   */
+  public static BaseEclipseEnvironment getNewEnvironment()
+  {
+    PersistentResourceContext context        = PersistentResourceContext.getInstance();
+    IStatusHandler            handler        = new NullStatusHandler();
+    EclipseEnvironment        environment    = new EclipseEnvironment( null, context, handler );
+    
+    return environment;  
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/.cvsignore b/bundles/org.eclipse.wst.ws.explorer/.cvsignore
index d97a756..7b4a75f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/.cvsignore
+++ b/bundles/org.eclipse.wst.ws.explorer/.cvsignore
@@ -4,4 +4,5 @@
 temp.folder
 build.xml
 *.jar
-*.war
\ No newline at end of file
+*.war
+explorersrc.zip
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 9bd692b..0490616 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: 0.7.1
+Bundle-Version: 1.0.0
 Bundle-ClassPath: explorer.jar,
  wsexplorer-properties.jar
 Bundle-Activator: org.eclipse.wst.ws.internal.explorer.plugin.ExplorerPlugin
@@ -63,5 +63,9 @@
  org.wsdl4j,
  org.apache.wsil4j,
  org.uddi4j,
- org.apache.axis
+ org.apache.axis,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.wst.common.frameworks.ui,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.common.uriresolver
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.ws.explorer/build-war-pde.xml b/bundles/org.eclipse.wst.ws.explorer/build-war-pde.xml
index 25b5fed..0c4ca14 100644
--- a/bundles/org.eclipse.wst.ws.explorer/build-war-pde.xml
+++ b/bundles/org.eclipse.wst.ws.explorer/build-war-pde.xml
@@ -47,6 +47,9 @@
 		<javac destdir="${wsexplorerDir}/WEB-INF/classes" includeAntRuntime="false">
 			<src path="${wsexplorerDir}"/>
 			<classpath>
+				<dirset dir="${buildDirectory}">
+					<include name="*/@dot" />
+				</dirset>
 				<fileset dir="${buildDirectory}">
 					<include name="**/*.jar" /> 
 				</fileset>
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 3167547..b12fd54 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
@@ -16,7 +16,6 @@
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLEncoder;
-
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.IStructuredSelection;
diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorerLauncherCommand.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorerLauncherCommand.java
index 6069758..bbc765a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorerLauncherCommand.java
+++ b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorerLauncherCommand.java
@@ -16,12 +16,10 @@
 import java.io.IOException;
 import java.net.URLEncoder;
 import java.util.Properties;
-
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.command.internal.env.common.EnvironmentUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 
 /**
  * @author cbrealey@ca.ibm.com
@@ -29,13 +27,12 @@
  * This <code>Command</code>, when executed, launches the
  * Web Services Explorer.
  */
-public class WSExplorerLauncherCommand extends SimpleCommand {
+public class WSExplorerLauncherCommand extends AbstractDataModelOperation {
 	private boolean forceLaunchOutsideIDE;
 
 	private LaunchOption[] launchOptions;
 
 	public WSExplorerLauncherCommand() {
-		super("WSExplorerLauncherCommand", "WSExplorerLauncherCommand");
 	}
 
 	public void writeCategoryInfo(String inquiryURL, String categoriesDirectory) {
@@ -65,8 +62,9 @@
 				forceLaunchOutsideIDE);
 	}
 
-	public Status execute(Environment env) {
-		return EnvironmentUtils.convertIStatusToStatus(execute());
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+  {
+    return execute();
 	}
 
 	/**
diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/favorites/FavoritesRegistryTypeDefault.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/favorites/FavoritesRegistryTypeDefault.java
index f181699..6d8809f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/favorites/FavoritesRegistryTypeDefault.java
+++ b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/favorites/FavoritesRegistryTypeDefault.java
@@ -12,12 +12,10 @@
 package org.eclipse.wst.ws.internal.explorer.favorites;
 
 import java.io.IOException;
-
 import org.apache.wsil.WSILDocument;
 import org.apache.wsil.WSILException;
 import org.eclipse.wst.ws.internal.explorer.plugin.ExplorerPlugin;
 import org.eclipse.wst.ws.internal.parser.favorites.FavoritesRegistryTypeAbstract;
-import org.eclipse.wst.ws.internal.parser.favorites.IFavoritesUDDIRegistry;
 
 public class FavoritesRegistryTypeDefault extends FavoritesRegistryTypeAbstract {
 	private static WSILDocument wsilDoc_;
@@ -58,7 +56,7 @@
 	protected WSILDocument getWSILDocument() {
 		if (wsilDoc_ == null) {
 			wsilDoc_ = loadWSILDocument(getReadLocation(), true);
-			IFavoritesUDDIRegistry[] registries = getFavoritesUDDIRegistries();
+			getFavoritesUDDIRegistries();
 			/* TODO: Public registry strings shouldn't be in properties - Ain't extensible.
 			for (int i = 0; i < registries.length; i++) {
 				registries[i].setName(WSPlugin.getResourceString(registries[i].getName()));
diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/plugin/ExplorerPlugin.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/plugin/ExplorerPlugin.java
index 364d5e2..43e1058 100644
--- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/plugin/ExplorerPlugin.java
+++ b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/plugin/ExplorerPlugin.java
@@ -14,7 +14,6 @@
 import java.net.URL;
 import java.text.MessageFormat;
 import java.util.Hashtable;
-
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.jface.resource.ImageDescriptor;
@@ -66,9 +65,6 @@
 
   /**
    * Called once by the platform when this plugin is first loaded.
-   * 
-   * @throws CoreException
-   *             If this plugin fails to start.
    */
   public void start(BundleContext bundle) throws Exception
   {
@@ -79,9 +75,6 @@
 
   /**
    * Called once by the platform when this plugin is unloaded.
-   * 
-   * @throws CoreException
-   *             If this plugin fails to shutdown.
    */
   public void stop(BundleContext bundle) throws Exception
   {
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 ef6803f..87aed00 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
@@ -15,21 +15,20 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Vector;
-
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IActionDelegate;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.wst.ws.internal.explorer.LaunchOption;
 import org.eclipse.wst.ws.internal.explorer.LaunchOptions;
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 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.ui.IActionDelegate;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
 
 public class PopupTestWSDL extends Action implements IActionDelegate
 {
@@ -98,7 +97,7 @@
         getMonitorCmd.setCreate(false);
         getMonitorCmd.setWebServicesParser(new WebServicesParser());
         getMonitorCmd.setWsdlURI(wsdlURL);
-        getMonitorCmd.execute(null);
+        getMonitorCmd.execute(null, null);
         List endpoints = getMonitorCmd.getEndpoints();
         for (Iterator endpointsIt = endpoints.iterator(); endpointsIt.hasNext();)
           launchOptions.add(new LaunchOption(LaunchOptions.WEB_SERVICE_ENDPOINT, (String)endpointsIt.next()));
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/favorites.properties b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/favorites.properties
index 78de864..20f6b38 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/favorites.properties
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/favorites.properties
@@ -19,11 +19,13 @@
 FAVORITES_UDDI_BUSINESSES_FOLDER_NODE=Favorite UDDI Businesses
 FAVORITES_UDDI_SERVICE_INTERFACES_FOLDER_NODE=Favorite UDDI Service Interfaces
 FAVORITES_UDDI_REGISTRIES_FOLDER_NODE=Favorite UDDI Registries
+FAVORITES_USER_DEF_UDDI_REGISTRIES_FOLDER_NODE=Favorite User Defined UDDI Registries
 
 # Form
 FORM_LABEL_FAVORITE_WSIL=Favorite WSILs
 FORM_LABEL_FAVORITE_WSDL=Favorite WSDLs
 FORM_LABEL_FAVORITE_UDDI_REGISTRY=Favorite UDDI Registries
+FORM_LABEL_FAVORITE_USER_DEF_UDDI_REGISTRY=Favorite User Defined UDDI Registries
 FORM_LABEL_FAVORITE_UDDI_SERVICE=Favorite UDDI Services
 FORM_LABEL_FAVORITE_UDDI_BUSINESS=Favorite UDDI Business Entities
 FORM_LABEL_FAVORITE_UDDI_SERVICE_INTERFACE=Favorite UDDI Service Interfaces
@@ -33,9 +35,17 @@
 FORM_LABEL_IMPORT_TO_WSDL_PERSPECTIVE=Add To WSDL Page
 FORM_LABEL_URL=URL
 FORM_LABEL_ITEM_NUMBER=Item #
+FORM_LABEL_UDDI_VERSION=UDDI Version
 FORM_LABEL_NAME=Name
+FORM_LABEL_DESC=Description
+FORM_LABEL_DEFAULT_LOGIN=Default Login
+FORM_LABEL_DEFAULT_PASSWORD=Default Password
 FORM_LABEL_INQUIRY_URL=Inquiry URL
 FORM_LABEL_PUBLISH_URL=Publish URL
+FORM_LABEL_SECURE_INQUIRY_URL=Secure Inquiry URL
+FORM_LABEL_SECURE_PUBLISH_URL=Secure Publish URL
+FORM_LABEL_TAXONOMY=Taxonomy
+FORM_LABEL_LANGUAGE=Language
 FORM_LABEL_REGISTRY_NAME=Registry Name
 FORM_LABEL_BUSINESS_NAME=Business Name
 FORM_LABEL_BUSINESS_KEY=Business Key
@@ -67,6 +77,10 @@
 ALT_LIST_FAVORITE_UDDI_REGISTRY=List Favorite UDDI Registries
 FORM_LABEL_LIST_FAVORITE_UDDI_REGISTRY_DESC=Select a set of favorite UDDI registries and press <strong>Add to UDDI Page</strong> to open them in the UDDI navigator. Press <strong>Remove</strong> to remove the selections.
 
+# ListFavoriteUserDefUDDIRegistryAction
+ALT_LIST_FAVORITE_USER_DEF_UDDI_REGISTRY=List Favorite User Defined UDDI Registries
+FORM_LABEL_LIST_FAVORITE_USER_DEF_UDDI_REGISTRY_DESC=Select a set of favorite UDDI registries and press <strong>Add to UDDI Page</strong> to open them in the UDDI navigator.
+
 # ListFavoriteUDDIServiceInterfaceAction
 ALT_LIST_FAVORITE_UDDI_SERVICE_INTERFACE=List Favorite UDDI Service Interfaces
 FORM_LABEL_LIST_FAVORITE_UDDI_SERVICE_INTERFACE_DESC=Select a set of favorite UDDI service interfaces and press <strong>Add to UDDI Page</strong> to open them in the UDDI navigator. Press <strong>Remove</strong> to remove the selections.
@@ -80,6 +94,9 @@
 # FavoritesUDDIRegistryDetailsAction
 ALT_FAVORITES_UDDI_REGISTRY_DETAILS=Favorite UDDI Registry Details
 
+# FavoritesUserDefUDDIRegistryDetailsAction
+ALT_FAVORITES_USER_DEF_UDDI_REGISTRY_DETAILS=Favorite User Defined UDDI Registry Details
+
 # FavoritesUDDIBusinessDetailsAction
 ALT_FAVORITES_UDDI_BUSINESS_DETAILS=Favorite UDDI Business Details
 
@@ -131,6 +148,7 @@
 # Form titles
 FORM_TITLE_UDDI_BUSINESS_DETAILS=UDDI Business Details Form
 FORM_TITLE_UDDI_REGISTRY_DETAILS=UDDI Registry Details Form
+FORM_TITLE_USER_DEF_UDDI_REGISTRY_DETAILS=User Defined UDDI Registry Details Form
 FORM_TITLE_UDDI_SERVICE_DETAILS=UDDI Service Details Form
 FORM_TITLE_UDDI_SERVICE_INTERFACE_DETAILS=UDDI Service Interface Details Form
 FORM_TITLE_WSDL_DETAILS=WSDL Details Form
@@ -139,6 +157,7 @@
 # View titles
 VIEW_TITLE_UDDI_BUSINESS_LIST=UDDI Businesses List View
 VIEW_TITLE_UDDI_REGISTRY_LIST=UDDI Registries List View
+VIEW_TITLE_USER_DEF_UDDI_REGISTRY_LIST=User Defined UDDI Registries List View
 VIEW_TITLE_UDDI_SERVICE_INTERFACE_LIST=UDDI Service Interfaces List View
 VIEW_TITLE_UDDI_SERVICE_LIST=UDDI Services List View
 VIEW_TITLE_WSDL_SERVICE_LIST=WSDL Services List View
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/uddi.properties b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/uddi.properties
index 2972b79..eddd983 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/uddi.properties
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-properties/uddi.properties
@@ -250,7 +250,6 @@
 FORM_OPTION_CATEGORY_NAICS=NAICS
 FORM_OPTION_CATEGORY_UNSPSC_73=UNSPSC 7.3
 FORM_OPTION_CATEGORY_GEO=GEO
-FORM_OPTION_CATEGORY_DWCOMMUNITY=dW Community
 FORM_LABEL_BUSINESS_CATEGORIES=Compare with:
 FORM_OPTION_BUSINESSES_ONLY=Businesses only
 FORM_OPTION_SERVICES_ONLY=Services only
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/Action.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/Action.java
index b7f8e12..5f27c2f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/Action.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/Action.java
@@ -10,12 +10,16 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
+import java.util.Hashtable;
+import java.util.Vector;
+
+import javax.servlet.http.HttpServletRequest;
+
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.CurrentNodeSelectionTransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.*;
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Perspective;
 
 // Abstract action class used for both Link and Form actions.
 public abstract class Action
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/CheckWorkbenchFileReadOnlyAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/CheckWorkbenchFileReadOnlyAction.java
index 0cfceec..fd0e81f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/CheckWorkbenchFileReadOnlyAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/CheckWorkbenchFileReadOnlyAction.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
 
 public class CheckWorkbenchFileReadOnlyAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearNodeAction.java
index 65d3db4..56a5193 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearNodeAction.java
@@ -11,9 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public abstract class ClearNodeAction extends NodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearViewElementAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearViewElementAction.java
index 90614e0..38d9721 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearViewElementAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ClearViewElementAction.java
@@ -11,11 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
 
 // Abstract action class used for both Link and Form actions.
 public abstract class ClearViewElementAction extends LinkAction
@@ -36,7 +39,7 @@
     // Perform data validation.
     try
     {
-      int viewId = Integer.parseInt(viewIdString);
+      Integer.parseInt(viewIdString);
     }
     catch (NumberFormatException e)
     {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/FormAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/FormAction.java
index d879652..8ade3c5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/FormAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/FormAction.java
@@ -10,12 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import javax.servlet.http.*;
 import java.util.Hashtable;
 import java.util.Iterator;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.util.HTMLUtils;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public abstract class FormAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToFileSystemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToFileSystemAction.java
index cefc211..3ad12b3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToFileSystemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToFileSystemAction.java
@@ -10,16 +10,16 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.wsdl.internal.impl.wsdl4j.WSDLFactoryImpl;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import javax.servlet.http.HttpServletRequest;
 import javax.wsdl.Definition;
 import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLWriter;
-import java.io.OutputStreamWriter;
-import java.io.OutputStream;
-import javax.servlet.http.*;
 import org.apache.wsil.WSILDocument;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.wsdl.internal.impl.wsdl4j.WSDLFactoryImpl;
 
 public abstract class ImportToFileSystemAction extends LinkAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToWorkbenchAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToWorkbenchAction.java
index 9f76603..4c71477 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToWorkbenchAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ImportToWorkbenchAction.java
@@ -16,7 +16,6 @@
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
-
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -25,14 +24,14 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.wsil.AddWSDLToWSILCommand;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
 
 public abstract class ImportToWorkbenchAction extends FormAction {
   private IWorkspaceRoot iWorkspaceRoot_;
@@ -45,7 +44,7 @@
     }
 
     protected boolean processParsedResults(MultipartFormDataParser parser) throws MultipartFormDataException {
-        FormTool formTool = getSelectedFormTool();
+        getSelectedFormTool();
         MessageQueue msgQueue = controller_.getCurrentPerspective().getMessageQueue();
         boolean inputsValid = true;
         String workbenchProjectName = parser.getParameter(ActionInputs.WORKBENCH_PROJECT_NAME);
@@ -205,7 +204,9 @@
             args[3] = wsdlURL;
             args[4] = AddWSDLToWSILCommand.ARG_RESOLVE_WSDL;
             command.setArguments(args);
-            command.execute(new EclipseEnvironment(null, null, null, null));
+            IEnvironment env = new EclipseEnvironment(null, null, null);
+            command.setEnvironment( env );
+            command.execute( null, null );
             msgQueue.addMessage(controller_.getMessage("MSG_INFO_IMPORT_SERVICE_REF_TO_WSIL_SUCCESSFUL", importedWSILFileName));
         }
         return true;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LaunchWebServiceWizardAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LaunchWebServiceWizardAction.java
index 1370dde..f9ddf5e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LaunchWebServiceWizardAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LaunchWebServiceWizardAction.java
@@ -10,9 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.LaunchWizardRunnable;
+import org.eclipse.wst.ws.internal.explorer.LaunchWizardTask;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LinkAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LinkAction.java
index 223b155..06c508f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LinkAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/LinkAction.java
@@ -11,10 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 // Abstract class representing the action of clicking a link. These actions
 // may change the history list.
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/NodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/NodeAction.java
index aec33b3..210e052 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/NodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/NodeAction.java
@@ -11,10 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public abstract class NodeAction extends LinkAction
 {
@@ -41,7 +42,7 @@
     // Perform data validation.
     try
     {
-      int nodeId = Integer.parseInt(nodeIdString);
+      Integer.parseInt(nodeIdString);
     }
     catch (NumberFormatException e)
     {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenCalendarBrowserAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenCalendarBrowserAction.java
index f9136ec..48ec08b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenCalendarBrowserAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenCalendarBrowserAction.java
@@ -11,9 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 
 public class OpenCalendarBrowserAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenWSDLBrowserAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenWSDLBrowserAction.java
index f299749..fc17691 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenWSDLBrowserAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/OpenWSDLBrowserAction.java
@@ -11,9 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 
 public class OpenWSDLBrowserAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ProxyLoadPageAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ProxyLoadPageAction.java
index 01a5e40..56ef2d6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ProxyLoadPageAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ProxyLoadPageAction.java
@@ -11,9 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 
 public class ProxyLoadPageAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ResizeFramesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ResizeFramesAction.java
index 87d94ce..1cc9e44 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ResizeFramesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ResizeFramesAction.java
@@ -11,11 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.HTMLUtils;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public abstract class ResizeFramesAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/RetrieveHistoryAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/RetrieveHistoryAction.java
index add1e24..d24ce28 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/RetrieveHistoryAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/RetrieveHistoryAction.java
@@ -11,10 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.BreadCrumb;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 public class RetrieveHistoryAction extends LinkAction
 {
@@ -41,7 +41,7 @@
     // Perform data validation.
     try
     {
-      int jump = Integer.parseInt(jumpString);
+      Integer.parseInt(jumpString);
     }
     catch (NumberFormatException e)
     {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeAction.java
index 494444b..fa84e26 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeAction.java
@@ -10,10 +10,12 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.NodeSelectionTransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public abstract class SelectNodeAction extends NodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeToolAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeToolAction.java
index 25bdb45..9bdf7b5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeToolAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/SelectNodeToolAction.java
@@ -10,12 +10,15 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.CurrentNodeSelectionTransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
 
 public abstract class SelectNodeToolAction extends SelectNodeAction
 {
@@ -45,7 +48,7 @@
     // Perform data validation.
     try
     {
-      int toolId = Integer.parseInt(toolIdString);
+      Integer.parseInt(toolIdString);
     }
     catch (NumberFormatException e)
     {
@@ -61,7 +64,7 @@
       propertyTable_.put(ActionInputs.VIEWID,viewIdString);
       if (viewId != ActionInputs.VIEWID_DEFAULT)
       {
-        int viewToolId = Integer.parseInt(viewToolIdString);
+        Integer.parseInt(viewToolIdString);
         propertyTable_.put(ActionInputs.VIEWTOOLID,viewToolIdString);
       }
     }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ShowPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ShowPerspectiveAction.java
index 05e144f..be72f50 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ShowPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ShowPerspectiveAction.java
@@ -11,11 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.HTMLUtils;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public class ShowPerspectiveAction extends LinkAction
 {
@@ -49,7 +50,7 @@
     // Perform data validation.
     try
     {
-      int perspective = Integer.parseInt(perspectiveString);
+      Integer.parseInt(perspectiveString);
       propertyTable_.put(ActionInputs.PERSPECTIVE,perspectiveString);
       MultipartFormDataParser parser = new MultipartFormDataParser();
       parser.parseRequest(request,HTMLUtils.UTF8_ENCODING);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ToggleNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ToggleNodeAction.java
index bd35d8e..474048c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ToggleNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ToggleNodeAction.java
@@ -10,10 +10,12 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.NodeIdTransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public abstract class ToggleNodeAction extends NodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ValidateEditAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ValidateEditAction.java
index ea7184d..78c9567 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ValidateEditAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/ValidateEditAction.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
 
 public class ValidateEditAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/WriteWSDLToWorkbenchAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/WriteWSDLToWorkbenchAction.java
index dfcf6a3..8b96d21 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/WriteWSDLToWorkbenchAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/actions/WriteWSDLToWorkbenchAction.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.actions;
 
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
 
 public class WriteWSDLToWorkbenchAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListElement.java
index 8829f7d..49f3f3f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListElement.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.datamodel;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 
 public class ListElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListManager.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListManager.java
index 79c44b1..abbd146 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListManager.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/ListManager.java
@@ -11,7 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.datamodel;
 
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
 
 public class ListManager
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/TreeElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/TreeElement.java
index 2d2da74..8228ad3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/TreeElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/datamodel/TreeElement.java
@@ -11,7 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.eclipse.wst.ws.internal.datamodel.BasicElement;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 
 public class TreeElement extends BasicElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionDataParser.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionDataParser.java
index 13fce57..c613f0d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionDataParser.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionDataParser.java
@@ -10,25 +10,23 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.engine;
 
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.FactoryConfigurationError;
+import javax.xml.parsers.ParserConfigurationException;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.constants.ActionDataConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.data.ActionDescriptor;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.data.ScenarioDescriptor;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.data.TransactionDescriptor;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
 import org.w3c.dom.CDATASection;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
 import org.w3c.dom.Node;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
+import org.w3c.dom.NodeList;
 
 public class ActionDataParser
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionEngine.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionEngine.java
index e33e328..f7ae857 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionEngine.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/ActionEngine.java
@@ -13,11 +13,10 @@
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.util.Hashtable;
 import java.util.Vector;
-
 import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ShowPerspectiveAction;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/CurrentNodeSelectionTransformer.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/CurrentNodeSelectionTransformer.java
index 5bf3299..48a0b27 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/CurrentNodeSelectionTransformer.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/CurrentNodeSelectionTransformer.java
@@ -11,7 +11,6 @@
 package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer;
 
 import java.util.Hashtable;
-
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MassNodeIdTransformer.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MassNodeIdTransformer.java
index 81ac34f..5218692 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MassNodeIdTransformer.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MassNodeIdTransformer.java
@@ -12,7 +12,6 @@
 
 import java.util.Hashtable;
 import java.util.Vector;
-
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MultipartFormDataParserTransformer.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MultipartFormDataParserTransformer.java
index b4f0a2c..182f3e8 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MultipartFormDataParserTransformer.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/MultipartFormDataParserTransformer.java
@@ -10,9 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer;
 
-import java.util.Hashtable;
 import java.util.Enumeration;
-
+import java.util.Hashtable;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeIdTransformer.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeIdTransformer.java
index d2af98b..75657d2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeIdTransformer.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/engine/transformer/NodeIdTransformer.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.engine.transformer;
 
+import java.util.Enumeration;
 import java.util.Hashtable;
 import java.util.Vector;
-import java.util.Enumeration;
 import org.eclipse.wst.ws.internal.datamodel.Element;
 import org.eclipse.wst.ws.internal.datamodel.Rel;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddBusinessToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddBusinessToUDDIPerspectiveAction.java
index 32312a5..3e85712 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddBusinessToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddBusinessToUDDIPerspectiveAction.java
@@ -10,17 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIBusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.RegFindBusinessUUIDAction;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 
-import java.util.Hashtable;
-
 public class AddBusinessToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
 {
   public AddBusinessToUDDIPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddRegistryToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddRegistryToUDDIPerspectiveAction.java
index 174df85..a5fdc56 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddRegistryToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddRegistryToUDDIPerspectiveAction.java
@@ -10,11 +10,13 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIRegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class AddRegistryToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceInterfaceToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceInterfaceToUDDIPerspectiveAction.java
index b3921bd..93337f4 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceInterfaceToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceInterfaceToUDDIPerspectiveAction.java
@@ -10,17 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.RegFindServiceInterfaceUUIDAction;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 
-import java.util.Hashtable;
-
 public class AddServiceInterfaceToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
 {
   public AddServiceInterfaceToUDDIPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceToUDDIPerspectiveAction.java
index 26969d2..1db7f59 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddServiceToUDDIPerspectiveAction.java
@@ -10,17 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.RegFindServiceUUIDAction;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 
-import java.util.Hashtable;
-
 public class AddServiceToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
 {
   public AddServiceToUDDIPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java
index 856d899..22cca61 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java
@@ -24,6 +24,7 @@
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIRegistryFolderElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIServiceFolderElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIServiceInterfaceFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUserDefUDDIRegistryFolderElement;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
@@ -35,6 +36,7 @@
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIMainNode;
 import org.eclipse.wst.ws.internal.explorer.platform.util.URLUtils;
 import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
 
 public abstract class AddToUDDIPerspectiveAction extends MultipleLinkAction {
     public AddToUDDIPerspectiveAction(Controller controller) {
@@ -65,8 +67,13 @@
         return "favorites/actions/FavoritesAddToUDDIPerspectiveActionJSP.jsp";
     }
 
-    protected boolean createRegistryInUDDIPerspective(String inquiryAPI, String publishAPI, String registryName, String registrationURL,boolean useExisting) {
-        Vector registryNodes = getRegistryNodesByInquiryURL(inquiryAPI);
+    protected boolean createRegistryInUDDIPerspective(String inquiryAPI, String publishAPI, String registryName, String registrationURL, boolean useExisting)
+    {
+      return createRegistryInUDDIPerspective(inquiryAPI, publishAPI, registryName, registrationURL, null, null, null, useExisting);
+    }
+
+    protected boolean createRegistryInUDDIPerspective(String inquiryAPI, String publishAPI, String registryName, String registrationURL, String defaultLogin, String defaultPassword, Taxonomy[] taxonomies, boolean useExisting) {
+      Vector registryNodes = getRegistryNodesByInquiryURL(inquiryAPI);
         if (registryNodes != null)
         {
           if (useExisting)
@@ -98,6 +105,12 @@
 
         if (Validator.validateURL(registrationURL))
             propertyTable.put(UDDIActionInputs.REGISTRATION_URL,registrationURL);
+
+        if (defaultLogin != null)
+          propertyTable.put(UDDIActionInputs.UDDI_USERNAME, defaultLogin);
+
+        if (defaultPassword != null)
+          propertyTable.put(UDDIActionInputs.UDDI_PASSWORD, defaultPassword);
             
         // If user-defined category metadata exists, search and make the associations.
         StringBuffer directoryBuffer = new StringBuffer();
@@ -115,11 +128,30 @@
         if (!openRegAction.run())
             return false;
         
+        if (taxonomies != null)
+        {
+          Hashtable taxonomyTable = new Hashtable();
+          for (int i=0; i<taxonomies.length; i++)
+          {
+            Taxonomy taxonomy = taxonomies[i];
+            String name = taxonomy.getName();
+            String tmodelKey = taxonomy.getTmodelKey();
+            CategoryModel catModel = new CategoryModel();
+            catModel.setDisplayName(name);
+            catModel.setCategoryKey(name);
+            catModel.setTModelKey(tmodelKey);
+            catModel.loadFromTaxonomy(taxonomy);
+            taxonomyTable.put(tmodelKey, catModel);
+          }
+          RegistryElement regElement = (RegistryElement)(controller_.getUDDIPerspective().getNavigatorManager().getSelectedNode().getTreeElement());
+          regElement.setUserDefinedCategories(taxonomyTable);
+        }
+        
         if (categoryFiles != null && categoryFiles.length > 0)
         {
           RegistryElement regElement = (RegistryElement)(controller_.getUDDIPerspective().getNavigatorManager().getSelectedNode().getTreeElement());
           regElement.setCheckForUserDefinedCategories(true);
-          Enumeration userDefinedCategories = regElement.getUserDefinedCategories();
+          regElement.getUserDefinedCategories();
           linkCategoryModelsWithSavedData(registryName,regElement.getUserDefinedCategories());
         }
         return true;
@@ -204,6 +236,8 @@
         // favorites folder element being selected.
         if (favoritesFolderElement instanceof FavoritesUDDIRegistryFolderElement)
             return new AddRegistryToUDDIPerspectiveAction(controller);
+        else if (favoritesFolderElement instanceof FavoritesUserDefUDDIRegistryFolderElement)
+            return new AddUserDefRegistryToUDDIPerspectiveAction(controller);
         else if (favoritesFolderElement instanceof FavoritesUDDIBusinessFolderElement)
             return new AddBusinessToUDDIPerspectiveAction(controller);
         else if (favoritesFolderElement instanceof FavoritesUDDIServiceFolderElement)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddUserDefRegistryToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddUserDefRegistryToUDDIPerspectiveAction.java
new file mode 100644
index 0000000..7809538
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddUserDefRegistryToUDDIPerspectiveAction.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
+
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUserDefUDDIRegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+
+public class AddUserDefRegistryToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
+{
+  public AddUserDefRegistryToUDDIPerspectiveAction(Controller controller)
+  {
+    super(controller);
+  }
+
+  protected boolean executeSingleLinkAction()
+  {
+    int nodeID = Integer.parseInt((String)propertyTable_.get(ActionInputs.NODEID));
+    FavoritesPerspective favPerspective = controller_.getFavoritesPerspective();
+    NodeManager nodeManager = favPerspective.getNodeManager();
+    Node selectedNode = nodeManager.getNode(nodeID);
+    TreeElement selectedElement = selectedNode.getTreeElement();
+    FavoritesUserDefUDDIRegistryElement regElement = (FavoritesUserDefUDDIRegistryElement)selectedElement;
+    String registryName = regElement.getName();
+    String inquiryAPI = regElement.getInquiryURL();
+    String publishAPI = regElement.getPublishURL();
+    String defaultLogin = regElement.getDefaultLogin();
+    String defaultPassword = regElement.getDefaultPassword();
+    Taxonomy[] taxonomies = regElement.getTaxonomies();
+    if (!createRegistryInUDDIPerspective(inquiryAPI, publishAPI, registryName, null, defaultLogin, defaultPassword, taxonomies, false))
+      return false;
+    favPerspective.getMessageQueue().addMessage(favPerspective.getMessage("MSG_INFO_ADD_TO_UDDI_PERSPECTIVE_SUCCESSFUL", registryName));
+    return true;
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddWSILToWSILPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddWSILToWSILPerspectiveAction.java
index 80a1030..d249eef 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddWSILToWSILPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddWSILToWSILPerspectiveAction.java
@@ -10,16 +10,17 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesWSILElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.OpenWSILAction;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilActionInputs;
 
-import java.util.Hashtable;
-
 public class AddWSILToWSILPerspectiveAction extends MultipleLinkAction
 {
   public AddWSILToWSILPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesAddToWSDLPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesAddToWSDLPerspectiveAction.java
index 233e22e..568b217 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesAddToWSDLPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesAddToWSDLPerspectiveAction.java
@@ -10,14 +10,15 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
+import java.util.Hashtable;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesWSDLServiceElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.OpenWSDLAction;
 
-import java.util.Hashtable;
-
 public class FavoritesAddToWSDLPerspectiveAction extends MultipleLinkAction
 {
   public FavoritesAddToWSDLPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToFileSystemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToFileSystemAction.java
index bad13a9..632814c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToFileSystemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToFileSystemAction.java
@@ -11,16 +11,18 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-
 import java.io.OutputStream;
 import javax.wsdl.Definition;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.WSDLFileNameHelper;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesWSDLServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
 
 public class FavoritesImportToFileSystemAction extends ImportToFileSystemAction {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToWorkbenchAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToWorkbenchAction.java
index b26d560..58663db 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToWorkbenchAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesImportToWorkbenchAction.java
@@ -11,13 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
+import java.util.Hashtable;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToWorkbenchAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesImportToWorkbenchAction extends ImportToWorkbenchAction {
     public FavoritesImportToWorkbenchAction(Controller controller) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesLaunchWebServiceWizardAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesLaunchWebServiceWizardAction.java
index 58aae22..5491746 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesLaunchWebServiceWizardAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesLaunchWebServiceWizardAction.java
@@ -12,10 +12,13 @@
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.LaunchWebServiceWizardAction;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesWSDLServiceElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesLaunchWebServiceWizardAction extends LaunchWebServiceWizardAction {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesRestoreDefaultFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesRestoreDefaultFavoritesAction.java
index 9cd0e35..48076eb 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesRestoreDefaultFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesRestoreDefaultFavoritesAction.java
@@ -11,14 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
 import java.util.Vector;
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesMainElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesRestoreDefaultFavoritesAction extends LinkAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesToggleNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesToggleNodeAction.java
index d5d337a..bafa64d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesToggleNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/FavoritesToggleNodeAction.java
@@ -11,9 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ToggleNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 
 public class FavoritesToggleNodeAction extends ToggleNodeAction {
     public FavoritesToggleNodeAction(Controller controller) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/MultipleLinkAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/MultipleLinkAction.java
index 7edb7f8..aa5aa09 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/MultipleLinkAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/MultipleLinkAction.java
@@ -10,14 +10,13 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
+import javax.servlet.http.HttpServletRequest;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.MassNodeIdTransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 public abstract class MultipleLinkAction extends LinkAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/RemoveFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/RemoveFavoritesAction.java
index 7c07c5b..877c72e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/RemoveFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/RemoveFavoritesAction.java
@@ -10,14 +10,17 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
 import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesMainElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class RemoveFavoritesAction extends MultipleLinkAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/ResizeFavoritesFramesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/ResizeFavoritesFramesAction.java
index d33c205..00ffe42 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/ResizeFavoritesFramesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/ResizeFavoritesFramesAction.java
@@ -11,12 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ResizeFramesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesFrameNames;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public class ResizeFavoritesFramesAction extends ResizeFramesAction
 {
@@ -47,7 +49,6 @@
     FavoritesPerspective favPerspective = controller_.getFavoritesPerspective();
     
     // Set the new frameset sizes.
-    boolean saveFrameSettings = false;
     if (frameName.equals(FavoritesFrameNames.NAVIGATOR_CONTAINER))
     {
       favPerspective.setActionsContainerFramesetRows(actionsContainerFramesetRows);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesNodeAction.java
index 32f0e37..f4dfe16 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesNodeAction.java
@@ -11,8 +11,11 @@
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
 
 public class SelectFavoritesNodeAction extends SelectNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesToolAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesToolAction.java
index 9706b19..295b76e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesToolAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SelectFavoritesToolAction.java
@@ -11,8 +11,10 @@
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeToolAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 
 public class SelectFavoritesToolAction extends SelectNodeToolAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SwitchPerspectiveFromFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SwitchPerspectiveFromFavoritesAction.java
index 4470c6b..46dc699 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SwitchPerspectiveFromFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/SwitchPerspectiveFromFavoritesAction.java
@@ -11,12 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ShowPerspectiveAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public final class SwitchPerspectiveFromFavoritesAction extends ShowPerspectiveAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/constants/FavoritesModelConstants.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/constants/FavoritesModelConstants.java
index 9b935e8..f67252d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/constants/FavoritesModelConstants.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/constants/FavoritesModelConstants.java
@@ -19,12 +19,14 @@
     public final static String REL_UDDI_BUSINESS_FOLDER_NODE = "relUDDIBusinessFolderNode";
     public final static String REL_UDDI_SERVICE_INTERFACE_FOLDER_NODE = "relUDDIServiceInterfaceFolderNode";
     public final static String REL_UDDI_REGISTRY_FOLDER_NODE = "relUDDIRegistryFolerNode";
+    public final static String REL_USER_DEF_UDDI_REGISTRY_FOLDER_NODE = "relUserDefUDDIRegistryFolderNode";
     public final static String REL_WSIL_NODE = "relWSILNode";
     public final static String REL_WSDL_SERVICE_NODE = "relWSDLServiceNode";
     public final static String REL_UDDI_SERVICE_NODE = "relUDDIServiceNode";
     public final static String REL_UDDI_BUSINESS_NODE = "relUDDIBusinessNode";
     public final static String REL_UDDI_SERVICE_INTERFACE_NODE = "relUDDIServiceInterfaceNode";
     public final static String REL_UDDI_REGISTRY_NODE = "relUDDIRegistryNode";
+    public final static String REL_USER_DEF_UDDI_REGISTRY_NODE = "relUserDefUDDIRegistryNode";
 
     // Properties
     public final static String PROP_PLUGIN_METADATA_DIRECTORY = "pluginMetadataDirectory";
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesElement.java
index b0833e7..07102a2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesElement.java
@@ -11,11 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-
 import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesFolderElement.java
index 567dcc7..2e637d3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesFolderElement.java
@@ -11,12 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
-
-import java.util.Hashtable;
 import java.util.Enumeration;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesMainElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesMainElement.java
index 2ce48a2..daeb656 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesMainElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesMainElement.java
@@ -11,13 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.favorites.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.apache.wsil.*;
+import org.apache.wsil.Link;
+import org.apache.wsil.Service;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.favorites.FavoritesRegistryTypeWSE;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessElement.java
index fa91fb1..e9a148e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessElement.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Link;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.parser.favorites.FavoritesUDDIBusiness;
-import org.apache.wsil.*;
 
 public class FavoritesUDDIBusinessElement extends FavoritesElement {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessFolderElement.java
index 6fe50a0..903ec86 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIBusinessFolderElement.java
@@ -11,15 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.Hashtable;
 import java.util.Enumeration;
-import org.apache.wsil.*;
+import java.util.Hashtable;
+import org.apache.wsil.Link;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryElement.java
index d9d49d5..00a3397 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryElement.java
@@ -11,10 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Link;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.parser.favorites.FavoritesUDDIRegistry;
 import org.eclipse.wst.ws.internal.parser.favorites.IFavoritesUDDIRegistry;
-import org.apache.wsil.*;
 
 public class FavoritesUDDIRegistryElement extends FavoritesElement {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryFolderElement.java
index bae3db0..c8c5b11 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIRegistryFolderElement.java
@@ -14,7 +14,6 @@
 import java.io.File;
 import java.util.Enumeration;
 import java.util.Hashtable;
-
 import org.apache.wsil.Link;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceElement.java
index ee4ce93..2a86ed1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceElement.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Service;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.parser.favorites.FavoritesUDDIService;
-import org.apache.wsil.*;
 
 public class FavoritesUDDIServiceElement extends FavoritesElement {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceFolderElement.java
index 3848515..0b85976 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceFolderElement.java
@@ -11,15 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.Hashtable;
 import java.util.Enumeration;
-import org.apache.wsil.*;
+import java.util.Hashtable;
+import org.apache.wsil.Service;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceElement.java
index d3f8922..81e8beb 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceElement.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Service;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.parser.favorites.FavoritesUDDIServiceInterface;
-import org.apache.wsil.*;
 
 public class FavoritesUDDIServiceInterfaceElement extends FavoritesElement {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceFolderElement.java
index bbdc90d..dee62cb 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUDDIServiceInterfaceFolderElement.java
@@ -11,15 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.Hashtable;
 import java.util.Enumeration;
-import org.apache.wsil.*;
+import java.util.Hashtable;
+import org.apache.wsil.Service;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryElement.java
new file mode 100644
index 0000000..19df577
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryElement.java
@@ -0,0 +1,141 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
+
+import java.util.List;
+
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+
+public class FavoritesUserDefUDDIRegistryElement extends FavoritesElement
+{
+  private List names;
+  private List descs;
+  private String version;
+  private String defaultLogin;
+  private String defaultPassword;
+  private String inquiryURL;
+  private String publishURL;
+  private String secureInquiryURL;
+  private String securePublishURL;
+  private Taxonomy[] taxonomies;
+
+  public String getDefaultLogin()
+  {
+    return defaultLogin;
+  }
+
+  public void setDefaultLogin(String defaultLogin)
+  {
+    this.defaultLogin = defaultLogin;
+  }
+
+  public String getDefaultPassword()
+  {
+    return defaultPassword;
+  }
+
+  public void setDefaultPassword(String defaultPassword)
+  {
+    this.defaultPassword = defaultPassword;
+  }
+
+  public Taxonomy[] getTaxonomies()
+  {
+    return taxonomies;
+  }
+
+  public void setTaxonomies(Taxonomy[] taxonomies)
+  {
+    this.taxonomies = taxonomies;
+  }
+
+  public FavoritesUserDefUDDIRegistryElement(String name, Model model)
+  {
+    super(name, model);
+  }
+
+  public List getDescs()
+  {
+    return descs;
+  }
+
+  public void setDescs(List descs)
+  {
+    this.descs = descs;
+  }
+
+  public String getInquiryURL()
+  {
+    return inquiryURL;
+  }
+
+  public void setInquiryURL(String inquiryURL)
+  {
+    this.inquiryURL = inquiryURL;
+  }
+
+  public List getNames()
+  {
+    return names;
+  }
+
+  public void setNames(List names)
+  {
+    this.names = names;
+  }
+
+  public String getPublishURL()
+  {
+    return publishURL;
+  }
+
+  public void setPublishURL(String publishURL)
+  {
+    this.publishURL = publishURL;
+  }
+
+  public String getSecureInquiryURL()
+  {
+    return secureInquiryURL;
+  }
+
+  public void setSecureInquiryURL(String secureInquiryURL)
+  {
+    this.secureInquiryURL = secureInquiryURL;
+  }
+
+  public String getSecurePublishURL()
+  {
+    return securePublishURL;
+  }
+
+  public void setSecurePublishURL(String securePublishURL)
+  {
+    this.securePublishURL = securePublishURL;
+  }
+
+  public String getVersion()
+  {
+    return version;
+  }
+
+  public void setVersion(String version)
+  {
+    this.version = version;
+  }
+
+  public String toString()
+  {
+    return getName();
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryFolderElement.java
new file mode 100644
index 0000000..d99a3cd
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryFolderElement.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.model.v10.registry.Name;
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
+import org.eclipse.wst.ws.internal.registry.IRegistryManager;
+import org.eclipse.wst.ws.internal.registry.RegistryService;
+import org.eclipse.wst.ws.internal.registry.UDDIRegistryService;
+
+/**
+ * The data model element that represents a WSIL document
+ */
+public class FavoritesUserDefUDDIRegistryFolderElement extends FavoritesFolderElement
+{
+  public FavoritesUserDefUDDIRegistryFolderElement(String name, Model model, NodeManager nodeManager)
+  {
+    super(name, model, nodeManager);
+  }
+
+  public void init(FavoritesMainElement favMainElement)
+  {
+    RegistryService regService = RegistryService.instance();
+    IRegistryManager regManager = regService.getDefaultRegistryManager();
+    try
+    {
+      String[] regURIs = regManager.getRegistryURIs();
+      for (int i = 0; i < regURIs.length; i++)
+      {
+        Registry reg = regManager.loadRegistry(regURIs[i]);
+        if (reg instanceof UDDIRegistry)
+        {
+          UDDIRegistry uddiReg = (UDDIRegistry)reg;
+          List names = uddiReg.getName();
+          String displayName = names != null && !names.isEmpty() ? ((Name)names.get(0)).getValue() : "";
+          FavoritesUserDefUDDIRegistryElement favUserDefUDDIRegElement = new FavoritesUserDefUDDIRegistryElement(displayName, getModel());
+          favUserDefUDDIRegElement.setNames(names);
+          favUserDefUDDIRegElement.setDescs(uddiReg.getDescription());
+          favUserDefUDDIRegElement.setVersion(uddiReg.getVersion());
+          favUserDefUDDIRegElement.setDefaultLogin(uddiReg.getDefaultLogin());
+          favUserDefUDDIRegElement.setDefaultPassword(uddiReg.getDefaultPassword());
+          favUserDefUDDIRegElement.setInquiryURL(uddiReg.getDiscoveryURL());
+          favUserDefUDDIRegElement.setPublishURL(uddiReg.getPublicationURL());
+          favUserDefUDDIRegElement.setSecureInquiryURL(uddiReg.getSecuredDiscoveryURL());
+          favUserDefUDDIRegElement.setSecurePublishURL(uddiReg.getSecuredPublicationURL());
+          Taxonomy[] taxonomies = regManager.loadTaxonomies(UDDIRegistryService.instance().getTaxonomyURIs(uddiReg));
+          favUserDefUDDIRegElement.setTaxonomies(taxonomies);
+          connect(favUserDefUDDIRegElement, FavoritesModelConstants.REL_USER_DEF_UDDI_REGISTRY_NODE, ModelConstants.REL_OWNER);
+        }
+      }
+    }
+    catch (CoreException ce)
+    {
+      // TODO: Better error reporting
+      ce.printStackTrace();
+    }
+  }
+
+  public boolean addFavorite(Hashtable table)
+  {
+    // do nothing
+    return true;
+  }
+
+  public boolean favoriteExists(Hashtable table)
+  {
+    // do nothing
+    return true;
+  }
+
+  public boolean removeFavoriteByNodeID(int nodeID, String pluginMetadataDirectory)
+  {
+    // do nothing
+    return true;
+  }
+
+  public boolean removeAllFavorites(String pluginMetadataDirectory)
+  {
+    // do nothing
+    return true;
+  }
+
+  public Enumeration getAllFavorites()
+  {
+    return getElements(FavoritesModelConstants.REL_USER_DEF_UDDI_REGISTRY_NODE);
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceElement.java
index ec9993d..b842ff6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceElement.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Service;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.parser.favorites.FavoritesWSDL;
-import org.apache.wsil.*;
 
 public class FavoritesWSDLServiceElement extends FavoritesElement {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceFolderElement.java
index 7b26004..0e95e3e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSDLServiceFolderElement.java
@@ -11,15 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.Hashtable;
 import java.util.Enumeration;
-import org.apache.wsil.*;
+import java.util.Hashtable;
+import org.apache.wsil.Service;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesWSDLServiceFolderElement extends FavoritesFolderElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILElement.java
index 764b6d6..fb5d38d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILElement.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Link;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.parser.favorites.FavoritesWSIL;
-import org.apache.wsil.*;
 
 public class FavoritesWSILElement extends FavoritesElement {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILFolderElement.java
index d7d10c3..f6fb2c1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesWSILFolderElement.java
@@ -11,14 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.apache.wsil.*;
-import java.util.Hashtable;
 import java.util.Enumeration;
+import java.util.Hashtable;
+import org.apache.wsil.Link;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesWSILFolderElement extends FavoritesFolderElement {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesAddToWSDLPerspectiveTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesAddToWSDLPerspectiveTool.java
index c67c2b2..bdeba4a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesAddToWSDLPerspectiveTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesAddToWSDLPerspectiveTool.java
@@ -11,8 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.FavoritesAddToWSDLPerspectiveAction;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.SelectFavoritesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.AddToWSDLPerspectiveTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 
 public class FavoritesAddToWSDLPerspectiveTool extends AddToWSDLPerspectiveTool {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesMainNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesMainNode.java
index debb258..b2bafd9 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesMainNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesMainNode.java
@@ -12,10 +12,18 @@
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesMainElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIBusinessFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIRegistryFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIServiceFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIServiceInterfaceFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUserDefUDDIRegistryFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesWSDLServiceFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesWSILFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesMainNode extends FavoritesNavigatorNode {
     public FavoritesMainNode(TreeElement treeElement, NodeManager nodeManager) {
@@ -29,6 +37,14 @@
         favUDDIRegistryFolderNode.setVisibilityOfChildren(false);
         favUDDIRegistryFolderElement.init((FavoritesMainElement)treeElement);
 
+        // Create User defined UDDI Registry Folder Node
+        FavoritesUserDefUDDIRegistryFolderElement favUserDefUDDIFolderElement = new FavoritesUserDefUDDIRegistryFolderElement(getMessage("FAVORITES_USER_DEF_UDDI_REGISTRIES_FOLDER_NODE"), treeElement.getModel(), nodeManager);
+        treeElement.connect(favUserDefUDDIFolderElement, FavoritesModelConstants.REL_USER_DEF_UDDI_REGISTRY_FOLDER_NODE, ModelConstants.REL_OWNER);
+        FavoritesUserDefUDDIRegistryFolderNode favUserDefUDDIFolderNode = new FavoritesUserDefUDDIRegistryFolderNode(favUserDefUDDIFolderElement, nodeManager, nodeDepth_ + 1);
+        addChild(favUserDefUDDIFolderNode);
+        favUserDefUDDIFolderNode.setVisibilityOfChildren(false);
+        favUserDefUDDIFolderElement.init((FavoritesMainElement)treeElement);
+
         // Create UDDI Business Folder Node
         FavoritesUDDIBusinessFolderElement favUDDIBusinessFolderElement = new FavoritesUDDIBusinessFolderElement(getMessage("FAVORITES_UDDI_BUSINESSES_FOLDER_NODE"), treeElement.getModel(), nodeManager);
         treeElement.connect(favUDDIBusinessFolderElement, FavoritesModelConstants.REL_UDDI_BUSINESS_FOLDER_NODE, ModelConstants.REL_OWNER);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesPerspective.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesPerspective.java
index dfce85fb..53d6cdd 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesPerspective.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesPerspective.java
@@ -11,15 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
+import javax.servlet.ServletContext;
 import org.eclipse.wst.ws.internal.datamodel.BasicModel;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.SwitchPerspectiveFromFavoritesAction;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesMainElement;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Perspective;
 import org.eclipse.wst.ws.internal.explorer.platform.util.DirUtils;
 
-import javax.servlet.*;
-
 public class FavoritesPerspective extends Perspective
 {
     private BasicModel model_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessFolderNode.java
index d354eb4..ff57fe5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessFolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessFolderNode.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesUDDIBusinessFolderNode extends FavoritesNavigatorFolderNode {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessNode.java
index cc6f6b2..4f5dfcb 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIBusinessNode.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesUDDIBusinessNode extends FavoritesNavigatorNode {
     public FavoritesUDDIBusinessNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryFolderNode.java
index 88fc7bd..26aec8a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryFolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryFolderNode.java
@@ -11,14 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
+import java.io.File;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesUDDIRegistryFolderElement;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
-import java.io.*;
-
 public class FavoritesUDDIRegistryFolderNode extends FavoritesNavigatorFolderNode {
     public FavoritesUDDIRegistryFolderNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth) {
         super(treeElement, nodeManager, nodeDepth);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryNode.java
index 85fdd7a..ec7fc94 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIRegistryNode.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesUDDIRegistryNode extends FavoritesNavigatorNode {
     public FavoritesUDDIRegistryNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth,String imagePath) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceFolderNode.java
index 37b722f..4a555ba 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceFolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceFolderNode.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesUDDIServiceFolderNode extends FavoritesNavigatorFolderNode {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceFolderNode.java
index 953000a..9e8b19b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceFolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceFolderNode.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesUDDIServiceInterfaceFolderNode extends FavoritesNavigatorFolderNode {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceNode.java
index 7879939..fd4223f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceInterfaceNode.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesUDDIServiceInterfaceNode extends FavoritesNavigatorNode {
     public FavoritesUDDIServiceInterfaceNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceNode.java
index 1c40247..7eee38c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUDDIServiceNode.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesUDDIServiceNode extends FavoritesNavigatorNode {
     public FavoritesUDDIServiceNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryDetailsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryDetailsTool.java
new file mode 100644
index 0000000..d495724
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryDetailsTool.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
+
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.SelectFavoritesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+
+public class FavoritesUserDefUDDIRegistryDetailsTool extends FormTool
+{
+  public FavoritesUserDefUDDIRegistryDetailsTool(ToolManager toolManager, String alt)
+  {
+    super(toolManager, "images/details_enabled.gif", "images/details_highlighted.gif", alt);
+  }
+
+  public String getSelectToolActionHref(boolean forHistory)
+  {
+    Node selectedNode = toolManager_.getNode();
+    return SelectFavoritesToolAction.getActionLink(selectedNode.getNodeId(), toolId_, selectedNode.getViewId(), selectedNode.getViewToolId(), forHistory);
+  }
+
+  public final String getFormLink()
+  {
+    return "favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp";
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryFolderNode.java
new file mode 100644
index 0000000..e352792
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryFolderNode.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
+
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+
+public class FavoritesUserDefUDDIRegistryFolderNode extends FavoritesNavigatorFolderNode
+{
+  public FavoritesUserDefUDDIRegistryFolderNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth)
+  {
+    super(treeElement, nodeManager, nodeDepth);
+    treeElement.addListener(new ElementAdapter()
+    {
+      public void relAdded(RelAddEvent event)
+      {
+        String rel = event.getOutBoundRelName();
+        if (rel.equals(FavoritesModelConstants.REL_USER_DEF_UDDI_REGISTRY_NODE))
+        {
+          TreeElement regElement = (TreeElement)event.getParentElement();
+          String imagePath = "favorites/images/uddi_registry_node.gif";
+          FavoritesUserDefUDDIRegistryNode favUserDefUDDIRegistryNode = new FavoritesUserDefUDDIRegistryNode(regElement, nodeManager_, nodeDepth_ + 1, imagePath);
+          addChild(favUserDefUDDIRegistryNode);
+        }
+      }
+
+      public void relRemoved(RelRemoveEvent event)
+      {
+        TreeElement childElement = null;
+        if (event.getInBoundRelName().equals(FavoritesModelConstants.REL_USER_DEF_UDDI_REGISTRY_NODE))
+        {
+          childElement = (TreeElement)event.getInboundElement();
+        }
+        if (event.getOutBoundRelName().equals(FavoritesModelConstants.REL_USER_DEF_UDDI_REGISTRY_NODE))
+        {
+          childElement = (TreeElement)event.getOutBoundElement();
+        }
+        removeChildNode(childElement);
+      }
+    });
+  }
+
+  protected void initTools()
+  {
+    FavoritesPerspective favPerspective = nodeManager_.getController().getFavoritesPerspective();
+    new ListFavoriteUserDefUDDIRegistryTool(toolManager_, favPerspective.getMessage("ALT_LIST_FAVORITE_USER_DEF_UDDI_REGISTRY"));
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryNode.java
new file mode 100644
index 0000000..1261756
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesUserDefUDDIRegistryNode.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
+
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+
+public class FavoritesUserDefUDDIRegistryNode extends FavoritesNavigatorNode
+{
+  public FavoritesUserDefUDDIRegistryNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth, String imagePath)
+  {
+    super(treeElement, nodeManager, nodeDepth, imagePath);
+  }
+
+  protected void initTools()
+  {
+    FavoritesPerspective favPerspective = nodeManager_.getController().getFavoritesPerspective();
+    new FavoritesUserDefUDDIRegistryDetailsTool(toolManager_, favPerspective.getMessage("ALT_FAVORITES_USER_DEF_UDDI_REGISTRY_DETAILS"));
+    new AddToUDDIPerspectiveTool(toolManager_, favPerspective.getMessage("ALT_ADD_TO_UDDI_PERSPECTIVE"));
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceFolderNode.java
index b82b644..39230ed 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceFolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceFolderNode.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesWSDLServiceFolderNode extends FavoritesNavigatorFolderNode {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceNode.java
index 81c3c1b..311957a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSDLServiceNode.java
@@ -11,8 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesWSDLServiceNode extends FavoritesNavigatorNode {
     public FavoritesWSDLServiceNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILFolderNode.java
index d938c49..14f3ea3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILFolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILFolderNode.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesWSILFolderNode extends FavoritesNavigatorFolderNode {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILNode.java
index 1ae32dd..5969d95 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/FavoritesWSILNode.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 public class FavoritesWSILNode extends FavoritesNavigatorNode {
     public FavoritesWSILNode(TreeElement treeElement, NodeManager nodeManager, int nodeDepth) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/ListFavoriteUserDefUDDIRegistryTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/ListFavoriteUserDefUDDIRegistryTool.java
new file mode 100644
index 0000000..dab8c95
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/perspective/ListFavoriteUserDefUDDIRegistryTool.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective;
+
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.SelectFavoritesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+
+public class ListFavoriteUserDefUDDIRegistryTool extends FormTool
+{
+  public ListFavoriteUserDefUDDIRegistryTool(ToolManager toolManager, String alt)
+  {
+    super(toolManager, "favorites/images/list_registry_enabled.gif", "favorites/images/list_registry_highlighted.gif", alt);
+  }
+
+  public String getSelectToolActionHref(boolean forHistory)
+  {
+    Node selectedNode = toolManager_.getNode();
+    return SelectFavoritesToolAction.getActionLink(selectedNode.getNodeId(), toolId_, selectedNode.getViewId(), selectedNode.getViewToolId(), forHistory);
+  }
+
+  public String getFormLink()
+  {
+    return "favorites/views/ListFavoriteUserDefUDDIRegistryView.jsp";
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ActionTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ActionTool.java
index 5312338..98e5622 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ActionTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ActionTool.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
 
 public abstract class ActionTool extends Tool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Controller.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Controller.java
index 355bce7..783cfdc 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Controller.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Controller.java
@@ -11,14 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import javax.servlet.ServletContext;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.ActionEngine;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
-
-import javax.servlet.*;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
 public class Controller extends MessageProvider
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FolderNode.java
index f95d0af..52fc4b8 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FolderNode.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 
 public abstract class FolderNode extends Node
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormTool.java
index 8765319..51f95c5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormTool.java
@@ -11,9 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
 
 public abstract class FormTool extends Tool implements FormToolPropertiesInterface
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolProperties.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolProperties.java
index 09a4436..f0e5838 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolProperties.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolProperties.java
@@ -11,7 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
 
 public class FormToolProperties implements FormToolPropertiesInterface
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolPropertiesInterface.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolPropertiesInterface.java
index a5926cf..accd0d3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolPropertiesInterface.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/FormToolPropertiesInterface.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import java.util.*;
+import java.util.Hashtable;
 
 public abstract interface FormToolPropertiesInterface
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/History.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/History.java
index 5fe2251..44491de 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/History.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/History.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import java.util.*;
+import java.util.Vector;
 
 // A class representing a Vector of breadcrumbs. A position index is used
 // to navigate through the data structure.
@@ -88,7 +88,7 @@
   {
     for (int i=0;i<items_.size();i++)
     {
-      BreadCrumb b = (BreadCrumb)items_.elementAt(i);
+      items_.elementAt(i);
     }
   }
 }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/LaunchOptionsManager.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/LaunchOptionsManager.java
index 432bf70..f219e26 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/LaunchOptionsManager.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/LaunchOptionsManager.java
@@ -11,10 +11,8 @@
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
 import java.util.Hashtable;
-
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpSession;
-
 import org.eclipse.wst.ws.internal.explorer.LaunchOptions;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageBundle.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageBundle.java
index ce8c8ca..834bc71 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageBundle.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageBundle.java
@@ -11,8 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import java.util.ResourceBundle;
 import java.util.MissingResourceException;
+import java.util.ResourceBundle;
 
 /**
 * An message bundle is a collection of messages drawn from some
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageProvider.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageProvider.java
index 1395a32..4e08507 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageProvider.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageProvider.java
@@ -11,7 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import java.util.*;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
 
 // A Class which provides String messages.
 public class MessageProvider
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageQueue.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageQueue.java
index cccfc5d..f28c81c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageQueue.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/MessageQueue.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.util.HTMLUtils;
 
 public class MessageQueue
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Node.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Node.java
index e3a2cdf..ec41379 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Node.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Node.java
@@ -11,12 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import javax.servlet.http.*;
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.FrameNames;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.util.HTMLUtils;
 
 public abstract class Node
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/NodeManager.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/NodeManager.java
index edbe5ae..6b23801 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/NodeManager.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/NodeManager.java
@@ -11,8 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import javax.servlet.http.*;
-import java.util.*;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Vector;
+import javax.servlet.http.HttpServletResponse;
 
 public class NodeManager
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Perspective.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Perspective.java
index bbe34a0..e3f4422 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Perspective.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Perspective.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import javax.servlet.*;
+import javax.servlet.ServletContext;
 
 public abstract class Perspective extends MessageProvider
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Tool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Tool.java
index f7dd679..6710fa3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Tool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/Tool.java
@@ -11,12 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import javax.servlet.http.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.FrameNames;
+import org.eclipse.wst.ws.internal.explorer.platform.util.HTMLUtils;
 
 // A class for representing toolbar tools.
 public abstract class Tool
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ToolManager.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ToolManager.java
index 260b109..b5e24eb 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ToolManager.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ToolManager.java
@@ -10,7 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import java.util.*;
+import java.util.List;
+import java.util.Vector;
 
 public class ToolManager
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ViewTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ViewTool.java
index 5dc398d..829013e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ViewTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/perspective/ViewTool.java
@@ -11,9 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
 
 public abstract class ViewTool extends FormTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddItemsToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddItemsToFavoritesAction.java
index 6043aeb..09f0fc2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddItemsToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddItemsToFavoritesAction.java
@@ -11,13 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public class AddItemsToFavoritesAction extends UDDIPropertiesFormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddPublisherAssertionsAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddPublisherAssertionsAction.java
index 96590f5..081d6bf 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddPublisherAssertionsAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddPublisherAssertionsAction.java
@@ -11,24 +11,35 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.*;
-import org.uddi4j.util.*;
-import org.uddi4j.response.*;
+import java.net.MalformedURLException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.assertion.*;
+import org.uddi4j.datatype.assertion.PublisherAssertion;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.response.DispositionReport;
+import org.uddi4j.response.Result;
 import org.uddi4j.transport.TransportException;
-
-import java.util.*;
-import java.net.*;
+import org.uddi4j.util.KeyedReference;
 
 public class AddPublisherAssertionsAction extends CommonPublisherAssertionsAction
 {
@@ -156,8 +167,8 @@
     }
 
     UDDIProxy proxy = registryElement.getProxy();
-    String userID = registryElement.getUserId();
-    String cred = registryElement.getCred();
+    registryElement.getUserId();
+    registryElement.getCred();
     BusinessElement busElement = (BusinessElement)selectedElement;
 
     // determine whether this is a owned business
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddToFavoritesAction.java
index 1a337bc..b3d8b0f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/AddToFavoritesAction.java
@@ -12,16 +12,27 @@
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesFolderElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.CategoryModel;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.BusinessNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceInterfaceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 
 public class AddToFavoritesAction extends UDDINodeAction
 {
@@ -39,7 +50,7 @@
 
   public final boolean registryExists(String registryName,Node registryNode)
   {
-    RegistryElement regElement = (RegistryElement)registryNode.getTreeElement();
+    registryNode.getTreeElement();
     Hashtable table = new Hashtable();
     table.put(FavoritesModelConstants.PROP_UDDI_REGISTRY_NAME,registryName);
     return favoriteExists(table,FavoritesModelConstants.REL_UDDI_REGISTRY_FOLDER_NODE);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceAdvancedAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceAdvancedAction.java
index 6961248..4a8dc50 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceAdvancedAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceAdvancedAction.java
@@ -10,14 +10,15 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.uddi4j.datatype.business.BusinessEntity;
 
 public class BusPublishServiceAdvancedAction extends PublishAction
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceSimpleAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceSimpleAction.java
index ea9da0a..31c3691 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceSimpleAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusPublishServiceSimpleAction.java
@@ -10,14 +10,15 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.uddi4j.datatype.business.BusinessEntity;
 
 public class BusPublishServiceSimpleAction extends PublishAction
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusinessGetServicesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusinessGetServicesAction.java
index 9f305f8..f15ee0d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusinessGetServicesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/BusinessGetServicesAction.java
@@ -11,17 +11,17 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.BusinessNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.uddi4j.datatype.business.BusinessEntity;
 
-import java.util.*;
-
 public class BusinessGetServicesAction extends UDDINodeAction
 {
   private BusinessNode busNode_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorFolderNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorFolderNodeAction.java
index 3a5db86..d58061f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorFolderNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorFolderNodeAction.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 
 public class ClearNavigatorFolderNodeAction extends ClearNavigatorNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodeAction.java
index 75e4b42..c9bdf42 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodeAction.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ClearNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 public class ClearNavigatorNodeAction extends ClearNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodesAction.java
index e0f5166..5ba7b22 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ClearNavigatorNodesAction.java
@@ -11,12 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public class ClearNavigatorNodesAction extends UDDIPropertiesFormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CommonPublisherAssertionsAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CommonPublisherAssertionsAction.java
index 5e14725..1920119 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CommonPublisherAssertionsAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CommonPublisherAssertionsAction.java
@@ -11,20 +11,25 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
 import org.uddi4j.client.UDDIProxy;
 import org.uddi4j.response.BusinessInfo;
 import org.uddi4j.response.RegisteredInfo;
 
-import java.util.Vector;
-import java.util.Iterator;
-import java.util.Enumeration;
-
 public abstract class CommonPublisherAssertionsAction extends UDDIPropertiesFormAction
 {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CompletePublisherAssertionsAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CompletePublisherAssertionsAction.java
index 8f73b8e..6a00853 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CompletePublisherAssertionsAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/CompletePublisherAssertionsAction.java
@@ -11,21 +11,32 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.client.UDDIProxy;
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.PublisherAssertionElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
-import org.uddi4j.response.*;
+import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.response.CompletionStatus;
+import org.uddi4j.response.DispositionReport;
+import org.uddi4j.response.Result;
 import org.uddi4j.transport.TransportException;
 
-import java.util.*;
-import java.net.*;
-
 public class CompletePublisherAssertionsAction extends CommonPublisherAssertionsAction
 {
   public CompletePublisherAssertionsAction(Controller controller)
@@ -141,8 +152,8 @@
     }
 
     UDDIProxy proxy = registryElement.getProxy();
-    String userID = registryElement.getUserId();
-    String cred = registryElement.getCred();
+    registryElement.getUserId();
+    registryElement.getCred();
     BusinessElement busElement = (BusinessElement)selectedElement;
     ListManager pubAssertions = busElement.getPublisherAssertions();
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/FindAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/FindAction.java
index b33b22a..2cde550 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/FindAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/FindAction.java
@@ -10,16 +10,33 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.MultipartFormDataParserTransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryParentElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.QueryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.SubQueryTransferTarget;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 
 public abstract class FindAction extends UDDIPropertiesFormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ManageReferencedServicesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ManageReferencedServicesAction.java
index 0e470ba..8a53f36 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ManageReferencedServicesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ManageReferencedServicesAction.java
@@ -11,23 +11,32 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.net.MalformedURLException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Perspective;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
+import org.uddi4j.client.UDDIProxy;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.service.BusinessServices;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.UDDIException;
 import org.uddi4j.transport.TransportException;
 
-import java.util.*;
-import java.net.*;
-
 public class ManageReferencedServicesAction extends UDDIPropertiesFormAction
 {
   protected String subQueryKey_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenCategoryBrowserAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenCategoryBrowserAction.java
index 55573c6..3d1b1fd 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenCategoryBrowserAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenCategoryBrowserAction.java
@@ -11,11 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 
 public class OpenCategoryBrowserAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenRegistryAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenRegistryAction.java
index e07820f..891ff4f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenRegistryAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/OpenRegistryAction.java
@@ -10,22 +10,39 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Hashtable;
+import java.util.Properties;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.CategoryModel;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.UDDIMainElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIMainNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.tmodel.*;
-import org.uddi4j.transport.*;
-import org.uddi4j.response.*;
-import org.uddi4j.util.*;
-import org.uddi4j.*;
-
-import java.util.*;
-import java.net.*;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.response.TModelDetail;
+import org.uddi4j.response.TModelInfo;
+import org.uddi4j.response.TModelInfos;
+import org.uddi4j.response.TModelList;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.KeyedReference;
 
 public class OpenRegistryAction extends UDDIPropertiesFormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/PublishAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/PublishAction.java
index 01a2206..22c9d8e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/PublishAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/PublishAction.java
@@ -10,22 +10,37 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.MultipartFormDataParserTransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.PublishedItemsElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
 
-import java.util.*;
-
 public abstract class PublishAction extends UDDIPropertiesFormAction
 {
   protected String subQueryKey_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodeAction.java
index 489bc01..1ca92f5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodeAction.java
@@ -11,20 +11,35 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.AddRegistryToUDDIPerspectiveAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.BusinessNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.PublishedItemsNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.QueryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.QueryParentNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceInterfaceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
 
-import java.util.*;
-
 public class RefreshUDDINodeAction extends UDDINodeAction
 {
   private Vector staleNodes_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodesAction.java
index 4b3d246..9feb1f1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RefreshUDDINodesAction.java
@@ -11,13 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public class RefreshUDDINodesAction extends UDDIPropertiesFormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessUUIDAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessUUIDAction.java
index 34223f5..4e3d8a2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessUUIDAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessUUIDAction.java
@@ -11,19 +11,23 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
-import org.uddi4j.transport.TransportException;
 import org.uddi4j.client.UDDIProxy;
 import org.uddi4j.datatype.business.BusinessEntity;
-
-import java.util.*;
+import org.uddi4j.transport.TransportException;
 
 public class RegFindBusinessUUIDAction extends FindAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesAdvancedAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesAdvancedAction.java
index c4f8fc1..771abc9 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesAdvancedAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesAdvancedAction.java
@@ -11,26 +11,38 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
+import java.net.MalformedURLException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
-import org.uddi4j.transport.TransportException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.*;
+import org.uddi4j.datatype.tmodel.TModel;
 import org.uddi4j.response.BusinessInfo;
 import org.uddi4j.response.BusinessInfos;
-import org.uddi4j.util.*;
-
-import java.util.*;
-import java.net.MalformedURLException;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.DiscoveryURL;
+import org.uddi4j.util.DiscoveryURLs;
+import org.uddi4j.util.FindQualifier;
+import org.uddi4j.util.FindQualifiers;
+import org.uddi4j.util.IdentifierBag;
+import org.uddi4j.util.KeyedReference;
+import org.uddi4j.util.TModelBag;
 
 public class RegFindBusinessesAdvancedAction extends FindAction
 {
@@ -64,9 +76,9 @@
     boolean inputsValid = true;
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
     MessageQueue messageQueue = uddiPerspective.getMessageQueue();
-    Node selectedNode = getSelectedNavigatorNode();
-    Node regNode = getRegistryNode();
-    RegistryElement regElement = (RegistryElement)regNode_.getTreeElement();
+    getSelectedNavigatorNode();
+    getRegistryNode();
+    regNode_.getTreeElement();
 
     if (ownedChecked != null)
       propertyTable_.put(UDDIActionInputs.QUERY_INPUT_ADVANCED_BUSINESS_OWNED,ownedChecked);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesSimpleAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesSimpleAction.java
index 00f285a..d2438b2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesSimpleAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindBusinessesSimpleAction.java
@@ -11,22 +11,24 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.*;
 import org.uddi4j.response.BusinessInfo;
 import org.uddi4j.response.BusinessInfos;
-
-import java.util.*;
+import org.uddi4j.transport.TransportException;
 
 public class RegFindBusinessesSimpleAction extends FindAction
 {
@@ -66,7 +68,7 @@
       nameVector.addElement(new Name(name));
 
       // The action can be run under the context of either a registry or a query node.
-      Node selectedNode = getSelectedNavigatorNode();
+      getSelectedNavigatorNode();
       RegistryElement regElement = (RegistryElement)regNode_.getTreeElement();
       UDDIProxy proxy = regElement.getProxy();
       
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfaceUUIDAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfaceUUIDAction.java
index ead534a..58f86e6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfaceUUIDAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfaceUUIDAction.java
@@ -11,20 +11,24 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
 import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.*;
+import org.uddi4j.response.TModelDetail;
 import org.uddi4j.transport.TransportException;
-import org.uddi4j.UDDIException;
-
-import java.util.*;
 
 public class RegFindServiceInterfaceUUIDAction extends FindAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesAdvancedAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesAdvancedAction.java
index defadda..40d2781 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesAdvancedAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesAdvancedAction.java
@@ -10,25 +10,41 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.*;
-import org.uddi4j.datatype.service.*;
-import org.uddi4j.datatype.tmodel.*;
-import org.uddi4j.response.*;
-import org.uddi4j.transport.TransportException;
-import org.uddi4j.util.*;
+import java.net.MalformedURLException;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
-
-import java.util.*;
-import java.net.*;
+import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.binding.BindingTemplate;
+import org.uddi4j.datatype.binding.BindingTemplates;
+import org.uddi4j.datatype.binding.TModelInstanceDetails;
+import org.uddi4j.datatype.binding.TModelInstanceInfo;
+import org.uddi4j.datatype.service.BusinessService;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.response.DispositionReport;
+import org.uddi4j.response.RegisteredInfo;
+import org.uddi4j.response.Result;
+import org.uddi4j.response.TModelDetail;
+import org.uddi4j.response.TModelInfo;
+import org.uddi4j.response.TModelInfos;
+import org.uddi4j.response.TModelList;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.FindQualifier;
+import org.uddi4j.util.FindQualifiers;
+import org.uddi4j.util.IdentifierBag;
+import org.uddi4j.util.KeyedReference;
 
 public class RegFindServiceInterfacesAdvancedAction extends FindAction
 {
@@ -61,7 +77,7 @@
     boolean inputsValid = true;
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
     MessageQueue messageQueue = uddiPerspective.getMessageQueue();
-    RegistryElement regElement = (RegistryElement)regNode_.getTreeElement();
+    regNode_.getTreeElement();
 
     if (useServiceChecked != null)
       propertyTable_.put(UDDIActionInputs.QUERY_INPUT_ADVANCED_SERVICE_INTERFACE_USE_SERVICE,useServiceChecked);
@@ -349,7 +365,6 @@
     TModelInfos tModelInfos = registeredInfo.getTModelInfos();
 
     //Get all the TModelKeys from within the TModelInfos
-    boolean endSearch = false;
     for (int i = 0; i < tModelInfos.size(); i++)
     {
       TModelInfo tModelInfo = tModelInfos.get(i);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesSimpleAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesSimpleAction.java
index 6cc3c1e..4203598 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesSimpleAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceInterfacesSimpleAction.java
@@ -11,20 +11,25 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
 import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.*;
+import org.uddi4j.response.TModelDetail;
+import org.uddi4j.response.TModelInfo;
+import org.uddi4j.response.TModelInfos;
+import org.uddi4j.response.TModelList;
 import org.uddi4j.transport.TransportException;
-import org.uddi4j.UDDIException;
-
-import java.util.*;
 
 public class RegFindServiceInterfacesSimpleAction extends FindAction
 {
@@ -42,7 +47,7 @@
     // Validate the data.
     boolean inputsValid = true;
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
-    MessageQueue messageQueue = uddiPerspective.getMessageQueue();
+    uddiPerspective.getMessageQueue();
     if (name != null)
       propertyTable_.put(UDDIActionInputs.QUERY_INPUT_SIMPLE_SERVICE_INTERFACE_NAME,name);
     else
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceUUIDAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceUUIDAction.java
index 207e868..9cbc035 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceUUIDAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServiceUUIDAction.java
@@ -11,20 +11,24 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
 import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.response.*;
+import org.uddi4j.response.ServiceDetail;
 import org.uddi4j.transport.TransportException;
-import org.uddi4j.UDDIException;
-
-import java.util.*;
 
 public class RegFindServiceUUIDAction extends FindAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesAdvancedAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesAdvancedAction.java
index 08d064c..8556db5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesAdvancedAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesAdvancedAction.java
@@ -10,26 +10,42 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.*;
+import org.uddi4j.response.BusinessInfo;
+import org.uddi4j.response.BusinessInfos;
+import org.uddi4j.response.DispositionReport;
+import org.uddi4j.response.RegisteredInfo;
+import org.uddi4j.response.Result;
+import org.uddi4j.response.ServiceDetail;
+import org.uddi4j.response.ServiceInfo;
+import org.uddi4j.response.ServiceInfos;
+import org.uddi4j.response.ServiceList;
 import org.uddi4j.transport.TransportException;
-import org.uddi4j.datatype.*;
-import org.uddi4j.util.*;
-import org.uddi4j.UDDIException;
-
-import java.util.*;
-import java.net.*;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.FindQualifier;
+import org.uddi4j.util.FindQualifiers;
+import org.uddi4j.util.KeyedReference;
+import org.uddi4j.util.TModelBag;
 
 public class RegFindServicesAdvancedAction extends FindAction
 {
@@ -60,7 +76,7 @@
     boolean inputsValid = true;
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
     MessageQueue messageQueue = uddiPerspective.getMessageQueue();
-    RegistryElement regElement = (RegistryElement)regNode_.getTreeElement();
+    regNode_.getTreeElement();
 
     if (ownedChecked != null)
       propertyTable_.put(UDDIActionInputs.QUERY_INPUT_ADVANCED_SERVICE_OWNED,ownedChecked);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesSimpleAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesSimpleAction.java
index 05618e4..5eaef0d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesSimpleAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegFindServicesSimpleAction.java
@@ -11,21 +11,26 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.datatype.*;
-import org.uddi4j.response.*;
-import org.uddi4j.transport.TransportException;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormInputException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.uddi4j.UDDIException;
-
-import java.util.*;
+import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.Name;
+import org.uddi4j.datatype.service.BusinessService;
+import org.uddi4j.response.ServiceDetail;
+import org.uddi4j.response.ServiceInfo;
+import org.uddi4j.response.ServiceInfos;
+import org.uddi4j.response.ServiceList;
+import org.uddi4j.transport.TransportException;
 
 public class RegFindServicesSimpleAction extends FindAction
 {
@@ -65,7 +70,7 @@
       nameVector.addElement(new Name(name));
 
       // The action can be run under the context of either a registry or a query node.
-      Node selectedNode = getSelectedNavigatorNode();
+      getSelectedNavigatorNode();
       RegistryElement regElement = (RegistryElement)regNode_.getTreeElement();
       UDDIProxy proxy = regElement.getProxy();
       ServiceList serviceList = proxy.find_service("",nameVector,null,null,null,UDDIActionInputs.QUERY_MAX_SEARCH_SET);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessAdvancedAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessAdvancedAction.java
index 001fbad..5ae3a8a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessAdvancedAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessAdvancedAction.java
@@ -11,26 +11,30 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
+import org.uddi4j.datatype.Description;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.*;
-import org.uddi4j.util.IdentifierBag;
+import org.uddi4j.transport.TransportException;
 import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.DiscoveryURLs;
 import org.uddi4j.util.DiscoveryURL;
+import org.uddi4j.util.DiscoveryURLs;
+import org.uddi4j.util.IdentifierBag;
 import org.uddi4j.util.KeyedReference;
 
-import java.util.*;
-import java.net.*;
-
 public class RegPublishBusinessAdvancedAction extends PublishAction
 {
   public RegPublishBusinessAdvancedAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessSimpleAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessSimpleAction.java
index 10ee7ef..57dd64d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessSimpleAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishBusinessSimpleAction.java
@@ -11,20 +11,22 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.net.MalformedURLException;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.*;
-
-import java.util.*;
-import java.net.*;
+import org.uddi4j.transport.TransportException;
 
 public class RegPublishBusinessSimpleAction extends PublishAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceAdvancedAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceAdvancedAction.java
index d9a3ca5..8cb48a6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceAdvancedAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceAdvancedAction.java
@@ -10,28 +10,35 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Vector;
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
+import org.uddi4j.datatype.Description;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.datatype.*;
-import org.uddi4j.util.*;
-
-import javax.wsdl.Definition;
-import javax.wsdl.WSDLException;
-import java.util.*;
-import java.net.*;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.KeyedReference;
 
 public class RegPublishServiceAdvancedAction extends PublishAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceAdvancedAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceAdvancedAction.java
index ef21852..9af4270 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceAdvancedAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceAdvancedAction.java
@@ -11,24 +11,29 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
+import javax.wsdl.WSDLException;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
+import org.uddi4j.datatype.Description;
 import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.datatype.*;
-import org.uddi4j.util.*;
-
-import javax.wsdl.WSDLException;
-import java.util.*;
-import java.net.*;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.IdentifierBag;
+import org.uddi4j.util.KeyedReference;
 
 public class RegPublishServiceInterfaceAdvancedAction extends PublishAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceSimpleAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceSimpleAction.java
index 211baad..6e6657c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceSimpleAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceInterfaceSimpleAction.java
@@ -11,22 +11,24 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import java.net.MalformedURLException;
+import java.util.Vector;
+import javax.wsdl.WSDLException;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
 import org.uddi4j.datatype.tmodel.TModel;
-
-import javax.wsdl.WSDLException;
-import java.util.*;
-import java.net.*;
+import org.uddi4j.transport.TransportException;
 
 public class RegPublishServiceInterfaceSimpleAction extends PublishAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceSimpleAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceSimpleAction.java
index bbe0caa..cc5c222 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceSimpleAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RegPublishServiceSimpleAction.java
@@ -10,27 +10,31 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.datatype.*;
-
-import javax.wsdl.WSDLException;
-import javax.wsdl.Definition;
-import java.util.*;
-import java.net.*;
+import org.uddi4j.transport.TransportException;
 
 public class RegPublishServiceSimpleAction extends PublishAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemovePublisherAssertionsAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemovePublisherAssertionsAction.java
index 87dce12..e6f615c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemovePublisherAssertionsAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemovePublisherAssertionsAction.java
@@ -11,22 +11,33 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.*;
-import org.uddi4j.response.*;
-import org.uddi4j.datatype.assertion.*;
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.PublisherAssertionElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.assertion.PublisherAssertion;
+import org.uddi4j.response.CompletionStatus;
+import org.uddi4j.response.DispositionReport;
+import org.uddi4j.response.Result;
 import org.uddi4j.transport.TransportException;
 
-import java.util.*;
-import java.net.*;
-
 public class RemovePublisherAssertionsAction extends CommonPublisherAssertionsAction
 {
   public RemovePublisherAssertionsAction(Controller controller)
@@ -145,8 +156,8 @@
     }
 
     UDDIProxy proxy = registryElement.getProxy();
-    String userID = registryElement.getUserId();
-    String cred = registryElement.getCred();
+    registryElement.getUserId();
+    registryElement.getCred();
     BusinessElement busElement = (BusinessElement)selectedElement;
     ListManager pubAssertions = busElement.getPublisherAssertions();
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemoveSubQueryItemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemoveSubQueryItemAction.java
index 6c82487..01bb1f7 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemoveSubQueryItemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/RemoveSubQueryItemAction.java
@@ -11,14 +11,17 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
-import javax.servlet.http.*;
-
-import java.util.*;
+import java.util.Vector;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 
 public class RemoveSubQueryItemAction extends Action
 {
@@ -60,8 +63,8 @@
   
   public boolean run()
   {
-    String subQueryKey = (String)propertyTable_.get(UDDIActionInputs.SUBQUERY_KEY);
-    String subQueryListKey = (String)propertyTable_.get(UDDIActionInputs.SUBQUERY_LIST_KEY);
+    propertyTable_.get(UDDIActionInputs.SUBQUERY_KEY);
+    propertyTable_.get(UDDIActionInputs.SUBQUERY_LIST_KEY);
     int subQueryListItemId = Integer.parseInt((String)propertyTable_.get(UDDIActionInputs.SUBQUERY_LIST_ITEMID));
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
     NodeManager navigatorManager = uddiPerspective.getNavigatorManager();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ResizeUDDIFramesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ResizeUDDIFramesAction.java
index 93041d6..8d37a96 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ResizeUDDIFramesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ResizeUDDIFramesAction.java
@@ -11,12 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ResizeFramesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIFrameNames;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public class ResizeUDDIFramesAction extends ResizeFramesAction
 {
@@ -47,7 +49,6 @@
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
     
     // Set the new frameset sizes.
-    boolean saveFrameSettings = false;
     if (frameName.equals(UDDIFrameNames.NAVIGATOR_CONTAINER))
     {
       uddiPerspective.setActionsContainerFramesetRows(actionsContainerFramesetRows);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectCategoryNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectCategoryNodeAction.java
index 7fa3d43..2088d3d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectCategoryNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectCategoryNodeAction.java
@@ -11,9 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 public class SelectCategoryNodeAction extends SelectNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectFindToolAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectFindToolAction.java
index 5afd276..896d0ca 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectFindToolAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectFindToolAction.java
@@ -10,11 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 
 public class SelectFindToolAction extends SelectPropertiesToolAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectNavigatorNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectNavigatorNodeAction.java
index a03472c..8b8ddba 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectNavigatorNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectNavigatorNodeAction.java
@@ -11,9 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 
 public class SelectNavigatorNodeAction extends SelectNodeAction
 {
@@ -37,9 +40,9 @@
     ToolManager toolManager = selectedNode_.getToolManager();
     Tool selectedTool = toolManager.getSelectedTool();
     int nodeId = selectedNode_.getNodeId();
-    int toolId = selectedTool.getToolId();
-    int viewId = selectedNode_.getViewId();
-    int viewToolId = selectedNode_.getViewToolId();
+    selectedTool.getToolId();
+    selectedNode_.getViewId();
+    selectedNode_.getViewToolId();
     if (selectedTool.getToolType() != ToolTypes.ACTION)
       return selectedTool.getSelectToolActionHref(true);
     else
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectPropertiesToolAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectPropertiesToolAction.java
index 388995c..821784a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectPropertiesToolAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectPropertiesToolAction.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 public class SelectPropertiesToolAction extends SelectNodeToolAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectSubQueryItemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectSubQueryItemAction.java
index 0d9f2f0..490fb96 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectSubQueryItemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SelectSubQueryItemAction.java
@@ -10,20 +10,23 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
+import java.util.Hashtable;
+import java.util.Vector;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
 
-import javax.servlet.http.*;
-
-import java.util.*;
-
 public class SelectSubQueryItemAction extends SelectPropertiesToolAction
 {
   private boolean requiresTreeViewRefresh_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetBusinessAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetBusinessAction.java
index 9b0987f..cf52346 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetBusinessAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetBusinessAction.java
@@ -11,16 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
-import org.uddi4j.datatype.service.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.NodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.uddi4j.datatype.service.BusinessService;
 
 public class ServiceGetBusinessAction extends NodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetServiceInterfacesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetServiceInterfacesAction.java
index 22ced4c..61f8124 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetServiceInterfacesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceGetServiceInterfacesAction.java
@@ -11,16 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
-import org.uddi4j.datatype.service.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.uddi4j.datatype.service.BusinessService;
 
 public class ServiceGetServiceInterfacesAction extends UDDINodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetBusinessesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetBusinessesAction.java
index 8187288..d800359 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetBusinessesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetBusinessesAction.java
@@ -11,17 +11,17 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
-import org.uddi4j.datatype.tmodel.*;
-import org.uddi4j.util.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceInterfaceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.util.TModelBag;
 
 public class ServiceInterfaceGetBusinessesAction extends UDDINodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetServicesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetServicesAction.java
index 52cbeea..bb23f27 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetServicesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ServiceInterfaceGetServicesAction.java
@@ -11,17 +11,17 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
-import org.uddi4j.datatype.tmodel.*;
-import org.uddi4j.util.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.ServiceInterfaceNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.util.TModelBag;
 
 public class ServiceInterfaceGetServicesAction extends UDDINodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ShowPublisherAssertionsAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ShowPublisherAssertionsAction.java
index 886bc99..44a6a98 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ShowPublisherAssertionsAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ShowPublisherAssertionsAction.java
@@ -11,22 +11,40 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.net.MalformedURLException;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.PublisherAssertionElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
-import org.uddi4j.transport.TransportException;
-import org.uddi4j.util.*;
-import org.uddi4j.response.*;
-import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.client.UDDIProxy;
-
-import java.util.*;
-import java.net.*;
+import org.uddi4j.datatype.business.BusinessEntity;
+import org.uddi4j.response.AssertionStatusItem;
+import org.uddi4j.response.AssertionStatusReport;
+import org.uddi4j.response.CompletionStatus;
+import org.uddi4j.response.DispositionReport;
+import org.uddi4j.response.RelatedBusinessInfo;
+import org.uddi4j.response.RelatedBusinessesList;
+import org.uddi4j.response.Result;
+import org.uddi4j.response.SharedRelationships;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.FindQualifiers;
+import org.uddi4j.util.KeyedReference;
 
 public class ShowPublisherAssertionsAction extends CommonPublisherAssertionsAction
 {
@@ -62,7 +80,7 @@
     subQueryKey_ = parser.getParameter(UDDIActionInputs.SUBQUERY_KEY);
 
     // Validate the data.
-    UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
+    controller_.getUDDIPerspective();
     FormTool formTool = getSelectedFormTool();
     FormToolPropertiesInterface formToolPI = ((MultipleFormToolPropertiesInterface)formTool).getFormToolProperties(subQueryKey_);
     formToolPI.clearErrors();
@@ -201,8 +219,8 @@
     formToolPI.removeProperty(UDDIActionInputs.QUERY_INPUT_EXISTING_PUBLISHER_ASSERTIONS);
     Vector queryInputVector = new Vector();
     RegistryElement registryElement = (RegistryElement)registryNode_.getTreeElement();
-    String userID = registryElement.getUserId();
-    String cred = registryElement.getCred();
+    registryElement.getUserId();
+    registryElement.getCred();
 
     // show all publisher assertions
     UDDIProxy proxy = ((RegistryElement)registryNode_.getTreeElement()).getProxy();
@@ -335,7 +353,6 @@
       String fromKey;
       String toKey;
       String owningBusinessKey;
-      ListElement sp;
       if (relatedBusInfo.getDefaultSharedRelationships().getDirection().equals(SharedRelationships.DIRECTION_FROMKEY)) {
         fromKey = busElement.getBusinessEntity().getBusinessKey();
         toKey = relatedBusInfo.getBusinessKey();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SwitchPerspectiveFromUDDIAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SwitchPerspectiveFromUDDIAction.java
index 8a142b3..5cc79e6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SwitchPerspectiveFromUDDIAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/SwitchPerspectiveFromUDDIAction.java
@@ -11,12 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ShowPerspectiveAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public final class SwitchPerspectiveFromUDDIAction extends ShowPerspectiveAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleCategoryNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleCategoryNodeAction.java
index 43272da..85a089d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleCategoryNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleCategoryNodeAction.java
@@ -11,10 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ToggleNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 
 public class ToggleCategoryNodeAction extends ToggleNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleNavigatorNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleNavigatorNodeAction.java
index a0fccac..0a8045b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleNavigatorNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/ToggleNavigatorNodeAction.java
@@ -11,9 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ToggleNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 
 public class ToggleNavigatorNodeAction extends ToggleNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferSubQueryResultsAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferSubQueryResultsAction.java
index 46b3134..0b20134 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferSubQueryResultsAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferSubQueryResultsAction.java
@@ -11,15 +11,27 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.SubQueryTransferTarget;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
 public class TransferSubQueryResultsAction extends UDDIPropertiesFormAction
 {
@@ -56,7 +68,7 @@
   {
     // Transfer the results in this Query node into the property expected by the originating node.
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
-    MessageQueue messageQueue = uddiPerspective.getMessageQueue();
+    uddiPerspective.getMessageQueue();
 
     String[] selectedNodeIds = (String[])propertyTable_.get(UDDIActionInputs.SELECTED_NODEIDS);
     Node currentNode = getSelectedNavigatorNode();
@@ -73,7 +85,7 @@
 
     String targetProperty = subQueryKey.substring(lastSeparatorPos+1,subQueryKey.length());
     FormTool targetFormTool = target.getTargetFormTool();
-    FormToolPropertiesInterface subQueryFormToolPI = ((MultipleFormToolPropertiesInterface)targetFormTool).getFormToolProperties(subQueryKey);
+    ((MultipleFormToolPropertiesInterface)targetFormTool).getFormToolProperties(subQueryKey);
     FormToolPropertiesInterface targetQueryFormToolPI = ((MultipleFormToolPropertiesInterface)targetFormTool).getFormToolProperties(targetQueryKey);
     Vector targetList = (Vector)targetQueryFormToolPI.getProperty(targetProperty);
     if (targetList == null)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferToAddCategoryDataAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferToAddCategoryDataAction.java
index 566b0b8..025265d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferToAddCategoryDataAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/TransferToAddCategoryDataAction.java
@@ -11,11 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 
 public class TransferToAddCategoryDataAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIAddToWSDLPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIAddToWSDLPerspectiveAction.java
index 7ee6479..5f0659a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIAddToWSDLPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIAddToWSDLPerspectiveAction.java
@@ -11,24 +11,26 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.*;
-
-import org.uddi4j.datatype.service.BusinessService;
-
-import javax.servlet.http.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import javax.servlet.http.HttpServletRequest;
 import javax.wsdl.Definition;
 import javax.wsdl.WSDLException;
-
-import java.util.*;
-import java.net.*;
-import java.io.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.OpenWSDLAction;
+import org.uddi4j.datatype.service.BusinessService;
 
 public class UDDIAddToWSDLPerspectiveAction extends LinkAction
 {
@@ -64,7 +66,7 @@
     // Perform data validation.
     try
     {
-      int nodeId = Integer.parseInt(nodeIdString);
+      Integer.parseInt(nodeIdString);
     }
     catch (NumberFormatException e)
     {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToFileSystemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToFileSystemAction.java
index f0b281f..3c49d5f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToFileSystemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToFileSystemAction.java
@@ -11,16 +11,19 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-
-import java.io.*;
+import java.io.OutputStream;
 import javax.wsdl.Definition;
-
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.WSDLFileNameHelper;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToWorkbenchAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToWorkbenchAction.java
index 083435a..4ab1cac 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToWorkbenchAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIImportWSDLToWorkbenchAction.java
@@ -11,12 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-
 import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToWorkbenchAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 
 public class UDDIImportWSDLToWorkbenchAction extends ImportToWorkbenchAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDILaunchWebServiceWizardAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDILaunchWebServiceWizardAction.java
index b290772..6a65f46 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDILaunchWebServiceWizardAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDILaunchWebServiceWizardAction.java
@@ -11,19 +11,23 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import javax.wsdl.Definition;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.LaunchWebServiceWizardAction;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
 
-import java.io.*;
-import javax.wsdl.Definition;
-
 public class UDDILaunchWebServiceWizardAction extends LaunchWebServiceWizardAction
 {
   public UDDILaunchWebServiceWizardAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDINodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDINodeAction.java
index d21e582..4387ffc 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDINodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDINodeAction.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.NodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIMainNode;
 
 public abstract class UDDINodeAction extends NodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIPropertiesFormAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIPropertiesFormAction.java
index 4dd19b6..1078b29 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIPropertiesFormAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UDDIPropertiesFormAction.java
@@ -11,9 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIMainNode;
 
 public abstract class UDDIPropertiesFormAction extends FormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UnpublishAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UnpublishAction.java
index b3cca28..9a9af76 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UnpublishAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UnpublishAction.java
@@ -11,19 +11,27 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.transport.TransportException;
-import org.uddi4j.response.*;
-import org.uddi4j.*;
+import java.net.MalformedURLException;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-
-import java.net.*;
+import org.uddi4j.response.DispositionReport;
+import org.uddi4j.transport.TransportException;
 
 public class UnpublishAction extends UDDIPropertiesFormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateAction.java
index 2bfbb99..6f63650 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateAction.java
@@ -10,22 +10,37 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.MultipartFormDataParserTransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.PublishedItemsNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
 
-import java.util.*;
-
 public abstract class UpdateAction extends UDDIPropertiesFormAction
 {
   protected RegistryNode regNode_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateBusinessAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateBusinessAction.java
index b4db6d9..0c30fcf 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateBusinessAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateBusinessAction.java
@@ -11,22 +11,30 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.transport.TransportException;
+import org.uddi4j.datatype.Description;
+import org.uddi4j.datatype.Name;
 import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.*;
-import org.uddi4j.util.*;
-
-import java.util.*;
-import java.net.*;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.DiscoveryURL;
+import org.uddi4j.util.DiscoveryURLs;
+import org.uddi4j.util.IdentifierBag;
+import org.uddi4j.util.KeyedReference;
 
 public class UpdateBusinessAction extends UpdateAction
 {
@@ -258,7 +266,7 @@
   public final boolean refreshFromRegistry()
   {
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
-    MessageQueue messageQueue = uddiPerspective.getMessageQueue();
+    uddiPerspective.getMessageQueue();
     try
     {
       String uuidKey = (String)propertyTable_.get(UDDIActionInputs.QUERY_INPUT_UUID_BUSINESS_KEY);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateRegistryAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateRegistryAction.java
index acc9a12..4edc31d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateRegistryAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateRegistryAction.java
@@ -10,14 +10,19 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import java.text.*;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.StringReader;
+import java.text.ParseException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.CategoryModel;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 
 public class UpdateRegistryAction extends UpdateAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceAction.java
index 309b18f..41bfc58 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceAction.java
@@ -11,28 +11,35 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.datatype.*;
-import org.uddi4j.response.*;
-import org.uddi4j.transport.TransportException;
-import org.uddi4j.util.*;
-import org.uddi4j.UDDIException;
-
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
 import javax.wsdl.Definition;
 import javax.wsdl.WSDLException;
-import java.util.*;
-import java.net.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegPublishTool;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
+import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.Description;
+import org.uddi4j.datatype.Name;
+import org.uddi4j.datatype.business.BusinessEntity;
+import org.uddi4j.datatype.service.BusinessService;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.response.ServiceDetail;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.KeyedReference;
 
 public class UpdateServiceAction extends UpdateAction
 {
@@ -229,7 +236,7 @@
   public final boolean refreshBusinessFromRegistry()
   {
     UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
-    MessageQueue messageQueue = uddiPerspective.getMessageQueue();
+    uddiPerspective.getMessageQueue();
     try
     {
       String uuidBusinessKey = (String)propertyTable_.get(UDDIActionInputs.QUERY_INPUT_UUID_BUSINESS_KEY);
@@ -260,7 +267,7 @@
   
   public final boolean refreshFromRegistry()
   {
-    UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
+    controller_.getUDDIPerspective();
     try
     {
       String uuidServiceKey = (String)propertyTable_.get(UDDIActionInputs.QUERY_INPUT_UUID_SERVICE_KEY);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceInterfaceAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceInterfaceAction.java
index d804027..a042a20 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceInterfaceAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/actions/UpdateServiceInterfaceAction.java
@@ -11,25 +11,30 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.datatype.*;
-import org.uddi4j.transport.TransportException;
-import org.uddi4j.response.*;
-import org.uddi4j.util.*;
-import org.uddi4j.UDDIException;
-
+import java.net.MalformedURLException;
+import java.util.Hashtable;
+import java.util.Vector;
 import javax.wsdl.WSDLException;
-import java.util.*;
-import java.net.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.uddi4j.UDDIException;
+import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.Description;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.response.TModelDetail;
+import org.uddi4j.transport.TransportException;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.IdentifierBag;
+import org.uddi4j.util.KeyedReference;
 
 public class UpdateServiceInterfaceAction extends UpdateAction
 {
@@ -204,7 +209,7 @@
 
   public final boolean refreshFromRegistry()
   {
-    UDDIPerspective uddiPerspective = controller_.getUDDIPerspective();
+    controller_.getUDDIPerspective();
     try
     {
       String uuidKey = (String)propertyTable_.get(UDDIActionInputs.QUERY_INPUT_UUID_SERVICE_INTERFACE_KEY);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/AbstractUDDIElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/AbstractUDDIElement.java
index 09562fd..a40b239 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/AbstractUDDIElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/AbstractUDDIElement.java
@@ -10,12 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
+import java.util.Enumeration;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 
-import java.util.Enumeration;
-
 public abstract class AbstractUDDIElement extends TreeElement
 {
   public AbstractUDDIElement(String name, Model model)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/BusinessElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/BusinessElement.java
index b1d4ed2..f6fcc6a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/BusinessElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/BusinessElement.java
@@ -10,9 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
 import org.uddi4j.datatype.business.BusinessEntity;
 
 public class BusinessElement extends AbstractUDDIElement
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryElement.java
index 478c87f..b111b24 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryElement.java
@@ -10,9 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-
-import org.uddi4j.util.*;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.uddi4j.util.KeyedReference;
 
 public class CategoryElement extends AbstractUDDIElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryModel.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryModel.java
index 85a1ba3..aa4d07c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryModel.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/CategoryModel.java
@@ -10,18 +10,31 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-
-import org.uddi4j.util.*;
-
-import java.util.*;
-import java.text.*;
-import java.io.*;
-
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.text.ParseException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Vector;
 import javax.servlet.ServletContext;
+import org.eclipse.wst.ws.internal.datamodel.BasicModel;
+import org.eclipse.wst.ws.internal.datamodel.Element;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.util.HTMLUtils;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Category;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.uddi4j.util.KeyedReference;
 
 public class CategoryModel extends BasicModel
 {
@@ -156,6 +169,31 @@
     return string.startsWith("\"") && string.endsWith("\"");
   }
 
+  public final void loadFromTaxonomy(Taxonomy taxonomy)
+  {
+    String name = taxonomy.getName();
+    CategoryElement root = new CategoryElement(name,null,this);
+    setRootElement(root);
+    categoryElements_ = new Hashtable();
+    for (Iterator it = taxonomy.getCategory().iterator(); it.hasNext();)
+    {
+      addCategory(root, (Category)it.next());
+    }
+  }
+
+  private void addCategory(CategoryElement parent, Category category)
+  {
+    String keyName = category.getName();
+    String keyValue = category.getCode();
+    CategoryElement child = new CategoryElement(keyName,new KeyedReference(keyName,keyValue,tModelKey_),this);
+    parent.connect(child,UDDIModelConstants.REL_SUBCATEGORIES,ModelConstants.REL_OWNER);
+    categoryElements_.put(keyValue, child);   
+    for (Iterator it = category.getCategory().iterator(); it.hasNext();)
+    {
+      addCategory(child, (Category)it.next());
+    }
+  }
+
   public final byte loadFromDefaultDataFile()
   {
     try
@@ -247,7 +285,6 @@
         if (line.trim().length() == 0)
           continue;
         int index = 0;
-        int tokenCount = 0;
         int length = line.length();
         boolean inStringDelimiters = false;
         values.removeAllElements();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublishedItemsElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublishedItemsElement.java
index d494324..f24b27c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublishedItemsElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublishedItemsElement.java
@@ -10,11 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
 
 public class PublishedItemsElement extends AbstractUDDIElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublisherAssertionElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublisherAssertionElement.java
index 8580dd6..eac7d61 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublisherAssertionElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/PublisherAssertionElement.java
@@ -11,11 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
 import org.uddi4j.datatype.assertion.PublisherAssertion;
 import org.uddi4j.util.KeyedReference;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
-
 public class PublisherAssertionElement {
 
   // owningBusinessKey_ is the key of the business element that owns this
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryElement.java
index fdf824f..59bed50 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryElement.java
@@ -10,15 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.datatype.tmodel.*;
-
-import java.util.*;
+import org.uddi4j.datatype.tmodel.TModel;
 
 public class QueryElement extends AbstractUDDIElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryParentElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryParentElement.java
index 961485b..c2d822c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryParentElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/QueryParentElement.java
@@ -10,11 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
 
 public class QueryParentElement extends AbstractUDDIElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/RegistryElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/RegistryElement.java
index 2949762..24c336d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/RegistryElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/RegistryElement.java
@@ -10,17 +10,19 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.parser.discovery.*;
+import java.net.MalformedURLException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.parser.discovery.NetUtils;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.Description;
+import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.response.AuthToken;
 import org.uddi4j.transport.TransportException;
-import org.uddi4j.datatype.service.*;
-import org.uddi4j.datatype.*;
-import java.util.*;
-import java.net.*;
 
 public class RegistryElement extends AbstractUDDIElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceElement.java
index 62f559f..cc10e2c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceElement.java
@@ -10,8 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.uddi4j.datatype.service.BusinessService;
 
 public class ServiceElement extends AbstractUDDIElement
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceInterfaceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceInterfaceElement.java
index 7eb9acf..108142d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceInterfaceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/ServiceInterfaceElement.java
@@ -10,8 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.uddi4j.datatype.tmodel.TModel;
 
 public class ServiceInterfaceElement extends AbstractUDDIElement
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/UDDIMainElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/UDDIMainElement.java
index 1ba793a..ef72f68 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/UDDIMainElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/datamodel/UDDIMainElement.java
@@ -11,10 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 
 public class UDDIMainElement extends TreeElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusPublishServiceTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusPublishServiceTool.java
index c45adca..aa2a617 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusPublishServiceTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusPublishServiceTool.java
@@ -11,12 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectFindToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class BusPublishServiceTool extends FormTool implements MultipleFormToolPropertiesInterface
 {
@@ -30,7 +31,7 @@
 
   protected final void initDefaultProperties()
   {
-    UDDIPerspective uddiPerspective = toolManager_.getNode().getNodeManager().getController().getUDDIPerspective();
+    toolManager_.getNode().getNodeManager().getController().getUDDIPerspective();
 
     setProperty(UDDIActionInputs.SUBQUERY_KEY,"");
 
@@ -89,7 +90,7 @@
     String subQueryKey = null;
     if (subQueryKeyObject != null)
     {
-      Hashtable subQueriesProperties = (Hashtable)getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
+      getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
       FormToolPropertiesInterface subQueryProperties = getFormToolProperties(subQueryKeyObject);
       Object subQueryGetObject = subQueryProperties.getProperty(UDDIActionInputs.SUBQUERY_GET);
       if (subQueryGetObject != null)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessDetailsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessDetailsTool.java
index 97ed102..b05a853 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessDetailsTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessDetailsTool.java
@@ -11,15 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
 import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.util.*;
-
-import java.util.*;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.DiscoveryURLs;
+import org.uddi4j.util.IdentifierBag;
 
 public class BusinessDetailsTool extends DetailsTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessNode.java
index 307ffde..41023b6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/BusinessNode.java
@@ -11,10 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.BusinessGetServicesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class BusinessNode extends UDDINavigatorNode
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/CategoryNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/CategoryNode.java
index dea0df0..9c4ac3e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/CategoryNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/CategoryNode.java
@@ -11,13 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectCategoryNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.ToggleCategoryNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIFrameNames;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.CategoryElement;
 
 public class CategoryNode extends Node
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/DetailsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/DetailsTool.java
index 2f8cfcd..4571f14 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/DetailsTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/DetailsTool.java
@@ -11,13 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class DetailsTool extends FormTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetBusinessesTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetBusinessesTool.java
index 4f4f3cf..ac040de 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetBusinessesTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetBusinessesTool.java
@@ -11,8 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ActionTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
 
 public class GetBusinessesTool extends ActionTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServiceInterfacesTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServiceInterfacesTool.java
index 7ea5ac0..8ed7663 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServiceInterfacesTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServiceInterfacesTool.java
@@ -11,8 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ActionTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
 
 public class GetServiceInterfacesTool extends ActionTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServicesTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServicesTool.java
index f2f034a..e14e655 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServicesTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/GetServicesTool.java
@@ -11,8 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ActionTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
 
 public class GetServicesTool extends ActionTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManagePublisherAssertionsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManagePublisherAssertionsTool.java
index 95dc279..ec551e6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManagePublisherAssertionsTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManagePublisherAssertionsTool.java
@@ -11,13 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectFindToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class ManagePublisherAssertionsTool extends FormTool implements MultipleFormToolPropertiesInterface
 {
@@ -83,7 +84,7 @@
     String subQueryKey = null;
     if (subQueryKeyObject != null)
     {
-      Hashtable subQueriesProperties = (Hashtable)getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
+      getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
       FormToolPropertiesInterface subQueryProperties = getFormToolProperties(subQueryKeyObject);
       Object subQueryGetObject = subQueryProperties.getProperty(UDDIActionInputs.SUBQUERY_GET);
       if (subQueryGetObject != null)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManageReferencedServicesTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManageReferencedServicesTool.java
index 1faa92f..17f2c65 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManageReferencedServicesTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ManageReferencedServicesTool.java
@@ -11,12 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectFindToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class ManageReferencedServicesTool extends FormTool implements MultipleFormToolPropertiesInterface
 {
@@ -82,7 +83,7 @@
     String subQueryKey = null;
     if (subQueryKeyObject != null)
     {
-      Hashtable subQueriesProperties = (Hashtable)getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
+      getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
       FormToolPropertiesInterface subQueryProperties = getFormToolProperties(subQueryKeyObject);
       Object subQueryGetObject = subQueryProperties.getProperty(UDDIActionInputs.SUBQUERY_GET);
       if (subQueryGetObject != null)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/MultipleFormToolPropertiesInterface.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/MultipleFormToolPropertiesInterface.java
index e3507e2..d14fbe2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/MultipleFormToolPropertiesInterface.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/MultipleFormToolPropertiesInterface.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
 
 public abstract interface MultipleFormToolPropertiesInterface
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/OpenRegistryTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/OpenRegistryTool.java
index 1c38858..a2aee33 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/OpenRegistryTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/OpenRegistryTool.java
@@ -11,14 +11,17 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 
 public class OpenRegistryTool extends FormTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/PublishedItemsNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/PublishedItemsNode.java
index c431461..6539d9a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/PublishedItemsNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/PublishedItemsNode.java
@@ -11,11 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.PublishedItemsElement;
 
 public class PublishedItemsNode extends UDDINavigatorFolderNode
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryNode.java
index 435046a..3b014f7 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryNode.java
@@ -11,20 +11,26 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.FindAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
 
-import java.util.*;
-
 public class QueryNode extends UDDINavigatorNode
 {
   private FormTool regFindTool_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryParentNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryParentNode.java
index 1771896..d482fe1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryParentNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/QueryParentNode.java
@@ -11,11 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class QueryParentNode extends UDDINavigatorFolderNode
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RefreshTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RefreshTool.java
index 4e4b127..233f8c9 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RefreshTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RefreshTool.java
@@ -11,13 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ActionTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.RefreshUDDINodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
 
 public class RefreshTool extends ActionTool
 {
-  private String actionLink_;
-
   public RefreshTool(ToolManager toolManager,String alt)
   {
     super(toolManager,"images/refresh_enabled.gif","images/refresh_highlighted.gif",alt);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegFindTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegFindTool.java
index 7db89c6..7dc9ae8 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegFindTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegFindTool.java
@@ -11,12 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolProperties;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectFindToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class RegFindTool extends FormTool implements MultipleFormToolPropertiesInterface
 {
@@ -36,7 +39,7 @@
 
   private final void initDefaultProperties(FormToolPropertiesInterface formToolPI)
   {
-    UDDIPerspective uddiPerspective = toolManager_.getNode().getNodeManager().getController().getUDDIPerspective();
+    toolManager_.getNode().getNodeManager().getController().getUDDIPerspective();
 
     formToolPI.setProperty(UDDIActionInputs.QUERY_ITEM,String.valueOf(UDDIActionInputs.QUERY_ITEM_BUSINESSES));
     String simpleStyleString = String.valueOf(UDDIActionInputs.QUERY_STYLE_SIMPLE);
@@ -122,7 +125,7 @@
     Object subQueryKeyObject = getProperty(UDDIActionInputs.SUBQUERY_KEY);
     if (subQueryKeyObject != null)
     {
-      Hashtable subQueriesProperties = (Hashtable)getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
+      getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
       FormToolPropertiesInterface subQueryProperties = getFormToolProperties(subQueryKeyObject);
       Object subQueryGetObject = subQueryProperties.getProperty(UDDIActionInputs.SUBQUERY_GET);
       if (subQueryGetObject != null)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegPublishTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegPublishTool.java
index a8babd5..fc9ac20 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegPublishTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegPublishTool.java
@@ -11,12 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectFindToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class RegPublishTool extends FormTool implements MultipleFormToolPropertiesInterface
 {
@@ -31,7 +32,7 @@
 
   protected final void initDefaultProperties()
   {
-    UDDIPerspective uddiPerspective = toolManager_.getNode().getNodeManager().getController().getUDDIPerspective();
+    toolManager_.getNode().getNodeManager().getController().getUDDIPerspective();
 
     setProperty(UDDIActionInputs.SUBQUERY_KEY,"");
 
@@ -105,7 +106,7 @@
     String subQueryKey = null;
     if (subQueryKeyObject != null)
     {
-      Hashtable subQueriesProperties = (Hashtable)getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
+      getProperty(UDDIActionInputs.SUBQUERIES_PROPERTIES);
       FormToolPropertiesInterface subQueryProperties = getFormToolProperties(subQueryKeyObject);
       Object subQueryGetObject = subQueryProperties.getProperty(UDDIActionInputs.SUBQUERY_GET);
       if (subQueryGetObject != null)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryDetailsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryDetailsTool.java
index 03c35fc..ce960f0 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryDetailsTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryDetailsTool.java
@@ -11,10 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class RegistryDetailsTool extends DetailsTool
 {
@@ -26,7 +26,7 @@
   public final void initDefaultProperties()
   {
     clearPropertyTable();
-    Controller controller = toolManager_.getNode().getNodeManager().getController();
+    toolManager_.getNode().getNodeManager().getController();
     RegistryElement regElement = (RegistryElement)(toolManager_.getNode().getTreeElement());
     setProperty(UDDIActionInputs.QUERY_INPUT_ADVANCED_REGISTRY_NAME,regElement.getName());
   }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryNode.java
index 15bff92..ccf0297 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RegistryNode.java
@@ -11,14 +11,20 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.PublishedItemsElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.QueryParentElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class RegistryNode extends UDDINavigatorNode
 {
@@ -88,7 +94,7 @@
 
   protected final void initTools()
   {
-    Controller controller = nodeManager_.getController();
+    nodeManager_.getController();
     UDDIPerspective uddiPerspective = nodeManager_.getController().getUDDIPerspective();
     regDetailsTool_ = new RegistryDetailsTool(toolManager_ ,uddiPerspective.getMessage("ALT_REGISTRY_DETAILS"));
     RegFindTool regFindTool = new RegFindTool(toolManager_,uddiPerspective.getMessage("ALT_FIND"));
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ResultsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ResultsTool.java
index a6340d0..99a765a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ResultsTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ResultsTool.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
 
 public class ResultsTool extends FormTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RootCategoryNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RootCategoryNode.java
index 5726ee6..c0c4233 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RootCategoryNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/RootCategoryNode.java
@@ -11,12 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.CategoryElement;
 
 public class RootCategoryNode extends Node
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceDetailsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceDetailsTool.java
index e714ac5..4f70b40 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceDetailsTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceDetailsTool.java
@@ -11,15 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import org.uddi4j.datatype.service.*;
-import org.uddi4j.util.*;
-
-import java.util.*;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceElement;
+import org.uddi4j.datatype.service.BusinessService;
+import org.uddi4j.util.CategoryBag;
 
 public class ServiceDetailsTool extends DetailsTool
 {
@@ -31,7 +30,7 @@
   public final void initDefaultProperties()
   {
     clearPropertyTable();
-    Controller controller = toolManager_.getNode().getNodeManager().getController();
+    toolManager_.getNode().getNodeManager().getController();
     ServiceElement serviceElement = (ServiceElement)(toolManager_.getNode().getTreeElement());
     BusinessService busService = serviceElement.getBusinessService();
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceDetailsTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceDetailsTool.java
index 5d4f1d9..4e70e98 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceDetailsTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceDetailsTool.java
@@ -11,16 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import org.uddi4j.datatype.tmodel.*;
-import org.uddi4j.util.*;
-
-import java.util.*;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.ServiceInterfaceElement;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.IdentifierBag;
 
 public class ServiceInterfaceDetailsTool extends DetailsTool
 {
@@ -32,7 +32,7 @@
   public final void initDefaultProperties()
   {
     clearPropertyTable();
-    Controller controller = toolManager_.getNode().getNodeManager().getController();
+    toolManager_.getNode().getNodeManager().getController();
     ServiceInterfaceElement siElement = (ServiceInterfaceElement)(toolManager_.getNode().getTreeElement());
     TModel tModel = siElement.getTModel();
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceNode.java
index bddcad2..b3fca7c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceInterfaceNode.java
@@ -11,11 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.ServiceInterfaceGetBusinessesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.ServiceInterfaceGetServicesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class ServiceInterfaceNode extends UDDINavigatorNode
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceNode.java
index d732b07..f2c0a57 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/ServiceNode.java
@@ -11,11 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.ServiceGetBusinessAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.ServiceGetServiceInterfacesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class ServiceNode extends UDDINavigatorNode
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/SubQueryTransferTarget.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/SubQueryTransferTarget.java
index 74a8fac..acd8274 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/SubQueryTransferTarget.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/SubQueryTransferTarget.java
@@ -11,10 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
 
 public class SubQueryTransferTarget
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIAddToWSDLPerspectiveTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIAddToWSDLPerspectiveTool.java
index d621f8e..97a68a3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIAddToWSDLPerspectiveTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIAddToWSDLPerspectiveTool.java
@@ -11,8 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.AddToWSDLPerspectiveTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.UDDIAddToWSDLPerspectiveAction;
 
 public class UDDIAddToWSDLPerspectiveTool extends AddToWSDLPerspectiveTool {
   public UDDIAddToWSDLPerspectiveTool(ToolManager toolManager, String alt) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToFileSystemTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToFileSystemTool.java
index fe9f7f8..cba7ba0 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToFileSystemTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToFileSystemTool.java
@@ -11,8 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ImportToFileSystemTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.UDDIImportWSDLToFileSystemAction;
 
 public class UDDIImportWSDLToFileSystemTool extends ImportToFileSystemTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToWorkbenchTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToWorkbenchTool.java
index 2752ad8..627683b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToWorkbenchTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIImportWSDLToWorkbenchTool.java
@@ -11,8 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ImportToWorkbenchTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
 
 public class UDDIImportWSDLToWorkbenchTool extends ImportToWorkbenchTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDILaunchWebServiceWizardTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDILaunchWebServiceWizardTool.java
index ee99d18..3f432c2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDILaunchWebServiceWizardTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDILaunchWebServiceWizardTool.java
@@ -11,8 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.LaunchWebServiceWizardTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
 
 public class UDDILaunchWebServiceWizardTool extends LaunchWebServiceWizardTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIMainNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIMainNode.java
index a8773d3..f2ed89e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIMainNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIMainNode.java
@@ -11,13 +11,17 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
-
-import java.util.*;
+import java.util.Enumeration;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.UDDIMainElement;
 
 // Root node for the UDDI Navigator Tree View
 public class UDDIMainNode extends UDDINavigatorNode
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorFolderNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorFolderNode.java
index 63f6a2b..6bbf4cc 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorFolderNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorFolderNode.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FolderNode;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectNavigatorNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.ToggleNavigatorNodeAction;
 
 public abstract class UDDINavigatorFolderNode extends FolderNode
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorNode.java
index 2490287..bf59abf 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDINavigatorNode.java
@@ -11,10 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectNavigatorNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.ToggleNavigatorNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public abstract class UDDINavigatorNode extends Node
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIPerspective.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIPerspective.java
index ba5e870..7285e22 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIPerspective.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UDDIPerspective.java
@@ -17,9 +17,7 @@
 import java.util.Hashtable;
 import java.util.Properties;
 import java.util.Vector;
-
 import javax.servlet.ServletContext;
-
 import org.eclipse.wst.ws.internal.datamodel.BasicModel;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.explorer.favorites.FavoritesRegistryTypeDefault;
@@ -125,13 +123,6 @@
           geoModel.setTModelKey(TModel.ISO_CH_TMODEL_KEY);
           commonCategoryModels.put(TModel.ISO_CH_TMODEL_KEY,geoModel);
           
-          CategoryModel dWCommunityModel = new CategoryModel();
-          dWCommunityModel.setServletContext(application);
-          dWCommunityModel.setDefaultDataFile("/uddi/data/dWCommunity-data.txt");
-          dWCommunityModel.setDisplayName(getMessage("FORM_OPTION_CATEGORY_DWCOMMUNITY"));
-          dWCommunityModel.setTModelKey("UUID:8F497C50-EB05-11D6-B618-000629DC0A53");
-          commonCategoryModels.put("UUID:8F497C50-EB05-11D6-B618-000629DC0A53",dWCommunityModel);
-          
           application.setAttribute("commonCategoryModels",commonCategoryModels);
         }
       }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UnpublishTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UnpublishTool.java
index a0dd6ae..8cfcd05 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UnpublishTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/perspective/UnpublishTool.java
@@ -11,10 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.SelectPropertiesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 
 public class UnpublishTool extends FormTool
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/util/Uddi4jHelper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/util/Uddi4jHelper.java
index 5dfca9e..10e3b8c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/util/Uddi4jHelper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/uddi/util/Uddi4jHelper.java
@@ -11,26 +11,25 @@
 package org.eclipse.wst.ws.internal.explorer.platform.uddi.util;
 
 import java.util.Hashtable;
-import java.util.Vector;
-import java.util.List;
 import java.util.Iterator;
-import javax.wsdl.Definition;
-import javax.wsdl.Service;
-import javax.wsdl.Port;
+import java.util.List;
+import java.util.Vector;
 import javax.wsdl.Binding;
-import javax.wsdl.PortType;
-import javax.wsdl.Message;
+import javax.wsdl.Definition;
 import javax.wsdl.Import;
+import javax.wsdl.Message;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
 import javax.wsdl.WSDLException;
 import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
 import javax.wsdl.extensions.http.HTTPAddress;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.CharacterData;
+import javax.wsdl.extensions.soap.SOAPAddress;
+import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.uddi4j.UDDIException;
 import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.OverviewDoc;
+import org.uddi4j.datatype.OverviewURL;
 import org.uddi4j.datatype.binding.AccessPoint;
 import org.uddi4j.datatype.binding.BindingTemplate;
 import org.uddi4j.datatype.binding.BindingTemplates;
@@ -39,14 +38,13 @@
 import org.uddi4j.datatype.binding.TModelInstanceInfo;
 import org.uddi4j.datatype.service.BusinessService;
 import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.datatype.OverviewDoc;
-import org.uddi4j.datatype.OverviewURL;
 import org.uddi4j.response.TModelDetail;
 import org.uddi4j.transport.TransportException;
 import org.uddi4j.util.CategoryBag;
 import org.uddi4j.util.KeyedReference;
-
-import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
+import org.w3c.dom.CharacterData;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 
 public class Uddi4jHelper
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/CharArrayWrapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/CharArrayWrapper.java
index ff74f67..d54f81c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/CharArrayWrapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/CharArrayWrapper.java
@@ -11,9 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.util;
 
-import javax.servlet.http.*;
-
-import java.io.*;
+import java.io.CharArrayWriter;
+import java.io.PrintWriter;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
 
 public class CharArrayWrapper extends HttpServletResponseWrapper
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/DirUtils.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/DirUtils.java
index b4dc81a..2ba8bc5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/DirUtils.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/DirUtils.java
@@ -1,3 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.explorer.platform.util;
 
 import java.util.Locale;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/HTMLUtils.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/HTMLUtils.java
index f084d3c..7ebcb0a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/HTMLUtils.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/HTMLUtils.java
@@ -11,8 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.util;
 
-import javax.servlet.http.*;
-import java.util.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.servlet.http.HttpServletResponse;
 
 public final class HTMLUtils
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/MultipartFormDataParser.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/MultipartFormDataParser.java
index d442218..193036d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/MultipartFormDataParser.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/MultipartFormDataParser.java
@@ -10,10 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.util;
 
-import java.io.*;
-import java.util.*;
-
-import javax.servlet.http.*;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+import javax.servlet.http.HttpServletRequest;
 
 public final class MultipartFormDataParser
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/QuickSort.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/QuickSort.java
index 0851513..9fa7e2e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/QuickSort.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/QuickSort.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.util;
 
-import java.text.*;
+import java.text.Collator;
 import java.util.Vector;
 
 public class QuickSort
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/TrimFilter.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/TrimFilter.java
index 3f3fc03..03160dd 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/TrimFilter.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/TrimFilter.java
@@ -11,10 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.util;
 
-import javax.servlet.http.*;
-import javax.servlet.*;
-
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
 
 public class TrimFilter implements Filter
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/XMLUtils.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/XMLUtils.java
index bcbe4d4..df2e120 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/XMLUtils.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/util/XMLUtils.java
@@ -10,17 +10,22 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.util;
 
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
-
-import java.io.*;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
 
 public final class XMLUtils
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ClearWSDLAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ClearWSDLAction.java
index 4c16789..51f2c29 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ClearWSDLAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ClearWSDLAction.java
@@ -10,14 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
+import javax.servlet.http.HttpServletRequest;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ClearNodeAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLMainNode;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLNode;
 
-import javax.servlet.http.*;
-
 public class ClearWSDLAction extends ClearNodeAction {
 
   public ClearWSDLAction(Controller controller) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/CreateInstanceAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/CreateInstanceAction.java
index abca81e..cf0d25b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/CreateInstanceAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/CreateInstanceAction.java
@@ -10,7 +10,12 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import java.util.Iterator;
+import javax.wsdl.Part;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
@@ -20,9 +25,6 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.InvokeWSDLOperationTool;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
-import javax.wsdl.Part;
-import java.util.Iterator;
-
 public class CreateInstanceAction extends WSDLPropertiesFormAction
 {
   public CreateInstanceAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpGetOperationFormAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpGetOperationFormAction.java
index d069e43..3b4f8b1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpGetOperationFormAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpGetOperationFormAction.java
@@ -13,7 +13,6 @@
 
 import java.io.IOException;
 import java.net.URLConnection;
-
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpOperationFormAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpOperationFormAction.java
index d85832a..6a6168e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpOperationFormAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpOperationFormAction.java
@@ -10,19 +10,23 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
-
-import javax.wsdl.*;
-
-import java.util.*;
-import java.net.*;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URLConnection;
+import java.util.Iterator;
+import javax.wsdl.Part;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.HTTPUtil;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.InvokeWSDLOperationTool;
 
 public abstract class InvokeWSDLHttpOperationFormAction extends WSDLPropertiesFormAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpPostOperationFormAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpPostOperationFormAction.java
index 981c430..4d7562b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpPostOperationFormAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLHttpPostOperationFormAction.java
@@ -14,7 +14,6 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.net.URLConnection;
-
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java
index 29397e1..bdca4ed 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationAction.java
@@ -10,29 +10,44 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.transport.HTTPException;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.transport.HTTPTransport;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.util.*;
-import org.eclipse.wst.ws.internal.parser.discovery.*;
-
-import org.apache.axis.Constants;
-
-import org.w3c.dom.*;
-
-import javax.xml.parsers.*;
-import javax.wsdl.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+import javax.servlet.http.HttpServletResponse;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Definition;
+import javax.wsdl.Part;
 import javax.wsdl.extensions.ExtensibilityElement;
 import javax.wsdl.extensions.soap.SOAPBody;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.*;
-import java.io.*;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import org.apache.axis.Constants;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.Endpoint;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLBindingElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.InvokeWSDLOperationTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.SOAPMessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.transport.HTTPException;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.transport.HTTPTransport;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.util.SoapHelper;
+import org.eclipse.wst.ws.internal.parser.discovery.NetUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 public abstract class InvokeWSDLSOAPOperationAction extends WSDLPropertiesFormAction
 {
@@ -116,7 +131,6 @@
     {
       Part part = (Part)it.next();
       IXSDFragment frag = (IXSDFragment)operElement.getFragment(part);
-      XSDToFragmentConfiguration config = frag.getXSDToFragmentConfiguration();
       Element[] instanceDocuments = frag.genInstanceDocumentsFromParameterValues(!isUseLiteral,soapEnvelopeNamespaceTable, XMLUtils.createNewDocument(null));
       for (int j=0;j<instanceDocuments.length;j++)
       {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationFormAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationFormAction.java
index db76532..1053639 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationFormAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationFormAction.java
@@ -10,18 +10,19 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
+import java.util.Iterator;
+import javax.wsdl.Part;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.transformer.FragmentTransformer;
 
-import javax.wsdl.*;
-import java.util.*;
-
 public class InvokeWSDLSOAPOperationFormAction extends InvokeWSDLSOAPOperationAction
 {
   public InvokeWSDLSOAPOperationFormAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationSourceAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationSourceAction.java
index 76a6d9a..1257f40 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationSourceAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/InvokeWSDLSOAPOperationSourceAction.java
@@ -10,22 +10,25 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.util.*;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.wsdl.*;
-
-import java.util.*;
-import java.io.*;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.Hashtable;
+import java.util.Vector;
+import javax.xml.parsers.ParserConfigurationException;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLBindingElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.util.SoapHelper;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 
 public class InvokeWSDLSOAPOperationSourceAction extends InvokeWSDLSOAPOperationAction
 {
@@ -41,36 +44,10 @@
     saveAsSelected_ = false;
   }
 
-  private final void fragmentize(StringBuffer fileContents) throws ParserConfigurationException,SAXException,UnsupportedEncodingException,IOException
-  {
-    fileContents.insert(0,DUMMY_WRAPPER_START_TAG).append(DUMMY_WRAPPER_END_TAG);
-    Element dummyWrapperElement = XMLUtils.stringToElement(fileContents.toString());          
-    Vector partElements = new Vector();
-    NodeList partNodes = dummyWrapperElement.getChildNodes();
-    for (int i=0;i<partNodes.getLength();i++)
-    {
-      org.w3c.dom.Node partNode = partNodes.item(i);
-      if (partNode instanceof Element)
-        partElements.addElement(partNode);
-    }
-    Element[] elementArray = new Element[partElements.size()];
-    partElements.copyInto(elementArray);
-    WSDLOperationElement operElement = (WSDLOperationElement)(getSelectedNavigatorNode().getTreeElement());
-    Iterator it = operElement.getOrderedBodyParts().iterator();
-    while (it.hasNext())
-    {
-      Part part = (Part)it.next();
-      IXSDFragment fragment = operElement.getFragment(part);
-      fragment.setParameterValuesFromInstanceDocuments(elementArray);
-    }                          
-  }
-
   protected boolean processParsedResults(MultipartFormDataParser parser) throws MultipartFormDataException
   {
     super.processParsedResults(parser);
-    WSDLPerspective wsdlPerspective = controller_.getWSDLPerspective();
     WSDLOperationElement operElement = (WSDLOperationElement)getSelectedNavigatorNode().getTreeElement();
-    MessageQueue messageQueue = wsdlPerspective.getMessageQueue();
     newFileSelected_ = false;
     saveAsSelected_ = false;
     /*  try and catch is needed if we are doing fragmentization.
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenWSDLAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenWSDLAction.java
index df77a25..764f15b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenWSDLAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenWSDLAction.java
@@ -11,18 +11,22 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import java.util.Vector;
+import javax.wsdl.WSDLException;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
-import javax.wsdl.WSDLException;
-import java.util.Vector;
-
 public class OpenWSDLAction extends WSDLPropertiesFormAction {
 
   public OpenWSDLAction(Controller controller) {
@@ -31,8 +35,6 @@
 
   protected boolean processParsedResults(MultipartFormDataParser parser) throws MultipartFormDataException {
     String wsdlUrl = parser.getParameter(ActionInputs.QUERY_INPUT_WSDL_URL);
-    WSDLPerspective wsdlPerspective = controller_.getWSDLPerspective();
-    MessageQueue messageQueue = wsdlPerspective.getMessageQueue();
     FormTool formTool = getSelectedFormTool();
     propertyTable_.put(ActionInputs.QUERY_INPUT_WSDL_URL, wsdlUrl);
     formTool.updatePropertyTable(propertyTable_);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenXSDInfoDialogAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenXSDInfoDialogAction.java
index c12cfd5..dd38afc 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenXSDInfoDialogAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/OpenXSDInfoDialogAction.java
@@ -11,11 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-
-import javax.servlet.http.*;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
 
 public class OpenXSDInfoDialogAction extends Action
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/RefreshWSDLAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/RefreshWSDLAction.java
index 8cb9062..a522eff 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/RefreshWSDLAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/RefreshWSDLAction.java
@@ -11,16 +11,20 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
-
 import java.util.Vector;
+import javax.servlet.http.HttpServletRequest;
 import javax.wsdl.Definition;
 import javax.wsdl.WSDLException;
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLMainNode;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLNode;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
 public class RefreshWSDLAction extends LinkAction {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ResizeWSDLFramesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ResizeWSDLFramesAction.java
index 3b67ae9..db773fa 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ResizeWSDLFramesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ResizeWSDLFramesAction.java
@@ -11,12 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ResizeFramesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLFrameNames;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
 public class ResizeWSDLFramesAction extends ResizeFramesAction
 {
@@ -47,7 +49,6 @@
     WSDLPerspective wsdlPerspective = controller_.getWSDLPerspective();
     
     // Set the new frameset sizes.
-    boolean saveFrameSettings = false;
     if (frameName.equals(WSDLFrameNames.WSDL_NAVIGATOR_CONTAINER))
     {
       wsdlPerspective.setActionsContainerFramesetRows(actionsContainerFramesetRows);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLNavigatorNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLNavigatorNodeAction.java
index 94af20b..02b9fc7 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLNavigatorNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLNavigatorNodeAction.java
@@ -12,8 +12,11 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 
 public class SelectWSDLNavigatorNodeAction extends SelectNodeAction
 {
@@ -37,9 +40,7 @@
       ToolManager toolManager = selectedNode_.getToolManager();
       Tool selectedTool = toolManager.getSelectedTool();
       int nodeId = selectedNode_.getNodeId();
-      int toolId = selectedTool.getToolId();
-      int viewId = selectedNode_.getViewId();
-      int viewToolId = selectedNode_.getViewToolId();
+      
       if (selectedTool.getToolType() != ToolTypes.ACTION)
         return selectedTool.getSelectToolActionHref(true);
       else
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLPropertiesToolAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLPropertiesToolAction.java
index 89d53ca..aedd18c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLPropertiesToolAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SelectWSDLPropertiesToolAction.java
@@ -11,8 +11,8 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeToolAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 public class SelectWSDLPropertiesToolAction extends SelectNodeToolAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SwitchPerspectiveFromWSDLAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SwitchPerspectiveFromWSDLAction.java
index 920c573..7b55748 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SwitchPerspectiveFromWSDLAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SwitchPerspectiveFromWSDLAction.java
@@ -11,12 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ShowPerspectiveAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
 public final class SwitchPerspectiveFromWSDLAction extends ShowPerspectiveAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SynchronizeFragmentViewsAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SynchronizeFragmentViewsAction.java
index 8ed578f..7c531e4 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SynchronizeFragmentViewsAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/SynchronizeFragmentViewsAction.java
@@ -10,16 +10,19 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.*;
-
-import javax.wsdl.*;
-import java.util.*;
-
+import java.util.Iterator;
+import java.util.Vector;
+import javax.wsdl.Part;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.InvokeWSDLOperationTool;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ToggleWSDLNavigatorNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ToggleWSDLNavigatorNodeAction.java
index 42a6e4b..d4e6801 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ToggleWSDLNavigatorNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/ToggleWSDLNavigatorNodeAction.java
@@ -11,9 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ToggleNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 
 public class ToggleWSDLNavigatorNodeAction extends ToggleNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/UpdateWSDLBindingAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/UpdateWSDLBindingAction.java
index eaf6bff..c02dc5b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/UpdateWSDLBindingAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/UpdateWSDLBindingAction.java
@@ -10,8 +10,15 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLActionInputs;
@@ -20,10 +27,6 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLBindingNode;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
-import java.util.Vector;
-import java.util.List;
-import java.util.Iterator;
-
 public class UpdateWSDLBindingAction extends WSDLPropertiesFormAction
 {
   public UpdateWSDLBindingAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLAddToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLAddToFavoritesAction.java
index 8f00ab1..16bcb04 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLAddToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLAddToFavoritesAction.java
@@ -11,20 +11,20 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.servlet.http.HttpServletRequest;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesFolderElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
-import java.util.Enumeration;
-import java.util.Hashtable;
-import javax.servlet.http.*;
-
 public class WSDLAddToFavoritesAction extends LinkAction {
   public WSDLAddToFavoritesAction(Controller controller) {
     super(controller);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToFileSystemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToFileSystemAction.java
index 30e314f..403fcc3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToFileSystemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToFileSystemAction.java
@@ -11,16 +11,17 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
+import java.io.OutputStream;
+import javax.wsdl.Definition;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.WSDLFileNameHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
-import javax.wsdl.Definition;
-import java.io.OutputStream;
-
 public class WSDLImportWSDLToFileSystemAction extends ImportToFileSystemAction {
   private Definition definition_;
   private String defaultWSDLFileName_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToWorkbenchAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToWorkbenchAction.java
index ed9c54b..d7d8b02 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToWorkbenchAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLImportWSDLToWorkbenchAction.java
@@ -11,14 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
+import java.util.Hashtable;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToWorkbenchAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
-import java.util.Hashtable;
-
 public class WSDLImportWSDLToWorkbenchAction extends ImportToWorkbenchAction {
   public WSDLImportWSDLToWorkbenchAction(Controller controller) {
     super(controller);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLLaunchWebServiceWizardAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLLaunchWebServiceWizardAction.java
index 681b90a..b4ade72 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLLaunchWebServiceWizardAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLLaunchWebServiceWizardAction.java
@@ -12,7 +12,10 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.LaunchWebServiceWizardAction;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective.WSDLPerspective;
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLPropertiesFormAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLPropertiesFormAction.java
index cf6685d..f2c3cf4 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLPropertiesFormAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/actions/WSDLPropertiesFormAction.java
@@ -10,8 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.FormAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLBindingElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLBindingElement.java
index babdcb6..e10fe7e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLBindingElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLBindingElement.java
@@ -10,17 +10,24 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+import javax.wsdl.Binding;
+import javax.wsdl.Input;
+import javax.wsdl.Operation;
+import javax.wsdl.Output;
+import javax.wsdl.PortType;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.http.HTTPBinding;
+import javax.wsdl.extensions.soap.SOAPBinding;
 import javax.xml.namespace.QName;
-import javax.wsdl.extensions.soap.*;
-import javax.wsdl.extensions.http.*;
-import javax.wsdl.extensions.*;
-import javax.wsdl.*;
-
-import java.util.*;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.BindingTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
 
 public class WSDLBindingElement extends WSDLCommonElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLCommonElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLCommonElement.java
index 5016477..ef90e3b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLCommonElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLCommonElement.java
@@ -10,15 +10,16 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-
-import org.w3c.dom.*;
-
-import javax.xml.parsers.*;
+import javax.xml.parsers.ParserConfigurationException;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 public class WSDLCommonElement extends TreeElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLElement.java
index 777ddb4..320e7d5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLElement.java
@@ -10,24 +10,41 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.parser.discovery.*;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Vector;
+import javax.wsdl.Definition;
+import javax.wsdl.Import;
+import javax.wsdl.Service;
+import javax.wsdl.Types;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.xml.namespace.QName;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
+import org.eclipse.wst.ws.internal.parser.discovery.NetUtils;
+import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 import org.eclipse.wst.wsdl.internal.impl.XSDSchemaExtensibilityElementImpl;
-
-import org.eclipse.xsd.util.*;
-import org.eclipse.xsd.impl.*;
-import org.eclipse.xsd.*;
-import org.eclipse.emf.common.util.EList;
-
-import javax.xml.namespace.QName;
-import javax.wsdl.extensions.*;
-import javax.wsdl.*;
-import java.util.*;
-import java.io.*;
+import org.eclipse.xsd.XSDDiagnostic;
+import org.eclipse.xsd.XSDDiagnosticSeverity;
+import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.XSDSchemaDirective;
+import org.eclipse.xsd.impl.XSDSchemaImpl;
+import org.eclipse.xsd.util.XSDParser;
 
 public class WSDLElement extends WSDLCommonElement
 {
@@ -35,6 +52,7 @@
   private String wsdlUrl_;
   private Definition definition_;
   private Vector schemaList_;
+  private Vector schemaURI_;
 
   private static Vector w3SchemaQNameList_;
   private static Vector constantSchemaList_;
@@ -70,6 +88,7 @@
     wsdlUrl_ = wsdlUrl;
     definition_ = null;
     schemaList_ = new Vector();
+	schemaURI_ = new Vector();
   }
 
   public void setWsdlUrl(String wsdlUrl) {
@@ -141,7 +160,8 @@
 
       for (int i=0;i<constantSchemaList_.size();i++)
         schemaList_.addElement(constantSchemaList_.elementAt(i));
-    }
+      
+	}
     return errorMessages;
   }
 
@@ -162,17 +182,21 @@
             if (isW3SchemaElementType(schemaElement.getElementType()))
             {
               XSDSchema xsdSchema = XSDSchemaImpl.createSchema(schemaElement.getElement());
-              schemaList_.addElement(xsdSchema);
-              gatherSchemaDirective(xsdSchema, definitionURL);
-            }
-          }
+			  if(!checkSchemaURI(definitionURL)){
+				  schemaList_.addElement(xsdSchema);
+				  gatherSchemaDirective(xsdSchema, definitionURL);
+              }
+          	}
+          } 	
           else if (obj instanceof XSDSchemaExtensibilityElementImpl)
           {
             XSDSchemaExtensibilityElementImpl schemaElement = (XSDSchemaExtensibilityElementImpl)obj;
             XSDSchema xsdSchema = XSDSchemaImpl.createSchema(schemaElement.getElement());
-            schemaList_.addElement(xsdSchema);
-            gatherSchemaDirective(xsdSchema, definitionURL);
-          }
+			if(!checkSchemaURI(definitionURL)){
+				schemaList_.addElement(xsdSchema);
+				gatherSchemaDirective(xsdSchema, definitionURL);
+			}
+		  }
         }
       }
     }
@@ -213,14 +237,52 @@
             resolvedSchema = getSchema(xsdSchemaDirectiveURL.toString());
           if (resolvedSchema != null)
           {
-            schemaList_.addElement(resolvedSchema);
-            gatherSchemaDirective(resolvedSchema, xsdSchemaDirectiveURL.toString());
-          }
+			if(!checkSchemaURI(xsdSchemaDirectiveURL.toString())){
+				schemaList_.addElement(resolvedSchema);
+				gatherSchemaDirective(resolvedSchema, xsdSchemaDirectiveURL.toString());
+      		}
+      	  }
         }
-      }
+	  }
     }
   }
 
+  private boolean checkSchemaURI(String schemaURI){
+	  	boolean found = false;
+	  	 	
+		
+		schemaURI = normalize(schemaURI); 
+		if(schemaURI.equals(normalize(wsdlUrl_)))return false;
+		Enumeration e = schemaURI_.elements();
+		while(e.hasMoreElements()){
+			String uri = (String)e.nextElement();	
+			if(schemaURI.equals(uri)){ 
+				found = true;
+				break;
+			}	
+		}
+		
+	    if (!found){
+	    	schemaURI_.addElement(schemaURI);
+	    }
+	    return found;
+	  
+	  }
+	  
+  private String normalize(String uri )
+  {
+	  try {
+		  String encodedURI = URIEncoder.encode(uri,"UTF-8");
+		  URI normalizedURI = new URI(encodedURI);
+		  normalizedURI = normalizedURI.normalize();
+		  return normalizedURI.toString();
+	  } catch (URISyntaxException e) {
+		  return uri;
+	  } catch (UnsupportedEncodingException e) {
+		  return uri;
+	  }
+  }
+  
   private final boolean isW3SchemaElementType(QName qname)
   {
     for (int i=0;i<w3SchemaQNameList_.size();i++)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLOperationElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLOperationElement.java
index d1a1021..36c4342 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLOperationElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLOperationElement.java
@@ -10,16 +10,27 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
-import org.eclipse.xsd.*;
-
-import javax.wsdl.extensions.soap.*;
-import javax.wsdl.extensions.*;
-import javax.wsdl.*;
-
-import java.util.*;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+import javax.wsdl.Binding;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Input;
+import javax.wsdl.Operation;
+import javax.wsdl.Output;
+import javax.wsdl.Part;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.soap.SOAPBinding;
+import javax.wsdl.extensions.soap.SOAPBody;
+import javax.wsdl.extensions.soap.SOAPOperation;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.BindingTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
+import org.eclipse.xsd.XSDNamedComponent;
 
 public class WSDLOperationElement extends WSDLCommonElement
 {
@@ -46,12 +57,11 @@
     encodingStyle_ = null;
     encodingNamespace_ = null;
 
-    Binding binding = bindingElement.getBinding();
     if (soapBinding != null)
       isDocumentStyle_ = "document".equals(soapBinding.getStyle());
     BindingOperation bindingOperation = getBindingOperation(bindingElement);
     SOAPOperation soapOperation = null;
-    String soapAction = "";
+    
     for (Iterator i = bindingOperation.getExtensibilityElements().iterator();i.hasNext();)
     {
       ExtensibilityElement e = (ExtensibilityElement)i.next();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLServiceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLServiceElement.java
index 7d30456..e6d1a2f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLServiceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/datamodel/WSDLServiceElement.java
@@ -10,17 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import javax.wsdl.Binding;
+import javax.wsdl.Port;
+import javax.wsdl.Service;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.http.HTTPAddress;
+import javax.wsdl.extensions.soap.SOAPAddress;
 import javax.xml.namespace.QName;
-import javax.wsdl.extensions.soap.*;
-import javax.wsdl.extensions.http.*;
-import javax.wsdl.extensions.*;
-import javax.wsdl.*;
-
-import java.util.*;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
 
 public class WSDLServiceElement extends WSDLCommonElement
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IFragment.java
index 114e13d..6695a41 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IFragment.java
@@ -10,11 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 
-import java.util.Vector;
-
 public interface IFragment {
   public void setID(String id);
   public String getID();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IXSDFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IXSDFragment.java
index e15ae76..42926b3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IXSDFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/IXSDFragment.java
@@ -10,10 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.w3c.dom.Element;
-import org.w3c.dom.Document;
 import java.util.Hashtable;
+import org.eclipse.xsd.XSDTypeDefinition;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 public interface IXSDFragment extends IFragment {
   public void setXSDToFragmentConfiguration(XSDToFragmentConfiguration config);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDComplexTypeToFragmentMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDComplexTypeToFragmentMapper.java
index 7942721..ce5bac7 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDComplexTypeToFragmentMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDComplexTypeToFragmentMapper.java
@@ -10,11 +10,12 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDComplexFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDComplexRangeFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.XSDTypeDefinitionUtil;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
 import org.eclipse.xsd.XSDComplexTypeContent;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
 
 public class XSDComplexTypeToFragmentMapper extends XSDToFragmentMapper {
   public XSDComplexTypeToFragmentMapper(XSDToFragmentController controller, WSDLPartsToXSDTypeMapper wsdlToXSDMapper) {
@@ -35,7 +36,7 @@
   private IXSDFragment getXSDComplexFragment(XSDToFragmentConfiguration config, String id, String name) {
     int minOccurs = config.getMinOccurs();
     int maxOccurs = config.getMaxOccurs();
-    IXSDComplexFragment frag;
+    
     if (minOccurs == maxOccurs)
       return new XSDComplexFixFragment(id, name, config, getController());
     else
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 bee204e..939623b 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
@@ -11,8 +11,8 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDElementFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
 import org.eclipse.xsd.XSDComponent;
 import org.eclipse.xsd.XSDConcreteComponent;
 import org.eclipse.xsd.XSDElementDeclaration;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDLiteralXMLEncodingToFragmentMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDLiteralXMLEncodingToFragmentMapper.java
index 55e4408..31aa831 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDLiteralXMLEncodingToFragmentMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDLiteralXMLEncodingToFragmentMapper.java
@@ -10,13 +10,13 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
 import org.eclipse.xsd.XSDComponent;
 import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
 import org.eclipse.xsd.XSDParticle;
 import org.eclipse.xsd.XSDParticleContent;
+import org.eclipse.xsd.XSDSimpleTypeDefinition;
 
 public class XSDLiteralXMLEncodingToFragmentMapper extends XSDToFragmentMapper {
   private XSDSimpleTypeToFragmentMapper xsdSimpleMapper_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDParticleToFragmentMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDParticleToFragmentMapper.java
index dc956cc..bd45797 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDParticleToFragmentMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDParticleToFragmentMapper.java
@@ -11,15 +11,19 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDGroupAllFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDGroupChoiceFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDGroupChoiceRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDGroupSeqFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDGroupSeqRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
 import org.eclipse.xsd.XSDComponent;
+import org.eclipse.xsd.XSDCompositor;
 import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDParticleContent;
 import org.eclipse.xsd.XSDModelGroup;
 import org.eclipse.xsd.XSDModelGroupDefinition;
-import org.eclipse.xsd.XSDCompositor;
+import org.eclipse.xsd.XSDParticle;
+import org.eclipse.xsd.XSDParticleContent;
 import org.eclipse.xsd.XSDWildcard;
 
 
@@ -75,7 +79,7 @@
     }
     config.setMinOccurs(minOccurs);
     config.setMaxOccurs(maxOccurs);
-    IXSDGroupFragment groupFragment = null;
+    
     switch (xsdModelGroup.getCompositor().getValue()) {
       case XSDCompositor.SEQUENCE: 
         if (minOccurs == maxOccurs)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSOAPEncodingToFragmentMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSOAPEncodingToFragmentMapper.java
index e43c8b8..5fafacc 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSOAPEncodingToFragmentMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSOAPEncodingToFragmentMapper.java
@@ -10,20 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
+import org.eclipse.emf.common.util.EList;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.SOAPEncArrayFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.SOAPEncArrayRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.SOAPEncodingWrapperFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.XSDTypeDefinitionUtil;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
+import org.eclipse.xsd.XSDAttributeGroupContent;
+import org.eclipse.xsd.XSDComplexTypeContent;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
 import org.eclipse.xsd.XSDComponent;
+import org.eclipse.xsd.XSDModelGroup;
 import org.eclipse.xsd.XSDParticle;
 import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComplexTypeContent;
 import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDAttributeGroupContent;
-import org.eclipse.xsd.XSDModelGroup;
-import org.eclipse.emf.common.util.EList;
-
 import org.w3c.dom.Element;
 
 public class XSDSOAPEncodingToFragmentMapper extends XSDToFragmentMapper {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSimpleTypeToFragmentMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSimpleTypeToFragmentMapper.java
index 0d9ed09..e624892 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSimpleTypeToFragmentMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDSimpleTypeToFragmentMapper.java
@@ -11,12 +11,24 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
 import org.eclipse.emf.common.util.EList;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
-import org.eclipse.xsd.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleAtomicDateTimeFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleAtomicDateTimeRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleAtomicEnumFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleAtomicEnumRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleAtomicFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleAtomicFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleAtomicRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleListFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleListRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleUnionFixFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDSimpleUnionRangeFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.OptionVector;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.XSDTypeDefinitionUtil;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
+import org.eclipse.xsd.XSDSimpleTypeDefinition;
+import org.eclipse.xsd.XSDVariety;
 
 public class XSDSimpleTypeToFragmentMapper extends XSDToFragmentMapper {
   public XSDSimpleTypeToFragmentMapper(XSDToFragmentController controller, WSDLPartsToXSDTypeMapper wsdlToXSDMapper) {
@@ -138,7 +150,7 @@
   }
 
   private IXSDFragment getXSDSimpleListFragment(XSDToFragmentConfiguration config, String id, String name) {
-    IXSDSimpleListFragment frag;
+    
     boolean isFixed = ((config.getMinOccurs() == config.getMaxOccurs()) && config.getMaxOccurs() != FragmentConstants.UNBOUNDED);
     if (isFixed)
       return new XSDSimpleListFixFragment(id, name, config, getController());
@@ -147,7 +159,7 @@
   }
 
   private IXSDFragment getXSDSimpleUnionFragment(XSDToFragmentConfiguration config, String id, String name) {
-    IXSDSimpleUnionFragment frag;
+    
     boolean isFixed = ((config.getMinOccurs() == config.getMaxOccurs()) && config.getMaxOccurs() != FragmentConstants.UNBOUNDED);
     if (isFixed)
       return new XSDSimpleUnionFixFragment(id, name, config, getController());
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentController.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentController.java
index e6f9342..ce323c1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentController.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentController.java
@@ -10,10 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.*;
-
 import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
 
 public class XSDToFragmentController {
   private WSDLPartsToXSDTypeMapper wsdlToXSDMapper_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentMapper.java
index afa1b10..1cfc58f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDToFragmentMapper.java
@@ -10,7 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDDefaultFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl.XSDEmptyFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd.WSDLPartsToXSDTypeMapper;
 import org.eclipse.xsd.XSDComponent;
 import org.eclipse.xsd.XSDNamedComponent;
@@ -42,13 +43,6 @@
   }
 
   protected IXSDFragment getXSDDefaultFragment(XSDToFragmentConfiguration config, String id, String name) {
-    XSDComponent xsdComponent = config.getXSDComponent();
-    String componentName = name;
-    if (xsdComponent instanceof XSDNamedComponent) {
-      String componentNameCopy = ((XSDNamedComponent)xsdComponent).getName();
-      if (componentNameCopy != null && componentNameCopy.length() > 0)
-        componentName = componentNameCopy;
-    }
     return new XSDDefaultFragment(id, name, config);
   }
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/Fragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/Fragment.java
index 3217007..5371e25 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/Fragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/Fragment.java
@@ -10,14 +10,13 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IFragment;
 
-import java.util.Vector;
-import java.util.Hashtable;
-import java.util.Enumeration;
-
 public abstract class Fragment implements IFragment {
   private String id_;
   private String name_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncArrayFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncArrayFragment.java
index 5d3c9e2..d085dff 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncArrayFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncArrayFragment.java
@@ -10,22 +10,22 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.Vector;
+import org.eclipse.emf.common.util.EList;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.ISOAPEncArrayFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
+import org.eclipse.xsd.XSDElementDeclaration;
 import org.eclipse.xsd.XSDModelGroup;
 import org.eclipse.xsd.XSDParticle;
 import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.emf.common.util.EList;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
 import org.w3c.dom.Node;
-import java.util.Vector;
-import java.util.Hashtable;
+import org.w3c.dom.NodeList;
 
 public abstract class SOAPEncArrayFragment extends XSDGroupSeqFragment implements ISOAPEncArrayFragment
 {
@@ -66,8 +66,8 @@
     Element[] instanceDocument = new Element[groupIDs.length];
     StringBuffer attrName = new StringBuffer();
     StringBuffer attrValue = new StringBuffer();
-    StringBuffer attrArrayTypeName = new StringBuffer();
-    StringBuffer attrArrayTypeValue = new StringBuffer();
+//    StringBuffer attrArrayTypeName = new StringBuffer();
+//    StringBuffer attrArrayTypeValue = new StringBuffer();
     for (int i = 0; i < instanceDocument.length; i++)
     {
       int numInstances = 0;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncodingWrapperFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncodingWrapperFragment.java
index 66d20de..fb8abf2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncodingWrapperFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/SOAPEncodingWrapperFragment.java
@@ -10,13 +10,15 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.ISOAPEncodingWrapperFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.xsd.XSDTypeDefinition;
-
-import org.w3c.dom.*;
-import java.util.Vector;
-import java.util.Hashtable;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 public class SOAPEncodingWrapperFragment extends XSDDelegationFragment implements ISOAPEncodingWrapperFragment
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDComplexFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDComplexFragment.java
index 0d12f82..34cba83 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDComplexFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDComplexFragment.java
@@ -10,27 +10,27 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDComplexFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.XSDTypeDefinitionUtil;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
-import org.eclipse.xsd.XSDComplexTypeContent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDModelGroup;
 import org.eclipse.xsd.XSDComplexFinal;
+import org.eclipse.xsd.XSDComplexTypeContent;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
+import org.eclipse.xsd.XSDModelGroup;
+import org.eclipse.xsd.XSDModelGroupDefinition;
+import org.eclipse.xsd.XSDNamedComponent;
 import org.eclipse.xsd.XSDParticle;
 import org.eclipse.xsd.XSDParticleContent;
-import org.eclipse.xsd.XSDModelGroupDefinition;
+import org.eclipse.xsd.XSDTypeDefinition;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import java.util.Vector;
-import java.util.Hashtable;
-import java.util.List;
 
 public abstract class XSDComplexFragment extends XSDMapFragment implements IXSDComplexFragment
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDefaultFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDefaultFragment.java
index 981aca9..bdce004 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDefaultFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDefaultFragment.java
@@ -10,18 +10,17 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import java.util.Vector;
-import java.util.Hashtable;
 
 public class XSDDefaultFragment extends XSDFragment {
   public XSDDefaultFragment(String id, String name, XSDToFragmentConfiguration config) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDelegationFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDelegationFragment.java
index dc03c29..43b229e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDelegationFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDDelegationFragment.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDDelegationFragment;
@@ -17,8 +19,6 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import java.util.Vector;
-import java.util.Hashtable;
 
 public class XSDDelegationFragment extends XSDFragment implements IXSDDelegationFragment
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDElementFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDElementFragment.java
index 1baaff7..9959076 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDElementFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDElementFragment.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
@@ -22,8 +24,6 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import java.util.Vector;
-import java.util.Hashtable;
 
 public class XSDElementFragment extends XSDDelegationFragment implements IXSDElementFragment
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDEmptyFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDEmptyFragment.java
index 0f16422..67abf8b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDEmptyFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDEmptyFragment.java
@@ -10,15 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
-
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import java.util.Vector;
 
 public class XSDEmptyFragment extends XSDFragment {
   private int occurance_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDFragment.java
index 1a10ad6..822442a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDFragment.java
@@ -10,22 +10,22 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.xsd.XSDComponent;
-import org.eclipse.xsd.XSDNamedComponent;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDSchema;
 import org.eclipse.xsd.XSDForm;
-import java.util.Vector;
-import java.util.Hashtable;
+import org.eclipse.xsd.XSDNamedComponent;
+import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.XSDTypeDefinition;
+import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Attr;
 
 public abstract class XSDFragment extends Fragment implements IXSDFragment
 {
@@ -235,25 +235,6 @@
     return prefix;
   }
 
-  private Element removeDupNSFromChildren(Element element, String[] nsNames, String[] nsValues)
-  {
-    NodeList children = element.getChildNodes();
-    for (int i = 0; i < children.getLength(); i++)
-    {
-      Node child = children.item(i);
-      if (child instanceof Element)
-      {
-        for (int j = 0; j < nsNames.length; j++)
-        {
-          String childNSValue = ((Element)child).getAttribute(nsNames[j]);
-          if (childNSValue != null && childNSValue.equals(nsValues[j]))
-            ((Element)child).removeAttribute(nsNames[j]);
-        }
-      }
-    }
-    return element;
-  }
-
   protected Element setElementTagName(Element e, String tagName)
   {
     if (!e.getTagName().equals(tagName))
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupAllFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupAllFragment.java
index 414e3fe..6ed6df1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupAllFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupAllFragment.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
@@ -17,9 +18,7 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
 import org.eclipse.xsd.XSDModelGroup;
-
 import org.w3c.dom.Element;
-import java.util.Vector;
 
 public class XSDGroupAllFragment extends XSDGroupFragment implements IXSDGroupAllFragment {
   private String groupID_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupChoiceFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupChoiceFragment.java
index d755cf9..bd8edc7 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupChoiceFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupChoiceFragment.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
@@ -18,13 +20,10 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDGroupChoiceFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
-import org.eclipse.xsd.XSDParticle;
 import org.eclipse.xsd.XSDModelGroup;
-
+import org.eclipse.xsd.XSDParticle;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import java.util.Hashtable;
-import java.util.Vector;
 
 public abstract class XSDGroupChoiceFragment extends XSDGroupFragment implements IXSDGroupChoiceFragment {
   private XSDParticle[] choices_;
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 485716e..682a2f3 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
@@ -11,6 +11,8 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
@@ -19,16 +21,13 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDGroupFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
+import org.eclipse.xsd.XSDComponent;
 import org.eclipse.xsd.XSDModelGroup;
 import org.eclipse.xsd.XSDParticle;
-import org.eclipse.xsd.XSDWildcard;
-import org.eclipse.xsd.XSDComponent;
 import org.eclipse.xsd.XSDParticleContent;
-
+import org.eclipse.xsd.XSDWildcard;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import java.util.Hashtable;
-import java.util.Vector;
 
 public abstract class XSDGroupFragment extends XSDMapFragment implements IXSDGroupFragment {
   private XSDModelGroup xsdModelGroup_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDMapFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDMapFragment.java
index 1cd330c..1c5404f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDMapFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDMapFragment.java
@@ -10,6 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Vector;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
@@ -17,11 +21,6 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
 
-import java.util.Vector;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Enumeration;
-
 public abstract class XSDMapFragment extends XSDFragment implements IXSDMapFragment {
   private XSDToFragmentController controller_;
   private Vector fragmentsOrder_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeFixFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeFixFragment.java
index ebf6ba5..3be5337 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeFixFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeFixFragment.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 
 public class XSDSimpleAtomicDateTimeFixFragment extends XSDSimpleAtomicFixFragment {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeRangeFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeRangeFragment.java
index add26d0..6fb2f2c 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeRangeFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicDateTimeRangeFragment.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 
 public class XSDSimpleAtomicDateTimeRangeFragment extends XSDSimpleAtomicRangeFragment {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFixFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFixFragment.java
index 1e0155e..796bd86 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFixFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFixFragment.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.*;
 import org.eclipse.emf.common.util.EList;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.OptionVector;
 
 public class XSDSimpleAtomicEnumFixFragment extends XSDSimpleAtomicEnumFragment {
   public XSDSimpleAtomicEnumFixFragment(String id, String name, XSDToFragmentConfiguration config, EList elist) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFragment.java
index 919cd4a..96387f5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumFragment.java
@@ -12,8 +12,8 @@
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.*;
-import org.eclipse.xsd.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.OptionVector;
+import org.eclipse.xsd.XSDEnumerationFacet;
 
 public abstract class XSDSimpleAtomicEnumFragment extends XSDSimpleAtomicFragment {
   private OptionVector optionVector_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumRangeFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumRangeFragment.java
index 5a74bbd..4ed3c81 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumRangeFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicEnumRangeFragment.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.*;
 import org.eclipse.emf.common.util.EList;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util.OptionVector;
 
 public class XSDSimpleAtomicEnumRangeFragment extends XSDSimpleAtomicEnumFragment {
   public XSDSimpleAtomicEnumRangeFragment(String id, String name, XSDToFragmentConfiguration config, EList elist) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicFragment.java
index d82a1d8..132f6f6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleAtomicFragment.java
@@ -10,8 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.*;
-import org.eclipse.xsd.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDSimpleAtomicFragment;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
+import org.eclipse.xsd.XSDSimpleTypeDefinition;
 
 public abstract class XSDSimpleAtomicFragment extends XSDFragment implements IXSDSimpleAtomicFragment {
   public XSDSimpleAtomicFragment(String id, String name, XSDToFragmentConfiguration config) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleListFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleListFragment.java
index 3246215..764f842 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleListFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleListFragment.java
@@ -10,21 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
+import java.util.Hashtable;
+import java.util.StringTokenizer;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDSimpleListFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
-import org.eclipse.xsd.XSDSimpleTypeDefinition;
 import org.eclipse.xsd.XSDLengthFacet;
-import org.eclipse.xsd.XSDMinLengthFacet;
 import org.eclipse.xsd.XSDMaxLengthFacet;
+import org.eclipse.xsd.XSDMinLengthFacet;
+import org.eclipse.xsd.XSDSimpleTypeDefinition;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import java.util.StringTokenizer;
-import java.util.Hashtable;
 
 public abstract class XSDSimpleListFragment extends XSDMapFragment implements IXSDSimpleListFragment
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleUnionFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleUnionFragment.java
index a5a06a6..1a20e37 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleUnionFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDSimpleUnionFragment.java
@@ -11,17 +11,16 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
 
+import java.util.Hashtable;
+import java.util.Vector;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.IXSDSimpleUnionFragment;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentConfiguration;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.XSDToFragmentController;
 import org.eclipse.xsd.XSDSimpleTypeDefinition;
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import java.util.Vector;
-import java.util.Hashtable;
 
 public abstract class XSDSimpleUnionFragment extends XSDMapFragment implements IXSDSimpleUnionFragment {
   private XSDSimpleTypeDefinition[] memberTypes_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/HTTPUtil.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/HTTPUtil.java
index 5519e74..1d487e3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/HTTPUtil.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/HTTPUtil.java
@@ -11,9 +11,7 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util;
 
 import java.util.Hashtable;
-
 import javax.xml.parsers.ParserConfigurationException;
-
 import org.apache.axis.Constants;
 import org.eclipse.wst.ws.internal.explorer.platform.util.URLUtils;
 import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/OptionVector.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/OptionVector.java
index 1d165c0..412881d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/OptionVector.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/OptionVector.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util;
 
-import java.util.*;
+import java.util.Vector;
 
 public class OptionVector
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/XSDTypeDefinitionUtil.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/XSDTypeDefinitionUtil.java
index ed9622d..a8e250f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/XSDTypeDefinitionUtil.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/util/XSDTypeDefinitionUtil.java
@@ -11,9 +11,9 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.util;
 
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
-import org.eclipse.xsd.XSDTypeDefinition;
-import org.eclipse.xsd.XSDComplexTypeDefinition;
 import org.eclipse.xsd.XSDComplexTypeContent;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
+import org.eclipse.xsd.XSDTypeDefinition;
 
 public class XSDTypeDefinitionUtil {
   private XSDTypeDefinitionUtil() {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/InvokeWSDLOperationTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/InvokeWSDLOperationTool.java
index 77c8ef9..17cc13e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/InvokeWSDLOperationTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/InvokeWSDLOperationTool.java
@@ -11,10 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.SelectWSDLPropertiesToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.FragmentConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.datamodel.WSDLOperationElement;
 
 public class InvokeWSDLOperationTool extends FormTool {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/SOAPMessageQueue.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/SOAPMessageQueue.java
index 470babd..c854ebe 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/SOAPMessageQueue.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/SOAPMessageQueue.java
@@ -11,9 +11,8 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-
-import java.util.*;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
 
 public class SOAPMessageQueue extends MessageQueue
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLBindingNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLBindingNode.java
index f331513..93c04b9 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLBindingNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLBindingNode.java
@@ -11,10 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
 
 // WSDL binding node for the WSDL Navigator Tree View
 public class WSDLBindingNode extends WSDLNavigatorNode
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLMainNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLMainNode.java
index 39af7e7..5d54922 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLMainNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLMainNode.java
@@ -11,10 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
 
 // Root node for the WSDL Navigator Tree View
 public class WSDLMainNode extends WSDLNavigatorNode
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNavigatorNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNavigatorNode.java
index 45db89b..45ef58b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNavigatorNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNavigatorNode.java
@@ -11,9 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.SelectWSDLNavigatorNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.ToggleWSDLNavigatorNodeAction;
 
 public abstract class WSDLNavigatorNode extends Node
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNode.java
index c5ffb76..4144a86 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLNode.java
@@ -11,10 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
 
 // WSDL node for the WSDL Navigator Tree View
 public class WSDLNode extends WSDLNavigatorNode
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLOperationNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLOperationNode.java
index 611c96e..c03a026 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLOperationNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLOperationNode.java
@@ -11,9 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 
 // WSDL operation node for the WSDL Navigator Tree View
 public class WSDLOperationNode extends WSDLNavigatorNode
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLPerspective.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLPerspective.java
index cc23a50..9f69b2f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLPerspective.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLPerspective.java
@@ -13,10 +13,8 @@
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.Vector;
-
 import javax.servlet.ServletContext;
 import javax.wsdl.Service;
-
 import org.eclipse.emf.ecore.impl.EcorePackageImpl;
 import org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl;
 import org.eclipse.wst.ws.internal.datamodel.BasicModel;
@@ -147,7 +145,6 @@
     if (wsdlURLs != null && wsdlURLs.length > 0)
     {
       String wsdlURL = wsdlURLs[0];
-      Vector wsdlNodes = nodeManager_.getRootNode().getChildNodes();
       if (serviceQNameStrings != null && serviceQNameStrings.length > 0)
         preselectService(wsdlURL,serviceQNameStrings[0]);
       else
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLServiceNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLServiceNode.java
index 5937378..ae92686 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLServiceNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/perspective/WSDLServiceNode.java
@@ -11,10 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsdl.constants.WSDLModelConstants;
 
 // WSDL service node for the WSDL Navigator Tree View
 public class WSDLServiceNode extends WSDLNavigatorNode
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transformer/FragmentTransformer.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transformer/FragmentTransformer.java
index 8b85259..beb4bf2 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transformer/FragmentTransformer.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transformer/FragmentTransformer.java
@@ -15,7 +15,6 @@
 import java.util.Vector;
 import javax.wsdl.Part;
 import javax.xml.parsers.ParserConfigurationException;
-
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/ChunkedInputStream.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/ChunkedInputStream.java
index 8f61032..8724cf3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/ChunkedInputStream.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/ChunkedInputStream.java
@@ -47,7 +47,7 @@
   {
     if (closed)
       return -1;
-    int cs = (int) Math.min(Integer.MAX_VALUE, chunkSize);
+
     int totalread = 0;
     int bytesread = 0;
     try
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/HTTPTransport.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/HTTPTransport.java
index ab48e3e..adf7606 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/HTTPTransport.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/transport/HTTPTransport.java
@@ -10,17 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.transport;
 
-import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
-
-import sun.misc.BASE64Encoder;
-
-import org.w3c.dom.Element;
-
-import java.net.Socket;
-import java.net.SocketTimeoutException;
-import java.net.URL;
-import java.net.UnknownHostException;
-import java.util.Hashtable;
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -28,7 +17,15 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
+import java.net.Socket;
+import java.net.SocketTimeoutException;
+import java.net.URL;
+import java.net.UnknownHostException;
+import java.util.Hashtable;
 import javax.net.ssl.SSLSocketFactory;
+import org.eclipse.wst.ws.internal.explorer.platform.util.XMLUtils;
+import org.w3c.dom.Element;
+import sun.misc.BASE64Encoder;
 
 public class HTTPTransport
 {
@@ -58,7 +55,7 @@
   private final String HTTP_HEADER_CONNECTION = "Connection";
   
   private final int HTTP_CODE_CONTINUE = 100;
-  private final int HTTP_CODE_OK = 200;
+  //private final int HTTP_CODE_OK = 200;
   private final int HTTP_CODE_EXCEPTION = 300;
 
   private final String IBM_WEB_SERVICES_EXPLORER = "IBM Web Services Explorer";
@@ -90,7 +87,6 @@
   private boolean maintainSession = false;
   private String cookie;
   private String cookie2;
-  private boolean useChunked = false;
   private HTTPResponse httpResponse;
 
   public String getHttpBasicAuthUsername()
@@ -117,10 +113,17 @@
   {
     StringBuffer sb = new StringBuffer(HTTP_METHOD);
     sb.append(SPACE);
+    String protocol = url.getProtocol();
     String httpProxyHost = System.getProperty(SYS_PROP_HTTP_PROXY_HOST);
     String httpsProxyHost = System.getProperty(SYS_PROP_HTTPS_PROXY_HOST);
-    if (httpProxyHost != null && httpProxyHost.length() > 0 && httpsProxyHost != null && httpsProxyHost.length() > 0)
+    if (protocol.equalsIgnoreCase("http") && httpProxyHost != null && httpProxyHost.length() > 0)
+    {
       sb.append(url.toString());
+    }
+    else if (protocol.equalsIgnoreCase("https") && httpsProxyHost != null && httpsProxyHost.length() > 0)
+    {
+      sb.append(url.toString());
+    }
     else
     {
       String file = url.getFile();
@@ -466,8 +469,8 @@
     int port = url.getPort();
     String proxyHost = System.getProperty(SYS_PROP_HTTP_PROXY_HOST);
     int proxyPort = Integer.getInteger(SYS_PROP_HTTP_PROXY_PORT, DEFAULT_HTTP_PORT).intValue();
-    String proxyUserName = System.getProperty(SYS_PROP_HTTP_PROXY_USER_NAME);
-    String proxyPassword = System.getProperty(SYS_PROP_HTTP_PROXY_PASSWORD);
+//    String proxyUserName = System.getProperty(SYS_PROP_HTTP_PROXY_USER_NAME);
+//    String proxyPassword = System.getProperty(SYS_PROP_HTTP_PROXY_PASSWORD);
     if (url.getProtocol().equalsIgnoreCase(HTTPS))
     {
       proxyHost = System.getProperty(SYS_PROP_HTTPS_PROXY_HOST);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/util/SoapHelper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/util/SoapHelper.java
index 96259e2..9fe9f2d 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/util/SoapHelper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/util/SoapHelper.java
@@ -11,12 +11,10 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.util;
 
-import org.eclipse.wst.ws.internal.explorer.platform.util.URLUtils;
-
 import java.util.Enumeration;
 import java.util.Hashtable;
-
 import org.apache.axis.Constants;
+import org.eclipse.wst.ws.internal.explorer.platform.util.URLUtils;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/xsd/WSDLPartsToXSDTypeMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/xsd/WSDLPartsToXSDTypeMapper.java
index 47b452d..13f3d7e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/xsd/WSDLPartsToXSDTypeMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/xsd/WSDLPartsToXSDTypeMapper.java
@@ -10,12 +10,17 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.xsd;
 
-import org.eclipse.xsd.*;
-
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Vector;
+import javax.wsdl.Part;
 import javax.xml.namespace.QName;
-import javax.wsdl.*;
-
-import java.util.*;
+import org.eclipse.xsd.XSDComponent;
+import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDModelGroupDefinition;
+import org.eclipse.xsd.XSDNamedComponent;
+import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.XSDTypeDefinition;
 
 public class WSDLPartsToXSDTypeMapper
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToFavoritesAction.java
index ad29604..242458e 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToFavoritesAction.java
@@ -10,17 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiBusinessElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Hashtable;
-
 public class AddBusinessToFavoritesAction extends AddToFavoritesAction
 {
   public AddBusinessToFavoritesAction(Controller controller)
@@ -32,7 +33,6 @@
   {
     int nodeID = Integer.parseInt((String) propertyTable_.get(ActionInputs.NODEID));
     int viewID = Integer.parseInt((String) propertyTable_.get(ActionInputs.VIEWID));
-    WSILPerspective wsilPerspective = controller_.getWSILPerspective();
     Node selectedNode = nodeManager_.getNode(nodeID);
     WsilElement selectedElement = (WsilElement) selectedNode.getTreeElement();
     Object obj = selectedElement.getAllUDDILinks().getElementWithViewId(viewID).getObject();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToUDDIPerspectiveAction.java
index 22b34b0..f262b83 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddBusinessToUDDIPerspectiveAction.java
@@ -10,19 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.RegFindBusinessUUIDAction;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiBusinessElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Hashtable;
-
 public class AddBusinessToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
 {
   public AddBusinessToUDDIPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToFavoritesAction.java
index 62a7546..466d945 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToFavoritesAction.java
@@ -10,17 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiServiceElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Hashtable;
-
 public class AddServiceToFavoritesAction extends AddToFavoritesAction
 {
   public AddServiceToFavoritesAction(Controller controller)
@@ -32,7 +33,6 @@
   {
     int nodeID = Integer.parseInt((String) propertyTable_.get(ActionInputs.NODEID));
     int viewID = Integer.parseInt((String) propertyTable_.get(ActionInputs.VIEWID));
-    WSILPerspective wsilPerspective = controller_.getWSILPerspective();
     Node selectedNode = nodeManager_.getNode(nodeID);
     WsilElement selectedElement = (WsilElement) selectedNode.getTreeElement();
     Object obj = selectedElement.getAllUDDIServices().getElementWithViewId(viewID).getObject();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToUDDIPerspectiveAction.java
index 621f73d..e37eab1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddServiceToUDDIPerspectiveAction.java
@@ -10,19 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.RegFindServiceUUIDAction;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiServiceElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Hashtable;
-
 public class AddServiceToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
 {
   public AddServiceToUDDIPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToFavoritesAction.java
index 9808c3f..5758824 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToFavoritesAction.java
@@ -10,16 +10,19 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesFolderElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIBusinessTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIServicesTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListWSDLServicesTool;
 
 public abstract class AddToFavoritesAction extends MultipleLinkAction {
     protected NodeManager nodeManager_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToUDDIPerspectiveAction.java
index a357224..246fea5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddToUDDIPerspectiveAction.java
@@ -10,20 +10,23 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import java.util.Hashtable;
+import java.util.Vector;
+import javax.servlet.http.HttpServletRequest;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.OpenRegistryAction;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.UDDIMainNode;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
-
-import java.util.Hashtable;
-import java.util.Vector;
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIBusinessTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIServicesTool;
 
 public abstract class AddToUDDIPerspectiveAction extends MultipleLinkAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSDLServiceToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSDLServiceToFavoritesAction.java
index 9fa0a0f..a39cfec 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSDLServiceToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSDLServiceToFavoritesAction.java
@@ -10,17 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilWsdlServiceElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Hashtable;
-
 public class AddWSDLServiceToFavoritesAction extends AddToFavoritesAction
 {
   public AddWSDLServiceToFavoritesAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSILToFavoritesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSILToFavoritesAction.java
index bb622d6..81be94b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSILToFavoritesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/AddWSILToFavoritesAction.java
@@ -10,14 +10,14 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.FavoritesModelConstants;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
-import java.util.Hashtable;
-
 public class AddWSILToFavoritesAction extends AddToFavoritesAction
 {
   public AddWSILToFavoritesAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ClearWSILAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ClearWSILAction.java
index 3615086..d789c03 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ClearWSILAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ClearWSILAction.java
@@ -11,8 +11,8 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ClearNodeAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 
 public class ClearWSILAction extends ClearNodeAction {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSDLToFileSystemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSDLToFileSystemAction.java
index f6e63c7..bd0ffb4 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSDLToFileSystemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSDLToFileSystemAction.java
@@ -10,16 +10,24 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
-
 import java.io.OutputStream;
 import javax.wsdl.Definition;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.WSDLFileNameHelper;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilWsdlServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIServicesTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListWSDLServicesTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.uddi4j.client.UDDIProxy;
 
 public class ImportWSDLToFileSystemAction extends ImportToFileSystemAction
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSILToFileSystemAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSILToFileSystemAction.java
index 14ed0c3..3335c10 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSILToFileSystemAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ImportWSILToFileSystemAction.java
@@ -11,14 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
-
-import org.apache.wsil.WSILDocument;
 import java.io.OutputStream;
+import org.apache.wsil.WSILDocument;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
 
 public class ImportWSILToFileSystemAction extends ImportToFileSystemAction {
     private WSILDocument wsilDoc_;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/MultipleLinkAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/MultipleLinkAction.java
index b2b89c4..3ee0543 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/MultipleLinkAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/MultipleLinkAction.java
@@ -10,12 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import javax.servlet.http.HttpServletRequest;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.LinkAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilActionInputs;
 
 public abstract class MultipleLinkAction extends LinkAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/NullAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/NullAction.java
index ce47154..038296a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/NullAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/NullAction.java
@@ -11,10 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import javax.servlet.http.HttpServletRequest;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
 
-import javax.servlet.http.*;
-
 public class NullAction extends Action
 {
   public NullAction()
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILAction.java
index 5ce2656..0ca3600 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILAction.java
@@ -11,25 +11,30 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import org.apache.wsil.WSILDocument;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.FormAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
 import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServiceEntity;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
-import org.apache.wsil.WSILDocument;
-
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Iterator;
-
 public class OpenWSILAction extends FormAction
 {
 
@@ -42,8 +47,6 @@
   {
     String wsilURL = parser.getParameter(WsilActionInputs.WSIL_URL);
     String inspectionType = parser.getParameter(WsilActionInputs.WSIL_INSPECTION_TYPE);
-    WSILPerspective wsilPerspective = controller_.getWSILPerspective();
-    MessageQueue messageQueue = wsilPerspective.getMessageQueue();
     FormTool formTool = getSelectedFormTool();
     propertyTable_.put(WsilActionInputs.WSIL_URL, wsilURL);
     if (inspectionType != null && inspectionType.length() > 0)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILLinkAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILLinkAction.java
index 4c9fe13..b2a8812 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILLinkAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/OpenWSILLinkAction.java
@@ -10,17 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.Hashtable;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilWsilLinkElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Hashtable;
-
 public class OpenWSILLinkAction extends MultipleLinkAction
 {
   public OpenWSILLinkAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshAction.java
index 216ee17..9e5e186 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshAction.java
@@ -10,12 +10,16 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import javax.servlet.http.HttpServletRequest;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.Action;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
-
-import javax.servlet.http.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIBusinessTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIServicesTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WsilNode;
 
 public abstract class RefreshAction extends MultipleLinkAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIBusinessAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIBusinessAction.java
index 2596cc8..02193d0 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIBusinessAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIBusinessAction.java
@@ -10,19 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.Iterator;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.RefreshAction;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiBusinessElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Vector;
-import java.util.Iterator;
-
 public class RefreshUDDIBusinessAction extends RefreshAction
 {
   public RefreshUDDIBusinessAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIServiceAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIServiceAction.java
index 587b8e5..e918c3a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIServiceAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshUDDIServiceAction.java
@@ -10,19 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.Iterator;
+import java.util.Vector;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.RefreshAction;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.MessageQueue;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiServiceElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Vector;
-import java.util.Iterator;
-
 public class RefreshUDDIServiceAction extends RefreshAction
 {
   public RefreshUDDIServiceAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshWSILAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshWSILAction.java
index 1b3c634..7f55d95 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshWSILAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/RefreshWSILAction.java
@@ -10,10 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.RefreshAction;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ResizeWSILFramesAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ResizeWSILFramesAction.java
index a7b4387..9a52a14 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ResizeWSILFramesAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/ResizeWSILFramesAction.java
@@ -11,12 +11,14 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ResizeFramesAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilFrameNames;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
 public class ResizeWSILFramesAction extends ResizeFramesAction
 {
@@ -47,7 +49,6 @@
     WSILPerspective wsilPerspective = controller_.getWSILPerspective();
     
     // Set the new frameset sizes.
-    boolean saveFrameSettings = false;
     if (frameName.equals(WsilFrameNames.WSIL_NAVIGATOR_CONTAINER))
     {
       wsilPerspective.setActionsContainerFramesetRows(actionsContainerFramesetRows);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILNodeAction.java
index f064d57..201abad 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILNodeAction.java
@@ -11,8 +11,11 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
 
 public class SelectWSILNodeAction extends SelectNodeAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILToolAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILToolAction.java
index dd54b1e..3e19c95 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILToolAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SelectWSILToolAction.java
@@ -11,9 +11,13 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeToolAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
 public class SelectWSILToolAction extends SelectNodeToolAction
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SwitchPerspectiveFromWSILAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SwitchPerspectiveFromWSILAction.java
index 15cfc9e..0ebdb51 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SwitchPerspectiveFromWSILAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/SwitchPerspectiveFromWSILAction.java
@@ -11,12 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.util.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ShowPerspectiveAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataException;
+import org.eclipse.wst.ws.internal.explorer.platform.util.MultipartFormDataParser;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
 public final class SwitchPerspectiveFromWSILAction extends ShowPerspectiveAction
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WSILImportWSILToWorkbenchAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WSILImportWSILToWorkbenchAction.java
index 537435b..aff146f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WSILImportWSILToWorkbenchAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WSILImportWSILToWorkbenchAction.java
@@ -11,14 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import java.util.Hashtable;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToWorkbenchAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
-import java.util.Hashtable;
-
 public class WSILImportWSILToWorkbenchAction extends ImportToWorkbenchAction
 {
   public WSILImportWSILToWorkbenchAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilAddToWSDLPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilAddToWSDLPerspectiveAction.java
index a08386e..f534e54 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilAddToWSDLPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilAddToWSDLPerspectiveAction.java
@@ -10,9 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import java.util.Hashtable;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.wsdl.actions.OpenWSDLAction;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
@@ -20,8 +22,6 @@
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
 
-import java.util.Hashtable;
-
 public class WsilAddToWSDLPerspectiveAction extends MultipleLinkAction
 {
   public WsilAddToWSDLPerspectiveAction(Controller controller)
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilImportWSDLToWorkbenchAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilImportWSDLToWorkbenchAction.java
index f5da54a..95abee3 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilImportWSDLToWorkbenchAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilImportWSDLToWorkbenchAction.java
@@ -11,14 +11,16 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
+import java.util.Hashtable;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToFileSystemAction;
 import org.eclipse.wst.ws.internal.explorer.platform.actions.ImportToWorkbenchAction;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
-import java.util.Hashtable;
-
 public class WsilImportWSDLToWorkbenchAction extends ImportToWorkbenchAction {
     public WsilImportWSDLToWorkbenchAction(Controller controller) {
         super(controller);
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilLaunchWebServiceWizardAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilLaunchWebServiceWizardAction.java
index 5bd264a..a968afa 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilLaunchWebServiceWizardAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilLaunchWebServiceWizardAction.java
@@ -12,10 +12,19 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
 import org.eclipse.wst.ws.internal.explorer.platform.actions.LaunchWebServiceWizardAction;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilUddiServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.WsilWsdlServiceElement;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListUDDIServicesTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.ListWSDLServicesTool;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
 
 public class WsilLaunchWebServiceWizardAction extends LaunchWebServiceWizardAction {
     public WsilLaunchWebServiceWizardAction(Controller controller) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilToggleNodeAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilToggleNodeAction.java
index d9b4f09..9ab8a22 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilToggleNodeAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/actions/WsilToggleNodeAction.java
@@ -11,9 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ToggleNodeAction;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 
 public class WsilToggleNodeAction extends ToggleNodeAction {
     public WsilToggleNodeAction(Controller controller) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilElement.java
index ccd1092..74828ef 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilElement.java
@@ -10,17 +10,24 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel;
 
-import java.util.Vector;
-import java.util.Iterator;
-import java.util.HashMap;
-import java.util.Properties;
 import java.net.URL;
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Vector;
+import org.apache.wsil.Abstract;
+import org.apache.wsil.Description;
+import org.apache.wsil.Inspection;
+import org.apache.wsil.Link;
+import org.apache.wsil.Service;
+import org.apache.wsil.WSILDocument;
+import org.eclipse.wst.ws.internal.datamodel.Model;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
-import org.apache.wsil.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
 import org.uddi4j.client.UDDIProxy;
 import org.uddi4j.datatype.business.BusinessEntity;
 import org.uddi4j.datatype.service.BusinessService;
@@ -36,7 +43,7 @@
   private static final String NAMESPACE_WSDL = "http://schemas.xmlsoap.org/wsdl/";
   private static final String NAMESPACE_UDDI_V1 = "urn:uddi-org:api";
   private static final String NAMESPACE_UDDI_V2 = "urn:uddi-org:api_v2";
-  private static final String NAMESPACE_UDDI_BINDING = "http://schemas.xmlsoap.org/ws/2001/10/inspection/uddi/";
+  //private static final String NAMESPACE_UDDI_BINDING = "http://schemas.xmlsoap.org/ws/2001/10/inspection/uddi/";
   private static final String NAMESPACE_WSIL_INSPECTION = "http://schemas.xmlsoap.org/ws/2001/10/inspection/";
   /** ****************** Rels **************** */
   // Relation for a WSIL doucment and its link nodes
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilLinkElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilLinkElement.java
index a8e35bd..f3f72f1 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilLinkElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilLinkElement.java
@@ -10,10 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.Model;
-
 import java.util.Vector;
-import org.apache.wsil.*;
+import org.apache.wsil.Abstract;
+import org.apache.wsil.Link;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilServiceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilServiceElement.java
index 035888c..a63a279 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilServiceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilServiceElement.java
@@ -10,10 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.Model;
-
 import java.util.Vector;
-import org.apache.wsil.*;
+import org.apache.wsil.Abstract;
+import org.apache.wsil.Service;
+import org.apache.wsil.ServiceName;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiBusinessElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiBusinessElement.java
index d4630df..182d33a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiBusinessElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiBusinessElement.java
@@ -11,15 +11,13 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Link;
+import org.apache.wsil.extension.ExtensionElement;
+import org.apache.wsil.extension.uddi.BusinessDescription;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
-
-import org.apache.wsil.*;
-import org.apache.wsil.extension.*;
-import org.apache.wsil.extension.uddi.*;
-
-import org.uddi4j.util.DiscoveryURL;
 import org.uddi4j.datatype.business.BusinessEntity;
+import org.uddi4j.util.DiscoveryURL;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiServiceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiServiceElement.java
index 900f76b..e7f9d64 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiServiceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilUddiServiceElement.java
@@ -11,16 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.apache.wsil.Description;
+import org.apache.wsil.Service;
+import org.apache.wsil.extension.ExtensionElement;
+import org.apache.wsil.extension.uddi.ServiceDescription;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.explorer.platform.uddi.util.Uddi4jHelper;
 import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
-
-import org.apache.wsil.*;
-import org.apache.wsil.extension.*;
-import org.apache.wsil.extension.uddi.*;
-
-import org.uddi4j.util.DiscoveryURL;
 import org.uddi4j.datatype.service.BusinessService;
+import org.uddi4j.util.DiscoveryURL;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsdlServiceElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsdlServiceElement.java
index 5ed15e2..1966cd0 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsdlServiceElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsdlServiceElement.java
@@ -11,12 +11,13 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel;
 
 import java.util.Vector;
-
-import org.eclipse.wst.ws.internal.datamodel.*;
-
-import org.apache.wsil.*;
-import org.apache.wsil.extension.*;
-import org.apache.wsil.extension.wsdl.*;
+import org.apache.wsil.Description;
+import org.apache.wsil.Service;
+import org.apache.wsil.extension.ExtensionElement;
+import org.apache.wsil.extension.wsdl.ImplementedBinding;
+import org.apache.wsil.extension.wsdl.Reference;
+import org.apache.wsil.extension.wsdl.ReferencedService;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsilLinkElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsilLinkElement.java
index da1e92f..4ee2d55 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsilLinkElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/datamodel/WsilWsilLinkElement.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
-import org.apache.wsil.*;
+import org.apache.wsil.Link;
+import org.eclipse.wst.ws.internal.datamodel.Model;
 
 /**
 * The data model element that represents 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIBusinessTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIBusinessTool.java
index 1498669..1c7c092 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIBusinessTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIBusinessTool.java
@@ -11,7 +11,7 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIServicesTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIServicesTool.java
index c65bc16..18884f6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIServicesTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListUDDIServicesTool.java
@@ -11,13 +11,12 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.actions.ProxyLoadPageAction;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.SelectWSILToolAction;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WsilSetDefaultViewTool;
 
 public class ListUDDIServicesTool extends ViewTool {
     public ListUDDIServicesTool(ToolManager toolManager, String alt) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListWSDLServicesTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListWSDLServicesTool.java
index 5e51f19..1f77608 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListWSDLServicesTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/ListWSDLServicesTool.java
@@ -16,7 +16,6 @@
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.SelectWSILToolAction;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WsilSetDefaultViewTool;
 
 public class ListWSDLServicesTool extends ViewTool {
     public ListWSDLServicesTool(ToolManager toolManager, String alt) {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WSILPerspective.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WSILPerspective.java
index 46f4a9e..3940f62 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WSILPerspective.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WSILPerspective.java
@@ -11,14 +11,15 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective;
 
+import javax.servlet.ServletContext;
 import org.eclipse.wst.ws.internal.datamodel.BasicModel;
-import org.eclipse.wst.ws.internal.explorer.platform.constants.*;
-import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
+import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
+import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Perspective;
 import org.eclipse.wst.ws.internal.explorer.platform.util.DirUtils;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.*;
-
-import javax.servlet.*;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.SwitchPerspectiveFromWSILAction;
 
 public class WSILPerspective extends Perspective
 {
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilAddToWSDLPerspectiveTool.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilAddToWSDLPerspectiveTool.java
index a7bcaa5..b8fba6b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilAddToWSDLPerspectiveTool.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilAddToWSDLPerspectiveTool.java
@@ -11,8 +11,11 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective;
 
-import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
-import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.*;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.AddToWSDLPerspectiveTool;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
+import org.eclipse.wst.ws.internal.explorer.platform.perspective.ToolManager;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.SelectWSILToolAction;
+import org.eclipse.wst.ws.internal.explorer.platform.wsil.actions.WsilAddToWSDLPerspectiveAction;
 
 public class WsilAddToWSDLPerspectiveTool extends AddToWSDLPerspectiveTool {
 
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilMainNode.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilMainNode.java
index 428929b..3e55b4a 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilMainNode.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/perspective/WsilMainNode.java
@@ -11,7 +11,9 @@
 
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective;
 
-import org.eclipse.wst.ws.internal.datamodel.*;
+import org.eclipse.wst.ws.internal.datamodel.ElementAdapter;
+import org.eclipse.wst.ws.internal.datamodel.RelAddEvent;
+import org.eclipse.wst.ws.internal.datamodel.RelRemoveEvent;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.WsilModelConstants;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/transformer/WSILViewSelectionTransformer.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/transformer/WSILViewSelectionTransformer.java
index b265d28..eb349ec 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/transformer/WSILViewSelectionTransformer.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsil/transformer/WSILViewSelectionTransformer.java
@@ -11,7 +11,6 @@
 package org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer;
 
 import java.util.Hashtable;
-
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ViewSelectionTransformer;
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/WEB-INF/lib/.cvsignore b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/WEB-INF/lib/.cvsignore
index d392f0e..40b5829 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/WEB-INF/lib/.cvsignore
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/WEB-INF/lib/.cvsignore
@@ -1 +1,2 @@
 *.jar
+wsexplorersrc.zip
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp
new file mode 100644
index 0000000..eba10a0
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp
@@ -0,0 +1,309 @@
+<%
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+%>
+<%@ page contentType="text/html; charset=UTF-8" import="org.eclipse.wst.ws.internal.explorer.platform.perspective.*,
+                                                        org.eclipse.wst.ws.internal.explorer.platform.constants.*,
+                                                        org.eclipse.wst.ws.internal.explorer.platform.datamodel.*,
+                                                        org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*,
+                                                        org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective,
+                                                        org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*,
+                                                        org.eclipse.wst.ws.internal.explorer.platform.util.*,
+                                                        org.apache.wsil.extension.uddi.*,
+                                                        java.io.*,
+                                                        java.util.*,
+                                                        org.eclipse.wst.ws.internal.model.v10.registry.Name,
+                                                        org.eclipse.wst.ws.internal.model.v10.registry.Description,
+                                                        org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies,
+                                                        org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy" %>
+
+<jsp:useBean id="controller" class="org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller" scope="session"/>
+<%
+        FavoritesPerspective favPerspective = controller.getFavoritesPerspective();
+        NodeManager nodeManager = favPerspective.getNodeManager();
+        Node selectedNode = nodeManager.getSelectedNode();
+        ToolManager currentToolManager = selectedNode.getCurrentToolManager();
+        TreeElement selectedElement = selectedNode.getTreeElement();
+%>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title><%=favPerspective.getMessage("FORM_TITLE_USER_DEF_UDDI_REGISTRY_DETAILS")%></title>
+    <link rel="stylesheet" type="text/css" href="<%=response.encodeURL(controller.getPathWithContext("css/windows.css"))%>">
+</head>
+<body dir="<%=org.eclipse.wst.ws.internal.explorer.platform.util.DirUtils.getDir()%>" class="contentbodymargin">
+<div id="contentborder">
+
+    <%
+    String titleImagePath = "images/details_highlighted.gif";
+    String title = favPerspective.getMessage("ALT_FAVORITES_USER_DEF_UDDI_REGISTRY_DETAILS");
+    %>
+    <%@ include file = "/forms/formheader.inc" %>
+    <%
+    if (selectedElement instanceof FavoritesUserDefUDDIRegistryElement) {
+        FavoritesUserDefUDDIRegistryElement regElement = (FavoritesUserDefUDDIRegistryElement)selectedElement;
+    %>
+
+        <%
+        String version = regElement.getVersion();
+        if (version != null)
+        {
+        %>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_UDDI_VERSION")%>
+                </th>
+            </tr>
+            <tr>
+                <td class="tablecells">
+                    <%=version%>
+                </td>
+            </tr>
+        </table>
+        <%
+        }
+        %>
+
+        <%
+        List names = regElement.getNames();
+        if (names != null && !names.isEmpty())
+        {
+        %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left" width="1" nowrap>
+                    <%=favPerspective.getMessage("FORM_LABEL_LANGUAGE")%>
+                </th>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_REGISTRY_NAME")%>
+                </th>
+            </tr>
+            <%
+            for (Iterator it = names.iterator(); it.hasNext();)
+            {
+              Name name = (Name)it.next();
+              String lang = name.getLang();
+              %>
+              <tr>
+                <td class="tablecells"><%=lang != null ? lang : "--"%></td>
+                <td class="tablecells"><%=name.getValue()%></td>
+              </tr>
+              <%
+            }
+            %>
+        </table>
+        <%
+        }
+        %>
+
+        <%
+        List descs = regElement.getDescs();
+        if (descs != null && !descs.isEmpty())
+        {
+        %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left" width="1" nowrap>
+                    <%=favPerspective.getMessage("FORM_LABEL_LANGUAGE")%>
+                </th>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_DESC")%>
+                </th>
+            </tr>
+            <%
+            for (Iterator it = descs.iterator(); it.hasNext();)
+            {
+              Description desc = (Description)it.next();
+              String lang = desc.getLang();
+              %>
+              <tr>
+                <td class="tablecells"><%=lang != null ? lang : "--"%></td>
+                <td class="tablecells"><%=desc.getValue()%></td>
+              </tr>
+              <%
+            }
+            %>
+        </table>
+        <%
+        }
+        %>
+
+        <%
+        String defaultLogin = regElement.getDefaultLogin();
+        if (defaultLogin != null)
+        {
+        %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_DEFAULT_LOGIN")%>
+                </th>
+            </tr>
+            <tr>
+                <td class="tablecells">
+                    <%=defaultLogin%>
+                </td>
+            </tr>
+        </table>
+        <%
+        }
+        %>
+
+        <%
+        String defaultPassword = regElement.getDefaultPassword();
+        if (defaultPassword != null)
+        {
+        %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_DEFAULT_PASSWORD")%>
+                </th>
+            </tr>
+            <tr>
+                <td class="tablecells">
+                    <%=defaultPassword%>
+                </td>
+            </tr>
+        </table>
+        <%
+        }
+        %>
+
+        <%
+        String inquiryURL = regElement.getInquiryURL();
+        if (inquiryURL != null)
+        {
+        %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_INQUIRY_URL")%>
+                </th>
+            </tr>
+            <tr>
+                <td class="tablecells">
+                    <%=inquiryURL%>
+                </td>
+            </tr>
+        </table>
+        <%
+        }
+        %>
+
+     <%
+     String publishURL = regElement.getPublishURL();
+     if (Validator.validateURL(publishURL))
+     {
+     %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_PUBLISH_URL")%>
+                </th>
+            </tr>
+            <tr>
+                <td class="tablecells">
+                    <%=publishURL%>
+                </td>
+            </tr>
+        </table>
+     <%
+     }
+
+     String secureInquiryURL = regElement.getSecureInquiryURL();
+     if (Validator.validateURL(secureInquiryURL))
+     {
+     %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_SECURE_INQUIRY_URL")%>
+                </th>
+            </tr>
+            <tr>
+                <td class="tablecells">
+                    <%=secureInquiryURL%>
+                </td>
+            </tr>
+        </table>
+     <%
+     }
+
+     String securePublishURL = regElement.getSecurePublishURL();
+     if (Validator.validateURL(securePublishURL))
+     {
+     %>
+        <br>
+        <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="singleheadercolor" height=20 valign="bottom" align="left">
+                    <%=favPerspective.getMessage("FORM_LABEL_SECURE_PUBLISH_URL")%>
+                </th>
+            </tr>
+            <tr>
+                <td class="tablecells">
+                    <%=securePublishURL%>
+                </td>
+            </tr>
+        </table>
+     <%
+     }
+     %>
+     
+     <%
+     Taxonomy[] taxonomies = regElement.getTaxonomies();
+     if (taxonomies != null && taxonomies.length > 0)
+     {
+     %>
+       <br>
+       <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+         <tr>
+           <th class="singleheadercolor" height=20 valign="bottom" align="left">
+             <%=favPerspective.getMessage("FORM_LABEL_TAXONOMY")%>
+           </th>
+         </tr>
+         <%
+         for (int i=0; i<taxonomies.length; i++)
+         {
+           Taxonomy taxonomy = taxonomies[i];
+         %>
+         <tr>
+           <td class="tablecells"><%=taxonomy.getName()%></td>
+         </tr>
+         <%
+         }
+         %>
+       </table>
+       <%
+     }
+     %>
+
+<jsp:useBean id="currentToolManagerHash" class="java.util.Hashtable" scope="request">
+<%
+  currentToolManagerHash.put(ActionInputs.CURRENT_TOOL_MANAGER,currentToolManager);
+%>
+</jsp:useBean>
+<jsp:include page="/forms/otherActions.jsp" flush="true"/>
+<%      
+    }
+%>
+</div>
+</body>
+</html>
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/views/ListFavoriteUserDefUDDIRegistryView.jsp b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/views/ListFavoriteUserDefUDDIRegistryView.jsp
new file mode 100644
index 0000000..8da77a9
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/views/ListFavoriteUserDefUDDIRegistryView.jsp
@@ -0,0 +1,123 @@
+<%
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+%>
+<%@ page contentType="text/html; charset=UTF-8" import="java.util.Enumeration,
+                                                                                          java.util.Vector,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.util.QuickSort,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.perspective.*,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.constants.*,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.datamodel.*,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.favorites.constants.*,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.favorites.perspective.FavoritesPerspective,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.favorites.actions.*,
+                                                                                          org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.*" %>
+
+<jsp:useBean id="controller" class="org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller" scope="session"/>
+<%
+    String divFavoriteUDDIRegistryTable = "divFavoriteUDDIRegistryTable";
+    String xdivFavoriteUDDIRegistryTable = "xdivFavoriteUDDIRegistryTable";
+
+    FavoritesPerspective favoritesPerspective = controller.getFavoritesPerspective();
+    NodeManager nodeManager = favoritesPerspective.getNodeManager();
+    Node selectedNode = nodeManager.getSelectedNode();
+    TreeElement selectedElement = selectedNode.getTreeElement();
+%>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title><%=favoritesPerspective.getMessage("VIEW_TITLE_USER_DEF_UDDI_REGISTRY_LIST")%></title>
+    <link rel="stylesheet" type="text/css" href="<%=response.encodeURL(controller.getPathWithContext("css/windows.css"))%>">
+    <jsp:include page="/favorites/scripts/favoritesFormSubmit.jsp" flush="true"/>
+    <jsp:include page="/favorites/scripts/favoritesTable.jsp" flush="true"/>
+</head>
+<body dir="<%=org.eclipse.wst.ws.internal.explorer.platform.util.DirUtils.getDir()%>" class="contentbodymargin">
+<div id="contentborder">
+    <%
+    String titleImagePath = "favorites/images/list_registry_highlighted.gif";
+    String title = favoritesPerspective.getMessage("ALT_LIST_FAVORITE_USER_DEF_UDDI_REGISTRY");
+    %>
+    <%@ include file = "/forms/formheader.inc" %>
+    <table>
+      <tr>
+        <td class="labels">
+          <%=favoritesPerspective.getMessage("FORM_LABEL_LIST_FAVORITE_USER_DEF_UDDI_REGISTRY_DESC")%>
+        </td>
+      </tr>
+    </table>    
+    <form action="<%=response.encodeURL(controller.getPathWithContext(RemoveFavoritesAction.getBaseActionLink()))%>" method="post" target="<%=FrameNames.PERSPECTIVE_WORKAREA%>" style="margin-top:10px;">
+    <%
+    if (selectedElement instanceof FavoritesUserDefUDDIRegistryFolderElement) {
+    %>
+        <input type="hidden" name="<%=FavoritesActionInputs.MULTIPLE_LINK_ACTION%>" value="1">
+        <table width="95%" border=0 cellpadding=6 cellspacing=0>
+            <tr>
+                <td height=20 valign="bottom" align="left" nowrap width=11>
+                    <a href="javascript:twist('<%=divFavoriteUDDIRegistryTable%>','<%=xdivFavoriteUDDIRegistryTable%>')"><img name="<%=xdivFavoriteUDDIRegistryTable%>" src="<%=response.encodeURL(controller.getPathWithContext("images/twistclosed.gif"))%>" alt="<%=controller.getMessage("ALT_TWIST_CLOSED")%>" class="twist"></a>
+                </td>
+                <td height=20 valign="bottom" align="left" nowrap class="labels">
+                    <strong><%=favoritesPerspective.getMessage("FORM_LABEL_FAVORITE_USER_DEF_UDDI_REGISTRY")%></strong>
+                </td>
+            </tr>
+        </table>
+
+        <table width="95%" border=0 cellpadding=0 cellspacing=0>
+            <tr>
+                <td valign="top" height=10><img src="<%=response.encodeURL(controller.getPathWithContext("images/keyline.gif"))%>" height=2 width="100%"></td>
+            </tr>
+        </table>
+
+        <div id="<%=divFavoriteUDDIRegistryTable%>">
+        <table width="95%" cellpadding=3 cellspacing=0 class="tableborder">
+            <tr>
+                <th class="checkboxcells" width=10><input type="checkbox" onClick="favHandleCheckAllClick('<%=divFavoriteUDDIRegistryTable%>',this)" title="<%=controller.getMessage("FORM_CONTROL_TITLE_SELECT_ALL_CHECK_BOX")%>"></th>
+                <th class="headercolor"><%=favoritesPerspective.getMessage("FORM_LABEL_NAME")%></th>
+            </tr>
+            <%
+                Enumeration e = ((FavoritesUserDefUDDIRegistryFolderElement)selectedElement).getAllFavorites();
+                Vector sortedVector = new Vector();
+                while (e.hasMoreElements()) {
+                	sortedVector.add(e.nextElement());
+             	  }
+                QuickSort.sort(sortedVector);
+                e = sortedVector.elements();
+                while (e.hasMoreElements()) {
+                    FavoritesUserDefUDDIRegistryElement favUDDIRegistryElement = (FavoritesUserDefUDDIRegistryElement)e.nextElement();
+                    %>
+                    <tr>
+                        <td class="checkboxcells" width=10><input type="checkbox"  name="<%=FavoritesActionInputs.MASS_ACTION_NODE_ID%>" value="<%=selectedNode.getChildNode(favUDDIRegistryElement).getNodeId()%>" onClick="validateCheckBoxInput(this, this.checked)" title="<%=controller.getMessage("FORM_CONTROL_TITLE_SELECT_ROW_CHECK_BOX")%>"></td>
+                        <td class="tablecells" nowrap><a href="<%=response.encodeURL(controller.getPathWithContext(SelectFavoritesNodeAction.getActionLink(selectedNode.getChildNode(favUDDIRegistryElement).getNodeId(), false)))%>" target="<%=FrameNames.PERSPECTIVE_WORKAREA%>"><%=favUDDIRegistryElement.getName()%></a></td>
+                    </tr>
+                    <%
+                }
+            %>
+        </table>
+        </div>
+        <script language="javascript">
+            twistInit('<%=divFavoriteUDDIRegistryTable%>','<%=xdivFavoriteUDDIRegistryTable%>');
+        </script>
+
+        <table border=0 cellpadding=2 cellspacing=0>
+            <tr>
+                <td height=40 valign="bottom" nowrap>
+                    <input type="button" value="<%=favoritesPerspective.getMessage("FORM_LABEL_IMPORT_TO_UDDI_PERSPECTIVE")%>" onClick="setFormLocationAndSubmit('<%=divFavoriteUDDIRegistryTable%>', this.form, '<%=response.encodeURL(controller.getPathWithContext(AddToUDDIPerspectiveAction.getBaseActionLink()))%>')" class="button">
+                </td>
+                <td nowrap width="90%">&nbsp;</td>
+            </tr>
+        </table>
+
+    <%
+    }
+%>
+    </form>
+</div>
+</body>
+</html>
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/data/dWCommunity-data.txt b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/data/dWCommunity-data.txt
deleted file mode 100644
index cd90aba..0000000
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/data/dWCommunity-data.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-dWCommunity#General#Web service information for the developerWorks Web services community#General
-dWCommunity#Speed Start#Web service information for the developerWorks Speed Start community#Speed Start
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/forms/ud_categories_table.jsp b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/forms/ud_categories_table.jsp
index d4fc18e..0c31a7b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/forms/ud_categories_table.jsp
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/forms/ud_categories_table.jsp
@@ -27,12 +27,14 @@
     <td height=40 valign="bottom" align="left" nowrap class="labels">
       <strong><%=uddiPerspective.getMessage("FORM_LABEL_USER_DEFINED_CATEGORIES")%></strong>
     </td>
+    <!--
     <td height=40 valign="bottom" align="left" nowrap class="labels">
       <a href="javascript:editSelectedDetailsUserDefinedCategoryRows('<%=tableContainerId%>')"><%=uddiPerspective.getMessage("FORM_LINK_EDIT")%></a>
     </td>
     <td height=40 valign="bottom" align="left" nowrap class="labels">
       <a href="javascript:cancelSelectedDetailsUserDefinedCategoryRows('<%=tableContainerId%>')"><%=uddiPerspective.getMessage("FORM_LINK_CANCEL")%></a>
     </td>
+    -->
     <td nowrap width="90%">&nbsp;</td>
   </tr>
 </table>
@@ -46,11 +48,15 @@
 <div id="<%=tableContainerId%>" style="display:'';">
   <table width="95%" cellpadding=3 cellspacing=0 class="tableborder">
     <tr>
+      <!--
       <th class="checkboxcells" width=10><input type="checkbox" onClick="handleCheckAllClick('<%=tableContainerId%>',this)" title="<%=controller.getMessage("FORM_CONTROL_TITLE_SELECT_ALL_CHECK_BOX")%>"></th>
+      -->
       <th class="headercolor" width="15%"><%=uddiPerspective.getMessage("FORM_LABEL_NAME")%></th>
+      <!--
       <th class="headercolor" width="10%"><%=uddiPerspective.getMessage("FORM_LABEL_CHECKED")%></th>
       <th class="headercolor" width="70%"><%=uddiPerspective.getMessage("FORM_LABEL_FILE")%></th>
       <th class="headercolor" width="*"><%=controller.getMessage("FORM_LABEL_ACTIONS")%></th>
+      -->
     </tr>
   </table>
 </div>  
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/scripts/detailstables.jsp b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/scripts/detailstables.jsp
index b0c3ad6..1fde370 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/scripts/detailstables.jsp
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/uddi/scripts/detailstables.jsp
@@ -859,53 +859,53 @@
     var table = getTable(tableContainerId);
     var tableBody = table.getElementsByTagName("TBODY").item(0);
     var newRow = document.createElement("tr");
-    var column0 = document.createElement("td");
+    //var column0 = document.createElement("td");
     var column1 = document.createElement("td");
-    var column2 = document.createElement("td");
-    var column3 = document.createElement("td");
-    var column4 = document.createElement("td");
+    //var column2 = document.createElement("td");
+    //var column3 = document.createElement("td");
+    //var column4 = document.createElement("td");
     
-    column0.className = "checkboxcells";
+    //column0.className = "checkboxcells";
     column1.className = "tablecells";
     column1.width = "15%";
-    column2.className = "tablecells";
-    column2.width = "10%";
-    column3.className = "tablecells";
-    column3.width = "70%";
-    column4.className = "tablecells";
+    //column2.className = "tablecells";
+    //column2.width = "10%";
+    //column3.className = "tablecells";
+    //column3.width = "70%";
+    //column4.className = "tablecells";
     
-    var rowCheckbox = createRowCheckbox();
-    column0.appendChild(rowCheckbox);
+    //var rowCheckbox = createRowCheckbox();
+    //column0.appendChild(rowCheckbox);
     
-    column1.appendChild(createHiddenElement("",fileName));  <%// original file name%>
-    column1.appendChild(createHiddenElement("",hasError));  <%// mode%>
-    column1.appendChild(createHiddenElement("",tModelKey)); <%// tModelKey%>
+    //column1.appendChild(createHiddenElement("",fileName));  <%// original file name%>
+    //column1.appendChild(createHiddenElement("",hasError));  <%// mode%>
+    //column1.appendChild(createHiddenElement("",tModelKey)); <%// tModelKey%>
     column1.appendChild(document.createTextNode(categoryName));
     
-    column2.appendChild(document.createTextNode(isChecked));
+    //column2.appendChild(document.createTextNode(isChecked));
     
-    if (hasError)
-    {
-      column3.appendChild(createHiddenElement("<%=UDDIActionInputs.CATEGORY_TMODEL_KEY%>",tModelKey));
-      var fileInput = document.createElement("input");
-      fileInput.setAttribute("name","<%=UDDIActionInputs.CATEGORY_FILENAME%>");
-      fileInput.setAttribute("type","file");
-      fileInput.title = "<%=HTMLUtils.JSMangle(uddiPerspective.getMessage("FORM_CONTROL_TITLE_CATEGORY_FILE"))%>";
-      fileInput.className = "tablefilebrowse";
-      column3.appendChild(fileInput);
-      addDetailsUserDefinedCategoryRowCancelLink(tableContainerId,column4,table.rows.length);
-    }
-    else
-    {
-      column3.appendChild(document.createTextNode(fileName));
-      addDetailsUserDefinedCategoryRowEditLink(tableContainerId,column4,table.rows.length);
-    }
+    //if (hasError)
+    //{
+    //  column3.appendChild(createHiddenElement("<%=UDDIActionInputs.CATEGORY_TMODEL_KEY%>",tModelKey));
+    //  var fileInput = document.createElement("input");
+    //  fileInput.setAttribute("name","<%=UDDIActionInputs.CATEGORY_FILENAME%>");
+    //  fileInput.setAttribute("type","file");
+    //  fileInput.title = "<%=HTMLUtils.JSMangle(uddiPerspective.getMessage("FORM_CONTROL_TITLE_CATEGORY_FILE"))%>";
+    //  fileInput.className = "tablefilebrowse";
+    //  column3.appendChild(fileInput);
+    //  addDetailsUserDefinedCategoryRowCancelLink(tableContainerId,column4,table.rows.length);
+    //}
+    //else
+    //{
+    //  column3.appendChild(document.createTextNode(fileName));
+    //  addDetailsUserDefinedCategoryRowEditLink(tableContainerId,column4,table.rows.length);
+    //}
     
-    newRow.appendChild(column0);
+    //newRow.appendChild(column0);
     newRow.appendChild(column1);
-    newRow.appendChild(column2);
-    newRow.appendChild(column3);
-    newRow.appendChild(column4);
+    //newRow.appendChild(column2);
+    //newRow.appendChild(column3);
+    //newRow.appendChild(column4);
     
     tableBody.appendChild(newRow);
   }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/wsdl_content.jsp b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/wsdl_content.jsp
index 80c07c4..6a2a888 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/wsdl_content.jsp
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/wsdl_content.jsp
@@ -20,7 +20,7 @@
                                                         org.eclipse.wst.ws.internal.explorer.platform.constants.*,
                                                         org.eclipse.wst.ws.internal.explorer.platform.datamodel.*,
                                                         org.eclipse.wst.ws.internal.explorer.platform.util.*,
-                                                        org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceInfo,
+                                                        org.eclipse.wst.ws.internal.wsrt.WebServiceInfo,
                                                         org.eclipse.wst.ws.internal.wsfinder.WebServiceFinder,
                                                         javax.wsdl.extensions.soap.*,
                                                         javax.wsdl.extensions.http.*,
@@ -93,37 +93,40 @@
     {
       var x=0;
 <%
+         String platformProtocol = "platform:/resource";
          wsdlURLs_.removeAllElements();
          
          Iterator ws = WebServiceFinder.instance().getWebServices();  
+
          while (ws.hasNext())
          {
             WebServiceInfo wsInfo = (WebServiceInfo)ws.next();
             String url = wsInfo.getWsdlURL();
-          
-            if (url.indexOf(projects[i].getName()) == 1)
-            {
+            
+           // filter wsdl URLs with same project name as selected project
+           // only look at workspace URLs returned from the web service finder
+          if (url.startsWith(platformProtocol))
+          {
+             //strip off platformProtocol to look at the workspace path
+             Path wsdlPath = new Path(url.substring(platformProtocol.length()+1));
+             String pathProjName = wsdlPath.segment(0);                          
+
+             if (pathProjName.equals(projects[i].getName()))
+             {
                wsdlURLs_.add(url);
-            }
+             }
+          }
          }
          if (wsdlType == ActionInputs.WSDL_TYPE_SERVICE_INTERFACE)
          {
          
          }
+
          for (Iterator it = wsdlURLs_.iterator(); it.hasNext();)
          {
              String wsdl = HTMLUtils.JSMangle(it.next().toString());
-             String platformURL = "";             
-             if (wsdl.indexOf(":") == -1)
-             {
-                platformURL = "platform:/resource" + wsdl;
-              }
-              else
-              {
-                 platformURL = wsdl;
-              }             
              %>
-              document.forms[0].<%=ActionInputs.QUERY_INPUT_WEBPROJECT_WSDL_URL%>.options[x++] = new Option("<%=wsdl%>", "<%=platformURL%>"); 
+              document.forms[0].<%=ActionInputs.QUERY_INPUT_WEBPROJECT_WSDL_URL%>.options[x++] = new Option("<%=wsdl%>", "<%=wsdl%>"); 
              <%
          }
 %>
diff --git a/bundles/org.eclipse.wst.ws.parser/.cvsignore b/bundles/org.eclipse.wst.ws.parser/.cvsignore
index efc1e93..6e021a1 100644
--- a/bundles/org.eclipse.wst.ws.parser/.cvsignore
+++ b/bundles/org.eclipse.wst.ws.parser/.cvsignore
@@ -3,3 +3,5 @@
 build.xml
 temp.folder
 parser.jar
+@dot
+src.zip
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 307f4ce..7a85d1b 100644
--- a/bundles/org.eclipse.wst.ws.parser/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.ws.parser/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.ws.parser
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.wst.ws.internal.parser.plugin.ParserPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -10,12 +10,12 @@
  org.eclipse.wst.ws.internal.parser.discovery,
  org.eclipse.wst.ws.internal.parser.favorites,
  org.eclipse.wst.ws.internal.parser.plugin,
- org.eclipse.wst.ws.internal.parser.wsil
+ org.eclipse.wst.ws.internal.parser.wsil,
+ org.eclipse.wst.ws.parser
 Require-Bundle: org.eclipse.wst.wsdl,
  org.wsdl4j,
  org.eclipse.core.runtime,
  org.apache.wsil4j,
  org.uddi4j,
- org.eclipse.wst.command.env.core,
- org.apache.axis
+ org.eclipse.wst.command.env.core
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.ws.parser/plugin.xml b/bundles/org.eclipse.wst.ws.parser/plugin.xml
deleted file mode 100644
index 98566ef..0000000
--- a/bundles/org.eclipse.wst.ws.parser/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-    
-</plugin>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/plugin/ParserPlugin.java b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/plugin/ParserPlugin.java
index 19e8272..d2dc6dc 100644
--- a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/plugin/ParserPlugin.java
+++ b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/plugin/ParserPlugin.java
@@ -16,7 +16,7 @@
 import java.util.ResourceBundle;
 
 import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
+import org.eclipse.wst.command.internal.env.core.common.MessageUtils;
 
 /**
  * The main plugin class to be used in the desktop.
diff --git a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WSILMessages.java b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WSILMessages.java
new file mode 100644
index 0000000..3286ba7
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WSILMessages.java
@@ -0,0 +1,22 @@
+package org.eclipse.wst.ws.internal.parser.wsil;
+
+import org.eclipse.osgi.util.NLS;
+
+public class WSILMessages extends NLS
+{
+  private static final String BUNDLE_NAME = "org.eclipse.wst.ws.internal.parser.wsil.wsil"; //$NON-NLS-1$
+  
+  static
+  {
+    NLS.initializeMessages(BUNDLE_NAME, WSILMessages.class);
+  }
+
+  public static String MSG_ERROR_INVALID_ARGUMENTS;
+  public static String MSG_ERROR_ILLEGAL_ARGUMENTS;
+  public static String MSG_ERROR_INVALID_WSDL_URI;
+  public static String MSG_ERROR_INVALID_WSIL_URI;
+  public static String MSG_ERROR_UNRESOLVABLE_WSDL;
+  public static String MSG_ERROR_UNEXPECTED_EXCEPTION;
+  public static String MSG_ERROR_MALFORMED_WSDL;
+  public static String MSG_ERROR_WRITE_WSIL;
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java
index f6a1fd7..1acc20c 100644
--- a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java
+++ b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/internal/parser/wsil/WebServicesParser.java
@@ -499,18 +499,6 @@
     return new URL(url);
   }
 
-  private byte[] getBytes(WebServiceEntity wsEntity) throws MalformedURLException, IOException, WWWAuthenticationException
-  {
-    byte[] b = wsEntity.getBytes();
-    if (b == null)
-    {
-      b = getInputStreamAsByteArray(wsEntity.getURI());
-      wsEntity.setBytes(b);
-      setHTTPSettings(wsEntity);
-    }
-    return b;
-  }
-
   private void associate(WebServiceEntity parent, WebServiceEntity child)
   {
     parent.addChild(child);
diff --git a/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/parser/PluginMessages.java b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/parser/PluginMessages.java
new file mode 100644
index 0000000..9609cb5
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.parser/src/org/eclipse/wst/ws/parser/PluginMessages.java
@@ -0,0 +1,22 @@
+package org.eclipse.wst.ws.parser;
+
+import org.eclipse.osgi.util.NLS;
+
+public class PluginMessages extends NLS
+{
+  private static final String BUNDLE_NAME = "org.eclipse.wst.ws.parser.plugin"; //$NON-NLS-1$
+  
+  static
+  {
+    NLS.initializeMessages(BUNDLE_NAME, PluginMessages.class);
+  }
+
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_IBM;
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_IBM_TEST;
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_MICROSOFT;
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_MICROSOFT_TEST;
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_SAP;
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_SAP_TEST;
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_XMETHODS;
+  public static String PUBLICUDDIREGISTRYTYPE_NAME_NTTCOMM;
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws.ui/.cvsignore b/bundles/org.eclipse.wst.ws.ui/.cvsignore
index 6b802ab..486ce3b 100644
--- a/bundles/org.eclipse.wst.ws.ui/.cvsignore
+++ b/bundles/org.eclipse.wst.ws.ui/.cvsignore
@@ -2,3 +2,5 @@
 temp.folder
 wsui.jar
 build.xml
+@dot
+src.zip
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 e0083b6..42cc38e 100644
--- a/bundles/org.eclipse.wst.ws.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.ws.ui/META-INF/MANIFEST.MF
@@ -2,22 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.ws.ui; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.ws.internal.provisional.ui.wsrt,
+Export-Package: org.eclipse.wst.ws.internal.ui.wsrt,
  org.eclipse.wst.ws.internal.ui.plugin,
  org.eclipse.wst.ws.internal.ui.preferences,
  org.eclipse.wst.ws.internal.ui.wsi.preferences,
  org.eclipse.wst.ws.internal.ui.wsi.properties,
- org.eclipse.wst.ws.ui
+ org.eclipse.wst.ws.internal.ui
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.core.resources,
- org.eclipse.jdt.core,
- org.eclipse.wst.command.env.core,
- org.eclipse.wst.command.env,
  org.eclipse.wst.command.env.ui,
  org.eclipse.wst.ws
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.ws.ui/plugin.properties b/bundles/org.eclipse.wst.ws.ui/plugin.properties
index fcd4063..b9b831e 100644
--- a/bundles/org.eclipse.wst.ws.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.ws.ui/plugin.properties
@@ -16,4 +16,4 @@
 PLUGIN_PROVIDER=Eclipse.org
 
 PLUGIN_NEW_CATEGORY_NAME_WS=Web Services
-PREFERENCE_CATEGORY_WSI=Profile Validation
\ No newline at end of file
+PREFERENCE_CATEGORY_WSI=Profile Compliance and Validation
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/provisional/ui/wsrt/IObjectSelector.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/provisional/ui/wsrt/IObjectSelector.java
deleted file mode 100644
index e6e0549..0000000
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/provisional/ui/wsrt/IObjectSelector.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.ui.wsrt;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Listener;
-
-import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-
-public interface IObjectSelector {
-	
-	public void setInitialSelection(ISelection sel);
-	public ISelection getSelection();
-	public String getProject();
-	public Status validateSelection(ISelection sel);
-	public WidgetDataEvents addControls(Composite parent, Listener statusListener);
-
-}
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/WstWSUIPlugin.properties b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/WstWSUIPlugin.properties
new file mode 100644
index 0000000..44a8b7d
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/WstWSUIPlugin.properties
@@ -0,0 +1,67 @@
+###############################################################################
+# Copyright (c) 2005 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
+###############################################################################
+
+#
+# Messages in plugin.xml.
+#
+PLUGIN_NAME=Web Services UI
+PLUGIN_VENDOR=Eclipse.org
+PLUGIN_DESC=\
+The Web services GUI plugin delivers the graphical \
+user interface to the Web services function in the WST subproject.
+
+PLUGIN_NEW_CATEGORY_NAME_WS=Web Services
+
+
+#
+#  WS-I Preference pages
+#
+# WS-I Compliance Page
+#
+PREFERENCE_CATEGORY_WSI=WS-I Compliance
+STOP_NON_WSI=Require compliance
+WARN_NON_WSI=Suggest compliance
+IGNORE_NON_WSI=Ignore compliance
+FOLLOW_WSI_PREFERENCE=Follow Preference
+
+TOOLTIP_PWSI_PAGE=Web Services Interoperability
+TOOLTIP_PWSI_RADIO_STOP_NON_WSI=Stop and produce an error message if you make a choice that does not comply with WS-I.
+TOOLTIP_PWSI_RADIO_WARNING_NON_WSI=Produce a warning message if you make a choice that does not comply with WS-I.
+TOOLTIP_PWSI_RADIO_IGNORE_NON_WSI=Silently allow choices that do not comply with WS-I.
+TOOLTIP_PWSI_RADIO_FOLLOW_WSI_PREFERENCE=Project would use WS-I compliance level set in Workspace Preference.
+
+LABEL_WSI_SSBP=WS-I SSBP compliance level
+TOOLTIP_PWSI_SSBP_LABEL=WS-I Simple SOAP Binding Profile compliance level
+TOOLTIP_PWSI_SSBP_COMBO=Choose the WS-I Simple SOAP Binding Profile compliance level
+
+LABEL_WSI_AP=WS-I AP compliance level
+TOOLTIP_PWSI_AP_LABEL=WS-I Attachment Profile compliance level
+TOOLTIP_PWSI_AP_COMBO=Choose the WS-I Attachment Profile compliance level
+
+#
+#	WSDL Validation
+#
+LABEL_WSDLVAL=Select whether WSDL validation should be performed on wizards that consume WSDL files
+LABEL_WSDLVAL_NONE=No wizard WSDL validation
+LABEL_WSDLVAL_REMOTE=Wizard WSDL validation for remote files only
+LABEL_WSDLVAL_ALL=Wizard WSDL validation for all WSDL files
+LABEL_WAIT_FOR_WSDLVAL=Wait for WSDL validation to complete before moving along the wizards?
+BUTTON_WAIT_FOR_WSDLVAL=Wait for pending WSDL validation to complete
+TOOLTIP_PWSI_RADIO_WSDLVAL_NONE=Do not perform WSDL validation on the WSDL file or URL input to the Web Services wizard
+TOOLTIP_PWSI_RADIO_WSDLVAL_REMOTE=Only perform WSDL validation on remote WSDL file or URL input to the Web Services wizard
+TOOLTIP_PWSI_RADIO_WSDLVAL_ALL=Perform WSDL validation on all WSDL file or URL input to the Web Services wizard
+TOOLTIP_PWSI_WSDLVAL_LABEL=Select whether WSDL validation should be performed on wizards that consume WSDL files, \nfor example, Web Service wizard in skeleton scenario and Web Service Client wizard.
+TOOLTIP_PWSI_LABEL_WAIT_FOR_WSDLVAL=WSDL validation might not have completed during wizard flow, \nwould you like to wait for WSDL validation or cancel it?
+TOOLTIP_PWSI_BUTTON_WAIT_FOR_WSDLVAL=Wait for pending WSDL validation to complete and continue with the wizard
+
+
+
+
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/WstWSUIPluginMessages.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/WstWSUIPluginMessages.java
new file mode 100644
index 0000000..325234d
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/WstWSUIPluginMessages.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class WstWSUIPluginMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.wst.ws.internal.ui.WstWSUIPlugin";//$NON-NLS-1$
+
+	private WstWSUIPluginMessages() {
+		// Do not instantiate
+	}
+
+	public static String PLUGIN_NAME;
+	public static String PLUGIN_VENDOR;
+	public static String PLUGIN_DESC;
+	public static String PLUGIN_NEW_CATEGORY_NAME_WS;
+	public static String PREFERENCE_CATEGORY_WSI;
+	public static String STOP_NON_WSI;
+	public static String WARN_NON_WSI;
+	public static String IGNORE_NON_WSI;
+	public static String FOLLOW_WSI_PREFERENCE;
+	public static String TOOLTIP_PWSI_PAGE;
+	public static String TOOLTIP_PWSI_RADIO_STOP_NON_WSI;
+	public static String TOOLTIP_PWSI_RADIO_WARNING_NON_WSI;
+	public static String TOOLTIP_PWSI_RADIO_IGNORE_NON_WSI;
+	public static String TOOLTIP_PWSI_RADIO_FOLLOW_WSI_PREFERENCE;
+	public static String LABEL_WSI_SSBP;
+	public static String TOOLTIP_PWSI_SSBP_LABEL;
+	public static String TOOLTIP_PWSI_SSBP_COMBO;
+	public static String LABEL_WSI_AP;
+	public static String TOOLTIP_PWSI_AP_LABEL;
+	public static String TOOLTIP_PWSI_AP_COMBO;
+	public static String LABEL_WSDLVAL;
+	public static String LABEL_WSDLVAL_NONE;
+	public static String LABEL_WSDLVAL_REMOTE;
+	public static String LABEL_WSDLVAL_ALL;
+	public static String LABEL_WAIT_FOR_WSDLVAL;
+	public static String BUTTON_WAIT_FOR_WSDLVAL;
+	public static String TOOLTIP_PWSI_RADIO_WSDLVAL_NONE;
+	public static String TOOLTIP_PWSI_RADIO_WSDLVAL_REMOTE;
+	public static String TOOLTIP_PWSI_RADIO_WSDLVAL_ALL;
+	public static String TOOLTIP_PWSI_WSDLVAL_LABEL;
+	public static String TOOLTIP_PWSI_LABEL_WAIT_FOR_WSDLVAL;
+	public static String TOOLTIP_PWSI_BUTTON_WAIT_FOR_WSDLVAL;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, WstWSUIPluginMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/plugin/WSUIPlugin.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/plugin/WSUIPlugin.java
index 700c1a0..ee09901 100644
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/plugin/WSUIPlugin.java
+++ b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/plugin/WSUIPlugin.java
@@ -13,14 +13,9 @@
 
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.text.MessageFormat;
 
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIAPContext;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSISSBPContext;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 
 
 /**
@@ -31,9 +26,6 @@
 */
 public class WSUIPlugin extends AbstractUIPlugin
 {
-	// Copyright
-	public static final String copyright =
-		"(c) Copyright IBM Corporation 2000, 2002.";
 
  /**
  * The identifier of the descriptor of this plugin in plugin.xml.
@@ -44,9 +36,6 @@
  * The reference to the singleton instance of this plugin.
  */
  private static WSUIPlugin instance_;
-
- private PersistentWSISSBPContext wsiSSBPContext_;
- private PersistentWSIAPContext wsiAPContext_;
  
  /**
   * Constructs a runtime plugin object for this plugin.
@@ -65,85 +54,6 @@
    return instance_;
  }
 
-	/**
-	 * Get WSI Context
-	 * @deprecated use getWSISSBPContext or getWSIAPContext instead
-	 * 
-	 */ 
- public PersistentWSIContext getWSIContext() 
- 	{ // defaulting to get WSI Simple SOAP Binding Profile context
- 	  return getWSISSBPContext();
- 	}
- 
- /**
-	 * Get WSI Simple SOAP Binding Profile Context
-	 * 
-	 */ 
- public PersistentWSISSBPContext getWSISSBPContext() 
-	{
-	  if (wsiSSBPContext_ == null)
-	  	{
-	  		wsiSSBPContext_ = new PersistentWSISSBPContext();
-	  		wsiSSBPContext_.load();
-	  	}
-	  return wsiSSBPContext_;
-	}
- 
- /**
-	 * Get WSI Attachment Profile Context
-	 * 
-	 */ 
- public PersistentWSIAPContext getWSIAPContext() 
-	{
-	  if (wsiAPContext_ == null)
-	  	{
-	  		wsiAPContext_ = new PersistentWSIAPContext();
-	  		wsiAPContext_.load();
-	  	}
-	  return wsiAPContext_;
-	}
-
- /**
- * Returns the message string identified by the given key from
- * the plugin.properties file for the appropriate locale.
- * @param key The message key string prefixed by a "%" symbol.
- * That is, the string passed in must be of the form "%KEY"
- * where the plugin.properties file contains a line of the
- * form: "KEY = value".
- * @return The locale-specific message.
- */
-	public static String getMessage(String key) 
-	{
-	    MessageUtils msgUtils = new MessageUtils( "org.eclipse.jst.ws.ui.plugin", instance_ );
-	    
-	    if( key.startsWith("%"))
-	    {
-	      key = key.substring( 1, key.length() );
-	    }
-	    
-	    return msgUtils.getMessage(key);
-   }
-
- /**
- * Returns the message string identified by the given key from
- * the plugin.properties file for the appropriate locale.
- * Substitution sequences in the message string
- * are replaced by the given array of substitution objects (which
- * are most frequently strings). See java.text.MessageFormat for
- * further details on substitution.
- * @param key The message key string prefixed by a "%" symbol.
- * That is, the string passed in must be of the form "%KEY"
- * where the plugin.properties file contains a line of the
- * form: "KEY = value".
- * @param args The substitution values for the message
- * as required by the message in plugin.properties and
- * by the rules of class java.text.MessageFormat.
- * @return The locale-specific message.
- */
-	public static String getMessage(String key, Object[] args) {
-		return MessageFormat.format(getMessage(key), args);
- }
-
  /**
  * Returns an image descriptor for the named resource
  * as relative to the plugin install location.
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSIAPContext.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSIAPContext.java
deleted file mode 100644
index 2bf04d9..0000000
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSIAPContext.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.ui.wsi.preferences;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-
-
-
-public class PersistentWSIAPContext extends PersistentWSIContext
-{
-	private static final String NON_WSI_AP_COMPLIANCE = "nonWSIAPCompliance";
-
-public PersistentWSIAPContext () 
-{
-	super();
-	non_wsi_compliance = NON_WSI_AP_COMPLIANCE;
-	name = new QualifiedName(WSUIPlugin.ID , non_wsi_compliance);
-	wsiWarning_ = "WSI_AP_WARNING";
-	wsiError_ = "WSI_AP_ERROR";
-}
-
-public String getPersistentWSICompliance ()
-{
-	String property = getValueAsString(non_wsi_compliance);
-	// default to Ignore if no init has been done from ini file
-	if (property == null || property.equals("")) {
-		setValue( non_wsi_compliance, IGNORE_NON_WSI);
-		return IGNORE_NON_WSI;
-	}
-	else
-		return property;
-}
-}
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSIContext.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSIContext.java
deleted file mode 100644
index feeb9a9..0000000
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSIContext.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.ui.wsi.preferences;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.command.internal.env.context.PersistentContext;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-
-
-
-public class PersistentWSIContext extends PersistentContext
-{
-	public static final String STOP_NON_WSI = "0";
-	public static final String WARN_NON_WSI = "1";
-	public static final String IGNORE_NON_WSI = "2";
-	public static final String FOLLOW_WSI_PREFERENCE = "3";
-
-	protected QualifiedName name = null; // set in subclass
-	protected String non_wsi_compliance;
-	private static final String NON_WSI_SSBP_COMPLIANCE = "nonWSISSBPCompliance";
-	protected String wsiWarning_; // set in subclass
-	protected String wsiError_; // set in subclass
-
-public PersistentWSIContext () 
-{
-	super(  WSUIPlugin.getInstance());
-	
-//  NOTE:  name, wsiWarning_ and wsiError_ should be set in the subclasses.  This is providing defaulting only.
-	non_wsi_compliance = NON_WSI_SSBP_COMPLIANCE;
-	name = new QualifiedName(WSUIPlugin.ID , non_wsi_compliance);
-	wsiWarning_ = "WSI_SSBP_WARNING";
-	wsiError_ = "WSI_SSBP_ERROR";
-}
-
-public void load() 
-{
-	// let the default be read from plugin_costomization.ini file
-	// setDefault(non_wsi_compliance, WARN_NON_WSI);
-}
-
-// to be used only by the preference page
-public void updateWSICompliances ( String value)
-{
- 		setValue( non_wsi_compliance, value);
-}
-
-public String getPersistentWSICompliance ()
-{
-	String property = getValueAsString(non_wsi_compliance);
-//	 default to Ignore if no init has been done from ini file
-	if (property == null || property.equals("")) {
-		setValue( non_wsi_compliance, IGNORE_NON_WSI);
-		return IGNORE_NON_WSI;
-	}
-	else
-		return property;
-}
-
-public boolean StopNonWSICompliances()
-{
-	 return STOP_NON_WSI.equals(getPersistentWSICompliance());
-}
-
-public boolean WarnNonWSICompliances()
-{
-	 return WARN_NON_WSI.equals(getPersistentWSICompliance());
-}
-
-public boolean IgnoreNonWSICompliances()
-{
-	 return IGNORE_NON_WSI.equals(getPersistentWSICompliance());
-}
-
-// to be used only by the property page
-public void updateProjectWSICompliances ( IProject project, String value)
-{
-    try {
-		project.setPersistentProperty(name, value);
-    }
-    catch (CoreException e) { 
-    	System.out.println("No such Project");
-    	Log log = new EclipseLog();
-    	log.log(Log.INFO, 5084, this, "updateProjectWSICompliances", "No such Project "+project);
-    }
-}
-
-public boolean projectStopNonWSICompliances(IProject project)
-{
- 	return STOP_NON_WSI.equals(getProjectPersistentProperty(project));    
-}
-
-public boolean projectWarnNonWSICompliances(IProject project)
-{
- 	return WARN_NON_WSI.equals(getProjectPersistentProperty(project));    
-}
-
-public boolean projectIgnoreNonWSICompliances(IProject project)
-{
- 	return IGNORE_NON_WSI.equals(getProjectPersistentProperty(project));    
-}
-
-
-// to be used only by the property page
-public boolean projectFollowWSIPreferance(IProject project)
-{
-    try {
- 	String property = project.getPersistentProperty(name);
-    return (property == null || property.equals("") || property.equals(FOLLOW_WSI_PREFERENCE));
-    	}
-    catch (CoreException e)     {
-    	return true;
-     }     
-}
-
-private String getProjectPersistentProperty(IProject project)
-{
-	String property = getProjectWSICompliance(project);
-	if (property.equals(FOLLOW_WSI_PREFERENCE)) {
-		property = getPersistentWSICompliance();
-	}
-	return property;
- }
-
-public String getProjectWSICompliance(IProject project)
-{
-  try {
-     	String property = project.getPersistentProperty(name);
-     	if (property == null || property.equals(""))
-     	{
-     		property = FOLLOW_WSI_PREFERENCE;
-     	}
-     	return property;
-     }
-     catch (CoreException e)     {
-    	System.out.println("No such Project");
-    	return getPersistentWSICompliance();
-     }     
-}
-
-public String getWarning()
-{
-	return wsiWarning_;
-}
-
-public String getError()
-{
-	return wsiError_;
-}
-
-}
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSISSBPContext.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSISSBPContext.java
deleted file mode 100644
index e0b432a..0000000
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/PersistentWSISSBPContext.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.ui.wsi.preferences;
-
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-
-
-
-public class PersistentWSISSBPContext extends PersistentWSIContext
-{
-	private static final String NON_WSI_SSBP_COMPLIANCE = "nonWSISSBPCompliance";
-
-public PersistentWSISSBPContext () 
-{
-	super();
-	non_wsi_compliance = NON_WSI_SSBP_COMPLIANCE;
-	name = new QualifiedName(WSUIPlugin.ID , non_wsi_compliance);
-	wsiWarning_ = "WSI_SSBP_WARNING";
-	wsiError_ = "WSI_SSBP_ERROR";
-}
-
-}
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/WSICompliancePreferencePage.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/WSICompliancePreferencePage.java
index 44bd2eb..32cdb63 100644
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/WSICompliancePreferencePage.java
+++ b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/WSICompliancePreferencePage.java
@@ -28,9 +28,10 @@
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
 import org.eclipse.wst.ws.internal.plugin.WSPlugin;
 import org.eclipse.wst.ws.internal.preferences.PersistentWSDLValidationContext;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
+import org.eclipse.wst.ws.internal.ui.WstWSUIPluginMessages;
 import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
 
 
@@ -38,7 +39,6 @@
 public class WSICompliancePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, SelectionListener, Listener
 
 {
-  private MessageUtils msgUtils_;
 	  
   /*CONTEXT_ID PWSI0001 for the WS-I Preference Page*/
   private String INFOPOP_PWSI_PAGE = WSUIPlugin.ID + ".PWSI0000";
@@ -47,36 +47,27 @@
   private Label wsi_ssbp_Label_;
   private Combo wsi_ssbp_Types_;
   
-  /*CONTEXT_ID PWSI0001 for the stop WS-I SSBP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_SSBP_COMBO_STOP_NON_WSI = WSUIPlugin.ID + ".PWSI0001";
-  /*CONTEXT_ID PWSI0002 for the warn WS-I SSBP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_SSBP_COMBO_WARN_NON_WSI = WSUIPlugin.ID + ".PWSI0002";
-  /*CONTEXT_ID PWSI0003 for the ignore WS-I SSBP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_SSBP_COMBO_IGNORE_NON_WSI = WSUIPlugin.ID + ".PWSI0003";
-  /*CONTEXT_ID PWSI0004 for the WS-I SSBP type combo box on the WS-I AP Non compliance Preference Page*/
+  /*CONTEXT_ID PWSI0004 for the WS-I SSBP type combo box on the Profile Compliance and Validation page*/
   private String INFOPOP_PWSI_SSBP_COMBO_TYPE = WSUIPlugin.ID + ".PWSI0004";
-  
+  /*CONTEXT_ID PWSI0008 for the WS-I AP type combo box on the Profile Compliance and Validation page*/
+  private String INFOPOP_PWSI_AP_COMBO_TYPE = WSUIPlugin.ID + ".PWSI0008";
+      
   private Label wsi_ap_Label_;
   private Combo wsi_ap_Types_;
   
-  /*CONTEXT_ID PWSI0005 for the stop WS-I AP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_AP_COMBO_STOP_NON_WSI = WSUIPlugin.ID + ".PWSI0005";
-  /*CONTEXT_ID PWSI0006 for the warn WS-I AP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_AP_COMBO_WARN_NON_WSI = WSUIPlugin.ID + ".PWSI0006";
-  /*CONTEXT_ID PWSI0007 for the ignore WS-I AP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_AP_COMBO_IGNORE_NON_WSI = WSUIPlugin.ID + ".PWSI0007";
-  /*CONTEXT_ID PWSI0008 for the WS-I AP type combo box on the WS-I AP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_AP_COMBO_TYPE = WSUIPlugin.ID + ".PWSI0008";
-    
   private int savedSSBPSetting_ = -1;
   
   private Group validationSelectionGroup_;
   
   private Label wsdlValidationLabel_;
+  /*CONTEXT_ID PWSI0009 for the No Wizard WSDL validation button on the Profile Compliance and Validation page*/
   private Button validateNoWsdlButton_;
+  /*CONTEXT_ID PWSI00010 for the Wizard WSDL validation for remote files only button on the Profile Compliance and Validation page*/
   private Button validateRemoteWsdlButton_;
+  /*CONTEXT_ID PWSI00011 for the Wizard WSDL validation for all files button on the Profile Compliance and Validation page*/
   private Button validateAllWsdlButton_;
   private Label waitForWsdlValidationLabel_;
+  /*CONTEXT_ID PWSI00012 for the Wait for pending WSDL validation to complete checkbox on the Profile Compliance and Validation page*/
   private Button waitForWSDLValidationCheckbox_;
   
 
@@ -107,9 +98,7 @@
    */
   protected Control createContents(Composite superparent)
   {
-  	String       pluginId = "org.eclipse.wst.ws.ui";
-    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
-    
+   
     IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
 	
     Composite   parent = new Composite( superparent, SWT.NONE );	
@@ -117,7 +106,7 @@
     layout.numColumns = 1;
     parent.setLayout( layout );
     parent.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-    parent.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_PAGE"));
+    parent.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_PAGE);
     helpSystem.setHelp(parent,INFOPOP_PWSI_PAGE);
 
     GridLayout gl = new GridLayout();
@@ -130,30 +119,30 @@
     wsi_Composite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
     
     wsi_ap_Label_ = new Label(wsi_Composite, SWT.NONE);
-    wsi_ap_Label_.setText(msgUtils_.getMessage("LABEL_WSI_AP"));
-    wsi_ap_Label_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_AP_LABEL"));
+    wsi_ap_Label_.setText(WstWSUIPluginMessages.LABEL_WSI_AP);
+    wsi_ap_Label_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_AP_LABEL);
     wsi_ap_Types_ = new Combo(wsi_Composite, SWT.DROP_DOWN | SWT.READ_ONLY);
     wsi_ap_Types_.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-    wsi_ap_Types_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_AP_COMBO"));
+    wsi_ap_Types_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_AP_COMBO);
     helpSystem.setHelp(wsi_ap_Types_,INFOPOP_PWSI_AP_COMBO_TYPE);
     
-    wsi_ap_Types_.add(msgUtils_.getMessage("STOP_NON_WSI"));
-    wsi_ap_Types_.add(msgUtils_.getMessage("WARN_NON_WSI"));
-    wsi_ap_Types_.add(msgUtils_.getMessage("IGNORE_NON_WSI"));
+    wsi_ap_Types_.add(WstWSUIPluginMessages.STOP_NON_WSI);
+    wsi_ap_Types_.add(WstWSUIPluginMessages.WARN_NON_WSI);
+    wsi_ap_Types_.add(WstWSUIPluginMessages.IGNORE_NON_WSI);
     
     wsi_ap_Types_.addSelectionListener(this);
     
     wsi_ssbp_Label_ = new Label(wsi_Composite, SWT.NONE);
-    wsi_ssbp_Label_.setText(msgUtils_.getMessage("LABEL_WSI_SSBP"));
-    wsi_ssbp_Label_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_SSBP_LABEL"));
+    wsi_ssbp_Label_.setText(WstWSUIPluginMessages.LABEL_WSI_SSBP);
+    wsi_ssbp_Label_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_SSBP_LABEL);
     wsi_ssbp_Types_ = new Combo(wsi_Composite, SWT.DROP_DOWN | SWT.READ_ONLY);
     wsi_ssbp_Types_.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-    wsi_ssbp_Types_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_SSBP_COMBO"));
+    wsi_ssbp_Types_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_SSBP_COMBO);
     helpSystem.setHelp(wsi_ssbp_Types_,INFOPOP_PWSI_SSBP_COMBO_TYPE);
     
-    wsi_ssbp_Types_.add(msgUtils_.getMessage("STOP_NON_WSI"));
-    wsi_ssbp_Types_.add(msgUtils_.getMessage("WARN_NON_WSI"));
-    wsi_ssbp_Types_.add(msgUtils_.getMessage("IGNORE_NON_WSI"));
+    wsi_ssbp_Types_.add(WstWSUIPluginMessages.STOP_NON_WSI);
+    wsi_ssbp_Types_.add(WstWSUIPluginMessages.WARN_NON_WSI);
+    wsi_ssbp_Types_.add(WstWSUIPluginMessages.IGNORE_NON_WSI);
   
     // WSDL validation preferences
     validationSelectionGroup_ = new Group(wsi_Composite, SWT.NONE);
@@ -165,38 +154,38 @@
     validationSelectionGroup_.setLayoutData(gd);
     
     wsdlValidationLabel_ = new Label(validationSelectionGroup_, SWT.NONE);
-    wsdlValidationLabel_.setText(msgUtils_.getMessage("LABEL_WSDLVAL"));
-    wsdlValidationLabel_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_WSDLVAL_LABEL"));
+    wsdlValidationLabel_.setText(WstWSUIPluginMessages.LABEL_WSDLVAL);
+    wsdlValidationLabel_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_WSDLVAL_LABEL);
     helpSystem.setHelp(wsdlValidationLabel_, INFOPOP_PWSI_WSDLVAL_LABEL);
     
     validateNoWsdlButton_ = new Button(validationSelectionGroup_, SWT.RADIO);
-    validateNoWsdlButton_.setText(msgUtils_.getMessage("LABEL_WSDLVAL_NONE"));
+    validateNoWsdlButton_.setText(WstWSUIPluginMessages.LABEL_WSDLVAL_NONE);
     validateNoWsdlButton_.addListener(SWT.Selection, this);
-    validateNoWsdlButton_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_RADIO_WSDLVAL_NONE"));
+    validateNoWsdlButton_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_RADIO_WSDLVAL_NONE);
     helpSystem.setHelp(validateNoWsdlButton_, INFOPOP_PWSI_RADIO_WSDLVAL_NONE);
     
     validateRemoteWsdlButton_ = new Button(validationSelectionGroup_, SWT.RADIO);
-    validateRemoteWsdlButton_.setText(msgUtils_.getMessage("LABEL_WSDLVAL_REMOTE"));
+    validateRemoteWsdlButton_.setText(WstWSUIPluginMessages.LABEL_WSDLVAL_REMOTE);
     validateRemoteWsdlButton_.addListener(SWT.Selection, this);
-    validateRemoteWsdlButton_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_RADIO_WSDLVAL_REMOTE"));
+    validateRemoteWsdlButton_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_RADIO_WSDLVAL_REMOTE);
     helpSystem.setHelp(validateRemoteWsdlButton_, INFOPOP_PWSI_RADIO_WSDLVAL_REMOTE);
     
     validateAllWsdlButton_ = new Button(validationSelectionGroup_, SWT.RADIO);
-    validateAllWsdlButton_.setText(msgUtils_.getMessage("LABEL_WSDLVAL_ALL"));
+    validateAllWsdlButton_.setText(WstWSUIPluginMessages.LABEL_WSDLVAL_ALL);
     validateAllWsdlButton_.addListener(SWT.Selection, this);
-    validateAllWsdlButton_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_RADIO_WSDLVAL_ALL"));
+    validateAllWsdlButton_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_RADIO_WSDLVAL_ALL);
     helpSystem.setHelp(validateAllWsdlButton_, INFOPOP_PWSI_RADIO_WSDLVAL_ALL);
     
     new Label(validationSelectionGroup_, SWT.NONE);;
     
     waitForWsdlValidationLabel_ = new Label(validationSelectionGroup_, SWT.NONE);
-    waitForWsdlValidationLabel_.setText(msgUtils_.getMessage("LABEL_WAIT_FOR_WSDLVAL"));
-    waitForWsdlValidationLabel_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_LABEL_WAIT_FOR_WSDLVAL"));
+    waitForWsdlValidationLabel_.setText(WstWSUIPluginMessages.LABEL_WAIT_FOR_WSDLVAL);
+    waitForWsdlValidationLabel_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_LABEL_WAIT_FOR_WSDLVAL);
     
     waitForWSDLValidationCheckbox_ = new Button(validationSelectionGroup_, SWT.CHECK);
-    waitForWSDLValidationCheckbox_.setText(msgUtils_.getMessage("BUTTON_WAIT_FOR_WSDLVAL"));            
+    waitForWSDLValidationCheckbox_.setText(WstWSUIPluginMessages.BUTTON_WAIT_FOR_WSDLVAL);            
     waitForWSDLValidationCheckbox_.addListener(SWT.Selection, this);
-    waitForWSDLValidationCheckbox_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_BUTTON_WAIT_FOR_WSDLVAL"));
+    waitForWSDLValidationCheckbox_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_BUTTON_WAIT_FOR_WSDLVAL);
     helpSystem.setHelp(waitForWSDLValidationCheckbox_, INFOPOP_PWSI_BUTTON_WAIT_FOR_WSDLVAL);
     
     initializeValues();
@@ -241,8 +230,8 @@
   {
     // force WSI compliance by default
     
-    wsi_ssbp_Types_.select(wsi_ssbp_Types_.indexOf(msgUtils_.getMessage("IGNORE_NON_WSI")));
-    int apSelection = wsi_ap_Types_.indexOf(msgUtils_.getMessage("IGNORE_NON_WSI"));
+    wsi_ssbp_Types_.select(wsi_ssbp_Types_.indexOf(WstWSUIPluginMessages.WARN_NON_WSI));
+    int apSelection = wsi_ap_Types_.indexOf(WstWSUIPluginMessages.WARN_NON_WSI);
     wsi_ap_Types_.select(apSelection);
     savedSSBPSetting_ = -1;  // do not restore saved SSBP setting
     processAPSelection(apSelection);
@@ -266,10 +255,10 @@
   private void initializeValues()
   {
     
-	String WSIText = getWSISelection(WSUIPlugin.getInstance().getWSISSBPContext());
+	String WSIText = getWSISelection(WSPlugin.getInstance().getWSISSBPContext());
     wsi_ssbp_Types_.select(wsi_ssbp_Types_.indexOf(WSIText));
     
-    int apSelection = wsi_ap_Types_.indexOf(getWSISelection(WSUIPlugin.getInstance().getWSIAPContext()));
+    int apSelection = wsi_ap_Types_.indexOf(getWSISelection(WSPlugin.getInstance().getWSIAPContext()));
     wsi_ap_Types_.select(apSelection);
     savedSSBPSetting_ = -1;  // do not restore saved SSBP setting
     processAPSelection(apSelection);
@@ -296,11 +285,11 @@
   {
     
     String WSIvalue = context.getPersistentWSICompliance();
-    String WSIText = msgUtils_.getMessage("WARN_NON_WSI");
+    String WSIText = WstWSUIPluginMessages.WARN_NON_WSI;
     if (PersistentWSIContext.STOP_NON_WSI.equals(WSIvalue)) {
-		WSIText = msgUtils_.getMessage("STOP_NON_WSI");
+		WSIText = WstWSUIPluginMessages.STOP_NON_WSI;
 	} else if (PersistentWSIContext.IGNORE_NON_WSI.equals(WSIvalue)) {
-		WSIText = msgUtils_.getMessage("IGNORE_NON_WSI");
+		WSIText = WstWSUIPluginMessages.IGNORE_NON_WSI;
 	}
 	return WSIText;
   }
@@ -309,8 +298,8 @@
    */
   private void storeValues()
   {
-  	updateWSIContext(wsi_ssbp_Types_.getSelectionIndex(), WSUIPlugin.getInstance().getWSISSBPContext());
-  	updateWSIContext(wsi_ap_Types_.getSelectionIndex(), WSUIPlugin.getInstance().getWSIAPContext());
+  	updateWSIContext(wsi_ssbp_Types_.getSelectionIndex(), WSPlugin.getInstance().getWSISSBPContext());
+  	updateWSIContext(wsi_ap_Types_.getSelectionIndex(), WSPlugin.getInstance().getWSIAPContext());
   }
   
   private void updateWSIContext(int selectionIndex, PersistentWSIContext context)
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/WSIComplianceUtils.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/WSIComplianceUtils.java
deleted file mode 100644
index 1ae07df..0000000
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/preferences/WSIComplianceUtils.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.ui.wsi.preferences;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-
-
-public class WSIComplianceUtils
-{
-private static final int IGNORE_ID =0;
-private static final int IGNORE_ALL_ID =1;
-private static final int CANCEL_ID =2;
-
-private static MessageUtils msgUtils_;
-
-/**
- * @deprecated use getWSISeverity (IProject project, PersistentWSIContext context) instead
- * @param project
- * @return int
- */
-public static int getWSISeverity (IProject project)
-{
-	return getWSISeverity (project, WSUIPlugin.getInstance().getWSISSBPContext());
-}
-/**
- * @param project
- * @param context
- * @return
- */
-public static int getWSISeverity (IProject project, PersistentWSIContext context)
-{
-	if (context.projectStopNonWSICompliances(project))
-		return Status.ERROR;
-	else if (context.projectWarnNonWSICompliances(project))
-		return Status.WARNING;
-	else
-		return Status.INFO;
-}
-
-/**
- * @deprecated use checkWSICompliance ( StatusHandler monitor, Status[] status, IProject project, PersistentWSIContext context) instead
- * @param monitor StatusHandler
- * @param status Status[]
- * @param project IProject
- * @return boolean true if to continue
- */
-public static boolean checkWSICompliance ( StatusHandler monitor, Status[] status, IProject project)
-{	// check for SSBP by default
-	return checkWSICompliance ( monitor, status, project, WSUIPlugin.getInstance().getWSISSBPContext());
-}
-/**
- * @param monitor StatusHandler
- * @param status Status[]
- * @param project IProject
- * @param context PersistentWSIContext
- * @return boolean true if to continue
- */
-public static boolean checkWSICompliance ( StatusHandler monitor, Status[] status, IProject project, PersistentWSIContext context)
-{
-	String pluginId = "org.eclipse.wst.ws.ui";
-	msgUtils_ = new MessageUtils(pluginId + ".plugin", WSUIPlugin.getInstance()); 
-	
-  	if (context.projectStopNonWSICompliances(project))
-  		{
-  			// emit an error message and return false
-  			SimpleStatus status_ = new SimpleStatus(WSUIPlugin.ID, msgUtils_.getMessage(context.getError()), Status.ERROR);
-  			// adding all messages from WSI Incompliances
-  			for (int i = 0; i< status.length; i++)
-	  			status_.addChild(status[i]); 			
-			monitor.reportError(status_);
-  			return false;
-  		}
-  	else if (context.projectWarnNonWSICompliances(project))
-  		{
-  			// give a warning message with the options to stop, ignore this one, or ignore all coming messages
-  			SimpleStatus status_ = new SimpleStatus(WSUIPlugin.ID, msgUtils_.getMessage(context.getWarning()), Status.WARNING);
-  			// adding all messages from WSI Incompliances
-  			for (int i = 0; i< status.length; i++)
-	  			status_.addChild(status[i]);
-
-  			Choice ignoreChoice = new Choice('I', msgUtils_.getMessage("IGNORE_LABEL"), msgUtils_.getMessage("IGNORE_DESCRIPTION"));
-  			Choice ignoreAllChoice = new Choice('A', msgUtils_.getMessage("IGNORE_ALL_LABEL"), msgUtils_.getMessage("IGNORE_ALL_DESCRIPTION"));
-  			Choice cancelChoice = new Choice('C', msgUtils_.getMessage("CANCEL_LABEL"), msgUtils_.getMessage("CANCEL_DESCRIPTION"));
-  			Choice result = monitor.report(status_, new Choice[]{ignoreChoice, ignoreAllChoice, cancelChoice});
-  			
-  			// if the user closes the message box or selects ignore continue
-  			if (result == null || (result.getLabel().equals(ignoreChoice.getLabel())))
-        			return true;
-  			// if the user selects ignore all, change the preference
-	        else  if (result.getLabel().equals(ignoreAllChoice.getLabel()))
-	        	{
-	        		context.updateProjectWSICompliances(project, PersistentWSIContext.IGNORE_NON_WSI);
-	        		return true;
-	        	}
-			// if the user selects to cancel , do not continue with the command
-        	else if (result.getLabel().equals(cancelChoice.getLabel()))
-						return false;
-  		}
-  return true;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/properties/WSICompliancePropertyPage.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/properties/WSICompliancePropertyPage.java
index 73e6ff9..4a39d5a 100644
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/properties/WSICompliancePropertyPage.java
+++ b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsi/properties/WSICompliancePropertyPage.java
@@ -11,29 +11,27 @@
 package org.eclipse.wst.ws.internal.ui.wsi.properties;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
+import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.dialogs.PropertyPage;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.command.internal.provisional.env.core.common.MessageUtils;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
+import org.eclipse.wst.ws.internal.ui.WstWSUIPluginMessages;
+import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
 
 
 public class WSICompliancePropertyPage extends PropertyPage implements SelectionListener
 {
-   private MessageUtils msgUtils_;
-	  
+  
   /*CONTEXT_ID PWSI0001 for the WS-I Preference Page*/
   private String INFOPOP_PWSI_PAGE = WSUIPlugin.ID + ".PWSI0000";
   //
@@ -41,32 +39,13 @@
   private Label wsi_ssbp_Label_;
   private Combo wsi_ssbp_Types_;
   
-  /*CONTEXT_ID PWSI0001 for the stop WS-I SSBP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_SSBP_COMBO_STOP_NON_WSI = WSUIPlugin.ID + ".PWSI0001";
-  /*CONTEXT_ID PWSI0002 for the warn WS-I SSBP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_SSBP_COMBO_WARN_NON_WSI = WSUIPlugin.ID + ".PWSI0002";
-  /*CONTEXT_ID PWSI0003 for the ignore WS-I SSBP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_SSBP_COMBO_IGNORE_NON_WSI = WSUIPlugin.ID + ".PWSI0003";
   /*CONTEXT_ID PWSI0004 for the WS-I SSBP type combo box on the WS-I AP Non compliance Preference Page*/
   private String INFOPOP_PWSI_SSBP_COMBO_TYPE = WSUIPlugin.ID + ".PWSI0004";
-  
-  private Label wsi_ap_Label_;
-  private Combo wsi_ap_Types_;
-  
-  /*CONTEXT_ID PWSI0005 for the stop WS-I AP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_AP_COMBO_STOP_NON_WSI = WSUIPlugin.ID + ".PWSI0005";
-  /*CONTEXT_ID PWSI0006 for the warn WS-I AP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_AP_COMBO_WARN_NON_WSI = WSUIPlugin.ID + ".PWSI0006";
-  /*CONTEXT_ID PWSI0007 for the ignore WS-I AP Non compliance Preference Page*/
-  private String INFOPOP_PWSI_AP_COMBO_IGNORE_NON_WSI = WSUIPlugin.ID + ".PWSI0007";
   /*CONTEXT_ID PWSI0008 for the WS-I AP type combo box on the WS-I AP Non compliance Preference Page*/
   private String INFOPOP_PWSI_AP_COMBO_TYPE = WSUIPlugin.ID + ".PWSI0008";
-  
-  /*CONTEXT_ID PWSI0009 for the WS-I follow preference radio button the WS-I SSBP compliance project property Page*/
-  private String INFOPOPP_PWSI_RADIO_FOLLOW_WSI_SSBP_PREFERENCE = WSUIPlugin.ID + ".PWSI0009";
-  /*CONTEXT_ID PWSI0010 for the WS-I follow preference radio button the WS-I AP compliance project property Page*/
-  private String INFOPOPP_PWSI_RADIO_FOLLOW_WSI_AP_PREFERENCE = WSUIPlugin.ID + ".PWSI0010";
 
+  private Label wsi_ap_Label_;
+  private Combo wsi_ap_Types_;
   private int savedSSBPSetting_ = -1;
   
  /**
@@ -75,8 +54,6 @@
    */
   protected Control createContents(Composite superparent)
   {
-  	String       pluginId = "org.eclipse.wst.ws.ui";
-    msgUtils_ = new MessageUtils( pluginId + ".plugin", this );
 	
     IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
     
@@ -85,7 +62,7 @@
     layout.numColumns = 1;
     parent.setLayout( layout );
     parent.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-    parent.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_PAGE"));
+    parent.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_PAGE);
     helpSystem.setHelp(parent, INFOPOP_PWSI_PAGE);
 
     GridLayout gl = new GridLayout();
@@ -98,49 +75,37 @@
     wsi_Composite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
         
     wsi_ap_Label_ = new Label(wsi_Composite, SWT.NONE);
-    wsi_ap_Label_.setText(msgUtils_.getMessage("LABEL_WSI_AP"));
-    wsi_ap_Label_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_AP_LABEL"));
+    wsi_ap_Label_.setText(WstWSUIPluginMessages.LABEL_WSI_AP);
+    wsi_ap_Label_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_AP_LABEL);
     wsi_ap_Types_ = new Combo(wsi_Composite, SWT.DROP_DOWN | SWT.READ_ONLY);
-    wsi_ap_Types_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_AP_COMBO"));
+    wsi_ap_Types_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_AP_COMBO);
     wsi_ap_Types_.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
     helpSystem.setHelp(wsi_ap_Types_,INFOPOP_PWSI_AP_COMBO_TYPE);
     
-    wsi_ap_Types_.add(msgUtils_.getMessage("STOP_NON_WSI"));
-    wsi_ap_Types_.add(msgUtils_.getMessage("WARN_NON_WSI"));
-    wsi_ap_Types_.add(msgUtils_.getMessage("IGNORE_NON_WSI"));
-    wsi_ap_Types_.add(msgUtils_.getMessage("FOLLOW_WSI_PREFERENCE"));
+    wsi_ap_Types_.add(WstWSUIPluginMessages.STOP_NON_WSI);
+    wsi_ap_Types_.add(WstWSUIPluginMessages.WARN_NON_WSI);
+    wsi_ap_Types_.add(WstWSUIPluginMessages.IGNORE_NON_WSI);
+    wsi_ap_Types_.add(WstWSUIPluginMessages.FOLLOW_WSI_PREFERENCE);
 
     wsi_ap_Types_.addSelectionListener(this);
     
     wsi_ssbp_Label_ = new Label(wsi_Composite, SWT.NONE);
-    wsi_ssbp_Label_.setText(msgUtils_.getMessage("LABEL_WSI_SSBP"));
-    wsi_ssbp_Label_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_SSBP_LABEL"));
+    wsi_ssbp_Label_.setText(WstWSUIPluginMessages.LABEL_WSI_SSBP);
+    wsi_ssbp_Label_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_SSBP_LABEL);
     wsi_ssbp_Types_ = new Combo(wsi_Composite, SWT.DROP_DOWN | SWT.READ_ONLY);
-    wsi_ssbp_Types_.setToolTipText(msgUtils_.getMessage("TOOLTIP_PWSI_SSBP_COMBO"));
+    wsi_ssbp_Types_.setToolTipText(WstWSUIPluginMessages.TOOLTIP_PWSI_SSBP_COMBO);
     wsi_ssbp_Types_.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
     helpSystem.setHelp(wsi_ssbp_Types_,INFOPOP_PWSI_SSBP_COMBO_TYPE);
     
-    wsi_ssbp_Types_.add(msgUtils_.getMessage("STOP_NON_WSI"));
-    wsi_ssbp_Types_.add(msgUtils_.getMessage("WARN_NON_WSI"));
-    wsi_ssbp_Types_.add(msgUtils_.getMessage("IGNORE_NON_WSI"));
-    wsi_ssbp_Types_.add(msgUtils_.getMessage("FOLLOW_WSI_PREFERENCE"));
+    wsi_ssbp_Types_.add(WstWSUIPluginMessages.STOP_NON_WSI);
+    wsi_ssbp_Types_.add(WstWSUIPluginMessages.WARN_NON_WSI);
+    wsi_ssbp_Types_.add(WstWSUIPluginMessages.IGNORE_NON_WSI);
+    wsi_ssbp_Types_.add(WstWSUIPluginMessages.FOLLOW_WSI_PREFERENCE);
 
     initializeValues();
     org.eclipse.jface.dialogs.Dialog.applyDialogFont(superparent);    
     return parent;
   }
- 
-  private String getMessage(String key) 
-  {
-  		return WSUIPlugin.getMessage(key);
-  }
-
-  private Button createRadioButton( Composite parent, String text )
-  {
-    Button button = new Button( parent, SWT.RADIO );
-    button.setText( text );
-    return button;
-  }
 
   /**
    * Does anything necessary because the default button has been pressed.
@@ -167,19 +132,13 @@
   }
 
   /**
-   * @see IWorkbenchPropertyPage
-   */
-  public void init(IWorkbench workbench)   { 
-  }
-
-  /**
    * Initializes states of the controls using default values
    * in the preference store.
    */
   private void initializeDefaults()
   {
-    wsi_ssbp_Types_.select(wsi_ssbp_Types_.indexOf(msgUtils_.getMessage("FOLLOW_WSI_PREFERENCE")));
-    int apSelection = wsi_ap_Types_.indexOf(msgUtils_.getMessage("FOLLOW_WSI_PREFERENCE"));
+    wsi_ssbp_Types_.select(wsi_ssbp_Types_.indexOf(WstWSUIPluginMessages.FOLLOW_WSI_PREFERENCE));
+    int apSelection = wsi_ap_Types_.indexOf(WstWSUIPluginMessages.FOLLOW_WSI_PREFERENCE);
     wsi_ap_Types_.select(apSelection);
     savedSSBPSetting_ = -1;  // do not restore saved SSBP setting
     processAPSelection(apSelection);
@@ -189,10 +148,10 @@
    * Initializes states of the controls from the preference store.
    */
   private void initializeValues() {
-  	String WSIText = getWSISelection(WSUIPlugin.getInstance().getWSISSBPContext());
+  	String WSIText = getWSISelection(WSPlugin.getInstance().getWSISSBPContext());
     wsi_ssbp_Types_.select(wsi_ssbp_Types_.indexOf(WSIText));
     
-    int apSelection = wsi_ap_Types_.indexOf(getWSISelection(WSUIPlugin.getInstance().getWSIAPContext()));
+    int apSelection = wsi_ap_Types_.indexOf(getWSISelection(WSPlugin.getInstance().getWSIAPContext()));
     wsi_ap_Types_.select(apSelection);
     savedSSBPSetting_ = -1;  // do not restore saved SSBP setting
     processAPSelection(apSelection);
@@ -203,13 +162,13 @@
     
   	IProject project = (IProject) getElement();
   	String WSIvalue = context.getProjectWSICompliance(project);
-	String WSIText = msgUtils_.getMessage("FOLLOW_WSI_PREFERENCE");
+	String WSIText = WstWSUIPluginMessages.FOLLOW_WSI_PREFERENCE;
 	if (PersistentWSIContext.STOP_NON_WSI.equals(WSIvalue)) {
-		WSIText = msgUtils_.getMessage("STOP_NON_WSI");
+		WSIText = WstWSUIPluginMessages.STOP_NON_WSI;
 	} else if (PersistentWSIContext.WARN_NON_WSI.equals(WSIvalue)) {
-		WSIText = msgUtils_.getMessage("WARN_NON_WSI");
+		WSIText = WstWSUIPluginMessages.WARN_NON_WSI;
 	} else if (PersistentWSIContext.IGNORE_NON_WSI.equals(WSIvalue)) {
-		WSIText = msgUtils_.getMessage("IGNORE_NON_WSI");
+		WSIText = WstWSUIPluginMessages.IGNORE_NON_WSI;
 	}
 	return WSIText;
   }
@@ -219,8 +178,8 @@
    */
   private void storeValues()
   {
-  	updateWSIContext(wsi_ssbp_Types_.getSelectionIndex(), WSUIPlugin.getInstance().getWSISSBPContext());
-  	updateWSIContext(wsi_ap_Types_.getSelectionIndex(), WSUIPlugin.getInstance().getWSIAPContext());
+  	updateWSIContext(wsi_ssbp_Types_.getSelectionIndex(), WSPlugin.getInstance().getWSISSBPContext());
+  	updateWSIContext(wsi_ap_Types_.getSelectionIndex(), WSPlugin.getInstance().getWSIAPContext());
   }
   
   private void updateWSIContext(int selectionIndex, PersistentWSIContext context)
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsrt/IObjectSelector.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsrt/IObjectSelector.java
new file mode 100644
index 0000000..459e68b
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/wsrt/IObjectSelector.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.ui.wsrt;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.wst.command.internal.env.ui.widgets.WidgetDataEvents;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+
+public interface IObjectSelector {
+	
+	public void setInitialSelection(ISelection sel);
+	public ISelection getSelection();
+	public String getProject();
+	public IStatus validateSelection(ISelection sel);
+	public WidgetDataEvents addControls(Composite parent, Listener statusListener);
+
+}
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/ui/plugin.properties b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/ui/plugin.properties
deleted file mode 100644
index 1c5341e..0000000
--- a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/ui/plugin.properties
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 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
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-PLUGIN_NAME=Web Services UI
-PLUGIN_VENDOR=Eclipse.org
-PLUGIN_DESC=\
-The Web services GUI plugin delivers the graphical \
-user interface to the Web services function in the WST subproject.
-
-PLUGIN_NEW_CATEGORY_NAME_WS=Web Services
-
-
-#
-#  WS-I Preference pages
-#
-# WS-I Compliance Page
-#
-PREFERENCE_CATEGORY_WSI=WS-I Compliance
-STOP_NON_WSI=Require compliance
-WARN_NON_WSI=Suggest compliance
-IGNORE_NON_WSI=Ignore compliance
-FOLLOW_WSI_PREFERENCE=Follow Preference
-
-TOOLTIP_PWSI_PAGE=Web Services Interoperability
-TOOLTIP_PWSI_RADIO_STOP_NON_WSI=Stop and produce an error message if you make a choice that does not comply with WS-I.
-TOOLTIP_PWSI_RADIO_WARNING_NON_WSI=Produce a warning message if you make a choice that does not comply with WS-I.
-TOOLTIP_PWSI_RADIO_IGNORE_NON_WSI=Silently allow choices that do not comply with WS-I.
-TOOLTIP_PWSI_RADIO_FOLLOW_WSI_PREFERENCE=Project would use WS-I compliance level set in Workspace Preference.
-
-LABEL_WSI_SSBP=WS-I SSBP compliance level
-TOOLTIP_PWSI_SSBP_LABEL=WS-I Simple SOAP Binding Profile compliance level
-TOOLTIP_PWSI_SSBP_COMBO=Choose the WS-I Simple SOAP Binding Profile compliance level
-
-LABEL_WSI_AP=WS-I AP compliance level
-TOOLTIP_PWSI_AP_LABEL=WS-I Attachment Profile compliance level
-TOOLTIP_PWSI_AP_COMBO=Choose the WS-I Attachment Profile compliance level
-
-
-#
-#	WS-I Compliance Messages
-#
-WSI_SSBP_ERROR=You have made a choice that may result in a Web service that does not comply with the WS-I Simple SOAP Binding Profile. Your current Web services preference is set to require compliance with WS-I SSBP.
-WSI_SSBP_WARNING=You have made a choice that may result in a Web service that does not comply with the WS-I Simple SOAP Binding Profile. Do you wish to ignore this warning and continue?
-WSI_SSBP_INCOMPLIANT_RUNTIME=The selected Web Service runtime does not comply with the WS-I Simple SOAP Binding Profile.
-WSI_AP_ERROR=You have made a choice that may result in a Web service that does not comply with the WS-I Attachment Profile. Your current Web services preference is set to require compliance with WS-I AP.
-WSI_AP_WARNING=You have made a choice that may result in a Web service that does not comply with the WS-I Attachment Profile. Do you wish to ignore this warning and continue?
-WSI_AP_INCOMPLIANT_RUNTIME=The selected Web Service runtime does not comply with the WS-I Attachment Profile.
-IGNORE_LABEL=Ignore
-IGNORE_DESCRIPTION=Ignore the WS-I non-compliance and continue
-IGNORE_ALL_LABEL=Ignore All
-IGNORE_ALL_DESCRIPTION=Always ignore the WS-I non-compliance and continue
-CANCEL_LABEL=Cancel
-TASK_LABEL_WSI_NONCOMPLIANT=Check for WSI Compliance
-TASK_DESC_WSI_NONCOMPLIANT=Check for WSI Compliance
-CANCEL_DESCRIPTION=Cancel
-NOT_OK=Cannot continue due to WS-I non-compliance
-
-#
-#	WSDL Validation
-#
-LABEL_WSDLVAL=Select whether WSDL validation should be performed on wizards that consume WSDL files  
-LABEL_WSDLVAL_NONE=No WSDL validation
-LABEL_WSDLVAL_REMOTE=WSDL validation for remote files only
-LABEL_WSDLVAL_ALL=WSDL validation for all files
-LABEL_WAIT_FOR_WSDLVAL=Wait for WSDL validation to complete before moving along the wizards?
-BUTTON_WAIT_FOR_WSDLVAL=Wait for pending WSDL validation to complete 
-TOOLTIP_PWSI_RADIO_WSDLVAL_NONE=Do not perform WSDL validation on the WSDL file or URL input to the Web Services wizard
-TOOLTIP_PWSI_RADIO_WSDLVAL_REMOTE=Only perform WSDL validation on remote WSDL file or URL input to the Web Services wizard
-TOOLTIP_PWSI_RADIO_WSDLVAL_ALL=Perform WSDL validation on all WSDL file or URL input to the Web Services wizard
-TOOLTIP_PWSI_WSDLVAL_LABEL=Select whether WSDL validation should be performed on wizards that consume WSDL files, \nfor example, Web Service wizard in skeleton scenario and Web Service Client wizard.
-TOOLTIP_PWSI_LABEL_WAIT_FOR_WSDLVAL=WSDL validation might not have completed during wizard flow, \nwould you like to wait for WSDL validation or cancel it?
-TOOLTIP_PWSI_BUTTON_WAIT_FOR_WSDLVAL=Wait for pending WSDL validation to complete and continue with the wizard
-
-
-
-
diff --git a/bundles/org.eclipse.wst.ws/.cvsignore b/bundles/org.eclipse.wst.ws/.cvsignore
index e585852..ef2600f 100644
--- a/bundles/org.eclipse.wst.ws/.cvsignore
+++ b/bundles/org.eclipse.wst.ws/.cvsignore
@@ -2,3 +2,5 @@
 temp.folder
 build.xml
 ws.jar
+@dot
+src.zip
diff --git a/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF
index 63339ae..9ac8a38 100644
--- a/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF
@@ -2,17 +2,32 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.ws; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.wst.ws.internal.plugin.WSPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.ws.internal.common,
+Export-Package: org.eclipse.wst.ws.internal,
+ org.eclipse.wst.ws.internal.common,
+ org.eclipse.wst.ws.internal.data,
  org.eclipse.wst.ws.internal.datamodel,
+ org.eclipse.wst.ws.internal.ext,
  org.eclipse.wst.ws.internal.extensions,
+ org.eclipse.wst.ws.internal.model.v10.registry,
+ org.eclipse.wst.ws.internal.model.v10.registry.impl,
+ org.eclipse.wst.ws.internal.model.v10.registry.util,
+ org.eclipse.wst.ws.internal.model.v10.rtindex,
+ org.eclipse.wst.ws.internal.model.v10.rtindex.impl,
+ org.eclipse.wst.ws.internal.model.v10.rtindex.util,
+ org.eclipse.wst.ws.internal.model.v10.taxonomy,
+ org.eclipse.wst.ws.internal.model.v10.taxonomy.impl,
+ org.eclipse.wst.ws.internal.model.v10.taxonomy.util,
+ org.eclipse.wst.ws.internal.model.v10.uddiregistry,
+ org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl,
+ org.eclipse.wst.ws.internal.model.v10.uddiregistry.util,
  org.eclipse.wst.ws.internal.monitor,
  org.eclipse.wst.ws.internal.plugin,
  org.eclipse.wst.ws.internal.preferences,
- org.eclipse.wst.ws.internal.provisional.wsrt,
+ org.eclipse.wst.ws.internal.registry,
  org.eclipse.wst.ws.internal.wsfinder,
  org.eclipse.wst.ws.internal.wsil,
  org.eclipse.wst.ws.internal.wsrt
@@ -25,6 +40,10 @@
  org.wsdl4j,
  org.apache.wsil4j,
  org.eclipse.core.resources,
- org.eclipse.wst.command.env.ui,
- org.eclipse.wst.command.env
+ org.eclipse.wst.command.env,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.core.commands,
+ org.eclipse.wst.common.environment,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.xmi
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.ws/RT.genmodel b/bundles/org.eclipse.wst.ws/RT.genmodel
new file mode 100644
index 0000000..9aaa4f1
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/RT.genmodel
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/RegistryModel2/src"
+    editDirectory="/RegistryModel2.edit/src" editorDirectory="/RegistryModel2.editor/src"
+    modelPluginID="RegistryModel2" runtimeJar="true" modelName="RT" editPluginClass="org.eclipse.wst.ws.internal.model.v10.rtindex.provider.RTEditPlugin"
+    editorPluginClass="org.eclipse.wst.ws.internal.model.v10.rtindex.presentation.RTEditorPlugin"
+    runtimeCompatibility="false">
+  <foreignModel>Index.xsd</foreignModel>
+  <foreignModel>Registry.xsd</foreignModel>
+  <foreignModel>UDDIRegistry.xsd</foreignModel>
+  <foreignModel>Taxonomy.xsd</foreignModel>
+  <genPackages prefix="RTIndex" basePackage="org.eclipse.wst.ws.internal.model.v10"
+      resource="XML" ecorePackage="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#/">
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Description">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Description/value"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Description/lang"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot">
+      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/mixed"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/xSISchemaLocation"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/description"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/index"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/name"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/name"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/description"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/registry"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/taxonomy"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Name">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Name/value"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Name/lang"/>
+    </genClasses>
+  </genPackages>
+  <genPackages prefix="Taxonomy" basePackage="org.eclipse.wst.ws.internal.model.v10"
+      resource="XML" ecorePackage="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#/">
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/nlname"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/category"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/code"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/name"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot">
+      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/mixed"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/xSISchemaLocation"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/category"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/name"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/taxonomy"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Name">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Name/value"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Name/lang"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/nlname"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/category"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/location"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/name"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/ref"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/tmodelKey"/>
+    </genClasses>
+  </genPackages>
+  <genPackages prefix="Registry" basePackage="org.eclipse.wst.ws.internal.model.v10"
+      resource="XML" ecorePackage="org.eclipse.wst.ws.internal.model.v10.registry.ecore#/">
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Description">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Description/value"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Description/lang"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot">
+      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/mixed"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/xSISchemaLocation"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/description"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/name"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/registry"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Name">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Name/value"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Name/lang"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/name"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/description"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/location"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/ref"/>
+    </genClasses>
+  </genPackages>
+  <genPackages prefix="UDDIRegistry" basePackage="org.eclipse.wst.ws.internal.model.v10"
+      resource="XML" ecorePackage="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#/">
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot">
+      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot/mixed"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot/xSISchemaLocation"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot/taxonomies"/>
+      <genFeatures property="None" notify="false" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot/uddiRegistry"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//Taxonomies">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//Taxonomies/taxonomy"/>
+    </genClasses>
+    <genClasses ecoreClass="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/version"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/discoveryURL"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/publicationURL"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/securedDiscoveryURL"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/securedPublicationURL"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/defaultLogin"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/defaultPassword"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/taxonomies"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/bundles/org.eclipse.wst.ws/RT.xsd2ecore b/bundles/org.eclipse.wst.ws/RT.xsd2ecore
new file mode 100644
index 0000000..3bdae80
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/RT.xsd2ecore
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xsd2ecore:XSD2EcoreMappingRoot xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd2ecore="http://www.eclipse.org/emf/2002/XSD2Ecore" inputs="Index.xsd#/ http://www.w3.org/2001/xml.xsd#/ Taxonomy.xsd#/ Registry.xsd#/ UDDIRegistry.xsd#/"
+    outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#/ org.eclipse.wst.ws.internal.model.v10.registry.ecore#/ org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#/ org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#/"
+    topToBottom="true">
+  <nested inputs="http://www.w3.org/2001/xml.xsd#//base;XSDAttributeDeclaration=2"
+      outputs="http://www.w3.org/XML/1998/namespace#//XMLNamespaceDocumentRoot/base"/>
+  <nested inputs="http://www.w3.org/2001/xml.xsd#//id;XSDAttributeDeclaration=3" outputs="http://www.w3.org/XML/1998/namespace#//XMLNamespaceDocumentRoot/id"/>
+  <nested inputs="http://www.w3.org/2001/xml.xsd#//lang;XSDAttributeDeclaration" outputs="http://www.w3.org/XML/1998/namespace#//XMLNamespaceDocumentRoot/lang"/>
+  <nested inputs="http://www.w3.org/2001/xml.xsd#//lang;XSDAttributeDeclaration/XSDSimpleTypeDefinition"
+      outputs="http://www.eclipse.org/emf/2003/XMLType#//Language"/>
+  <nested inputs="http://www.w3.org/2001/xml.xsd#//space;XSDAttributeDeclaration=1"
+      outputs="http://www.w3.org/XML/1998/namespace#//XMLNamespaceDocumentRoot/space"/>
+  <nested inputs="http://www.w3.org/2001/xml.xsd#//space;XSDAttributeDeclaration=1/XSDSimpleTypeDefinition"
+      outputs="http://www.w3.org/XML/1998/namespace#//SpaceType"/>
+  <nested inputs="bundleentry://1839/cache/www.w3.org/2001/XMLSchema.xsd#//string;XSDSimpleTypeDefinition=7"
+      outputs="http://www.eclipse.org/emf/2003/XMLType#//String"/>
+  <nested inputs="Taxonomy.xsd#//Name;XSDComplexTypeDefinition=2" outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Name">
+    <nested inputs="Taxonomy.xsd#//Name;XSDComplexTypeDefinition=2/XSDAttributeUse"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Name/lang"/>
+  </nested>
+  <nested inputs="Taxonomy.xsd#//Category;XSDComplexTypeDefinition=1" outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category">
+    <nested inputs="Taxonomy.xsd#//Category;XSDComplexTypeDefinition=1/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/nlname"/>
+    <nested inputs="Taxonomy.xsd#//Category;XSDComplexTypeDefinition=1/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/category"/>
+    <nested inputs="Taxonomy.xsd#//Category;XSDComplexTypeDefinition=1/XSDAttributeUse=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/code"/>
+    <nested inputs="Taxonomy.xsd#//Category;XSDComplexTypeDefinition=1/XSDAttributeUse"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Category/name"/>
+  </nested>
+  <nested inputs="Taxonomy.xsd#//category;XSDElementDeclaration=1" outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/category"/>
+  <nested inputs="Registry.xsd#//Description;XSDComplexTypeDefinition=2" outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Description">
+    <nested inputs="Registry.xsd#//Description;XSDComplexTypeDefinition=2/XSDAttributeUse"
+        outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Description/lang"/>
+  </nested>
+  <nested inputs="Registry.xsd#//description;XSDElementDeclaration=2" outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/description"/>
+  <nested inputs="Index.xsd#//Description;XSDComplexTypeDefinition=2" outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Description">
+    <nested inputs="Index.xsd#//Description;XSDComplexTypeDefinition=2/XSDAttributeUse"
+        outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Description/lang"/>
+  </nested>
+  <nested inputs="Index.xsd#//description;XSDElementDeclaration=2" outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/description"/>
+  <nested inputs="Index.xsd#//Name;XSDComplexTypeDefinition=1" outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Name">
+    <nested inputs="Index.xsd#//Name;XSDComplexTypeDefinition=1/XSDAttributeUse" outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Name/lang"/>
+  </nested>
+  <nested inputs="Registry.xsd#//Name;XSDComplexTypeDefinition=1" outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Name">
+    <nested inputs="Registry.xsd#//Name;XSDComplexTypeDefinition=1/XSDAttributeUse"
+        outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Name/lang"/>
+  </nested>
+  <nested inputs="bundleentry://1839/cache/www.w3.org/2001/XMLSchema.xsd#//anyURI;XSDSimpleTypeDefinition=23"
+      outputs="http://www.eclipse.org/emf/2003/XMLType#//AnyURI"/>
+  <nested inputs="Registry.xsd#//Registry;XSDComplexTypeDefinition" outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry">
+    <nested inputs="Registry.xsd#//Registry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/name"/>
+    <nested inputs="Registry.xsd#//Registry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/description"/>
+    <nested inputs="Registry.xsd#//Registry;XSDComplexTypeDefinition/XSDAttributeUse"
+        outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/id"/>
+    <nested inputs="Registry.xsd#//Registry;XSDComplexTypeDefinition/XSDAttributeUse=2"
+        outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/location"/>
+    <nested inputs="Registry.xsd#//Registry;XSDComplexTypeDefinition/XSDAttributeUse=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry/ref"/>
+  </nested>
+  <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition" outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy">
+    <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/nlname"/>
+    <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/category"/>
+    <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition/XSDAttributeUse"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/id"/>
+    <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition/XSDAttributeUse=2"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/location"/>
+    <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition/XSDAttributeUse=3"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/name"/>
+    <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition/XSDAttributeUse=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/ref"/>
+    <nested inputs="Taxonomy.xsd#//Taxonomy;XSDComplexTypeDefinition/XSDAttributeUse=4"
+        outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy/tmodelKey"/>
+  </nested>
+  <nested inputs="Index.xsd#//Index;XSDComplexTypeDefinition" outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index">
+    <nested inputs="Index.xsd#//Index;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/name"/>
+    <nested inputs="Index.xsd#//Index;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/description"/>
+    <nested inputs="Index.xsd#//Index;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=2"
+        outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/registry"/>
+    <nested inputs="Index.xsd#//Index;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=3"
+        outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//Index/taxonomy"/>
+  </nested>
+  <nested inputs="Index.xsd#//index;XSDElementDeclaration" outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/index"/>
+  <nested inputs="Registry.xsd#//name;XSDElementDeclaration=1" outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/name"/>
+  <nested inputs="Index.xsd#//name;XSDElementDeclaration=1" outputs="org.eclipse.wst.ws.internal.model.v10.rtindex.ecore#//DocumentRoot/name"/>
+  <nested inputs="Taxonomy.xsd#//name;XSDElementDeclaration=2" outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/name"/>
+  <nested inputs="Registry.xsd#//registry;XSDElementDeclaration" outputs="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//DocumentRoot/registry"/>
+  <nested inputs="Taxonomy.xsd#//taxonomy;XSDElementDeclaration" outputs="org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//DocumentRoot/taxonomy"/>
+  <nested inputs="UDDIRegistry.xsd#//Taxonomies;XSDComplexTypeDefinition=1" outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//Taxonomies">
+    <nested inputs="UDDIRegistry.xsd#//Taxonomies;XSDComplexTypeDefinition=1/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//Taxonomies/taxonomy"/>
+  </nested>
+  <nested inputs="UDDIRegistry.xsd#//taxonomies;XSDElementDeclaration=1" outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot/taxonomies"/>
+  <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition" outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry">
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/version"/>
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/discoveryURL"/>
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=2"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/publicationURL"/>
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=3"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/securedDiscoveryURL"/>
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=4"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/securedPublicationURL"/>
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=5"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/defaultLogin"/>
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=6"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/defaultPassword"/>
+    <nested inputs="UDDIRegistry.xsd#//UDDIRegistry;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=7"
+        outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//UDDIRegistry/taxonomies"/>
+  </nested>
+  <nested inputs="UDDIRegistry.xsd#//uddiRegistry;XSDElementDeclaration" outputs="org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore#//DocumentRoot/uddiRegistry"/>
+</xsd2ecore:XSD2EcoreMappingRoot>
diff --git a/bundles/org.eclipse.wst.ws/model/Index.xsd b/bundles/org.eclipse.wst.ws/model/Index.xsd
new file mode 100644
index 0000000..edcf540
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/model/Index.xsd
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:rti="http://eclipse.org/wst/ws/internal/model/v10/rtindex"
+xmlns:reg="http://eclipse.org/wst/ws/internal/model/v10/registry"
+xmlns:tax="http://eclipse.org/wst/ws/internal/model/v10/taxonomy"
+targetNamespace="http://eclipse.org/wst/ws/internal/model/v10/rtindex">
+
+	<xsd:import
+	namespace="http://www.w3.org/XML/1998/namespace"
+	schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+	<xsd:import
+	namespace="http://eclipse.org/wst/ws/internal/model/v10/registry"
+	schemaLocation="./Registry.xsd"/>
+
+	<xsd:import
+	namespace="http://eclipse.org/wst/ws/internal/model/v10/taxonomy"
+	schemaLocation="./Taxonomy.xsd"/>
+
+	<xsd:element name="index" type="rti:Index"/>
+	
+	<xsd:complexType name="Index">
+		<xsd:sequence>
+			<xsd:element name="name" type="rti:Name" minOccurs="1" maxOccurs="unbounded"/>
+			<xsd:element name="description" type="rti:Description" minOccurs="1" maxOccurs="unbounded"/>
+			<xsd:element ref="reg:registry" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element ref="tax:taxonomy" minOccurs="0" maxOccurs="unbounded"/>
+		</xsd:sequence>
+	</xsd:complexType>
+
+	<xsd:element name="name" type="rti:Name"/>
+
+	<xsd:complexType name="Name">
+		<xsd:simpleContent>
+			<xsd:extension base="xsd:string">
+				<xsd:attribute ref="xml:lang" use="optional"/>
+			</xsd:extension>
+		</xsd:simpleContent>
+	</xsd:complexType>
+
+	<xsd:element name="description" type="rti:Description"/>
+
+	<xsd:complexType name="Description">
+		<xsd:simpleContent>
+			<xsd:extension base="xsd:string">
+				<xsd:attribute ref="xml:lang" use="optional"/>
+			</xsd:extension>
+		</xsd:simpleContent>
+	</xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws/model/Registry.xsd b/bundles/org.eclipse.wst.ws/model/Registry.xsd
new file mode 100644
index 0000000..9ae1968
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/model/Registry.xsd
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:reg="http://eclipse.org/wst/ws/internal/model/v10/registry"
+targetNamespace="http://eclipse.org/wst/ws/internal/model/v10/registry">
+
+	<xsd:import
+	namespace="http://www.w3.org/XML/1998/namespace"
+	schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+	<xsd:element name="registry" type="reg:Registry"/>
+	
+	<xsd:complexType name="Registry">
+		<xsd:sequence>
+			<xsd:element name="name" type="reg:Name" minOccurs="1" maxOccurs="unbounded"/>
+			<xsd:element name="description" type="reg:Description" minOccurs="1" maxOccurs="unbounded"/>
+		</xsd:sequence>
+		<xsd:attribute name="id" type="xsd:anyURI" use="optional"/>
+		<xsd:attribute name="ref" type="xsd:anyURI" use="optional"/>
+		<xsd:attribute name="location" type="xsd:anyURI" use="optional"/>
+	</xsd:complexType>
+
+	<xsd:element name="name" type="reg:Name"/>
+
+	<xsd:complexType name="Name">
+		<xsd:simpleContent>
+			<xsd:extension base="xsd:string">
+				<xsd:attribute ref="xml:lang" use="optional"/>
+			</xsd:extension>
+		</xsd:simpleContent>
+	</xsd:complexType>
+
+	<xsd:element name="description" type="reg:Description"/>
+
+	<xsd:complexType name="Description">
+		<xsd:simpleContent>
+			<xsd:extension base="xsd:string">
+				<xsd:attribute ref="xml:lang" use="optional"/>
+			</xsd:extension>
+		</xsd:simpleContent>
+	</xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws/model/Taxonomy.xsd b/bundles/org.eclipse.wst.ws/model/Taxonomy.xsd
new file mode 100644
index 0000000..0b56aec
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/model/Taxonomy.xsd
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:tax="http://eclipse.org/wst/ws/internal/model/v10/taxonomy"
+targetNamespace="http://eclipse.org/wst/ws/internal/model/v10/taxonomy">
+
+	<xsd:import
+	namespace="http://www.w3.org/XML/1998/namespace"
+	schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+	<xsd:element name="taxonomy" type="tax:Taxonomy"/>
+
+	<xsd:complexType name="Taxonomy">
+		<xsd:sequence>
+			<xsd:element name="nlname" type="tax:Name" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="category" type="tax:Category" minOccurs="0" maxOccurs="unbounded"/>
+		</xsd:sequence>
+		<xsd:attribute name="id" type="xsd:anyURI" use="optional"/>
+		<xsd:attribute name="ref" type="xsd:anyURI" use="optional"/>
+		<xsd:attribute name="location" type="xsd:anyURI" use="optional"/>
+		<xsd:attribute name="name" type="xsd:string" use="optional"/>
+		<xsd:attribute name="tmodelKey" type="xsd:string" use="required"/>
+	</xsd:complexType>
+
+	<xsd:element name="category" type="tax:Category"/>
+
+	<xsd:complexType name="Category">
+		<xsd:sequence>
+			<xsd:element name="nlname" type="tax:Name" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element name="category" type="tax:Category" minOccurs="0" maxOccurs="unbounded"/>
+		</xsd:sequence>
+		<xsd:attribute name="name" type="xsd:string"/>
+		<xsd:attribute name="code" type="xsd:string"/>
+	</xsd:complexType>
+
+	<xsd:element name="name" type="tax:Name"/>
+
+	<xsd:complexType name="Name">
+		<xsd:simpleContent>
+			<xsd:extension base="xsd:string">
+				<xsd:attribute ref="xml:lang" use="optional"/>
+			</xsd:extension>
+		</xsd:simpleContent>
+	</xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws/model/UDDIRegistry.xsd b/bundles/org.eclipse.wst.ws/model/UDDIRegistry.xsd
new file mode 100644
index 0000000..ac36261
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/model/UDDIRegistry.xsd
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:urg="http://eclipse.org/wst/ws/internal/model/v10/uddiregistry"
+xmlns:reg="http://eclipse.org/wst/ws/internal/model/v10/registry"
+xmlns:tax="http://eclipse.org/wst/ws/internal/model/v10/taxonomy"
+targetNamespace="http://eclipse.org/wst/ws/internal/model/v10/uddiregistry">
+
+	<xsd:import
+	namespace="http://www.w3.org/XML/1998/namespace"
+	schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+	
+	<xsd:import
+	namespace="http://eclipse.org/wst/ws/internal/model/v10/registry"
+	schemaLocation="./Registry.xsd"/>
+
+	<xsd:import
+	namespace="http://eclipse.org/wst/ws/internal/model/v10/taxonomy"
+	schemaLocation="./Taxonomy.xsd"/>
+
+	<xsd:element name="uddiRegistry" type="urg:UDDIRegistry"/>
+	
+	<xsd:complexType name="UDDIRegistry">
+		<xsd:complexContent>
+			<xsd:extension base="reg:Registry">
+				<xsd:sequence>
+					<xsd:element name="version" type="xsd:string" minOccurs="1"/>
+					<xsd:element name="discoveryURL" type="xsd:anyURI" minOccurs="1"/>
+					<xsd:element name="publicationURL" type="xsd:anyURI" minOccurs="1"/>
+					<xsd:element name="securedDiscoveryURL" type="xsd:anyURI" minOccurs="1"/>
+					<xsd:element name="securedPublicationURL" type="xsd:anyURI" minOccurs="1"/>
+					<xsd:element name="defaultLogin" type="xsd:string" minOccurs="1"/>
+					<xsd:element name="defaultPassword" type="xsd:string" minOccurs="1"/>
+					<xsd:element name="taxonomies" type="urg:Taxonomies" minOccurs="0"/>
+				</xsd:sequence>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+	
+	<xsd:element name="taxonomies" type="urg:Taxonomies"/>
+	
+	<xsd:complexType name="Taxonomies">
+		<xsd:sequence>
+			<xsd:element ref="tax:taxonomy" minOccurs="0" maxOccurs="unbounded"/>
+		</xsd:sequence>
+	</xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.registry.ecore b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.registry.ecore
new file mode 100644
index 0000000..f4042d4
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.registry.ecore
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="registry"
+    nsURI="http://eclipse.org/wst/ws/internal/model/v10/registry" nsPrefix="registry">
+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+    <details key="documentation" value="&#xD;&#xA;   See http://www.w3.org/XML/1998/namespace.html and&#xD;&#xA;   http://www.w3.org/TR/REC-xml for information about this namespace.&#xD;&#xA;&#xD;&#xA;    This schema document describes the XML namespace, in a form&#xD;&#xA;    suitable for import by other schema documents.  &#xD;&#xA;&#xD;&#xA;    Note that local names in this namespace are intended to be defined&#xD;&#xA;    only by the World Wide Web Consortium or its subgroups.  The&#xD;&#xA;    following names are currently defined in this namespace and should&#xD;&#xA;    not be used with conflicting semantics by any Working Group,&#xD;&#xA;    specification, or document instance:&#xD;&#xA;&#xD;&#xA;    base (as an attribute name): denotes an attribute whose value&#xD;&#xA;         provides a URI to be used as the base for interpreting any&#xD;&#xA;         relative URIs in the scope of the element on which it&#xD;&#xA;         appears; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML Base specification.&#xD;&#xA;&#xD;&#xA;    id   (as an attribute name): denotes an attribute whose value&#xD;&#xA;         should be interpreted as if declared to be of type ID.&#xD;&#xA;         The xml:id specification is not yet a W3C Recommendation,&#xD;&#xA;         but this attribute is included here to facilitate experimentation&#xD;&#xA;         with the mechanisms it proposes.  Note that it is _not_ included&#xD;&#xA;         in the specialAttrs attribute group.&#xD;&#xA;&#xD;&#xA;    lang (as an attribute name): denotes an attribute whose value&#xD;&#xA;         is a language code for the natural language of the content of&#xD;&#xA;         any element; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML specification.&#xD;&#xA;  &#xD;&#xA;    space (as an attribute name): denotes an attribute whose&#xD;&#xA;         value is a keyword indicating what whitespace processing&#xD;&#xA;         discipline is intended for the content of the element; its&#xD;&#xA;         value is inherited.  This name is reserved by virtue of its&#xD;&#xA;         definition in the XML specification.&#xD;&#xA;&#xD;&#xA;    Father (in any context at all): denotes Jon Bosak, the chair of &#xD;&#xA;         the original XML Working Group.  This name is reserved by &#xD;&#xA;         the following decision of the W3C XML Plenary and &#xD;&#xA;         XML Coordination groups:&#xD;&#xA;&#xD;&#xA;             In appreciation for his vision, leadership and dedication&#xD;&#xA;             the W3C XML Plenary on this 10th day of February, 2000&#xD;&#xA;             reserves for Jon Bosak in perpetuity the XML name&#xD;&#xA;             xml:Father&#xD;&#xA;  &#xD;&#xA;This schema defines attributes and an attribute group&#xD;&#xA;        suitable for use by&#xD;&#xA;        schemas wishing to allow xml:base, xml:lang, xml:space or xml:id&#xD;&#xA;        attributes on elements they define.&#xD;&#xA;&#xD;&#xA;        To enable this, such a schema must import this schema&#xD;&#xA;        for the XML namespace, e.g. as follows:&#xD;&#xA;        &amp;lt;schema . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;import namespace=&quot;http://www.w3.org/XML/1998/namespace&quot;&#xD;&#xA;                    schemaLocation=&quot;http://www.w3.org/2001/xml.xsd&quot;/&amp;gt;&#xD;&#xA;&#xD;&#xA;        Subsequently, qualified reference to any of the attributes&#xD;&#xA;        or the group defined below will have the desired effect, e.g.&#xD;&#xA;&#xD;&#xA;        &amp;lt;type . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;attributeGroup ref=&quot;xml:specialAttrs&quot;/&amp;gt;&#xD;&#xA; &#xD;&#xA;         will define a type which will schema-validate an instance&#xD;&#xA;         element with any of those attributes&#xD;&#xA;In keeping with the XML Schema WG's standard versioning&#xD;&#xA;   policy, this schema document will persist at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd.&#xD;&#xA;   At the date of issue it can also be found at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd.&#xD;&#xA;   The schema document at that URI may however change in the future,&#xD;&#xA;   in order to remain compatible with the latest version of XML Schema&#xD;&#xA;   itself, or with the XML namespace itself.  In other words, if the XML&#xD;&#xA;   Schema or XML namespaces change, the version of this document at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd will change&#xD;&#xA;   accordingly; the version at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd will not change.&#xD;&#xA;  "/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="Description">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Description"/>
+      <details key="kind" value="simple"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value=":0"/>
+        <details key="kind" value="simple"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="lang"/>
+        <details key="namespace" value="http://www.w3.org/XML/1998/namespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value=""/>
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="elementWildcard"/>
+        <details key="name" value=":mixed"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xmlns:prefix"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xsi:schemaLocation"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="description" upperBound="-2"
+        eType="#//Description" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="description"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="name" upperBound="-2" eType="#//Name"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="name"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="registry" upperBound="-2"
+        eType="#//Registry" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="registry"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Name">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Name"/>
+      <details key="kind" value="simple"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value=":0"/>
+        <details key="kind" value="simple"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="lang"/>
+        <details key="namespace" value="http://www.w3.org/XML/1998/namespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Registry">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Registry"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" upperBound="-1"
+        eType="#//Name" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="name"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="description" lowerBound="1"
+        upperBound="-1" eType="#//Description" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="description"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="id"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" unique="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="location"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ref" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="ref"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.rtindex.ecore b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.rtindex.ecore
new file mode 100644
index 0000000..5a095c5
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.rtindex.ecore
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="rtindex"
+    nsURI="http://eclipse.org/wst/ws/internal/model/v10/rtindex" nsPrefix="rtindex">
+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+    <details key="documentation" value="&#xD;&#xA;   See http://www.w3.org/XML/1998/namespace.html and&#xD;&#xA;   http://www.w3.org/TR/REC-xml for information about this namespace.&#xD;&#xA;&#xD;&#xA;    This schema document describes the XML namespace, in a form&#xD;&#xA;    suitable for import by other schema documents.  &#xD;&#xA;&#xD;&#xA;    Note that local names in this namespace are intended to be defined&#xD;&#xA;    only by the World Wide Web Consortium or its subgroups.  The&#xD;&#xA;    following names are currently defined in this namespace and should&#xD;&#xA;    not be used with conflicting semantics by any Working Group,&#xD;&#xA;    specification, or document instance:&#xD;&#xA;&#xD;&#xA;    base (as an attribute name): denotes an attribute whose value&#xD;&#xA;         provides a URI to be used as the base for interpreting any&#xD;&#xA;         relative URIs in the scope of the element on which it&#xD;&#xA;         appears; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML Base specification.&#xD;&#xA;&#xD;&#xA;    id   (as an attribute name): denotes an attribute whose value&#xD;&#xA;         should be interpreted as if declared to be of type ID.&#xD;&#xA;         The xml:id specification is not yet a W3C Recommendation,&#xD;&#xA;         but this attribute is included here to facilitate experimentation&#xD;&#xA;         with the mechanisms it proposes.  Note that it is _not_ included&#xD;&#xA;         in the specialAttrs attribute group.&#xD;&#xA;&#xD;&#xA;    lang (as an attribute name): denotes an attribute whose value&#xD;&#xA;         is a language code for the natural language of the content of&#xD;&#xA;         any element; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML specification.&#xD;&#xA;  &#xD;&#xA;    space (as an attribute name): denotes an attribute whose&#xD;&#xA;         value is a keyword indicating what whitespace processing&#xD;&#xA;         discipline is intended for the content of the element; its&#xD;&#xA;         value is inherited.  This name is reserved by virtue of its&#xD;&#xA;         definition in the XML specification.&#xD;&#xA;&#xD;&#xA;    Father (in any context at all): denotes Jon Bosak, the chair of &#xD;&#xA;         the original XML Working Group.  This name is reserved by &#xD;&#xA;         the following decision of the W3C XML Plenary and &#xD;&#xA;         XML Coordination groups:&#xD;&#xA;&#xD;&#xA;             In appreciation for his vision, leadership and dedication&#xD;&#xA;             the W3C XML Plenary on this 10th day of February, 2000&#xD;&#xA;             reserves for Jon Bosak in perpetuity the XML name&#xD;&#xA;             xml:Father&#xD;&#xA;  &#xD;&#xA;This schema defines attributes and an attribute group&#xD;&#xA;        suitable for use by&#xD;&#xA;        schemas wishing to allow xml:base, xml:lang, xml:space or xml:id&#xD;&#xA;        attributes on elements they define.&#xD;&#xA;&#xD;&#xA;        To enable this, such a schema must import this schema&#xD;&#xA;        for the XML namespace, e.g. as follows:&#xD;&#xA;        &amp;lt;schema . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;import namespace=&quot;http://www.w3.org/XML/1998/namespace&quot;&#xD;&#xA;                    schemaLocation=&quot;http://www.w3.org/2001/xml.xsd&quot;/&amp;gt;&#xD;&#xA;&#xD;&#xA;        Subsequently, qualified reference to any of the attributes&#xD;&#xA;        or the group defined below will have the desired effect, e.g.&#xD;&#xA;&#xD;&#xA;        &amp;lt;type . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;attributeGroup ref=&quot;xml:specialAttrs&quot;/&amp;gt;&#xD;&#xA; &#xD;&#xA;         will define a type which will schema-validate an instance&#xD;&#xA;         element with any of those attributes&#xD;&#xA;In keeping with the XML Schema WG's standard versioning&#xD;&#xA;   policy, this schema document will persist at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd.&#xD;&#xA;   At the date of issue it can also be found at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd.&#xD;&#xA;   The schema document at that URI may however change in the future,&#xD;&#xA;   in order to remain compatible with the latest version of XML Schema&#xD;&#xA;   itself, or with the XML namespace itself.  In other words, if the XML&#xD;&#xA;   Schema or XML namespaces change, the version of this document at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd will change&#xD;&#xA;   accordingly; the version at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd will not change.&#xD;&#xA;  "/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="Description">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Description"/>
+      <details key="kind" value="simple"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value=":0"/>
+        <details key="kind" value="simple"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="lang"/>
+        <details key="namespace" value="http://www.w3.org/XML/1998/namespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value=""/>
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="elementWildcard"/>
+        <details key="name" value=":mixed"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xmlns:prefix"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xsi:schemaLocation"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="description" upperBound="-2"
+        eType="#//Description" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="description"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="index" upperBound="-2"
+        eType="#//Index" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="index"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="name" upperBound="-2" eType="#//Name"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="name"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Index">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Index"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" upperBound="-1"
+        eType="#//Name" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="name"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="description" lowerBound="1"
+        upperBound="-1" eType="#//Description" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="description"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="registry" upperBound="-1"
+        eType="ecore:EClass org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="registry"/>
+        <details key="namespace" value="http://eclipse.org/wst/ws/internal/model/v10/registry"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="taxonomy" upperBound="-1"
+        eType="ecore:EClass org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="taxonomy"/>
+        <details key="namespace" value="http://eclipse.org/wst/ws/internal/model/v10/taxonomy"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Name">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Name"/>
+      <details key="kind" value="simple"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value=":0"/>
+        <details key="kind" value="simple"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="lang"/>
+        <details key="namespace" value="http://www.w3.org/XML/1998/namespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore
new file mode 100644
index 0000000..01889b0
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="taxonomy"
+    nsURI="http://eclipse.org/wst/ws/internal/model/v10/taxonomy" nsPrefix="taxonomy">
+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+    <details key="documentation" value="&#xD;&#xA;   See http://www.w3.org/XML/1998/namespace.html and&#xD;&#xA;   http://www.w3.org/TR/REC-xml for information about this namespace.&#xD;&#xA;&#xD;&#xA;    This schema document describes the XML namespace, in a form&#xD;&#xA;    suitable for import by other schema documents.  &#xD;&#xA;&#xD;&#xA;    Note that local names in this namespace are intended to be defined&#xD;&#xA;    only by the World Wide Web Consortium or its subgroups.  The&#xD;&#xA;    following names are currently defined in this namespace and should&#xD;&#xA;    not be used with conflicting semantics by any Working Group,&#xD;&#xA;    specification, or document instance:&#xD;&#xA;&#xD;&#xA;    base (as an attribute name): denotes an attribute whose value&#xD;&#xA;         provides a URI to be used as the base for interpreting any&#xD;&#xA;         relative URIs in the scope of the element on which it&#xD;&#xA;         appears; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML Base specification.&#xD;&#xA;&#xD;&#xA;    id   (as an attribute name): denotes an attribute whose value&#xD;&#xA;         should be interpreted as if declared to be of type ID.&#xD;&#xA;         The xml:id specification is not yet a W3C Recommendation,&#xD;&#xA;         but this attribute is included here to facilitate experimentation&#xD;&#xA;         with the mechanisms it proposes.  Note that it is _not_ included&#xD;&#xA;         in the specialAttrs attribute group.&#xD;&#xA;&#xD;&#xA;    lang (as an attribute name): denotes an attribute whose value&#xD;&#xA;         is a language code for the natural language of the content of&#xD;&#xA;         any element; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML specification.&#xD;&#xA;  &#xD;&#xA;    space (as an attribute name): denotes an attribute whose&#xD;&#xA;         value is a keyword indicating what whitespace processing&#xD;&#xA;         discipline is intended for the content of the element; its&#xD;&#xA;         value is inherited.  This name is reserved by virtue of its&#xD;&#xA;         definition in the XML specification.&#xD;&#xA;&#xD;&#xA;    Father (in any context at all): denotes Jon Bosak, the chair of &#xD;&#xA;         the original XML Working Group.  This name is reserved by &#xD;&#xA;         the following decision of the W3C XML Plenary and &#xD;&#xA;         XML Coordination groups:&#xD;&#xA;&#xD;&#xA;             In appreciation for his vision, leadership and dedication&#xD;&#xA;             the W3C XML Plenary on this 10th day of February, 2000&#xD;&#xA;             reserves for Jon Bosak in perpetuity the XML name&#xD;&#xA;             xml:Father&#xD;&#xA;  &#xD;&#xA;This schema defines attributes and an attribute group&#xD;&#xA;        suitable for use by&#xD;&#xA;        schemas wishing to allow xml:base, xml:lang, xml:space or xml:id&#xD;&#xA;        attributes on elements they define.&#xD;&#xA;&#xD;&#xA;        To enable this, such a schema must import this schema&#xD;&#xA;        for the XML namespace, e.g. as follows:&#xD;&#xA;        &amp;lt;schema . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;import namespace=&quot;http://www.w3.org/XML/1998/namespace&quot;&#xD;&#xA;                    schemaLocation=&quot;http://www.w3.org/2001/xml.xsd&quot;/&amp;gt;&#xD;&#xA;&#xD;&#xA;        Subsequently, qualified reference to any of the attributes&#xD;&#xA;        or the group defined below will have the desired effect, e.g.&#xD;&#xA;&#xD;&#xA;        &amp;lt;type . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;attributeGroup ref=&quot;xml:specialAttrs&quot;/&amp;gt;&#xD;&#xA; &#xD;&#xA;         will define a type which will schema-validate an instance&#xD;&#xA;         element with any of those attributes&#xD;&#xA;In keeping with the XML Schema WG's standard versioning&#xD;&#xA;   policy, this schema document will persist at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd.&#xD;&#xA;   At the date of issue it can also be found at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd.&#xD;&#xA;   The schema document at that URI may however change in the future,&#xD;&#xA;   in order to remain compatible with the latest version of XML Schema&#xD;&#xA;   itself, or with the XML namespace itself.  In other words, if the XML&#xD;&#xA;   Schema or XML namespaces change, the version of this document at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd will change&#xD;&#xA;   accordingly; the version at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd will not change.&#xD;&#xA;  "/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="Category">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Category"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nlname" upperBound="-1"
+        eType="#//Name" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="nlname"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="category" upperBound="-1"
+        eType="#//Category" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="category"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="code"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="name"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value=""/>
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="elementWildcard"/>
+        <details key="name" value=":mixed"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xmlns:prefix"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xsi:schemaLocation"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="category" upperBound="-2"
+        eType="#//Category" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="category"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="name" upperBound="-2" eType="#//Name"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="name"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="taxonomy" upperBound="-2"
+        eType="#//Taxonomy" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="taxonomy"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Name">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Name"/>
+      <details key="kind" value="simple"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value=":0"/>
+        <details key="kind" value="simple"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="lang"/>
+        <details key="namespace" value="http://www.w3.org/XML/1998/namespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Taxonomy">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Taxonomy"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nlname" upperBound="-1"
+        eType="#//Name" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="nlname"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="category" upperBound="-1"
+        eType="#//Category" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="category"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="id"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" unique="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="location"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="name"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ref" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="ref"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="tmodelKey" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="tmodelKey"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore
new file mode 100644
index 0000000..e8ce602
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/org.eclipse.wst.ws.internal.model.v10.uddiregistry.ecore
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="uddiregistry"
+    nsURI="http://eclipse.org/wst/ws/internal/model/v10/uddiregistry" nsPrefix="uddiregistry">
+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+    <details key="documentation" value="&#xD;&#xA;   See http://www.w3.org/XML/1998/namespace.html and&#xD;&#xA;   http://www.w3.org/TR/REC-xml for information about this namespace.&#xD;&#xA;&#xD;&#xA;    This schema document describes the XML namespace, in a form&#xD;&#xA;    suitable for import by other schema documents.  &#xD;&#xA;&#xD;&#xA;    Note that local names in this namespace are intended to be defined&#xD;&#xA;    only by the World Wide Web Consortium or its subgroups.  The&#xD;&#xA;    following names are currently defined in this namespace and should&#xD;&#xA;    not be used with conflicting semantics by any Working Group,&#xD;&#xA;    specification, or document instance:&#xD;&#xA;&#xD;&#xA;    base (as an attribute name): denotes an attribute whose value&#xD;&#xA;         provides a URI to be used as the base for interpreting any&#xD;&#xA;         relative URIs in the scope of the element on which it&#xD;&#xA;         appears; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML Base specification.&#xD;&#xA;&#xD;&#xA;    id   (as an attribute name): denotes an attribute whose value&#xD;&#xA;         should be interpreted as if declared to be of type ID.&#xD;&#xA;         The xml:id specification is not yet a W3C Recommendation,&#xD;&#xA;         but this attribute is included here to facilitate experimentation&#xD;&#xA;         with the mechanisms it proposes.  Note that it is _not_ included&#xD;&#xA;         in the specialAttrs attribute group.&#xD;&#xA;&#xD;&#xA;    lang (as an attribute name): denotes an attribute whose value&#xD;&#xA;         is a language code for the natural language of the content of&#xD;&#xA;         any element; its value is inherited.  This name is reserved&#xD;&#xA;         by virtue of its definition in the XML specification.&#xD;&#xA;  &#xD;&#xA;    space (as an attribute name): denotes an attribute whose&#xD;&#xA;         value is a keyword indicating what whitespace processing&#xD;&#xA;         discipline is intended for the content of the element; its&#xD;&#xA;         value is inherited.  This name is reserved by virtue of its&#xD;&#xA;         definition in the XML specification.&#xD;&#xA;&#xD;&#xA;    Father (in any context at all): denotes Jon Bosak, the chair of &#xD;&#xA;         the original XML Working Group.  This name is reserved by &#xD;&#xA;         the following decision of the W3C XML Plenary and &#xD;&#xA;         XML Coordination groups:&#xD;&#xA;&#xD;&#xA;             In appreciation for his vision, leadership and dedication&#xD;&#xA;             the W3C XML Plenary on this 10th day of February, 2000&#xD;&#xA;             reserves for Jon Bosak in perpetuity the XML name&#xD;&#xA;             xml:Father&#xD;&#xA;  &#xD;&#xA;This schema defines attributes and an attribute group&#xD;&#xA;        suitable for use by&#xD;&#xA;        schemas wishing to allow xml:base, xml:lang, xml:space or xml:id&#xD;&#xA;        attributes on elements they define.&#xD;&#xA;&#xD;&#xA;        To enable this, such a schema must import this schema&#xD;&#xA;        for the XML namespace, e.g. as follows:&#xD;&#xA;        &amp;lt;schema . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;import namespace=&quot;http://www.w3.org/XML/1998/namespace&quot;&#xD;&#xA;                    schemaLocation=&quot;http://www.w3.org/2001/xml.xsd&quot;/&amp;gt;&#xD;&#xA;&#xD;&#xA;        Subsequently, qualified reference to any of the attributes&#xD;&#xA;        or the group defined below will have the desired effect, e.g.&#xD;&#xA;&#xD;&#xA;        &amp;lt;type . . .&amp;gt;&#xD;&#xA;         . . .&#xD;&#xA;         &amp;lt;attributeGroup ref=&quot;xml:specialAttrs&quot;/&amp;gt;&#xD;&#xA; &#xD;&#xA;         will define a type which will schema-validate an instance&#xD;&#xA;         element with any of those attributes&#xD;&#xA;In keeping with the XML Schema WG's standard versioning&#xD;&#xA;   policy, this schema document will persist at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd.&#xD;&#xA;   At the date of issue it can also be found at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd.&#xD;&#xA;   The schema document at that URI may however change in the future,&#xD;&#xA;   in order to remain compatible with the latest version of XML Schema&#xD;&#xA;   itself, or with the XML namespace itself.  In other words, if the XML&#xD;&#xA;   Schema or XML namespaces change, the version of this document at&#xD;&#xA;   http://www.w3.org/2001/xml.xsd will change&#xD;&#xA;   accordingly; the version at&#xD;&#xA;   http://www.w3.org/2005/08/xml.xsd will not change.&#xD;&#xA;  "/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value=""/>
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="elementWildcard"/>
+        <details key="name" value=":mixed"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xmlns:prefix"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" unique="false"
+        upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+        transient="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+        <details key="name" value="xsi:schemaLocation"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="taxonomies" upperBound="-2"
+        eType="#//Taxonomies" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="taxonomies"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="uddiRegistry" upperBound="-2"
+        eType="#//UDDIRegistry" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="uddiRegistry"/>
+        <details key="namespace" value="##targetNamespace"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Taxonomies">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="Taxonomies"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="taxonomy" upperBound="-1"
+        eType="ecore:EClass org.eclipse.wst.ws.internal.model.v10.taxonomy.ecore#//Taxonomy"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="taxonomy"/>
+        <details key="namespace" value="http://eclipse.org/wst/ws/internal/model/v10/taxonomy"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="UDDIRegistry" eSuperTypes="org.eclipse.wst.ws.internal.model.v10.registry.ecore#//Registry">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="UDDIRegistry"/>
+      <details key="kind" value="elementOnly"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="version"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="discoveryURL" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="discoveryURL"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationURL" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="publicationURL"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="securedDiscoveryURL" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="securedDiscoveryURL"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="securedPublicationURL"
+        unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnyURI">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="securedPublicationURL"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultLogin" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="defaultLogin"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultPassword" unique="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="defaultPassword"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="taxonomies" eType="#//Taxonomies"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="element"/>
+        <details key="name" value="taxonomies"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.wst.ws/plugin.xml b/bundles/org.eclipse.wst.ws/plugin.xml
index 8e5c3d7..2b8ae64 100644
--- a/bundles/org.eclipse.wst.ws/plugin.xml
+++ b/bundles/org.eclipse.wst.ws/plugin.xml
@@ -2,6 +2,8 @@
 <?eclipse version="3.0"?>
 
 <plugin>
+
+   <!-- The following extension point is internal, though likely to be promoted for public use, possibly with changes, in a future release. -->
    <extension-point id="locator" name="%XP_WEB_SERVICE_LOCATOR" schema="schema/webServiceLocator.exsd"/>
    <extension
          point="org.eclipse.wst.ws.locator">
diff --git a/bundles/org.eclipse.wst.ws/schema/webServiceLocator.exsd b/bundles/org.eclipse.wst.ws/schema/webServiceLocator.exsd
index 9fb099b..ebbdb7d 100644
--- a/bundles/org.eclipse.wst.ws/schema/webServiceLocator.exsd
+++ b/bundles/org.eclipse.wst.ws/schema/webServiceLocator.exsd
@@ -3,7 +3,7 @@
 <schema targetNamespace="org.eclipse.wst.ws">
 <annotation>
       <appInfo>
-         <meta.schema plugin="org.eclipse.wst.ws" id="webServiceLocator" name="XP_WSLOCATOR"/>
+         <meta.schema plugin="org.eclipse.wst.ws" id="webServiceLocator" name="Web Service Locator"/>
       </appInfo>
       <documentation>
          Extension point is provided to register locators that extend AbstractWebServiceLocator.  These locators are used by WebServiceFinder to locate web services for the purpose of web service discovery.
@@ -18,21 +18,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
                </documentation>
             </annotation>
          </attribute>
          <attribute name="name" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional name of the extension instance
                </documentation>
                <appInfo>
                   <meta.attribute translatable="true"/>
@@ -52,7 +52,7 @@
 &lt;p&gt;
 &lt;code&gt;class&lt;/code&gt;The fully qualified class name for the locator class which extends AbstractWebServiceLocator.
 &lt;p&gt;
-&lt;code&gt;label&lt;/code&gt;A label for this locator.  
+&lt;code&gt;label&lt;/code&gt;A label for this locator.
                </documentation>
             </annotation>
          </attribute>
@@ -78,7 +78,7 @@
          <meta.section type="since"/>
       </appInfo>
       <documentation>
-         [Enter the first release in which this extension point appears.]
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
       </documentation>
    </annotation>
 
@@ -87,7 +87,7 @@
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
-         [Enter extension point usage example here.]
+         
       </documentation>
    </annotation>
 
@@ -96,7 +96,7 @@
          <meta.section type="apiInfo"/>
       </appInfo>
       <documentation>
-         Extenders should implement AbstractWebServiceLocator.  The WebServiceLocatorRegistry uses this extension point to retrieve all locators.
+         Extenders should implement &lt;code&gt;org.eclipse.wst.ws.internal.wsfinder.AbstractWebServiceLocator&lt;/code&gt;.  The WebServiceLocatorRegistry uses this extension point to retrieve all locators.
       </documentation>
    </annotation>
 
@@ -105,7 +105,7 @@
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
-         [Enter information about supplied implementation of this extension point.]
+         
       </documentation>
    </annotation>
 
@@ -114,7 +114,11 @@
          <meta.section type="copyright"/>
       </appInfo>
       <documentation>
-         
+         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
       </documentation>
    </annotation>
 
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/WstWSPlugin.properties b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/WstWSPlugin.properties
new file mode 100644
index 0000000..157295e
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/WstWSPlugin.properties
@@ -0,0 +1,37 @@
+###############################################################################
+# Copyright (c) 2005 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
+###############################################################################
+
+#
+# GetMonitorCommand
+#
+MSG_ERROR_UNABLE_TO_START_MONITOR=IWAB0001E Unable to monitor port {0} of {1}.
+
+#
+# WSIComplianceUtils
+#
+IGNORE_LABEL=Ignore
+IGNORE_DESCRIPTION=Ignore the WS-I non-compliance and continue
+IGNORE_ALL_LABEL=Ignore All
+IGNORE_ALL_DESCRIPTION=Always ignore the WS-I non-compliance and continue
+CANCEL_LABEL=Cancel
+CANCEL_DESCRIPTION=Cancel
+
+#
+#	WS-I Compliance Messages
+#
+WSI_SSBP_ERROR=You have made a choice that may result in a Web service that does not comply with the WS-I Simple SOAP Binding Profile. Your current Web services preference is set to require compliance with WS-I SSBP.
+WSI_SSBP_WARNING=You have made a choice that may result in a Web service that does not comply with the WS-I Simple SOAP Binding Profile. Do you wish to ignore this warning and continue?
+WSI_SSBP_INCOMPLIANT_RUNTIME=The selected Web Service runtime does not comply with the WS-I Simple SOAP Binding Profile.
+WSI_AP_ERROR=You have made a choice that may result in a Web service that does not comply with the WS-I Attachment Profile. Your current Web services preference is set to require compliance with WS-I AP.
+WSI_AP_WARNING=You have made a choice that may result in a Web service that does not comply with the WS-I Attachment Profile. Do you wish to ignore this warning and continue?
+WSI_AP_INCOMPLIANT_RUNTIME=The selected Web Service runtime does not comply with the WS-I Attachment Profile.
+NOT_OK=Cannot continue due to WS-I non-compliance
+
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/WstWSPluginMessages.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/WstWSPluginMessages.java
new file mode 100644
index 0000000..46d31af
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/WstWSPluginMessages.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class WstWSPluginMessages extends NLS {
+
+	private static final String BUNDLE_NAME = "org.eclipse.wst.ws.internal.WstWSPlugin";//$NON-NLS-1$
+
+	private WstWSPluginMessages() {
+		// Do not instantiate
+	}
+
+	public static String MSG_ERROR_UNABLE_TO_START_MONITOR;
+	public static String IGNORE_LABEL;
+	public static String IGNORE_DESCRIPTION;
+	public static String IGNORE_ALL_LABEL;
+	public static String IGNORE_ALL_DESCRIPTION;
+	public static String CANCEL_LABEL;
+	public static String CANCEL_DESCRIPTION;
+	public static String WSI_SSBP_ERROR;
+	public static String WSI_SSBP_WARNING;
+	public static String WSI_SSBP_INCOMPLIANT_RUNTIME;
+	public static String WSI_AP_ERROR;
+	public static String WSI_AP_WARNING;	
+	public static String WSI_AP_INCOMPLIANT_RUNTIME;
+	public static String NOT_OK;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, WstWSPluginMessages.class);
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/BundleUtils.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/BundleUtils.java
new file mode 100644
index 0000000..6eeca66
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/BundleUtils.java
@@ -0,0 +1,26 @@
+/***************************************************************************************************
+ * Copyright (c) 2003, 2005 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
+ **************************************************************************************************/
+package org.eclipse.wst.ws.internal.common;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import org.eclipse.core.runtime.Platform;
+import org.osgi.framework.Bundle;
+
+public class BundleUtils
+{
+  static public URL getURLFromBundle( String bundleId, String path ) throws MalformedURLException
+  {
+    Bundle      bundle     = Platform.getBundle( bundleId );
+    URL         installURL = bundle.getEntry("/");
+    URL         fileURL    = new URL(installURL, path );
+    
+    return fileURL;
+  }
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/EnvironmentUtils.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/EnvironmentUtils.java
deleted file mode 100644
index 7444dc8..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/EnvironmentUtils.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.common;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.ProgressMonitor;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
-
-public final class EnvironmentUtils
-{
-  /**
-   * @param env
-   * @return IProgressMonitor
-   */
-  public static IProgressMonitor getIProgressMonitor(Environment env)
-  {
-  	 ProgressMonitor monitor = env.getProgressMonitor();
-     	 IProgressMonitor eclipseMonitor = null;
-     	 if (monitor instanceof EclipseProgressMonitor)
-     	 {
-     	 	eclipseMonitor = ((EclipseProgressMonitor)monitor).getMonitor();
-     	 }
-     	 return eclipseMonitor;
-  }
-     
-  /**
-   * 
-   * @param env This should be an EclipseEnvironment.
-   * @return Returns a ResourceContext.
-   */ 
-  public static ResourceContext getResourceContext( Environment env )
-  {
-    ResourceContext context = null;
-    
-    if( env instanceof EclipseEnvironment )
-    {
-      context = ((EclipseEnvironment)env).getResourceContext();
-    }
-    else
-    {
-      context = new TransientResourceContext();
-    }
-    
-    return context;
-  }
-  
-  
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/LiveWSDLFilter.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/LiveWSDLFilter.java
index 0371098..0dfb050 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/LiveWSDLFilter.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/LiveWSDLFilter.java
@@ -16,7 +16,6 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-
 import javax.wsdl.Definition;
 import javax.wsdl.Port;
 import javax.wsdl.Service;
@@ -24,7 +23,6 @@
 import javax.wsdl.extensions.ExtensibilityElement;
 import javax.wsdl.extensions.http.HTTPAddress;
 import javax.wsdl.extensions.soap.SOAPAddress;
-
 import org.eclipse.wst.ws.internal.parser.discovery.WebServicesParserExt;
 import org.eclipse.wst.ws.internal.parser.wsil.WWWAuthenticationException;
 
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/WSDLUtility.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/WSDLUtility.java
index 01dbe78..67929b9 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/WSDLUtility.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/common/WSDLUtility.java
@@ -1,17 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.common;
 
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.List;
 import java.util.Map;
-
-import javax.wsdl.Port;
 import javax.wsdl.Definition;
+import javax.wsdl.Port;
 import javax.wsdl.Service;
 import javax.wsdl.extensions.ExtensibilityElement;
 import javax.wsdl.extensions.http.HTTPAddress;
 import javax.wsdl.extensions.soap.SOAPAddress;
-
 import org.eclipse.core.resources.IResource;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExecutable.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExecutable.java
index 1dadc15..6877bb9 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExecutable.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExecutable.java
@@ -11,6 +11,8 @@
 
 package org.eclipse.wst.ws.internal.ext;
 
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+
 /**
 * All Extensions with exectutable extensions should implement this 
 * to fit our framework
@@ -23,5 +25,5 @@
   *Returns a wizard fragment for this exention type 
   *
   */
-  public WebServiceFinishCommand getFinishCommand();
+  public AbstractDataModelOperation getFinishCommand();
 }
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionImpl.java
index 520c376..c9b0c84 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionImpl.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionImpl.java
@@ -13,8 +13,8 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.command.internal.env.eclipse.EclipseLog;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
 
 
 
@@ -27,7 +27,7 @@
 public class WebServiceExtensionImpl implements WebServiceExtension
 {
 
-	private Log	log_;
+	private ILog	log_;
 	
   /*
   * The ConfigElement that holds extension info
@@ -43,7 +43,7 @@
   public WebServiceExtensionImpl(IConfigurationElement configElement)
   {
     configElement_ = configElement;
-    log_ = new EclipseLog();
+    log_ = EnvironmentService.getEclipseLog();
   }
 
   // Copyright
@@ -61,7 +61,7 @@
     try{
       return configElement_.createExecutableExtension("class");
     }catch (CoreException e){
-      log_.log(Log.ERROR, 5029, this, "getWebServiceExecutableExtension",e);
+      log_.log(ILog.ERROR, 5029, this, "getWebServiceExecutableExtension",e);
     }
 
     return null;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionRegistryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionRegistryImpl.java
index 6affaf1..f57c7d9 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionRegistryImpl.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceExtensionRegistryImpl.java
@@ -13,7 +13,6 @@
 
 import java.util.Hashtable;
 import java.util.Vector;
-
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.wst.ws.internal.data.LabelsAndIds;
 
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceFinishCommand.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceFinishCommand.java
deleted file mode 100644
index 5326b62..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/ext/WebServiceFinishCommand.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
-* <copyright>
-*
-* Licensed Material - Property of IBM
-* (C) Copyright IBM Corp. 2000, 2002 - All Rights Reserved.
-* US Government Users Restricted Rights - Use, duplication or disclosure
-* restricted by GSA ADP Schedule Contract with IBM Corp.
-*
-* </copyright>
-*/
-
-package org.eclipse.wst.ws.internal.ext;
-
-import org.eclipse.wst.command.internal.provisional.env.core.Command;
-
-public interface WebServiceFinishCommand extends Command
-{
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractClientFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractClientFragment.java
index f9473bf..8e277ff 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractClientFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractClientFragment.java
@@ -12,15 +12,15 @@
 package org.eclipse.wst.ws.internal.extensions;
 
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFactoryFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebServiceClient;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.IWebServiceClient;
 
 public abstract class AbstractClientFragment extends CommandFactoryFragment
 {
   protected IWebServiceClient webServiceClient_;
-  protected Environment       environment_;
+  protected IEnvironment       environment_;
   protected IContext          context_;
   protected ISelection        selection_;
   protected String            project_;
@@ -49,7 +49,7 @@
 	webServiceClient_ = webService;  
   }
 
-  public void setEnvironment( Environment environment )
+  public void setEnvironment( IEnvironment environment )
   {
 	environment_ = environment;
   }
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractServiceFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractServiceFragment.java
index 6fa2c35..47f6d7c 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractServiceFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AbstractServiceFragment.java
@@ -12,15 +12,15 @@
 package org.eclipse.wst.ws.internal.extensions;
 
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFactoryFragment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.ISelection;
-import org.eclipse.wst.ws.internal.provisional.wsrt.IWebService;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
+import org.eclipse.wst.ws.internal.wsrt.ISelection;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
 
 public abstract class AbstractServiceFragment extends CommandFactoryFragment
 {
   protected IWebService webService_;
-  protected Environment environment_;
+  protected IEnvironment environment_;
   protected IContext    context_;
   protected ISelection  selection_;
   protected String      project_;
@@ -49,7 +49,7 @@
 	webService_ = webService;  
   }
 
-  public void setEnvironment( Environment environment )
+  public void setEnvironment( IEnvironment environment )
   {
 	environment_ = environment;
   }
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleClientFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleClientFragment.java
index 3d88792..3e87fd8 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleClientFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleClientFragment.java
@@ -13,8 +13,8 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
 
 public class AssembleClientFragment extends AbstractClientFragment 
 {
@@ -42,7 +42,7 @@
 	}
 	else
 	{
-	  factory = webServiceClient_.assemble( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webServiceClient_.assemble( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleServiceFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleServiceFragment.java
index fd5509c..288adb7 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleServiceFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/AssembleServiceFragment.java
@@ -13,8 +13,8 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
 
 public class AssembleServiceFragment extends AbstractServiceFragment 
 {
@@ -42,7 +42,7 @@
 	}
 	else
 	{
-	  factory = webService_.assemble( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webService_.assemble( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployClientFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployClientFragment.java
index 484d4f8..1cf5fe7 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployClientFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployClientFragment.java
@@ -13,8 +13,8 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
 
 public class DeployClientFragment extends AbstractClientFragment 
 {
@@ -42,7 +42,7 @@
 	}
 	else
 	{
-	  factory = webServiceClient_.deploy( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webServiceClient_.deploy( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployServiceFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployServiceFragment.java
index b538cfe..3ad5ed7 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployServiceFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DeployServiceFragment.java
@@ -13,8 +13,8 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
 
 public class DeployServiceFragment extends AbstractServiceFragment 
 {
@@ -42,7 +42,7 @@
 	}
 	else
 	{
-	  factory = webService_.deploy( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webService_.deploy( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopClientFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopClientFragment.java
index 814542f..588f0b6 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopClientFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopClientFragment.java
@@ -13,8 +13,8 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
 
 public class DevelopClientFragment extends AbstractClientFragment 
 {
@@ -42,7 +42,7 @@
 	}
 	else
 	{
-	  factory = webServiceClient_.develop( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webServiceClient_.develop( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopServiceFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopServiceFragment.java
index 31548f2..0e5c024 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopServiceFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/DevelopServiceFragment.java
@@ -13,8 +13,8 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
 
 public class DevelopServiceFragment extends AbstractServiceFragment 
 {
@@ -42,7 +42,7 @@
 	}
 	else
 	{
-	  factory = webService_.develop( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webService_.develop( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallClientFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallClientFragment.java
index 7e2227b..700f687 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallClientFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallClientFragment.java
@@ -13,11 +13,14 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
 
 public class InstallClientFragment extends AbstractClientFragment 
 {
+	private IContext context_;
+	
   public InstallClientFragment()
   {
   }
@@ -36,15 +39,20 @@
   {
 	ICommandFactory factory = null;
 	
-	if( webServiceClient_ == null )
+	if( webServiceClient_ == null || !context_.getInstall())
 	{
 	  factory = new SimpleCommandFactory( new Vector() );
 	}
 	else
 	{
-	  factory = webServiceClient_.install( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webServiceClient_.install( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
   }
+  
+  public void setContext(IContext context)
+  {
+	  context_=context;
+  }
 }
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallServiceFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallServiceFragment.java
index 10d7745..7233de6 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallServiceFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/InstallServiceFragment.java
@@ -13,11 +13,14 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
 
 public class InstallServiceFragment extends AbstractServiceFragment 
 {
+	private IContext context_;
+	
   public InstallServiceFragment()
   {
   }
@@ -36,15 +39,21 @@
   {
 	ICommandFactory factory = null;
 	
-	if( webService_ == null )
+	if( webService_ == null || !context_.getInstall())
 	{
 	  factory = new SimpleCommandFactory( new Vector() );
 	}
 	else
 	{
-	  factory = webService_.install( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webService_.install( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
   }
+  
+  public void setContext(IContext context)
+  {
+	  context_=context;
+  }
+  
 }
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunClientFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunClientFragment.java
index 655bfce..6b782b8 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunClientFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunClientFragment.java
@@ -13,11 +13,14 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
 
 public class RunClientFragment extends AbstractClientFragment 
 {
+	private IContext context_;
+	
   public RunClientFragment()
   {
   }
@@ -36,15 +39,20 @@
   {
 	ICommandFactory factory = null;
 	
-	if( webServiceClient_ == null )
+	if( webServiceClient_ == null || !context_.getRun())
 	{
 	  factory = new SimpleCommandFactory( new Vector() );
 	}
 	else
 	{
-	  factory = webServiceClient_.run( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webServiceClient_.run( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
   }
+  
+  public void setContext(IContext context)
+  {
+	  context_=context;
+  }
 }
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunServiceFragment.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunServiceFragment.java
index 5c4ea98..6565d1b 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunServiceFragment.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/extensions/RunServiceFragment.java
@@ -13,11 +13,15 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommandFactory;
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.command.internal.env.core.SimpleCommandFactory;
+import org.eclipse.wst.ws.internal.wsrt.IContext;
 
 public class RunServiceFragment extends AbstractServiceFragment 
 {
+	
+	private IContext context_;
+	
   public RunServiceFragment()
   {
   }
@@ -36,15 +40,20 @@
   {
 	ICommandFactory factory = null;
 	
-	if( webService_ == null )
+	if( webService_ == null || !context_.getRun())
 	{
 	  factory = new SimpleCommandFactory( new Vector() );
 	}
 	else
 	{
-	  factory = webService_.run( environment_, context_, selection_, project_, module_, earProject_, ear_ );	
+	  factory = webService_.run( environment_, context_, selection_, project_, earProject_);	
 	}
 	
 	return factory;
   }
+  
+  public void setContext(IContext context)
+  {
+	  context_=context;	  
+  }
 }
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Description.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Description.java
new file mode 100644
index 0000000..a080742
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Description.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Description.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Description#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Description#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDescription()
+ * @model 
+ * @generated
+ */
+public interface Description extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDescription_Value()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.Description#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Lang</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Lang</em>' attribute.
+	 * @see #setLang(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDescription_Lang()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.Language"
+	 * @generated
+	 */
+	String getLang();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.Description#getLang <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Lang</em>' attribute.
+	 * @see #getLang()
+	 * @generated
+	 */
+	void setLang(String value);
+
+} // Description
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/DocumentRoot.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/DocumentRoot.java
new file mode 100644
index 0000000..2308826
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/DocumentRoot.java
@@ -0,0 +1,165 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRoot.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getRegistry <em>Registry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDocumentRoot()
+ * @model 
+ * @generated
+ */
+public interface DocumentRoot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mixed</em>' attribute list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDocumentRoot_Mixed()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getMixed();
+
+	/**
+	 * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDocumentRoot_XMLNSPrefixMap()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXMLNSPrefixMap();
+
+	/**
+	 * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XSI Schema Location</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDocumentRoot_XSISchemaLocation()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXSISchemaLocation();
+
+	/**
+	 * Returns the value of the '<em><b>Description</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Description</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Description</em>' containment reference.
+	 * @see #setDescription(Description)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDocumentRoot_Description()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Description getDescription();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getDescription <em>Description</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Description</em>' containment reference.
+	 * @see #getDescription()
+	 * @generated
+	 */
+	void setDescription(Description value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' containment reference.
+	 * @see #setName(Name)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDocumentRoot_Name()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Name getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getName <em>Name</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' containment reference.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(Name value);
+
+	/**
+	 * Returns the value of the '<em><b>Registry</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Registry</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Registry</em>' containment reference.
+	 * @see #setRegistry(Registry)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getDocumentRoot_Registry()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Registry getRegistry();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getRegistry <em>Registry</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Registry</em>' containment reference.
+	 * @see #getRegistry()
+	 * @generated
+	 */
+	void setRegistry(Registry value);
+
+} // DocumentRoot
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Name.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Name.java
new file mode 100644
index 0000000..1c3dd39
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Name.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Name.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Name#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Name#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getName_()
+ * @model 
+ * @generated
+ */
+public interface Name extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getName_Value()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.Name#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Lang</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Lang</em>' attribute.
+	 * @see #setLang(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getName_Lang()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.Language"
+	 * @generated
+	 */
+	String getLang();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.Name#getLang <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Lang</em>' attribute.
+	 * @see #getLang()
+	 * @generated
+	 */
+	void setLang(String value);
+
+} // Name
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Registry.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Registry.java
new file mode 100644
index 0000000..e992da0
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/Registry.java
@@ -0,0 +1,144 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Registry.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Registry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getLocation <em>Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getRef <em>Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getRegistry()
+ * @model 
+ * @generated
+ */
+public interface Registry extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.registry.Name}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getRegistry_Name()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.registry.Name" containment="true" resolveProxies="false" required="true"
+	 * @generated
+	 */
+	EList getName();
+
+	/**
+	 * Returns the value of the '<em><b>Description</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.registry.Description}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Description</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Description</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getRegistry_Description()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.registry.Description" containment="true" resolveProxies="false" required="true"
+	 * @generated
+	 */
+	EList getDescription();
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getRegistry_Id()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Location</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Location</em>' attribute.
+	 * @see #setLocation(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getRegistry_Location()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
+	 * @generated
+	 */
+	String getLocation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getLocation <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Location</em>' attribute.
+	 * @see #getLocation()
+	 * @generated
+	 */
+	void setLocation(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Ref</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Ref</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Ref</em>' attribute.
+	 * @see #setRef(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#getRegistry_Ref()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
+	 * @generated
+	 */
+	String getRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getRef <em>Ref</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Ref</em>' attribute.
+	 * @see #getRef()
+	 * @generated
+	 */
+	void setRef(String value);
+
+} // Registry
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/RegistryFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/RegistryFactory.java
new file mode 100644
index 0000000..dc24132
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/RegistryFactory.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryFactory.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage
+ * @generated
+ */
+public interface RegistryFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RegistryFactory eINSTANCE = new org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryFactoryImpl();
+
+	/**
+	 * Returns a new object of class '<em>Description</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Description</em>'.
+	 * @generated
+	 */
+	Description createDescription();
+
+	/**
+	 * Returns a new object of class '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Document Root</em>'.
+	 * @generated
+	 */
+	DocumentRoot createDocumentRoot();
+
+	/**
+	 * Returns a new object of class '<em>Name</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Name</em>'.
+	 * @generated
+	 */
+	Name createName();
+
+	/**
+	 * Returns a new object of class '<em>Registry</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Registry</em>'.
+	 * @generated
+	 */
+	Registry createRegistry();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RegistryPackage getRegistryPackage();
+
+} //RegistryFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/RegistryPackage.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/RegistryPackage.java
new file mode 100644
index 0000000..b08f1e5
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/RegistryPackage.java
@@ -0,0 +1,570 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryPackage.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * 
+ *    See http://www.w3.org/XML/1998/namespace.html and
+ *    http://www.w3.org/TR/REC-xml for information about this namespace.
+ * 
+ *     This schema document describes the XML namespace, in a form
+ *     suitable for import by other schema documents.  
+ * 
+ *     Note that local names in this namespace are intended to be defined
+ *     only by the World Wide Web Consortium or its subgroups.  The
+ *     following names are currently defined in this namespace and should
+ *     not be used with conflicting semantics by any Working Group,
+ *     specification, or document instance:
+ * 
+ *     base (as an attribute name): denotes an attribute whose value
+ *          provides a URI to be used as the base for interpreting any
+ *          relative URIs in the scope of the element on which it
+ *          appears; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML Base specification.
+ * 
+ *     id   (as an attribute name): denotes an attribute whose value
+ *          should be interpreted as if declared to be of type ID.
+ *          The xml:id specification is not yet a W3C Recommendation,
+ *          but this attribute is included here to facilitate experimentation
+ *          with the mechanisms it proposes.  Note that it is _not_ included
+ *          in the specialAttrs attribute group.
+ * 
+ *     lang (as an attribute name): denotes an attribute whose value
+ *          is a language code for the natural language of the content of
+ *          any element; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML specification.
+ *   
+ *     space (as an attribute name): denotes an attribute whose
+ *          value is a keyword indicating what whitespace processing
+ *          discipline is intended for the content of the element; its
+ *          value is inherited.  This name is reserved by virtue of its
+ *          definition in the XML specification.
+ * 
+ *     Father (in any context at all): denotes Jon Bosak, the chair of 
+ *          the original XML Working Group.  This name is reserved by 
+ *          the following decision of the W3C XML Plenary and 
+ *          XML Coordination groups:
+ * 
+ *              In appreciation for his vision, leadership and dedication
+ *              the W3C XML Plenary on this 10th day of February, 2000
+ *              reserves for Jon Bosak in perpetuity the XML name
+ *              xml:Father
+ *   
+ * This schema defines attributes and an attribute group
+ *         suitable for use by
+ *         schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
+ *         attributes on elements they define.
+ * 
+ *         To enable this, such a schema must import this schema
+ *         for the XML namespace, e.g. as follows:
+ *         &lt;schema . . .&gt;
+ *          . . .
+ *          &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+ *                     schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
+ * 
+ *         Subsequently, qualified reference to any of the attributes
+ *         or the group defined below will have the desired effect, e.g.
+ * 
+ *         &lt;type . . .&gt;
+ *          . . .
+ *          &lt;attributeGroup ref="xml:specialAttrs"/&gt;
+ *  
+ *          will define a type which will schema-validate an instance
+ *          element with any of those attributes
+ * In keeping with the XML Schema WG's standard versioning
+ *    policy, this schema document will persist at
+ *    http://www.w3.org/2005/08/xml.xsd.
+ *    At the date of issue it can also be found at
+ *    http://www.w3.org/2001/xml.xsd.
+ *    The schema document at that URI may however change in the future,
+ *    in order to remain compatible with the latest version of XML Schema
+ *    itself, or with the XML namespace itself.  In other words, if the XML
+ *    Schema or XML namespaces change, the version of this document at
+ *    http://www.w3.org/2001/xml.xsd will change
+ *    accordingly; the version at
+ *    http://www.w3.org/2005/08/xml.xsd will not change.
+ *   
+ * <!-- end-model-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryFactory
+ * @generated
+ */
+public interface RegistryPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "registry";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://eclipse.org/wst/ws/internal/model/v10/registry";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "registry";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RegistryPackage eINSTANCE = org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DescriptionImpl <em>Description</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.DescriptionImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl#getDescription()
+	 * @generated
+	 */
+	int DESCRIPTION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESCRIPTION__VALUE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESCRIPTION__LANG = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Description</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESCRIPTION_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl <em>Document Root</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl#getDocumentRoot()
+	 * @generated
+	 */
+	int DOCUMENT_ROOT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__MIXED = 0;
+
+	/**
+	 * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+	/**
+	 * The feature id for the '<em><b>XSI Schema Location</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__DESCRIPTION = 3;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__NAME = 4;
+
+	/**
+	 * The feature id for the '<em><b>Registry</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__REGISTRY = 5;
+
+	/**
+	 * The number of structural features of the the '<em>Document Root</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT_FEATURE_COUNT = 6;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.NameImpl <em>Name</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.NameImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl#getName_()
+	 * @generated
+	 */
+	int NAME = 2;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME__VALUE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME__LANG = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Name</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl <em>Registry</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl#getRegistry()
+	 * @generated
+	 */
+	int REGISTRY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGISTRY__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGISTRY__DESCRIPTION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGISTRY__ID = 2;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGISTRY__LOCATION = 3;
+
+	/**
+	 * The feature id for the '<em><b>Ref</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGISTRY__REF = 4;
+
+	/**
+	 * The number of structural features of the the '<em>Registry</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGISTRY_FEATURE_COUNT = 5;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.registry.Description <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Description</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Description
+	 * @generated
+	 */
+	EClass getDescription();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.registry.Description#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Description#getValue()
+	 * @see #getDescription()
+	 * @generated
+	 */
+	EAttribute getDescription_Value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.registry.Description#getLang <em>Lang</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Lang</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Description#getLang()
+	 * @see #getDescription()
+	 * @generated
+	 */
+	EAttribute getDescription_Lang();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Document Root</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot
+	 * @generated
+	 */
+	EClass getDocumentRoot();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getMixed <em>Mixed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Mixed</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getMixed()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EAttribute getDocumentRoot_Mixed();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getXMLNSPrefixMap()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XMLNSPrefixMap();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XSI Schema Location</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getXSISchemaLocation()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XSISchemaLocation();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getDescription <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Description</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getDescription()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Description();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getName()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Name();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getRegistry <em>Registry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Registry</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot#getRegistry()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Registry();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.registry.Name <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Name
+	 * @generated
+	 */
+	EClass getName_();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.registry.Name#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Name#getValue()
+	 * @see #getName_()
+	 * @generated
+	 */
+	EAttribute getName_Value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.registry.Name#getLang <em>Lang</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Lang</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Name#getLang()
+	 * @see #getName_()
+	 * @generated
+	 */
+	EAttribute getName_Lang();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry <em>Registry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Registry</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry
+	 * @generated
+	 */
+	EClass getRegistry();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry#getName()
+	 * @see #getRegistry()
+	 * @generated
+	 */
+	EReference getRegistry_Name();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getDescription <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Description</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry#getDescription()
+	 * @see #getRegistry()
+	 * @generated
+	 */
+	EReference getRegistry_Description();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry#getId()
+	 * @see #getRegistry()
+	 * @generated
+	 */
+	EAttribute getRegistry_Id();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getLocation <em>Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Location</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry#getLocation()
+	 * @see #getRegistry()
+	 * @generated
+	 */
+	EAttribute getRegistry_Location();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry#getRef <em>Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Ref</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry#getRef()
+	 * @see #getRegistry()
+	 * @generated
+	 */
+	EAttribute getRegistry_Ref();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	RegistryFactory getRegistryFactory();
+
+} //RegistryPackage
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/DescriptionImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/DescriptionImpl.java
new file mode 100644
index 0000000..611d947
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/DescriptionImpl.java
@@ -0,0 +1,216 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DescriptionImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Description;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DescriptionImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DescriptionImpl#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DescriptionImpl extends EObjectImpl implements Description {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LANG_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lang = LANG_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DescriptionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RegistryPackage.eINSTANCE.getDescription();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RegistryPackage.DESCRIPTION__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLang() {
+		return lang;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLang(String newLang) {
+		String oldLang = lang;
+		lang = newLang;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RegistryPackage.DESCRIPTION__LANG, oldLang, lang));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DESCRIPTION__VALUE:
+				return getValue();
+			case RegistryPackage.DESCRIPTION__LANG:
+				return getLang();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DESCRIPTION__VALUE:
+				setValue((String)newValue);
+				return;
+			case RegistryPackage.DESCRIPTION__LANG:
+				setLang((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DESCRIPTION__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case RegistryPackage.DESCRIPTION__LANG:
+				setLang(LANG_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DESCRIPTION__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+			case RegistryPackage.DESCRIPTION__LANG:
+				return LANG_EDEFAULT == null ? lang != null : !LANG_EDEFAULT.equals(lang);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(", lang: ");
+		result.append(lang);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DescriptionImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/DocumentRootImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/DocumentRootImpl.java
new file mode 100644
index 0000000..9a32e38
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/DocumentRootImpl.java
@@ -0,0 +1,367 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRootImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Description;
+import org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.registry.Name;
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.DocumentRootImpl#getRegistry <em>Registry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot {
+	/**
+	 * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMixed()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap mixed = null;
+
+	/**
+	 * The cached value of the '{@link #getXMLNSPrefixMap() <em>XMLNS Prefix Map</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXMLNSPrefixMap()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xMLNSPrefixMap = null;
+
+	/**
+	 * The cached value of the '{@link #getXSISchemaLocation() <em>XSI Schema Location</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXSISchemaLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xSISchemaLocation = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DocumentRootImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RegistryPackage.eINSTANCE.getDocumentRoot();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getMixed() {
+		if (mixed == null) {
+			mixed = new BasicFeatureMap(this, RegistryPackage.DOCUMENT_ROOT__MIXED);
+		}
+		return mixed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXMLNSPrefixMap() {
+		if (xMLNSPrefixMap == null) {
+			xMLNSPrefixMap = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, RegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		}
+		return xMLNSPrefixMap;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXSISchemaLocation() {
+		if (xSISchemaLocation == null) {
+			xSISchemaLocation = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, RegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		}
+		return xSISchemaLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Description getDescription() {
+		return (Description)getMixed().get(RegistryPackage.eINSTANCE.getDocumentRoot_Description(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDescription(Description newDescription, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(RegistryPackage.eINSTANCE.getDocumentRoot_Description(), newDescription, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDescription(Description newDescription) {
+		((FeatureMap.Internal)getMixed()).set(RegistryPackage.eINSTANCE.getDocumentRoot_Description(), newDescription);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Name getName() {
+		return (Name)getMixed().get(RegistryPackage.eINSTANCE.getDocumentRoot_Name(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetName(Name newName, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(RegistryPackage.eINSTANCE.getDocumentRoot_Name(), newName, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(Name newName) {
+		((FeatureMap.Internal)getMixed()).set(RegistryPackage.eINSTANCE.getDocumentRoot_Name(), newName);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Registry getRegistry() {
+		return (Registry)getMixed().get(RegistryPackage.eINSTANCE.getDocumentRoot_Registry(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetRegistry(Registry newRegistry, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(RegistryPackage.eINSTANCE.getDocumentRoot_Registry(), newRegistry, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRegistry(Registry newRegistry) {
+		((FeatureMap.Internal)getMixed()).set(RegistryPackage.eINSTANCE.getDocumentRoot_Registry(), newRegistry);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case RegistryPackage.DOCUMENT_ROOT__MIXED:
+					return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
+				case RegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+					return ((InternalEList)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
+				case RegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+					return ((InternalEList)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
+				case RegistryPackage.DOCUMENT_ROOT__DESCRIPTION:
+					return basicSetDescription(null, msgs);
+				case RegistryPackage.DOCUMENT_ROOT__NAME:
+					return basicSetName(null, msgs);
+				case RegistryPackage.DOCUMENT_ROOT__REGISTRY:
+					return basicSetRegistry(null, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DOCUMENT_ROOT__MIXED:
+				return getMixed();
+			case RegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return getXMLNSPrefixMap();
+			case RegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return getXSISchemaLocation();
+			case RegistryPackage.DOCUMENT_ROOT__DESCRIPTION:
+				return getDescription();
+			case RegistryPackage.DOCUMENT_ROOT__NAME:
+				return getName();
+			case RegistryPackage.DOCUMENT_ROOT__REGISTRY:
+				return getRegistry();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				getMixed().addAll((Collection)newValue);
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				getXMLNSPrefixMap().addAll((Collection)newValue);
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				getXSISchemaLocation().addAll((Collection)newValue);
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__DESCRIPTION:
+				setDescription((Description)newValue);
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__NAME:
+				setName((Name)newValue);
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__REGISTRY:
+				setRegistry((Registry)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__DESCRIPTION:
+				setDescription((Description)null);
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__NAME:
+				setName((Name)null);
+				return;
+			case RegistryPackage.DOCUMENT_ROOT__REGISTRY:
+				setRegistry((Registry)null);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.DOCUMENT_ROOT__MIXED:
+				return mixed != null && !mixed.isEmpty();
+			case RegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+			case RegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+			case RegistryPackage.DOCUMENT_ROOT__DESCRIPTION:
+				return getDescription() != null;
+			case RegistryPackage.DOCUMENT_ROOT__NAME:
+				return getName() != null;
+			case RegistryPackage.DOCUMENT_ROOT__REGISTRY:
+				return getRegistry() != null;
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (mixed: ");
+		result.append(mixed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DocumentRootImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/NameImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/NameImpl.java
new file mode 100644
index 0000000..eccef76
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/NameImpl.java
@@ -0,0 +1,216 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NameImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Name;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.NameImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.NameImpl#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NameImpl extends EObjectImpl implements Name {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LANG_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lang = LANG_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NameImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RegistryPackage.eINSTANCE.getName_();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RegistryPackage.NAME__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLang() {
+		return lang;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLang(String newLang) {
+		String oldLang = lang;
+		lang = newLang;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RegistryPackage.NAME__LANG, oldLang, lang));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.NAME__VALUE:
+				return getValue();
+			case RegistryPackage.NAME__LANG:
+				return getLang();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.NAME__VALUE:
+				setValue((String)newValue);
+				return;
+			case RegistryPackage.NAME__LANG:
+				setLang((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.NAME__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case RegistryPackage.NAME__LANG:
+				setLang(LANG_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.NAME__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+			case RegistryPackage.NAME__LANG:
+				return LANG_EDEFAULT == null ? lang != null : !LANG_EDEFAULT.equals(lang);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(", lang: ");
+		result.append(lang);
+		result.append(')');
+		return result.toString();
+	}
+
+} //NameImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryFactoryImpl.java
new file mode 100644
index 0000000..3cf2c16
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryFactoryImpl.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryFactoryImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RegistryFactoryImpl extends EFactoryImpl implements RegistryFactory {
+	/**
+	 * Creates and instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RegistryFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case RegistryPackage.DESCRIPTION: return createDescription();
+			case RegistryPackage.DOCUMENT_ROOT: return createDocumentRoot();
+			case RegistryPackage.NAME: return createName();
+			case RegistryPackage.REGISTRY: return createRegistry();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Description createDescription() {
+		DescriptionImpl description = new DescriptionImpl();
+		return description;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DocumentRoot createDocumentRoot() {
+		DocumentRootImpl documentRoot = new DocumentRootImpl();
+		return documentRoot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Name createName() {
+		NameImpl name = new NameImpl();
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Registry createRegistry() {
+		RegistryImpl registry = new RegistryImpl();
+		return registry;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RegistryPackage getRegistryPackage() {
+		return (RegistryPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	public static RegistryPackage getPackage() {
+		return RegistryPackage.eINSTANCE;
+	}
+
+} //RegistryFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryImpl.java
new file mode 100644
index 0000000..a171e7f
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryImpl.java
@@ -0,0 +1,368 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Description;
+import org.eclipse.wst.ws.internal.model.v10.registry.Name;
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Registry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl#getLocation <em>Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl#getRef <em>Ref</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RegistryImpl extends EObjectImpl implements Registry {
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList name = null;
+
+	/**
+	 * The cached value of the '{@link #getDescription() <em>Description</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList description = null;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LOCATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String location = LOCATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRef() <em>Ref</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REF_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRef() <em>Ref</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected String ref = REF_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RegistryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RegistryPackage.eINSTANCE.getRegistry();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getName() {
+		if (name == null) {
+			name = new EObjectContainmentEList(Name.class, this, RegistryPackage.REGISTRY__NAME);
+		}
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getDescription() {
+		if (description == null) {
+			description = new EObjectContainmentEList(Description.class, this, RegistryPackage.REGISTRY__DESCRIPTION);
+		}
+		return description;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RegistryPackage.REGISTRY__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLocation() {
+		return location;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLocation(String newLocation) {
+		String oldLocation = location;
+		location = newLocation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RegistryPackage.REGISTRY__LOCATION, oldLocation, location));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRef() {
+		return ref;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRef(String newRef) {
+		String oldRef = ref;
+		ref = newRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RegistryPackage.REGISTRY__REF, oldRef, ref));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case RegistryPackage.REGISTRY__NAME:
+					return ((InternalEList)getName()).basicRemove(otherEnd, msgs);
+				case RegistryPackage.REGISTRY__DESCRIPTION:
+					return ((InternalEList)getDescription()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.REGISTRY__NAME:
+				return getName();
+			case RegistryPackage.REGISTRY__DESCRIPTION:
+				return getDescription();
+			case RegistryPackage.REGISTRY__ID:
+				return getId();
+			case RegistryPackage.REGISTRY__LOCATION:
+				return getLocation();
+			case RegistryPackage.REGISTRY__REF:
+				return getRef();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.REGISTRY__NAME:
+				getName().clear();
+				getName().addAll((Collection)newValue);
+				return;
+			case RegistryPackage.REGISTRY__DESCRIPTION:
+				getDescription().clear();
+				getDescription().addAll((Collection)newValue);
+				return;
+			case RegistryPackage.REGISTRY__ID:
+				setId((String)newValue);
+				return;
+			case RegistryPackage.REGISTRY__LOCATION:
+				setLocation((String)newValue);
+				return;
+			case RegistryPackage.REGISTRY__REF:
+				setRef((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.REGISTRY__NAME:
+				getName().clear();
+				return;
+			case RegistryPackage.REGISTRY__DESCRIPTION:
+				getDescription().clear();
+				return;
+			case RegistryPackage.REGISTRY__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case RegistryPackage.REGISTRY__LOCATION:
+				setLocation(LOCATION_EDEFAULT);
+				return;
+			case RegistryPackage.REGISTRY__REF:
+				setRef(REF_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RegistryPackage.REGISTRY__NAME:
+				return name != null && !name.isEmpty();
+			case RegistryPackage.REGISTRY__DESCRIPTION:
+				return description != null && !description.isEmpty();
+			case RegistryPackage.REGISTRY__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case RegistryPackage.REGISTRY__LOCATION:
+				return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location);
+			case RegistryPackage.REGISTRY__REF:
+				return REF_EDEFAULT == null ? ref != null : !REF_EDEFAULT.equals(ref);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (id: ");
+		result.append(id);
+		result.append(", location: ");
+		result.append(location);
+		result.append(", ref: ");
+		result.append(ref);
+		result.append(')');
+		return result.toString();
+	}
+
+} //RegistryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryPackageImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryPackageImpl.java
new file mode 100644
index 0000000..23f9bef
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/impl/RegistryPackageImpl.java
@@ -0,0 +1,586 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryPackageImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Description;
+import org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.registry.Name;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryFactory;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RegistryPackageImpl extends EPackageImpl implements RegistryPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass descriptionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass documentRootEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass nameEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass registryEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RegistryPackageImpl() {
+		super(eNS_URI, RegistryFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this
+	 * model, and for any others upon which it depends.  Simple
+	 * dependencies are satisfied by calling this method on all
+	 * dependent packages before doing anything else.  This method drives
+	 * initialization for interdependent packages directly, in parallel
+	 * with this package, itself.
+	 * <p>Of this package and its interdependencies, all packages which
+	 * have not yet been registered by their URI values are first created
+	 * and registered.  The packages are then initialized in two steps:
+	 * meta-model objects for all of the packages are created before any
+	 * are initialized, since one package's meta-model objects may refer to
+	 * those of another.
+	 * <p>Invocation of this method will not affect any packages that have
+	 * already been initialized.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static RegistryPackage init() {
+		if (isInited) return (RegistryPackage)EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI);
+
+		// Obtain or create and register package
+		RegistryPackageImpl theRegistryPackage = (RegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof RegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new RegistryPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackageImpl.init();
+
+		// Obtain or create and register interdependencies
+		RTIndexPackageImpl theRTIndexPackage = (RTIndexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTIndexPackage.eNS_URI) instanceof RTIndexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTIndexPackage.eNS_URI) : RTIndexPackageImpl.eINSTANCE);
+		TaxonomyPackageImpl theTaxonomyPackage = (TaxonomyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI) instanceof TaxonomyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI) : TaxonomyPackageImpl.eINSTANCE);
+		UDDIRegistryPackageImpl theUDDIRegistryPackage = (UDDIRegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UDDIRegistryPackage.eNS_URI) instanceof UDDIRegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UDDIRegistryPackage.eNS_URI) : UDDIRegistryPackageImpl.eINSTANCE);
+
+		// Create package meta-data objects
+		theRegistryPackage.createPackageContents();
+		theRTIndexPackage.createPackageContents();
+		theTaxonomyPackage.createPackageContents();
+		theUDDIRegistryPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRegistryPackage.initializePackageContents();
+		theRTIndexPackage.initializePackageContents();
+		theTaxonomyPackage.initializePackageContents();
+		theUDDIRegistryPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRegistryPackage.freeze();
+
+		return theRegistryPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDescription() {
+		return descriptionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDescription_Value() {
+		return (EAttribute)descriptionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDescription_Lang() {
+		return (EAttribute)descriptionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDocumentRoot() {
+		return documentRootEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDocumentRoot_Mixed() {
+		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XMLNSPrefixMap() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XSISchemaLocation() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Description() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Name() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Registry() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getName_() {
+		return nameEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getName_Value() {
+		return (EAttribute)nameEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getName_Lang() {
+		return (EAttribute)nameEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRegistry() {
+		return registryEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRegistry_Name() {
+		return (EReference)registryEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRegistry_Description() {
+		return (EReference)registryEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRegistry_Id() {
+		return (EAttribute)registryEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRegistry_Location() {
+		return (EAttribute)registryEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRegistry_Ref() {
+		return (EAttribute)registryEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RegistryFactory getRegistryFactory() {
+		return (RegistryFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		descriptionEClass = createEClass(DESCRIPTION);
+		createEAttribute(descriptionEClass, DESCRIPTION__VALUE);
+		createEAttribute(descriptionEClass, DESCRIPTION__LANG);
+
+		documentRootEClass = createEClass(DOCUMENT_ROOT);
+		createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__DESCRIPTION);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__NAME);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__REGISTRY);
+
+		nameEClass = createEClass(NAME);
+		createEAttribute(nameEClass, NAME__VALUE);
+		createEAttribute(nameEClass, NAME__LANG);
+
+		registryEClass = createEClass(REGISTRY);
+		createEReference(registryEClass, REGISTRY__NAME);
+		createEReference(registryEClass, REGISTRY__DESCRIPTION);
+		createEAttribute(registryEClass, REGISTRY__ID);
+		createEAttribute(registryEClass, REGISTRY__LOCATION);
+		createEAttribute(registryEClass, REGISTRY__REF);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(descriptionEClass, Description.class, "Description", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDescription_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, Description.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDescription_Lang(), theXMLTypePackage.getLanguage(), "lang", null, 0, 1, Description.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Description(), this.getDescription(), null, "description", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Name(), this.getName_(), null, "name", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Registry(), this.getRegistry(), null, "registry", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+		initEClass(nameEClass, Name.class, "Name", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getName_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getName_Lang(), theXMLTypePackage.getLanguage(), "lang", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(registryEClass, org.eclipse.wst.ws.internal.model.v10.registry.Registry.class, "Registry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRegistry_Name(), this.getName_(), null, "name", null, 1, -1, org.eclipse.wst.ws.internal.model.v10.registry.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getRegistry_Description(), this.getDescription(), null, "description", null, 1, -1, org.eclipse.wst.ws.internal.model.v10.registry.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getRegistry_Id(), theXMLTypePackage.getAnyURI(), "id", null, 0, 1, org.eclipse.wst.ws.internal.model.v10.registry.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getRegistry_Location(), theXMLTypePackage.getAnyURI(), "location", null, 0, 1, org.eclipse.wst.ws.internal.model.v10.registry.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getRegistry_Ref(), theXMLTypePackage.getAnyURI(), "ref", null, 0, 1, org.eclipse.wst.ws.internal.model.v10.registry.Registry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+		createExtendedMetaDataAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createExtendedMetaDataAnnotations() {
+		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";			
+		addAnnotation
+		  (descriptionEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Description",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getDescription_Value(), 
+		   source, 
+		   new String[] {
+			 "name", ":0",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getDescription_Lang(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "lang",
+			 "namespace", "http://www.w3.org/XML/1998/namespace"
+		   });		
+		addAnnotation
+		  (documentRootEClass, 
+		   source, 
+		   new String[] {
+			 "name", "",
+			 "kind", "mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Mixed(), 
+		   source, 
+		   new String[] {
+			 "kind", "elementWildcard",
+			 "name", ":mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XMLNSPrefixMap(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xmlns:prefix"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XSISchemaLocation(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xsi:schemaLocation"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Description(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "description",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "name",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Registry(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "registry",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (nameEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Name",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getName_Value(), 
+		   source, 
+		   new String[] {
+			 "name", ":0",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getName_Lang(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "lang",
+			 "namespace", "http://www.w3.org/XML/1998/namespace"
+		   });		
+		addAnnotation
+		  (registryEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Registry",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getRegistry_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "name"
+		   });		
+		addAnnotation
+		  (getRegistry_Description(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "description"
+		   });		
+		addAnnotation
+		  (getRegistry_Id(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "id"
+		   });		
+		addAnnotation
+		  (getRegistry_Location(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "location"
+		   });		
+		addAnnotation
+		  (getRegistry_Ref(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "ref"
+		   });
+	}
+
+} //RegistryPackageImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryAdapterFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryAdapterFactory.java
new file mode 100644
index 0000000..11b2051
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryAdapterFactory.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryAdapterFactory.java,v 1.2 2005/12/03 04:06:51 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage
+ * @generated
+ */
+public class RegistryAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RegistryPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RegistryAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RegistryPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch the delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RegistrySwitch modelSwitch =
+		new RegistrySwitch() {
+			public Object caseDescription(Description object) {
+				return createDescriptionAdapter();
+			}
+			public Object caseDocumentRoot(DocumentRoot object) {
+				return createDocumentRootAdapter();
+			}
+			public Object caseName(Name object) {
+				return createNameAdapter();
+			}
+			public Object caseRegistry(Registry object) {
+				return createRegistryAdapter();
+			}
+			public Object defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	public Adapter createAdapter(Notifier target) {
+		return (Adapter)modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.registry.Description <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Description
+	 * @generated
+	 */
+	public Adapter createDescriptionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot
+	 * @generated
+	 */
+	public Adapter createDocumentRootAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.registry.Name <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Name
+	 * @generated
+	 */
+	public Adapter createNameAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry <em>Registry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry
+	 * @generated
+	 */
+	public Adapter createRegistryAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //RegistryAdapterFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryResourceFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryResourceFactoryImpl.java
new file mode 100644
index 0000000..4278723
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryResourceFactoryImpl.java,v 1.2 2005/12/03 04:06:51 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.util.RegistryResourceImpl
+ * @generated
+ */
+public class RegistryResourceFactoryImpl extends XMLResourceFactoryImpl {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExtendedMetaData extendedMetaData;
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RegistryResourceFactoryImpl() {
+		super();
+		extendedMetaData = ExtendedMetaData.INSTANCE;
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Resource createResource(URI uri) {
+		XMLResource result = new RegistryResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //RegistryResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryResourceImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryResourceImpl.java
new file mode 100644
index 0000000..9ebfc00
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistryResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistryResourceImpl.java,v 1.2 2005/12/03 04:06:51 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.util.RegistryResourceFactoryImpl
+ * @generated
+ */
+public class RegistryResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public RegistryResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //RegistryResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistrySwitch.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistrySwitch.java
new file mode 100644
index 0000000..279370e
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/registry/util/RegistrySwitch.java
@@ -0,0 +1,193 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RegistrySwitch.java,v 1.2 2005/12/03 04:06:51 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.registry.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage
+ * @generated
+ */
+public class RegistrySwitch {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RegistryPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RegistrySwitch() {
+		if (modelPackage == null) {
+			modelPackage = RegistryPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	public Object doSwitch(EObject theEObject) {
+		return doSwitch(theEObject.eClass(), theEObject);
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(EClass theEClass, EObject theEObject) {
+		if (theEClass.eContainer() == modelPackage) {
+			return doSwitch(theEClass.getClassifierID(), theEObject);
+		}
+		else {
+			List eSuperTypes = theEClass.getESuperTypes();
+			return
+				eSuperTypes.isEmpty() ?
+					defaultCase(theEObject) :
+					doSwitch((EClass)eSuperTypes.get(0), theEObject);
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case RegistryPackage.DESCRIPTION: {
+				Description description = (Description)theEObject;
+				Object result = caseDescription(description);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RegistryPackage.DOCUMENT_ROOT: {
+				DocumentRoot documentRoot = (DocumentRoot)theEObject;
+				Object result = caseDocumentRoot(documentRoot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RegistryPackage.NAME: {
+				Name name = (Name)theEObject;
+				Object result = caseName(name);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RegistryPackage.REGISTRY: {
+				Registry registry = (Registry)theEObject;
+				Object result = caseRegistry(registry);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Description</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Description</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseDescription(Description object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseDocumentRoot(DocumentRoot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Name</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Name</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseName(Name object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Registry</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Registry</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseRegistry(Registry object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	public Object defaultCase(EObject object) {
+		return null;
+	}
+
+} //RegistrySwitch
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Description.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Description.java
new file mode 100644
index 0000000..8577630
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Description.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Description.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDescription()
+ * @model 
+ * @generated
+ */
+public interface Description extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDescription_Value()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Lang</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Lang</em>' attribute.
+	 * @see #setLang(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDescription_Lang()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.Language"
+	 * @generated
+	 */
+	String getLang();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getLang <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Lang</em>' attribute.
+	 * @see #getLang()
+	 * @generated
+	 */
+	void setLang(String value);
+
+} // Description
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/DocumentRoot.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/DocumentRoot.java
new file mode 100644
index 0000000..653388c
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/DocumentRoot.java
@@ -0,0 +1,165 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRoot.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getIndex <em>Index</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDocumentRoot()
+ * @model 
+ * @generated
+ */
+public interface DocumentRoot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mixed</em>' attribute list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDocumentRoot_Mixed()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getMixed();
+
+	/**
+	 * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDocumentRoot_XMLNSPrefixMap()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXMLNSPrefixMap();
+
+	/**
+	 * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XSI Schema Location</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDocumentRoot_XSISchemaLocation()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXSISchemaLocation();
+
+	/**
+	 * Returns the value of the '<em><b>Description</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Description</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Description</em>' containment reference.
+	 * @see #setDescription(Description)
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDocumentRoot_Description()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Description getDescription();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getDescription <em>Description</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Description</em>' containment reference.
+	 * @see #getDescription()
+	 * @generated
+	 */
+	void setDescription(Description value);
+
+	/**
+	 * Returns the value of the '<em><b>Index</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Index</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Index</em>' containment reference.
+	 * @see #setIndex(Index)
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDocumentRoot_Index()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Index getIndex();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getIndex <em>Index</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Index</em>' containment reference.
+	 * @see #getIndex()
+	 * @generated
+	 */
+	void setIndex(Index value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' containment reference.
+	 * @see #setName(Name)
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getDocumentRoot_Name()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Name getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getName <em>Name</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' containment reference.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(Name value);
+
+} // DocumentRoot
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Index.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Index.java
new file mode 100644
index 0000000..e8aa4aa
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Index.java
@@ -0,0 +1,97 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Index.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Index</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getRegistry <em>Registry</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getTaxonomy <em>Taxonomy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getIndex()
+ * @model 
+ * @generated
+ */
+public interface Index extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getIndex_Name()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.rtindex.Name" containment="true" resolveProxies="false" required="true"
+	 * @generated
+	 */
+	EList getName();
+
+	/**
+	 * Returns the value of the '<em><b>Description</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Description</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Description</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getIndex_Description()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.rtindex.Description" containment="true" resolveProxies="false" required="true"
+	 * @generated
+	 */
+	EList getDescription();
+
+	/**
+	 * Returns the value of the '<em><b>Registry</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.registry.Registry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Registry</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Registry</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getIndex_Registry()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.registry.Registry" containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	EList getRegistry();
+
+	/**
+	 * Returns the value of the '<em><b>Taxonomy</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Taxonomy</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Taxonomy</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getIndex_Taxonomy()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy" containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	EList getTaxonomy();
+
+} // Index
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Name.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Name.java
new file mode 100644
index 0000000..d145fb3
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/Name.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Name.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getName_()
+ * @model 
+ * @generated
+ */
+public interface Name extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getName_Value()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Lang</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Lang</em>' attribute.
+	 * @see #setLang(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#getName_Lang()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.Language"
+	 * @generated
+	 */
+	String getLang();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getLang <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Lang</em>' attribute.
+	 * @see #getLang()
+	 * @generated
+	 */
+	void setLang(String value);
+
+} // Name
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/RTIndexFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/RTIndexFactory.java
new file mode 100644
index 0000000..74db708
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/RTIndexFactory.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexFactory.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage
+ * @generated
+ */
+public interface RTIndexFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTIndexFactory eINSTANCE = new org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexFactoryImpl();
+
+	/**
+	 * Returns a new object of class '<em>Description</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Description</em>'.
+	 * @generated
+	 */
+	Description createDescription();
+
+	/**
+	 * Returns a new object of class '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Document Root</em>'.
+	 * @generated
+	 */
+	DocumentRoot createDocumentRoot();
+
+	/**
+	 * Returns a new object of class '<em>Index</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Index</em>'.
+	 * @generated
+	 */
+	Index createIndex();
+
+	/**
+	 * Returns a new object of class '<em>Name</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Name</em>'.
+	 * @generated
+	 */
+	Name createName();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RTIndexPackage getRTIndexPackage();
+
+} //RTIndexFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/RTIndexPackage.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/RTIndexPackage.java
new file mode 100644
index 0000000..3ad2bd1
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/RTIndexPackage.java
@@ -0,0 +1,550 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexPackage.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * 
+ *    See http://www.w3.org/XML/1998/namespace.html and
+ *    http://www.w3.org/TR/REC-xml for information about this namespace.
+ * 
+ *     This schema document describes the XML namespace, in a form
+ *     suitable for import by other schema documents.  
+ * 
+ *     Note that local names in this namespace are intended to be defined
+ *     only by the World Wide Web Consortium or its subgroups.  The
+ *     following names are currently defined in this namespace and should
+ *     not be used with conflicting semantics by any Working Group,
+ *     specification, or document instance:
+ * 
+ *     base (as an attribute name): denotes an attribute whose value
+ *          provides a URI to be used as the base for interpreting any
+ *          relative URIs in the scope of the element on which it
+ *          appears; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML Base specification.
+ * 
+ *     id   (as an attribute name): denotes an attribute whose value
+ *          should be interpreted as if declared to be of type ID.
+ *          The xml:id specification is not yet a W3C Recommendation,
+ *          but this attribute is included here to facilitate experimentation
+ *          with the mechanisms it proposes.  Note that it is _not_ included
+ *          in the specialAttrs attribute group.
+ * 
+ *     lang (as an attribute name): denotes an attribute whose value
+ *          is a language code for the natural language of the content of
+ *          any element; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML specification.
+ *   
+ *     space (as an attribute name): denotes an attribute whose
+ *          value is a keyword indicating what whitespace processing
+ *          discipline is intended for the content of the element; its
+ *          value is inherited.  This name is reserved by virtue of its
+ *          definition in the XML specification.
+ * 
+ *     Father (in any context at all): denotes Jon Bosak, the chair of 
+ *          the original XML Working Group.  This name is reserved by 
+ *          the following decision of the W3C XML Plenary and 
+ *          XML Coordination groups:
+ * 
+ *              In appreciation for his vision, leadership and dedication
+ *              the W3C XML Plenary on this 10th day of February, 2000
+ *              reserves for Jon Bosak in perpetuity the XML name
+ *              xml:Father
+ *   
+ * This schema defines attributes and an attribute group
+ *         suitable for use by
+ *         schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
+ *         attributes on elements they define.
+ * 
+ *         To enable this, such a schema must import this schema
+ *         for the XML namespace, e.g. as follows:
+ *         &lt;schema . . .&gt;
+ *          . . .
+ *          &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+ *                     schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
+ * 
+ *         Subsequently, qualified reference to any of the attributes
+ *         or the group defined below will have the desired effect, e.g.
+ * 
+ *         &lt;type . . .&gt;
+ *          . . .
+ *          &lt;attributeGroup ref="xml:specialAttrs"/&gt;
+ *  
+ *          will define a type which will schema-validate an instance
+ *          element with any of those attributes
+ * In keeping with the XML Schema WG's standard versioning
+ *    policy, this schema document will persist at
+ *    http://www.w3.org/2005/08/xml.xsd.
+ *    At the date of issue it can also be found at
+ *    http://www.w3.org/2001/xml.xsd.
+ *    The schema document at that URI may however change in the future,
+ *    in order to remain compatible with the latest version of XML Schema
+ *    itself, or with the XML namespace itself.  In other words, if the XML
+ *    Schema or XML namespaces change, the version of this document at
+ *    http://www.w3.org/2001/xml.xsd will change
+ *    accordingly; the version at
+ *    http://www.w3.org/2005/08/xml.xsd will not change.
+ *   
+ * <!-- end-model-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexFactory
+ * @generated
+ */
+public interface RTIndexPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "rtindex";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://eclipse.org/wst/ws/internal/model/v10/rtindex";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "rtindex";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTIndexPackage eINSTANCE = org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DescriptionImpl <em>Description</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DescriptionImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl#getDescription()
+	 * @generated
+	 */
+	int DESCRIPTION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESCRIPTION__VALUE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESCRIPTION__LANG = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Description</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESCRIPTION_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl <em>Document Root</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl#getDocumentRoot()
+	 * @generated
+	 */
+	int DOCUMENT_ROOT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__MIXED = 0;
+
+	/**
+	 * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+	/**
+	 * The feature id for the '<em><b>XSI Schema Location</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__DESCRIPTION = 3;
+
+	/**
+	 * The feature id for the '<em><b>Index</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__INDEX = 4;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__NAME = 5;
+
+	/**
+	 * The number of structural features of the the '<em>Document Root</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT_FEATURE_COUNT = 6;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.IndexImpl <em>Index</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.IndexImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl#getIndex()
+	 * @generated
+	 */
+	int INDEX = 2;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INDEX__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INDEX__DESCRIPTION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Registry</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INDEX__REGISTRY = 2;
+
+	/**
+	 * The feature id for the '<em><b>Taxonomy</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INDEX__TAXONOMY = 3;
+
+	/**
+	 * The number of structural features of the the '<em>Index</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INDEX_FEATURE_COUNT = 4;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.NameImpl <em>Name</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.NameImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl#getName_()
+	 * @generated
+	 */
+	int NAME = 3;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME__VALUE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME__LANG = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Name</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME_FEATURE_COUNT = 2;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Description</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Description
+	 * @generated
+	 */
+	EClass getDescription();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getValue()
+	 * @see #getDescription()
+	 * @generated
+	 */
+	EAttribute getDescription_Value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getLang <em>Lang</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Lang</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Description#getLang()
+	 * @see #getDescription()
+	 * @generated
+	 */
+	EAttribute getDescription_Lang();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Document Root</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot
+	 * @generated
+	 */
+	EClass getDocumentRoot();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getMixed <em>Mixed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Mixed</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getMixed()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EAttribute getDocumentRoot_Mixed();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getXMLNSPrefixMap()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XMLNSPrefixMap();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XSI Schema Location</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getXSISchemaLocation()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XSISchemaLocation();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getDescription <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Description</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getDescription()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Description();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getIndex <em>Index</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Index</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getIndex()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Index();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot#getName()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Name();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index <em>Index</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Index</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Index
+	 * @generated
+	 */
+	EClass getIndex();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getName()
+	 * @see #getIndex()
+	 * @generated
+	 */
+	EReference getIndex_Name();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getDescription <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Description</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getDescription()
+	 * @see #getIndex()
+	 * @generated
+	 */
+	EReference getIndex_Description();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getRegistry <em>Registry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Registry</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getRegistry()
+	 * @see #getIndex()
+	 * @generated
+	 */
+	EReference getIndex_Registry();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getTaxonomy <em>Taxonomy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Taxonomy</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Index#getTaxonomy()
+	 * @see #getIndex()
+	 * @generated
+	 */
+	EReference getIndex_Taxonomy();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Name
+	 * @generated
+	 */
+	EClass getName_();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getValue()
+	 * @see #getName_()
+	 * @generated
+	 */
+	EAttribute getName_Value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getLang <em>Lang</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Lang</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Name#getLang()
+	 * @see #getName_()
+	 * @generated
+	 */
+	EAttribute getName_Lang();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	RTIndexFactory getRTIndexFactory();
+
+} //RTIndexPackage
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/DescriptionImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/DescriptionImpl.java
new file mode 100644
index 0000000..0f8cb52
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/DescriptionImpl.java
@@ -0,0 +1,216 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DescriptionImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Description;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DescriptionImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DescriptionImpl#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DescriptionImpl extends EObjectImpl implements Description {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LANG_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lang = LANG_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DescriptionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RTIndexPackage.eINSTANCE.getDescription();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTIndexPackage.DESCRIPTION__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLang() {
+		return lang;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLang(String newLang) {
+		String oldLang = lang;
+		lang = newLang;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTIndexPackage.DESCRIPTION__LANG, oldLang, lang));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DESCRIPTION__VALUE:
+				return getValue();
+			case RTIndexPackage.DESCRIPTION__LANG:
+				return getLang();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DESCRIPTION__VALUE:
+				setValue((String)newValue);
+				return;
+			case RTIndexPackage.DESCRIPTION__LANG:
+				setLang((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DESCRIPTION__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case RTIndexPackage.DESCRIPTION__LANG:
+				setLang(LANG_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DESCRIPTION__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+			case RTIndexPackage.DESCRIPTION__LANG:
+				return LANG_EDEFAULT == null ? lang != null : !LANG_EDEFAULT.equals(lang);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(", lang: ");
+		result.append(lang);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DescriptionImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/DocumentRootImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/DocumentRootImpl.java
new file mode 100644
index 0000000..448dbc1
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/DocumentRootImpl.java
@@ -0,0 +1,367 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRootImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Description;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Index;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Name;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl#getIndex <em>Index</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.DocumentRootImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot {
+	/**
+	 * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMixed()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap mixed = null;
+
+	/**
+	 * The cached value of the '{@link #getXMLNSPrefixMap() <em>XMLNS Prefix Map</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXMLNSPrefixMap()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xMLNSPrefixMap = null;
+
+	/**
+	 * The cached value of the '{@link #getXSISchemaLocation() <em>XSI Schema Location</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXSISchemaLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xSISchemaLocation = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DocumentRootImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RTIndexPackage.eINSTANCE.getDocumentRoot();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getMixed() {
+		if (mixed == null) {
+			mixed = new BasicFeatureMap(this, RTIndexPackage.DOCUMENT_ROOT__MIXED);
+		}
+		return mixed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXMLNSPrefixMap() {
+		if (xMLNSPrefixMap == null) {
+			xMLNSPrefixMap = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, RTIndexPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		}
+		return xMLNSPrefixMap;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXSISchemaLocation() {
+		if (xSISchemaLocation == null) {
+			xSISchemaLocation = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, RTIndexPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		}
+		return xSISchemaLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Description getDescription() {
+		return (Description)getMixed().get(RTIndexPackage.eINSTANCE.getDocumentRoot_Description(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDescription(Description newDescription, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(RTIndexPackage.eINSTANCE.getDocumentRoot_Description(), newDescription, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDescription(Description newDescription) {
+		((FeatureMap.Internal)getMixed()).set(RTIndexPackage.eINSTANCE.getDocumentRoot_Description(), newDescription);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Index getIndex() {
+		return (Index)getMixed().get(RTIndexPackage.eINSTANCE.getDocumentRoot_Index(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetIndex(Index newIndex, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(RTIndexPackage.eINSTANCE.getDocumentRoot_Index(), newIndex, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setIndex(Index newIndex) {
+		((FeatureMap.Internal)getMixed()).set(RTIndexPackage.eINSTANCE.getDocumentRoot_Index(), newIndex);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Name getName() {
+		return (Name)getMixed().get(RTIndexPackage.eINSTANCE.getDocumentRoot_Name(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetName(Name newName, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(RTIndexPackage.eINSTANCE.getDocumentRoot_Name(), newName, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(Name newName) {
+		((FeatureMap.Internal)getMixed()).set(RTIndexPackage.eINSTANCE.getDocumentRoot_Name(), newName);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case RTIndexPackage.DOCUMENT_ROOT__MIXED:
+					return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
+				case RTIndexPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+					return ((InternalEList)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
+				case RTIndexPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+					return ((InternalEList)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
+				case RTIndexPackage.DOCUMENT_ROOT__DESCRIPTION:
+					return basicSetDescription(null, msgs);
+				case RTIndexPackage.DOCUMENT_ROOT__INDEX:
+					return basicSetIndex(null, msgs);
+				case RTIndexPackage.DOCUMENT_ROOT__NAME:
+					return basicSetName(null, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DOCUMENT_ROOT__MIXED:
+				return getMixed();
+			case RTIndexPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return getXMLNSPrefixMap();
+			case RTIndexPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return getXSISchemaLocation();
+			case RTIndexPackage.DOCUMENT_ROOT__DESCRIPTION:
+				return getDescription();
+			case RTIndexPackage.DOCUMENT_ROOT__INDEX:
+				return getIndex();
+			case RTIndexPackage.DOCUMENT_ROOT__NAME:
+				return getName();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				getMixed().addAll((Collection)newValue);
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				getXMLNSPrefixMap().addAll((Collection)newValue);
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				getXSISchemaLocation().addAll((Collection)newValue);
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__DESCRIPTION:
+				setDescription((Description)newValue);
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__INDEX:
+				setIndex((Index)newValue);
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__NAME:
+				setName((Name)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__DESCRIPTION:
+				setDescription((Description)null);
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__INDEX:
+				setIndex((Index)null);
+				return;
+			case RTIndexPackage.DOCUMENT_ROOT__NAME:
+				setName((Name)null);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.DOCUMENT_ROOT__MIXED:
+				return mixed != null && !mixed.isEmpty();
+			case RTIndexPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+			case RTIndexPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+			case RTIndexPackage.DOCUMENT_ROOT__DESCRIPTION:
+				return getDescription() != null;
+			case RTIndexPackage.DOCUMENT_ROOT__INDEX:
+				return getIndex() != null;
+			case RTIndexPackage.DOCUMENT_ROOT__NAME:
+				return getName() != null;
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (mixed: ");
+		result.append(mixed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DocumentRootImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/IndexImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/IndexImpl.java
new file mode 100644
index 0000000..98dc08e
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/IndexImpl.java
@@ -0,0 +1,267 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IndexImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Description;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Index;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Name;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Index</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.IndexImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.IndexImpl#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.IndexImpl#getRegistry <em>Registry</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.IndexImpl#getTaxonomy <em>Taxonomy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IndexImpl extends EObjectImpl implements Index {
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList name = null;
+
+	/**
+	 * The cached value of the '{@link #getDescription() <em>Description</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList description = null;
+
+	/**
+	 * The cached value of the '{@link #getRegistry() <em>Registry</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRegistry()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList registry = null;
+
+	/**
+	 * The cached value of the '{@link #getTaxonomy() <em>Taxonomy</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTaxonomy()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList taxonomy = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IndexImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RTIndexPackage.eINSTANCE.getIndex();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getName() {
+		if (name == null) {
+			name = new EObjectContainmentEList(Name.class, this, RTIndexPackage.INDEX__NAME);
+		}
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getDescription() {
+		if (description == null) {
+			description = new EObjectContainmentEList(Description.class, this, RTIndexPackage.INDEX__DESCRIPTION);
+		}
+		return description;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getRegistry() {
+		if (registry == null) {
+			registry = new EObjectContainmentEList(Registry.class, this, RTIndexPackage.INDEX__REGISTRY);
+		}
+		return registry;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getTaxonomy() {
+		if (taxonomy == null) {
+			taxonomy = new EObjectContainmentEList(Taxonomy.class, this, RTIndexPackage.INDEX__TAXONOMY);
+		}
+		return taxonomy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case RTIndexPackage.INDEX__NAME:
+					return ((InternalEList)getName()).basicRemove(otherEnd, msgs);
+				case RTIndexPackage.INDEX__DESCRIPTION:
+					return ((InternalEList)getDescription()).basicRemove(otherEnd, msgs);
+				case RTIndexPackage.INDEX__REGISTRY:
+					return ((InternalEList)getRegistry()).basicRemove(otherEnd, msgs);
+				case RTIndexPackage.INDEX__TAXONOMY:
+					return ((InternalEList)getTaxonomy()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.INDEX__NAME:
+				return getName();
+			case RTIndexPackage.INDEX__DESCRIPTION:
+				return getDescription();
+			case RTIndexPackage.INDEX__REGISTRY:
+				return getRegistry();
+			case RTIndexPackage.INDEX__TAXONOMY:
+				return getTaxonomy();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.INDEX__NAME:
+				getName().clear();
+				getName().addAll((Collection)newValue);
+				return;
+			case RTIndexPackage.INDEX__DESCRIPTION:
+				getDescription().clear();
+				getDescription().addAll((Collection)newValue);
+				return;
+			case RTIndexPackage.INDEX__REGISTRY:
+				getRegistry().clear();
+				getRegistry().addAll((Collection)newValue);
+				return;
+			case RTIndexPackage.INDEX__TAXONOMY:
+				getTaxonomy().clear();
+				getTaxonomy().addAll((Collection)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.INDEX__NAME:
+				getName().clear();
+				return;
+			case RTIndexPackage.INDEX__DESCRIPTION:
+				getDescription().clear();
+				return;
+			case RTIndexPackage.INDEX__REGISTRY:
+				getRegistry().clear();
+				return;
+			case RTIndexPackage.INDEX__TAXONOMY:
+				getTaxonomy().clear();
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.INDEX__NAME:
+				return name != null && !name.isEmpty();
+			case RTIndexPackage.INDEX__DESCRIPTION:
+				return description != null && !description.isEmpty();
+			case RTIndexPackage.INDEX__REGISTRY:
+				return registry != null && !registry.isEmpty();
+			case RTIndexPackage.INDEX__TAXONOMY:
+				return taxonomy != null && !taxonomy.isEmpty();
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+} //IndexImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/NameImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/NameImpl.java
new file mode 100644
index 0000000..3b68524
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/NameImpl.java
@@ -0,0 +1,216 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NameImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Name;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.NameImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.rtindex.impl.NameImpl#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NameImpl extends EObjectImpl implements Name {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LANG_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lang = LANG_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NameImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return RTIndexPackage.eINSTANCE.getName_();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTIndexPackage.NAME__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLang() {
+		return lang;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLang(String newLang) {
+		String oldLang = lang;
+		lang = newLang;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTIndexPackage.NAME__LANG, oldLang, lang));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.NAME__VALUE:
+				return getValue();
+			case RTIndexPackage.NAME__LANG:
+				return getLang();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.NAME__VALUE:
+				setValue((String)newValue);
+				return;
+			case RTIndexPackage.NAME__LANG:
+				setLang((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.NAME__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case RTIndexPackage.NAME__LANG:
+				setLang(LANG_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case RTIndexPackage.NAME__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+			case RTIndexPackage.NAME__LANG:
+				return LANG_EDEFAULT == null ? lang != null : !LANG_EDEFAULT.equals(lang);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(", lang: ");
+		result.append(lang);
+		result.append(')');
+		return result.toString();
+	}
+
+} //NameImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/RTIndexFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/RTIndexFactoryImpl.java
new file mode 100644
index 0000000..1efa33a
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/RTIndexFactoryImpl.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexFactoryImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTIndexFactoryImpl extends EFactoryImpl implements RTIndexFactory {
+	/**
+	 * Creates and instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTIndexFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case RTIndexPackage.DESCRIPTION: return createDescription();
+			case RTIndexPackage.DOCUMENT_ROOT: return createDocumentRoot();
+			case RTIndexPackage.INDEX: return createIndex();
+			case RTIndexPackage.NAME: return createName();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Description createDescription() {
+		DescriptionImpl description = new DescriptionImpl();
+		return description;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DocumentRoot createDocumentRoot() {
+		DocumentRootImpl documentRoot = new DocumentRootImpl();
+		return documentRoot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Index createIndex() {
+		IndexImpl index = new IndexImpl();
+		return index;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Name createName() {
+		NameImpl name = new NameImpl();
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTIndexPackage getRTIndexPackage() {
+		return (RTIndexPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	public static RTIndexPackage getPackage() {
+		return RTIndexPackage.eINSTANCE;
+	}
+
+} //RTIndexFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/RTIndexPackageImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/RTIndexPackageImpl.java
new file mode 100644
index 0000000..e99755d
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/impl/RTIndexPackageImpl.java
@@ -0,0 +1,573 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexPackageImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Description;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Index;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Name;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexFactory;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTIndexPackageImpl extends EPackageImpl implements RTIndexPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass descriptionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass documentRootEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass indexEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass nameEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RTIndexPackageImpl() {
+		super(eNS_URI, RTIndexFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this
+	 * model, and for any others upon which it depends.  Simple
+	 * dependencies are satisfied by calling this method on all
+	 * dependent packages before doing anything else.  This method drives
+	 * initialization for interdependent packages directly, in parallel
+	 * with this package, itself.
+	 * <p>Of this package and its interdependencies, all packages which
+	 * have not yet been registered by their URI values are first created
+	 * and registered.  The packages are then initialized in two steps:
+	 * meta-model objects for all of the packages are created before any
+	 * are initialized, since one package's meta-model objects may refer to
+	 * those of another.
+	 * <p>Invocation of this method will not affect any packages that have
+	 * already been initialized.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static RTIndexPackage init() {
+		if (isInited) return (RTIndexPackage)EPackage.Registry.INSTANCE.getEPackage(RTIndexPackage.eNS_URI);
+
+		// Obtain or create and register package
+		RTIndexPackageImpl theRTIndexPackage = (RTIndexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof RTIndexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new RTIndexPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackageImpl.init();
+
+		// Obtain or create and register interdependencies
+		TaxonomyPackageImpl theTaxonomyPackage = (TaxonomyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI) instanceof TaxonomyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI) : TaxonomyPackageImpl.eINSTANCE);
+		RegistryPackageImpl theRegistryPackage = (RegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI) instanceof RegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI) : RegistryPackageImpl.eINSTANCE);
+		UDDIRegistryPackageImpl theUDDIRegistryPackage = (UDDIRegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UDDIRegistryPackage.eNS_URI) instanceof UDDIRegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UDDIRegistryPackage.eNS_URI) : UDDIRegistryPackageImpl.eINSTANCE);
+
+		// Create package meta-data objects
+		theRTIndexPackage.createPackageContents();
+		theTaxonomyPackage.createPackageContents();
+		theRegistryPackage.createPackageContents();
+		theUDDIRegistryPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRTIndexPackage.initializePackageContents();
+		theTaxonomyPackage.initializePackageContents();
+		theRegistryPackage.initializePackageContents();
+		theUDDIRegistryPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRTIndexPackage.freeze();
+
+		return theRTIndexPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDescription() {
+		return descriptionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDescription_Value() {
+		return (EAttribute)descriptionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDescription_Lang() {
+		return (EAttribute)descriptionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDocumentRoot() {
+		return documentRootEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDocumentRoot_Mixed() {
+		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XMLNSPrefixMap() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XSISchemaLocation() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Description() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Index() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Name() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIndex() {
+		return indexEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIndex_Name() {
+		return (EReference)indexEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIndex_Description() {
+		return (EReference)indexEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIndex_Registry() {
+		return (EReference)indexEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getIndex_Taxonomy() {
+		return (EReference)indexEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getName_() {
+		return nameEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getName_Value() {
+		return (EAttribute)nameEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getName_Lang() {
+		return (EAttribute)nameEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTIndexFactory getRTIndexFactory() {
+		return (RTIndexFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		descriptionEClass = createEClass(DESCRIPTION);
+		createEAttribute(descriptionEClass, DESCRIPTION__VALUE);
+		createEAttribute(descriptionEClass, DESCRIPTION__LANG);
+
+		documentRootEClass = createEClass(DOCUMENT_ROOT);
+		createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__DESCRIPTION);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__INDEX);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__NAME);
+
+		indexEClass = createEClass(INDEX);
+		createEReference(indexEClass, INDEX__NAME);
+		createEReference(indexEClass, INDEX__DESCRIPTION);
+		createEReference(indexEClass, INDEX__REGISTRY);
+		createEReference(indexEClass, INDEX__TAXONOMY);
+
+		nameEClass = createEClass(NAME);
+		createEAttribute(nameEClass, NAME__VALUE);
+		createEAttribute(nameEClass, NAME__LANG);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+		RegistryPackageImpl theRegistryPackage = (RegistryPackageImpl)EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI);
+		TaxonomyPackageImpl theTaxonomyPackage = (TaxonomyPackageImpl)EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI);
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(descriptionEClass, Description.class, "Description", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDescription_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, Description.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDescription_Lang(), theXMLTypePackage.getLanguage(), "lang", null, 0, 1, Description.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Description(), this.getDescription(), null, "description", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Index(), this.getIndex(), null, "index", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Name(), this.getName_(), null, "name", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+		initEClass(indexEClass, Index.class, "Index", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getIndex_Name(), this.getName_(), null, "name", null, 1, -1, Index.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getIndex_Description(), this.getDescription(), null, "description", null, 1, -1, Index.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getIndex_Registry(), theRegistryPackage.getRegistry(), null, "registry", null, 0, -1, Index.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getIndex_Taxonomy(), theTaxonomyPackage.getTaxonomy(), null, "taxonomy", null, 0, -1, Index.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(nameEClass, Name.class, "Name", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getName_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getName_Lang(), theXMLTypePackage.getLanguage(), "lang", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+		createExtendedMetaDataAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createExtendedMetaDataAnnotations() {
+		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";			
+		addAnnotation
+		  (descriptionEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Description",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getDescription_Value(), 
+		   source, 
+		   new String[] {
+			 "name", ":0",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getDescription_Lang(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "lang",
+			 "namespace", "http://www.w3.org/XML/1998/namespace"
+		   });		
+		addAnnotation
+		  (documentRootEClass, 
+		   source, 
+		   new String[] {
+			 "name", "",
+			 "kind", "mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Mixed(), 
+		   source, 
+		   new String[] {
+			 "kind", "elementWildcard",
+			 "name", ":mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XMLNSPrefixMap(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xmlns:prefix"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XSISchemaLocation(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xsi:schemaLocation"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Description(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "description",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Index(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "index",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "name",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (indexEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Index",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getIndex_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "name"
+		   });		
+		addAnnotation
+		  (getIndex_Description(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "description"
+		   });		
+		addAnnotation
+		  (getIndex_Registry(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "registry",
+			 "namespace", "http://eclipse.org/wst/ws/internal/model/v10/registry"
+		   });		
+		addAnnotation
+		  (getIndex_Taxonomy(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "taxonomy",
+			 "namespace", "http://eclipse.org/wst/ws/internal/model/v10/taxonomy"
+		   });		
+		addAnnotation
+		  (nameEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Name",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getName_Value(), 
+		   source, 
+		   new String[] {
+			 "name", ":0",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getName_Lang(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "lang",
+			 "namespace", "http://www.w3.org/XML/1998/namespace"
+		   });
+	}
+
+} //RTIndexPackageImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexAdapterFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexAdapterFactory.java
new file mode 100644
index 0000000..09de415
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexAdapterFactory.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexAdapterFactory.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage
+ * @generated
+ */
+public class RTIndexAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RTIndexPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTIndexAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RTIndexPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch the delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RTIndexSwitch modelSwitch =
+		new RTIndexSwitch() {
+			public Object caseDescription(Description object) {
+				return createDescriptionAdapter();
+			}
+			public Object caseDocumentRoot(DocumentRoot object) {
+				return createDocumentRootAdapter();
+			}
+			public Object caseIndex(Index object) {
+				return createIndexAdapter();
+			}
+			public Object caseName(Name object) {
+				return createNameAdapter();
+			}
+			public Object defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	public Adapter createAdapter(Notifier target) {
+		return (Adapter)modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Description <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Description
+	 * @generated
+	 */
+	public Adapter createDescriptionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot
+	 * @generated
+	 */
+	public Adapter createDocumentRootAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Index <em>Index</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Index
+	 * @generated
+	 */
+	public Adapter createIndexAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.rtindex.Name <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.rtindex.Name
+	 * @generated
+	 */
+	public Adapter createNameAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //RTIndexAdapterFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexResourceFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexResourceFactoryImpl.java
new file mode 100644
index 0000000..6d09fcc
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexResourceFactoryImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.util.RTIndexResourceImpl
+ * @generated
+ */
+public class RTIndexResourceFactoryImpl extends XMLResourceFactoryImpl {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExtendedMetaData extendedMetaData;
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTIndexResourceFactoryImpl() {
+		super();
+		extendedMetaData = ExtendedMetaData.INSTANCE;
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Resource createResource(URI uri) {
+		XMLResource result = new RTIndexResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //RTIndexResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexResourceImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexResourceImpl.java
new file mode 100644
index 0000000..9e31648
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexResourceImpl.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.util.RTIndexResourceFactoryImpl
+ * @generated
+ */
+public class RTIndexResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public RTIndexResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //RTIndexResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexSwitch.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexSwitch.java
new file mode 100644
index 0000000..be85be3
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/rtindex/util/RTIndexSwitch.java
@@ -0,0 +1,193 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: RTIndexSwitch.java,v 1.2 2005/12/03 04:06:47 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.rtindex.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage
+ * @generated
+ */
+public class RTIndexSwitch {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RTIndexPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTIndexSwitch() {
+		if (modelPackage == null) {
+			modelPackage = RTIndexPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	public Object doSwitch(EObject theEObject) {
+		return doSwitch(theEObject.eClass(), theEObject);
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(EClass theEClass, EObject theEObject) {
+		if (theEClass.eContainer() == modelPackage) {
+			return doSwitch(theEClass.getClassifierID(), theEObject);
+		}
+		else {
+			List eSuperTypes = theEClass.getESuperTypes();
+			return
+				eSuperTypes.isEmpty() ?
+					defaultCase(theEObject) :
+					doSwitch((EClass)eSuperTypes.get(0), theEObject);
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case RTIndexPackage.DESCRIPTION: {
+				Description description = (Description)theEObject;
+				Object result = caseDescription(description);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTIndexPackage.DOCUMENT_ROOT: {
+				DocumentRoot documentRoot = (DocumentRoot)theEObject;
+				Object result = caseDocumentRoot(documentRoot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTIndexPackage.INDEX: {
+				Index index = (Index)theEObject;
+				Object result = caseIndex(index);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case RTIndexPackage.NAME: {
+				Name name = (Name)theEObject;
+				Object result = caseName(name);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Description</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Description</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseDescription(Description object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseDocumentRoot(DocumentRoot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Index</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Index</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseIndex(Index object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Name</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Name</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseName(Name object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	public Object defaultCase(EObject object) {
+		return null;
+	}
+
+} //RTIndexSwitch
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Category.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Category.java
new file mode 100644
index 0000000..153d967
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Category.java
@@ -0,0 +1,117 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Category.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Category</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getNlname <em>Nlname</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getCode <em>Code</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getCategory()
+ * @model 
+ * @generated
+ */
+public interface Category extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Nlname</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Nlname</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Nlname</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getCategory_Nlname()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.taxonomy.Name" containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	EList getNlname();
+
+	/**
+	 * Returns the value of the '<em><b>Category</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Category</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Category</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getCategory_Category()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.taxonomy.Category" containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	EList getCategory();
+
+	/**
+	 * Returns the value of the '<em><b>Code</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Code</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Code</em>' attribute.
+	 * @see #setCode(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getCategory_Code()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getCode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getCode <em>Code</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Code</em>' attribute.
+	 * @see #getCode()
+	 * @generated
+	 */
+	void setCode(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getCategory_Name()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+} // Category
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/DocumentRoot.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/DocumentRoot.java
new file mode 100644
index 0000000..d7024e4
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/DocumentRoot.java
@@ -0,0 +1,165 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRoot.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getTaxonomy <em>Taxonomy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getDocumentRoot()
+ * @model 
+ * @generated
+ */
+public interface DocumentRoot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mixed</em>' attribute list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getDocumentRoot_Mixed()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getMixed();
+
+	/**
+	 * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getDocumentRoot_XMLNSPrefixMap()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXMLNSPrefixMap();
+
+	/**
+	 * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XSI Schema Location</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getDocumentRoot_XSISchemaLocation()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXSISchemaLocation();
+
+	/**
+	 * Returns the value of the '<em><b>Category</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Category</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Category</em>' containment reference.
+	 * @see #setCategory(Category)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getDocumentRoot_Category()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Category getCategory();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getCategory <em>Category</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Category</em>' containment reference.
+	 * @see #getCategory()
+	 * @generated
+	 */
+	void setCategory(Category value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' containment reference.
+	 * @see #setName(Name)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getDocumentRoot_Name()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Name getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getName <em>Name</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' containment reference.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(Name value);
+
+	/**
+	 * Returns the value of the '<em><b>Taxonomy</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Taxonomy</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Taxonomy</em>' containment reference.
+	 * @see #setTaxonomy(Taxonomy)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getDocumentRoot_Taxonomy()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Taxonomy getTaxonomy();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getTaxonomy <em>Taxonomy</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Taxonomy</em>' containment reference.
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	void setTaxonomy(Taxonomy value);
+
+} // DocumentRoot
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Name.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Name.java
new file mode 100644
index 0000000..f01ecea
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Name.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Name.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getName_()
+ * @model 
+ * @generated
+ */
+public interface Name extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getName_Value()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Lang</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Lang</em>' attribute.
+	 * @see #setLang(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getName_Lang()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.Language"
+	 * @generated
+	 */
+	String getLang();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getLang <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Lang</em>' attribute.
+	 * @see #getLang()
+	 * @generated
+	 */
+	void setLang(String value);
+
+} // Name
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Taxonomy.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Taxonomy.java
new file mode 100644
index 0000000..414be07
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/Taxonomy.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Taxonomy.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Taxonomy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getNlname <em>Nlname</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getLocation <em>Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getRef <em>Ref</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getTmodelKey <em>Tmodel Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy()
+ * @model 
+ * @generated
+ */
+public interface Taxonomy extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Nlname</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Nlname</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Nlname</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy_Nlname()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.taxonomy.Name" containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	EList getNlname();
+
+	/**
+	 * Returns the value of the '<em><b>Category</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Category</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Category</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy_Category()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.taxonomy.Category" containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	EList getCategory();
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy_Id()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Location</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Location</em>' attribute.
+	 * @see #setLocation(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy_Location()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
+	 * @generated
+	 */
+	String getLocation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getLocation <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Location</em>' attribute.
+	 * @see #getLocation()
+	 * @generated
+	 */
+	void setLocation(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy_Name()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Ref</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Ref</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Ref</em>' attribute.
+	 * @see #setRef(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy_Ref()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI"
+	 * @generated
+	 */
+	String getRef();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getRef <em>Ref</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Ref</em>' attribute.
+	 * @see #getRef()
+	 * @generated
+	 */
+	void setRef(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Tmodel Key</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Tmodel Key</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Tmodel Key</em>' attribute.
+	 * @see #setTmodelKey(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#getTaxonomy_TmodelKey()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getTmodelKey();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getTmodelKey <em>Tmodel Key</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Tmodel Key</em>' attribute.
+	 * @see #getTmodelKey()
+	 * @generated
+	 */
+	void setTmodelKey(String value);
+
+} // Taxonomy
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/TaxonomyFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/TaxonomyFactory.java
new file mode 100644
index 0000000..f06fdbf
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/TaxonomyFactory.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyFactory.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage
+ * @generated
+ */
+public interface TaxonomyFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TaxonomyFactory eINSTANCE = new org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyFactoryImpl();
+
+	/**
+	 * Returns a new object of class '<em>Category</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Category</em>'.
+	 * @generated
+	 */
+	Category createCategory();
+
+	/**
+	 * Returns a new object of class '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Document Root</em>'.
+	 * @generated
+	 */
+	DocumentRoot createDocumentRoot();
+
+	/**
+	 * Returns a new object of class '<em>Name</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Name</em>'.
+	 * @generated
+	 */
+	Name createName();
+
+	/**
+	 * Returns a new object of class '<em>Taxonomy</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Taxonomy</em>'.
+	 * @generated
+	 */
+	Taxonomy createTaxonomy();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	TaxonomyPackage getTaxonomyPackage();
+
+} //TaxonomyFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/TaxonomyPackage.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/TaxonomyPackage.java
new file mode 100644
index 0000000..6bd96f9
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/TaxonomyPackage.java
@@ -0,0 +1,650 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyPackage.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * 
+ *    See http://www.w3.org/XML/1998/namespace.html and
+ *    http://www.w3.org/TR/REC-xml for information about this namespace.
+ * 
+ *     This schema document describes the XML namespace, in a form
+ *     suitable for import by other schema documents.  
+ * 
+ *     Note that local names in this namespace are intended to be defined
+ *     only by the World Wide Web Consortium or its subgroups.  The
+ *     following names are currently defined in this namespace and should
+ *     not be used with conflicting semantics by any Working Group,
+ *     specification, or document instance:
+ * 
+ *     base (as an attribute name): denotes an attribute whose value
+ *          provides a URI to be used as the base for interpreting any
+ *          relative URIs in the scope of the element on which it
+ *          appears; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML Base specification.
+ * 
+ *     id   (as an attribute name): denotes an attribute whose value
+ *          should be interpreted as if declared to be of type ID.
+ *          The xml:id specification is not yet a W3C Recommendation,
+ *          but this attribute is included here to facilitate experimentation
+ *          with the mechanisms it proposes.  Note that it is _not_ included
+ *          in the specialAttrs attribute group.
+ * 
+ *     lang (as an attribute name): denotes an attribute whose value
+ *          is a language code for the natural language of the content of
+ *          any element; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML specification.
+ *   
+ *     space (as an attribute name): denotes an attribute whose
+ *          value is a keyword indicating what whitespace processing
+ *          discipline is intended for the content of the element; its
+ *          value is inherited.  This name is reserved by virtue of its
+ *          definition in the XML specification.
+ * 
+ *     Father (in any context at all): denotes Jon Bosak, the chair of 
+ *          the original XML Working Group.  This name is reserved by 
+ *          the following decision of the W3C XML Plenary and 
+ *          XML Coordination groups:
+ * 
+ *              In appreciation for his vision, leadership and dedication
+ *              the W3C XML Plenary on this 10th day of February, 2000
+ *              reserves for Jon Bosak in perpetuity the XML name
+ *              xml:Father
+ *   
+ * This schema defines attributes and an attribute group
+ *         suitable for use by
+ *         schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
+ *         attributes on elements they define.
+ * 
+ *         To enable this, such a schema must import this schema
+ *         for the XML namespace, e.g. as follows:
+ *         &lt;schema . . .&gt;
+ *          . . .
+ *          &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+ *                     schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
+ * 
+ *         Subsequently, qualified reference to any of the attributes
+ *         or the group defined below will have the desired effect, e.g.
+ * 
+ *         &lt;type . . .&gt;
+ *          . . .
+ *          &lt;attributeGroup ref="xml:specialAttrs"/&gt;
+ *  
+ *          will define a type which will schema-validate an instance
+ *          element with any of those attributes
+ * In keeping with the XML Schema WG's standard versioning
+ *    policy, this schema document will persist at
+ *    http://www.w3.org/2005/08/xml.xsd.
+ *    At the date of issue it can also be found at
+ *    http://www.w3.org/2001/xml.xsd.
+ *    The schema document at that URI may however change in the future,
+ *    in order to remain compatible with the latest version of XML Schema
+ *    itself, or with the XML namespace itself.  In other words, if the XML
+ *    Schema or XML namespaces change, the version of this document at
+ *    http://www.w3.org/2001/xml.xsd will change
+ *    accordingly; the version at
+ *    http://www.w3.org/2005/08/xml.xsd will not change.
+ *   
+ * <!-- end-model-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyFactory
+ * @generated
+ */
+public interface TaxonomyPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "taxonomy";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://eclipse.org/wst/ws/internal/model/v10/taxonomy";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "taxonomy";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	TaxonomyPackage eINSTANCE = org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.CategoryImpl <em>Category</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.CategoryImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl#getCategory()
+	 * @generated
+	 */
+	int CATEGORY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Nlname</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CATEGORY__NLNAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Category</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CATEGORY__CATEGORY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Code</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CATEGORY__CODE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CATEGORY__NAME = 3;
+
+	/**
+	 * The number of structural features of the the '<em>Category</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CATEGORY_FEATURE_COUNT = 4;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl <em>Document Root</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl#getDocumentRoot()
+	 * @generated
+	 */
+	int DOCUMENT_ROOT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__MIXED = 0;
+
+	/**
+	 * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+	/**
+	 * The feature id for the '<em><b>XSI Schema Location</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Category</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__CATEGORY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__NAME = 4;
+
+	/**
+	 * The feature id for the '<em><b>Taxonomy</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__TAXONOMY = 5;
+
+	/**
+	 * The number of structural features of the the '<em>Document Root</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT_FEATURE_COUNT = 6;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.NameImpl <em>Name</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.NameImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl#getName_()
+	 * @generated
+	 */
+	int NAME = 2;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME__VALUE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Lang</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME__LANG = 1;
+
+	/**
+	 * The number of structural features of the the '<em>Name</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAME_FEATURE_COUNT = 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl <em>Taxonomy</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl#getTaxonomy()
+	 * @generated
+	 */
+	int TAXONOMY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Nlname</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY__NLNAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Category</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY__CATEGORY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY__ID = 2;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY__LOCATION = 3;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY__NAME = 4;
+
+	/**
+	 * The feature id for the '<em><b>Ref</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY__REF = 5;
+
+	/**
+	 * The feature id for the '<em><b>Tmodel Key</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY__TMODEL_KEY = 6;
+
+	/**
+	 * The number of structural features of the the '<em>Taxonomy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMY_FEATURE_COUNT = 7;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category <em>Category</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Category</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Category
+	 * @generated
+	 */
+	EClass getCategory();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getNlname <em>Nlname</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Nlname</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getNlname()
+	 * @see #getCategory()
+	 * @generated
+	 */
+	EReference getCategory_Nlname();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getCategory <em>Category</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Category</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getCategory()
+	 * @see #getCategory()
+	 * @generated
+	 */
+	EReference getCategory_Category();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getCode <em>Code</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Code</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getCode()
+	 * @see #getCategory()
+	 * @generated
+	 */
+	EAttribute getCategory_Code();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Category#getName()
+	 * @see #getCategory()
+	 * @generated
+	 */
+	EAttribute getCategory_Name();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Document Root</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot
+	 * @generated
+	 */
+	EClass getDocumentRoot();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getMixed <em>Mixed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Mixed</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getMixed()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EAttribute getDocumentRoot_Mixed();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getXMLNSPrefixMap()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XMLNSPrefixMap();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XSI Schema Location</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getXSISchemaLocation()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XSISchemaLocation();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getCategory <em>Category</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Category</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getCategory()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Category();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getName()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Name();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getTaxonomy <em>Taxonomy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Taxonomy</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot#getTaxonomy()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Taxonomy();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Name
+	 * @generated
+	 */
+	EClass getName_();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getValue()
+	 * @see #getName_()
+	 * @generated
+	 */
+	EAttribute getName_Value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getLang <em>Lang</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Lang</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Name#getLang()
+	 * @see #getName_()
+	 * @generated
+	 */
+	EAttribute getName_Lang();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy <em>Taxonomy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Taxonomy</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy
+	 * @generated
+	 */
+	EClass getTaxonomy();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getNlname <em>Nlname</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Nlname</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getNlname()
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	EReference getTaxonomy_Nlname();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getCategory <em>Category</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Category</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getCategory()
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	EReference getTaxonomy_Category();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getId()
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	EAttribute getTaxonomy_Id();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getLocation <em>Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Location</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getLocation()
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	EAttribute getTaxonomy_Location();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getName()
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	EAttribute getTaxonomy_Name();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getRef <em>Ref</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Ref</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getRef()
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	EAttribute getTaxonomy_Ref();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getTmodelKey <em>Tmodel Key</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Tmodel Key</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy#getTmodelKey()
+	 * @see #getTaxonomy()
+	 * @generated
+	 */
+	EAttribute getTaxonomy_TmodelKey();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	TaxonomyFactory getTaxonomyFactory();
+
+} //TaxonomyPackage
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/CategoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/CategoryImpl.java
new file mode 100644
index 0000000..35b2e3c
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/CategoryImpl.java
@@ -0,0 +1,313 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CategoryImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Category;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Name;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Category</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.CategoryImpl#getNlname <em>Nlname</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.CategoryImpl#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.CategoryImpl#getCode <em>Code</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.CategoryImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CategoryImpl extends EObjectImpl implements Category {
+	/**
+	 * The cached value of the '{@link #getNlname() <em>Nlname</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNlname()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList nlname = null;
+
+	/**
+	 * The cached value of the '{@link #getCategory() <em>Category</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCategory()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList category = null;
+
+	/**
+	 * The default value of the '{@link #getCode() <em>Code</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCode()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CODE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCode() <em>Code</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCode()
+	 * @generated
+	 * @ordered
+	 */
+	protected String code = CODE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CategoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return TaxonomyPackage.eINSTANCE.getCategory();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getNlname() {
+		if (nlname == null) {
+			nlname = new EObjectContainmentEList(Name.class, this, TaxonomyPackage.CATEGORY__NLNAME);
+		}
+		return nlname;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getCategory() {
+		if (category == null) {
+			category = new EObjectContainmentEList(Category.class, this, TaxonomyPackage.CATEGORY__CATEGORY);
+		}
+		return category;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCode() {
+		return code;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCode(String newCode) {
+		String oldCode = code;
+		code = newCode;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.CATEGORY__CODE, oldCode, code));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.CATEGORY__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case TaxonomyPackage.CATEGORY__NLNAME:
+					return ((InternalEList)getNlname()).basicRemove(otherEnd, msgs);
+				case TaxonomyPackage.CATEGORY__CATEGORY:
+					return ((InternalEList)getCategory()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.CATEGORY__NLNAME:
+				return getNlname();
+			case TaxonomyPackage.CATEGORY__CATEGORY:
+				return getCategory();
+			case TaxonomyPackage.CATEGORY__CODE:
+				return getCode();
+			case TaxonomyPackage.CATEGORY__NAME:
+				return getName();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.CATEGORY__NLNAME:
+				getNlname().clear();
+				getNlname().addAll((Collection)newValue);
+				return;
+			case TaxonomyPackage.CATEGORY__CATEGORY:
+				getCategory().clear();
+				getCategory().addAll((Collection)newValue);
+				return;
+			case TaxonomyPackage.CATEGORY__CODE:
+				setCode((String)newValue);
+				return;
+			case TaxonomyPackage.CATEGORY__NAME:
+				setName((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.CATEGORY__NLNAME:
+				getNlname().clear();
+				return;
+			case TaxonomyPackage.CATEGORY__CATEGORY:
+				getCategory().clear();
+				return;
+			case TaxonomyPackage.CATEGORY__CODE:
+				setCode(CODE_EDEFAULT);
+				return;
+			case TaxonomyPackage.CATEGORY__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.CATEGORY__NLNAME:
+				return nlname != null && !nlname.isEmpty();
+			case TaxonomyPackage.CATEGORY__CATEGORY:
+				return category != null && !category.isEmpty();
+			case TaxonomyPackage.CATEGORY__CODE:
+				return CODE_EDEFAULT == null ? code != null : !CODE_EDEFAULT.equals(code);
+			case TaxonomyPackage.CATEGORY__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (code: ");
+		result.append(code);
+		result.append(", name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CategoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/DocumentRootImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/DocumentRootImpl.java
new file mode 100644
index 0000000..6778744
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/DocumentRootImpl.java
@@ -0,0 +1,367 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRootImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Category;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Name;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.DocumentRootImpl#getTaxonomy <em>Taxonomy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot {
+	/**
+	 * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMixed()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap mixed = null;
+
+	/**
+	 * The cached value of the '{@link #getXMLNSPrefixMap() <em>XMLNS Prefix Map</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXMLNSPrefixMap()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xMLNSPrefixMap = null;
+
+	/**
+	 * The cached value of the '{@link #getXSISchemaLocation() <em>XSI Schema Location</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXSISchemaLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xSISchemaLocation = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DocumentRootImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return TaxonomyPackage.eINSTANCE.getDocumentRoot();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getMixed() {
+		if (mixed == null) {
+			mixed = new BasicFeatureMap(this, TaxonomyPackage.DOCUMENT_ROOT__MIXED);
+		}
+		return mixed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXMLNSPrefixMap() {
+		if (xMLNSPrefixMap == null) {
+			xMLNSPrefixMap = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, TaxonomyPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		}
+		return xMLNSPrefixMap;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXSISchemaLocation() {
+		if (xSISchemaLocation == null) {
+			xSISchemaLocation = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, TaxonomyPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		}
+		return xSISchemaLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Category getCategory() {
+		return (Category)getMixed().get(TaxonomyPackage.eINSTANCE.getDocumentRoot_Category(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetCategory(Category newCategory, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(TaxonomyPackage.eINSTANCE.getDocumentRoot_Category(), newCategory, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCategory(Category newCategory) {
+		((FeatureMap.Internal)getMixed()).set(TaxonomyPackage.eINSTANCE.getDocumentRoot_Category(), newCategory);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Name getName() {
+		return (Name)getMixed().get(TaxonomyPackage.eINSTANCE.getDocumentRoot_Name(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetName(Name newName, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(TaxonomyPackage.eINSTANCE.getDocumentRoot_Name(), newName, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(Name newName) {
+		((FeatureMap.Internal)getMixed()).set(TaxonomyPackage.eINSTANCE.getDocumentRoot_Name(), newName);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Taxonomy getTaxonomy() {
+		return (Taxonomy)getMixed().get(TaxonomyPackage.eINSTANCE.getDocumentRoot_Taxonomy(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetTaxonomy(Taxonomy newTaxonomy, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(TaxonomyPackage.eINSTANCE.getDocumentRoot_Taxonomy(), newTaxonomy, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTaxonomy(Taxonomy newTaxonomy) {
+		((FeatureMap.Internal)getMixed()).set(TaxonomyPackage.eINSTANCE.getDocumentRoot_Taxonomy(), newTaxonomy);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case TaxonomyPackage.DOCUMENT_ROOT__MIXED:
+					return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
+				case TaxonomyPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+					return ((InternalEList)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
+				case TaxonomyPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+					return ((InternalEList)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
+				case TaxonomyPackage.DOCUMENT_ROOT__CATEGORY:
+					return basicSetCategory(null, msgs);
+				case TaxonomyPackage.DOCUMENT_ROOT__NAME:
+					return basicSetName(null, msgs);
+				case TaxonomyPackage.DOCUMENT_ROOT__TAXONOMY:
+					return basicSetTaxonomy(null, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.DOCUMENT_ROOT__MIXED:
+				return getMixed();
+			case TaxonomyPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return getXMLNSPrefixMap();
+			case TaxonomyPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return getXSISchemaLocation();
+			case TaxonomyPackage.DOCUMENT_ROOT__CATEGORY:
+				return getCategory();
+			case TaxonomyPackage.DOCUMENT_ROOT__NAME:
+				return getName();
+			case TaxonomyPackage.DOCUMENT_ROOT__TAXONOMY:
+				return getTaxonomy();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				getMixed().addAll((Collection)newValue);
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				getXMLNSPrefixMap().addAll((Collection)newValue);
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				getXSISchemaLocation().addAll((Collection)newValue);
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__CATEGORY:
+				setCategory((Category)newValue);
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__NAME:
+				setName((Name)newValue);
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__TAXONOMY:
+				setTaxonomy((Taxonomy)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__CATEGORY:
+				setCategory((Category)null);
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__NAME:
+				setName((Name)null);
+				return;
+			case TaxonomyPackage.DOCUMENT_ROOT__TAXONOMY:
+				setTaxonomy((Taxonomy)null);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.DOCUMENT_ROOT__MIXED:
+				return mixed != null && !mixed.isEmpty();
+			case TaxonomyPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+			case TaxonomyPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+			case TaxonomyPackage.DOCUMENT_ROOT__CATEGORY:
+				return getCategory() != null;
+			case TaxonomyPackage.DOCUMENT_ROOT__NAME:
+				return getName() != null;
+			case TaxonomyPackage.DOCUMENT_ROOT__TAXONOMY:
+				return getTaxonomy() != null;
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (mixed: ");
+		result.append(mixed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DocumentRootImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/NameImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/NameImpl.java
new file mode 100644
index 0000000..bc55bd9
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/NameImpl.java
@@ -0,0 +1,216 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NameImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Name;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.NameImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.NameImpl#getLang <em>Lang</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NameImpl extends EObjectImpl implements Name {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LANG_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLang() <em>Lang</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLang()
+	 * @generated
+	 * @ordered
+	 */
+	protected String lang = LANG_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NameImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return TaxonomyPackage.eINSTANCE.getName_();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.NAME__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLang() {
+		return lang;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLang(String newLang) {
+		String oldLang = lang;
+		lang = newLang;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.NAME__LANG, oldLang, lang));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.NAME__VALUE:
+				return getValue();
+			case TaxonomyPackage.NAME__LANG:
+				return getLang();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.NAME__VALUE:
+				setValue((String)newValue);
+				return;
+			case TaxonomyPackage.NAME__LANG:
+				setLang((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.NAME__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case TaxonomyPackage.NAME__LANG:
+				setLang(LANG_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.NAME__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+			case TaxonomyPackage.NAME__LANG:
+				return LANG_EDEFAULT == null ? lang != null : !LANG_EDEFAULT.equals(lang);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(", lang: ");
+		result.append(lang);
+		result.append(')');
+		return result.toString();
+	}
+
+} //NameImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyFactoryImpl.java
new file mode 100644
index 0000000..7f5b54e
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyFactoryImpl.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyFactoryImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TaxonomyFactoryImpl extends EFactoryImpl implements TaxonomyFactory {
+	/**
+	 * Creates and instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaxonomyFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case TaxonomyPackage.CATEGORY: return createCategory();
+			case TaxonomyPackage.DOCUMENT_ROOT: return createDocumentRoot();
+			case TaxonomyPackage.NAME: return createName();
+			case TaxonomyPackage.TAXONOMY: return createTaxonomy();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Category createCategory() {
+		CategoryImpl category = new CategoryImpl();
+		return category;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DocumentRoot createDocumentRoot() {
+		DocumentRootImpl documentRoot = new DocumentRootImpl();
+		return documentRoot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Name createName() {
+		NameImpl name = new NameImpl();
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Taxonomy createTaxonomy() {
+		TaxonomyImpl taxonomy = new TaxonomyImpl();
+		return taxonomy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaxonomyPackage getTaxonomyPackage() {
+		return (TaxonomyPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	public static TaxonomyPackage getPackage() {
+		return TaxonomyPackage.eINSTANCE;
+	}
+
+} //TaxonomyFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyImpl.java
new file mode 100644
index 0000000..f578952
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyImpl.java
@@ -0,0 +1,476 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Category;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Name;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Taxonomy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl#getNlname <em>Nlname</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl#getLocation <em>Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl#getRef <em>Ref</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyImpl#getTmodelKey <em>Tmodel Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TaxonomyImpl extends EObjectImpl implements Taxonomy {
+	/**
+	 * The cached value of the '{@link #getNlname() <em>Nlname</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNlname()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList nlname = null;
+
+	/**
+	 * The cached value of the '{@link #getCategory() <em>Category</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCategory()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList category = null;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LOCATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String location = LOCATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRef() <em>Ref</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REF_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRef() <em>Ref</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRef()
+	 * @generated
+	 * @ordered
+	 */
+	protected String ref = REF_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getTmodelKey() <em>Tmodel Key</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTmodelKey()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TMODEL_KEY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTmodelKey() <em>Tmodel Key</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTmodelKey()
+	 * @generated
+	 * @ordered
+	 */
+	protected String tmodelKey = TMODEL_KEY_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TaxonomyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return TaxonomyPackage.eINSTANCE.getTaxonomy();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getNlname() {
+		if (nlname == null) {
+			nlname = new EObjectContainmentEList(Name.class, this, TaxonomyPackage.TAXONOMY__NLNAME);
+		}
+		return nlname;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getCategory() {
+		if (category == null) {
+			category = new EObjectContainmentEList(Category.class, this, TaxonomyPackage.TAXONOMY__CATEGORY);
+		}
+		return category;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.TAXONOMY__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLocation() {
+		return location;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLocation(String newLocation) {
+		String oldLocation = location;
+		location = newLocation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.TAXONOMY__LOCATION, oldLocation, location));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.TAXONOMY__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRef() {
+		return ref;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRef(String newRef) {
+		String oldRef = ref;
+		ref = newRef;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.TAXONOMY__REF, oldRef, ref));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTmodelKey() {
+		return tmodelKey;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTmodelKey(String newTmodelKey) {
+		String oldTmodelKey = tmodelKey;
+		tmodelKey = newTmodelKey;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, TaxonomyPackage.TAXONOMY__TMODEL_KEY, oldTmodelKey, tmodelKey));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case TaxonomyPackage.TAXONOMY__NLNAME:
+					return ((InternalEList)getNlname()).basicRemove(otherEnd, msgs);
+				case TaxonomyPackage.TAXONOMY__CATEGORY:
+					return ((InternalEList)getCategory()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.TAXONOMY__NLNAME:
+				return getNlname();
+			case TaxonomyPackage.TAXONOMY__CATEGORY:
+				return getCategory();
+			case TaxonomyPackage.TAXONOMY__ID:
+				return getId();
+			case TaxonomyPackage.TAXONOMY__LOCATION:
+				return getLocation();
+			case TaxonomyPackage.TAXONOMY__NAME:
+				return getName();
+			case TaxonomyPackage.TAXONOMY__REF:
+				return getRef();
+			case TaxonomyPackage.TAXONOMY__TMODEL_KEY:
+				return getTmodelKey();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.TAXONOMY__NLNAME:
+				getNlname().clear();
+				getNlname().addAll((Collection)newValue);
+				return;
+			case TaxonomyPackage.TAXONOMY__CATEGORY:
+				getCategory().clear();
+				getCategory().addAll((Collection)newValue);
+				return;
+			case TaxonomyPackage.TAXONOMY__ID:
+				setId((String)newValue);
+				return;
+			case TaxonomyPackage.TAXONOMY__LOCATION:
+				setLocation((String)newValue);
+				return;
+			case TaxonomyPackage.TAXONOMY__NAME:
+				setName((String)newValue);
+				return;
+			case TaxonomyPackage.TAXONOMY__REF:
+				setRef((String)newValue);
+				return;
+			case TaxonomyPackage.TAXONOMY__TMODEL_KEY:
+				setTmodelKey((String)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.TAXONOMY__NLNAME:
+				getNlname().clear();
+				return;
+			case TaxonomyPackage.TAXONOMY__CATEGORY:
+				getCategory().clear();
+				return;
+			case TaxonomyPackage.TAXONOMY__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case TaxonomyPackage.TAXONOMY__LOCATION:
+				setLocation(LOCATION_EDEFAULT);
+				return;
+			case TaxonomyPackage.TAXONOMY__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case TaxonomyPackage.TAXONOMY__REF:
+				setRef(REF_EDEFAULT);
+				return;
+			case TaxonomyPackage.TAXONOMY__TMODEL_KEY:
+				setTmodelKey(TMODEL_KEY_EDEFAULT);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case TaxonomyPackage.TAXONOMY__NLNAME:
+				return nlname != null && !nlname.isEmpty();
+			case TaxonomyPackage.TAXONOMY__CATEGORY:
+				return category != null && !category.isEmpty();
+			case TaxonomyPackage.TAXONOMY__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case TaxonomyPackage.TAXONOMY__LOCATION:
+				return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location);
+			case TaxonomyPackage.TAXONOMY__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case TaxonomyPackage.TAXONOMY__REF:
+				return REF_EDEFAULT == null ? ref != null : !REF_EDEFAULT.equals(ref);
+			case TaxonomyPackage.TAXONOMY__TMODEL_KEY:
+				return TMODEL_KEY_EDEFAULT == null ? tmodelKey != null : !TMODEL_KEY_EDEFAULT.equals(tmodelKey);
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (id: ");
+		result.append(id);
+		result.append(", location: ");
+		result.append(location);
+		result.append(", name: ");
+		result.append(name);
+		result.append(", ref: ");
+		result.append(ref);
+		result.append(", tmodelKey: ");
+		result.append(tmodelKey);
+		result.append(')');
+		return result.toString();
+	}
+
+} //TaxonomyImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyPackageImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyPackageImpl.java
new file mode 100644
index 0000000..0ff7da8
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/impl/TaxonomyPackageImpl.java
@@ -0,0 +1,658 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyPackageImpl.java,v 1.2 2005/12/03 04:06:48 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Category;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Name;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyFactory;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TaxonomyPackageImpl extends EPackageImpl implements TaxonomyPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass categoryEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass documentRootEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass nameEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass taxonomyEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private TaxonomyPackageImpl() {
+		super(eNS_URI, TaxonomyFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this
+	 * model, and for any others upon which it depends.  Simple
+	 * dependencies are satisfied by calling this method on all
+	 * dependent packages before doing anything else.  This method drives
+	 * initialization for interdependent packages directly, in parallel
+	 * with this package, itself.
+	 * <p>Of this package and its interdependencies, all packages which
+	 * have not yet been registered by their URI values are first created
+	 * and registered.  The packages are then initialized in two steps:
+	 * meta-model objects for all of the packages are created before any
+	 * are initialized, since one package's meta-model objects may refer to
+	 * those of another.
+	 * <p>Invocation of this method will not affect any packages that have
+	 * already been initialized.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static TaxonomyPackage init() {
+		if (isInited) return (TaxonomyPackage)EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI);
+
+		// Obtain or create and register package
+		TaxonomyPackageImpl theTaxonomyPackage = (TaxonomyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof TaxonomyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new TaxonomyPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackageImpl.init();
+
+		// Obtain or create and register interdependencies
+		RTIndexPackageImpl theRTIndexPackage = (RTIndexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTIndexPackage.eNS_URI) instanceof RTIndexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTIndexPackage.eNS_URI) : RTIndexPackageImpl.eINSTANCE);
+		RegistryPackageImpl theRegistryPackage = (RegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI) instanceof RegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI) : RegistryPackageImpl.eINSTANCE);
+		UDDIRegistryPackageImpl theUDDIRegistryPackage = (UDDIRegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UDDIRegistryPackage.eNS_URI) instanceof UDDIRegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UDDIRegistryPackage.eNS_URI) : UDDIRegistryPackageImpl.eINSTANCE);
+
+		// Create package meta-data objects
+		theTaxonomyPackage.createPackageContents();
+		theRTIndexPackage.createPackageContents();
+		theRegistryPackage.createPackageContents();
+		theUDDIRegistryPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theTaxonomyPackage.initializePackageContents();
+		theRTIndexPackage.initializePackageContents();
+		theRegistryPackage.initializePackageContents();
+		theUDDIRegistryPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theTaxonomyPackage.freeze();
+
+		return theTaxonomyPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCategory() {
+		return categoryEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCategory_Nlname() {
+		return (EReference)categoryEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCategory_Category() {
+		return (EReference)categoryEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCategory_Code() {
+		return (EAttribute)categoryEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCategory_Name() {
+		return (EAttribute)categoryEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDocumentRoot() {
+		return documentRootEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDocumentRoot_Mixed() {
+		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XMLNSPrefixMap() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XSISchemaLocation() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Category() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Name() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Taxonomy() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getName_() {
+		return nameEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getName_Value() {
+		return (EAttribute)nameEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getName_Lang() {
+		return (EAttribute)nameEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTaxonomy() {
+		return taxonomyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTaxonomy_Nlname() {
+		return (EReference)taxonomyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTaxonomy_Category() {
+		return (EReference)taxonomyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTaxonomy_Id() {
+		return (EAttribute)taxonomyEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTaxonomy_Location() {
+		return (EAttribute)taxonomyEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTaxonomy_Name() {
+		return (EAttribute)taxonomyEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTaxonomy_Ref() {
+		return (EAttribute)taxonomyEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getTaxonomy_TmodelKey() {
+		return (EAttribute)taxonomyEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaxonomyFactory getTaxonomyFactory() {
+		return (TaxonomyFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		categoryEClass = createEClass(CATEGORY);
+		createEReference(categoryEClass, CATEGORY__NLNAME);
+		createEReference(categoryEClass, CATEGORY__CATEGORY);
+		createEAttribute(categoryEClass, CATEGORY__CODE);
+		createEAttribute(categoryEClass, CATEGORY__NAME);
+
+		documentRootEClass = createEClass(DOCUMENT_ROOT);
+		createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__CATEGORY);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__NAME);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__TAXONOMY);
+
+		nameEClass = createEClass(NAME);
+		createEAttribute(nameEClass, NAME__VALUE);
+		createEAttribute(nameEClass, NAME__LANG);
+
+		taxonomyEClass = createEClass(TAXONOMY);
+		createEReference(taxonomyEClass, TAXONOMY__NLNAME);
+		createEReference(taxonomyEClass, TAXONOMY__CATEGORY);
+		createEAttribute(taxonomyEClass, TAXONOMY__ID);
+		createEAttribute(taxonomyEClass, TAXONOMY__LOCATION);
+		createEAttribute(taxonomyEClass, TAXONOMY__NAME);
+		createEAttribute(taxonomyEClass, TAXONOMY__REF);
+		createEAttribute(taxonomyEClass, TAXONOMY__TMODEL_KEY);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+		// Add supertypes to classes
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(categoryEClass, Category.class, "Category", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCategory_Nlname(), this.getName_(), null, "nlname", null, 0, -1, Category.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getCategory_Category(), this.getCategory(), null, "category", null, 0, -1, Category.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getCategory_Code(), theXMLTypePackage.getString(), "code", null, 0, 1, Category.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getCategory_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Category.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Category(), this.getCategory(), null, "category", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Name(), this.getName_(), null, "name", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Taxonomy(), this.getTaxonomy(), null, "taxonomy", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+		initEClass(nameEClass, Name.class, "Name", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getName_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getName_Lang(), theXMLTypePackage.getLanguage(), "lang", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(taxonomyEClass, Taxonomy.class, "Taxonomy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTaxonomy_Nlname(), this.getName_(), null, "nlname", null, 0, -1, Taxonomy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getTaxonomy_Category(), this.getCategory(), null, "category", null, 0, -1, Taxonomy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getTaxonomy_Id(), theXMLTypePackage.getAnyURI(), "id", null, 0, 1, Taxonomy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getTaxonomy_Location(), theXMLTypePackage.getAnyURI(), "location", null, 0, 1, Taxonomy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getTaxonomy_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Taxonomy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getTaxonomy_Ref(), theXMLTypePackage.getAnyURI(), "ref", null, 0, 1, Taxonomy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getTaxonomy_TmodelKey(), theXMLTypePackage.getString(), "tmodelKey", null, 1, 1, Taxonomy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+		createExtendedMetaDataAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createExtendedMetaDataAnnotations() {
+		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";			
+		addAnnotation
+		  (categoryEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Category",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getCategory_Nlname(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "nlname"
+		   });		
+		addAnnotation
+		  (getCategory_Category(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "category"
+		   });		
+		addAnnotation
+		  (getCategory_Code(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "code"
+		   });		
+		addAnnotation
+		  (getCategory_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "name"
+		   });		
+		addAnnotation
+		  (documentRootEClass, 
+		   source, 
+		   new String[] {
+			 "name", "",
+			 "kind", "mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Mixed(), 
+		   source, 
+		   new String[] {
+			 "kind", "elementWildcard",
+			 "name", ":mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XMLNSPrefixMap(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xmlns:prefix"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XSISchemaLocation(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xsi:schemaLocation"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Category(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "category",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "name",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Taxonomy(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "taxonomy",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (nameEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Name",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getName_Value(), 
+		   source, 
+		   new String[] {
+			 "name", ":0",
+			 "kind", "simple"
+		   });		
+		addAnnotation
+		  (getName_Lang(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "lang",
+			 "namespace", "http://www.w3.org/XML/1998/namespace"
+		   });		
+		addAnnotation
+		  (taxonomyEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Taxonomy",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getTaxonomy_Nlname(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "nlname"
+		   });		
+		addAnnotation
+		  (getTaxonomy_Category(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "category"
+		   });		
+		addAnnotation
+		  (getTaxonomy_Id(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "id"
+		   });		
+		addAnnotation
+		  (getTaxonomy_Location(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "location"
+		   });		
+		addAnnotation
+		  (getTaxonomy_Name(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "name"
+		   });		
+		addAnnotation
+		  (getTaxonomy_Ref(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "ref"
+		   });		
+		addAnnotation
+		  (getTaxonomy_TmodelKey(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "tmodelKey"
+		   });
+	}
+
+} //TaxonomyPackageImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyAdapterFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyAdapterFactory.java
new file mode 100644
index 0000000..932b70f
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyAdapterFactory.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyAdapterFactory.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage
+ * @generated
+ */
+public class TaxonomyAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TaxonomyPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaxonomyAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = TaxonomyPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch the delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TaxonomySwitch modelSwitch =
+		new TaxonomySwitch() {
+			public Object caseCategory(Category object) {
+				return createCategoryAdapter();
+			}
+			public Object caseDocumentRoot(DocumentRoot object) {
+				return createDocumentRootAdapter();
+			}
+			public Object caseName(Name object) {
+				return createNameAdapter();
+			}
+			public Object caseTaxonomy(Taxonomy object) {
+				return createTaxonomyAdapter();
+			}
+			public Object defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	public Adapter createAdapter(Notifier target) {
+		return (Adapter)modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Category <em>Category</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Category
+	 * @generated
+	 */
+	public Adapter createCategoryAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot
+	 * @generated
+	 */
+	public Adapter createDocumentRootAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Name <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Name
+	 * @generated
+	 */
+	public Adapter createNameAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy <em>Taxonomy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy
+	 * @generated
+	 */
+	public Adapter createTaxonomyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //TaxonomyAdapterFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyResourceFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyResourceFactoryImpl.java
new file mode 100644
index 0000000..85d5cc6
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyResourceFactoryImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.util.TaxonomyResourceImpl
+ * @generated
+ */
+public class TaxonomyResourceFactoryImpl extends XMLResourceFactoryImpl {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExtendedMetaData extendedMetaData;
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaxonomyResourceFactoryImpl() {
+		super();
+		extendedMetaData = ExtendedMetaData.INSTANCE;
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Resource createResource(URI uri) {
+		XMLResource result = new TaxonomyResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //TaxonomyResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyResourceImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyResourceImpl.java
new file mode 100644
index 0000000..8cbed9b
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomyResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomyResourceImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.util.TaxonomyResourceFactoryImpl
+ * @generated
+ */
+public class TaxonomyResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public TaxonomyResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //TaxonomyResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomySwitch.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomySwitch.java
new file mode 100644
index 0000000..82ddc79
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/taxonomy/util/TaxonomySwitch.java
@@ -0,0 +1,193 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomySwitch.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.taxonomy.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage
+ * @generated
+ */
+public class TaxonomySwitch {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static TaxonomyPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaxonomySwitch() {
+		if (modelPackage == null) {
+			modelPackage = TaxonomyPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	public Object doSwitch(EObject theEObject) {
+		return doSwitch(theEObject.eClass(), theEObject);
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(EClass theEClass, EObject theEObject) {
+		if (theEClass.eContainer() == modelPackage) {
+			return doSwitch(theEClass.getClassifierID(), theEObject);
+		}
+		else {
+			List eSuperTypes = theEClass.getESuperTypes();
+			return
+				eSuperTypes.isEmpty() ?
+					defaultCase(theEObject) :
+					doSwitch((EClass)eSuperTypes.get(0), theEObject);
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case TaxonomyPackage.CATEGORY: {
+				Category category = (Category)theEObject;
+				Object result = caseCategory(category);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TaxonomyPackage.DOCUMENT_ROOT: {
+				DocumentRoot documentRoot = (DocumentRoot)theEObject;
+				Object result = caseDocumentRoot(documentRoot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TaxonomyPackage.NAME: {
+				Name name = (Name)theEObject;
+				Object result = caseName(name);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case TaxonomyPackage.TAXONOMY: {
+				Taxonomy taxonomy = (Taxonomy)theEObject;
+				Object result = caseTaxonomy(taxonomy);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Category</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Category</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseCategory(Category object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseDocumentRoot(DocumentRoot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Name</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Name</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseName(Name object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Taxonomy</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Taxonomy</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseTaxonomy(Taxonomy object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	public Object defaultCase(EObject object) {
+		return null;
+	}
+
+} //TaxonomySwitch
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/DocumentRoot.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/DocumentRoot.java
new file mode 100644
index 0000000..598dcb6
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/DocumentRoot.java
@@ -0,0 +1,138 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRoot.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getTaxonomies <em>Taxonomies</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getUddiRegistry <em>Uddi Registry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getDocumentRoot()
+ * @model 
+ * @generated
+ */
+public interface DocumentRoot extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mixed</em>' attribute list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getDocumentRoot_Mixed()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 * @generated
+	 */
+	FeatureMap getMixed();
+
+	/**
+	 * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getDocumentRoot_XMLNSPrefixMap()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXMLNSPrefixMap();
+
+	/**
+	 * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>XSI Schema Location</em>' map.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getDocumentRoot_XSISchemaLocation()
+	 * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry" keyType="java.lang.String" valueType="java.lang.String" transient="true"
+	 * @generated
+	 */
+	EMap getXSISchemaLocation();
+
+	/**
+	 * Returns the value of the '<em><b>Taxonomies</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Taxonomies</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Taxonomies</em>' containment reference.
+	 * @see #setTaxonomies(Taxonomies)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getDocumentRoot_Taxonomies()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	Taxonomies getTaxonomies();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getTaxonomies <em>Taxonomies</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Taxonomies</em>' containment reference.
+	 * @see #getTaxonomies()
+	 * @generated
+	 */
+	void setTaxonomies(Taxonomies value);
+
+	/**
+	 * Returns the value of the '<em><b>Uddi Registry</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Uddi Registry</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Uddi Registry</em>' containment reference.
+	 * @see #setUddiRegistry(UDDIRegistry)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getDocumentRoot_UddiRegistry()
+	 * @model containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
+	 * @generated
+	 */
+	UDDIRegistry getUddiRegistry();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getUddiRegistry <em>Uddi Registry</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Uddi Registry</em>' containment reference.
+	 * @see #getUddiRegistry()
+	 * @generated
+	 */
+	void setUddiRegistry(UDDIRegistry value);
+
+} // DocumentRoot
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/Taxonomies.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/Taxonomies.java
new file mode 100644
index 0000000..fc7ebce
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/Taxonomies.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Taxonomies.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Taxonomies</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies#getTaxonomy <em>Taxonomy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getTaxonomies()
+ * @model 
+ * @generated
+ */
+public interface Taxonomies extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Taxonomy</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Taxonomy</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Taxonomy</em>' containment reference list.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getTaxonomies_Taxonomy()
+	 * @model type="org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy" containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	EList getTaxonomy();
+
+} // Taxonomies
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistry.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistry.java
new file mode 100644
index 0000000..5cf2115
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistry.java
@@ -0,0 +1,243 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistry.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UDDIRegistry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getVersion <em>Version</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDiscoveryURL <em>Discovery URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getPublicationURL <em>Publication URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredDiscoveryURL <em>Secured Discovery URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredPublicationURL <em>Secured Publication URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultLogin <em>Default Login</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultPassword <em>Default Password</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getTaxonomies <em>Taxonomies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry()
+ * @model 
+ * @generated
+ */
+public interface UDDIRegistry extends Registry {
+	/**
+	 * Returns the value of the '<em><b>Version</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Version</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Version</em>' attribute.
+	 * @see #setVersion(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_Version()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getVersion();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getVersion <em>Version</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Version</em>' attribute.
+	 * @see #getVersion()
+	 * @generated
+	 */
+	void setVersion(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Discovery URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Discovery URL</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Discovery URL</em>' attribute.
+	 * @see #setDiscoveryURL(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_DiscoveryURL()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI" required="true"
+	 * @generated
+	 */
+	String getDiscoveryURL();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDiscoveryURL <em>Discovery URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Discovery URL</em>' attribute.
+	 * @see #getDiscoveryURL()
+	 * @generated
+	 */
+	void setDiscoveryURL(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Publication URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Publication URL</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Publication URL</em>' attribute.
+	 * @see #setPublicationURL(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_PublicationURL()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI" required="true"
+	 * @generated
+	 */
+	String getPublicationURL();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getPublicationURL <em>Publication URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Publication URL</em>' attribute.
+	 * @see #getPublicationURL()
+	 * @generated
+	 */
+	void setPublicationURL(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Secured Discovery URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Secured Discovery URL</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Secured Discovery URL</em>' attribute.
+	 * @see #setSecuredDiscoveryURL(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_SecuredDiscoveryURL()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI" required="true"
+	 * @generated
+	 */
+	String getSecuredDiscoveryURL();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredDiscoveryURL <em>Secured Discovery URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Secured Discovery URL</em>' attribute.
+	 * @see #getSecuredDiscoveryURL()
+	 * @generated
+	 */
+	void setSecuredDiscoveryURL(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Secured Publication URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Secured Publication URL</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Secured Publication URL</em>' attribute.
+	 * @see #setSecuredPublicationURL(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_SecuredPublicationURL()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.AnyURI" required="true"
+	 * @generated
+	 */
+	String getSecuredPublicationURL();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredPublicationURL <em>Secured Publication URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Secured Publication URL</em>' attribute.
+	 * @see #getSecuredPublicationURL()
+	 * @generated
+	 */
+	void setSecuredPublicationURL(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Default Login</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Default Login</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Default Login</em>' attribute.
+	 * @see #setDefaultLogin(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_DefaultLogin()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getDefaultLogin();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultLogin <em>Default Login</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Default Login</em>' attribute.
+	 * @see #getDefaultLogin()
+	 * @generated
+	 */
+	void setDefaultLogin(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Default Password</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Default Password</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Default Password</em>' attribute.
+	 * @see #setDefaultPassword(String)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_DefaultPassword()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+	 * @generated
+	 */
+	String getDefaultPassword();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultPassword <em>Default Password</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Default Password</em>' attribute.
+	 * @see #getDefaultPassword()
+	 * @generated
+	 */
+	void setDefaultPassword(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Taxonomies</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Taxonomies</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Taxonomies</em>' containment reference.
+	 * @see #setTaxonomies(Taxonomies)
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#getUDDIRegistry_Taxonomies()
+	 * @model containment="true" resolveProxies="false"
+	 * @generated
+	 */
+	Taxonomies getTaxonomies();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getTaxonomies <em>Taxonomies</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Taxonomies</em>' containment reference.
+	 * @see #getTaxonomies()
+	 * @generated
+	 */
+	void setTaxonomies(Taxonomies value);
+
+} // UDDIRegistry
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistryFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistryFactory.java
new file mode 100644
index 0000000..a210c72
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistryFactory.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryFactory.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage
+ * @generated
+ */
+public interface UDDIRegistryFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	UDDIRegistryFactory eINSTANCE = new org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryFactoryImpl();
+
+	/**
+	 * Returns a new object of class '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Document Root</em>'.
+	 * @generated
+	 */
+	DocumentRoot createDocumentRoot();
+
+	/**
+	 * Returns a new object of class '<em>Taxonomies</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Taxonomies</em>'.
+	 * @generated
+	 */
+	Taxonomies createTaxonomies();
+
+	/**
+	 * Returns a new object of class '<em>UDDIRegistry</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>UDDIRegistry</em>'.
+	 * @generated
+	 */
+	UDDIRegistry createUDDIRegistry();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	UDDIRegistryPackage getUDDIRegistryPackage();
+
+} //UDDIRegistryFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistryPackage.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistryPackage.java
new file mode 100644
index 0000000..c1e5ae1
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/UDDIRegistryPackage.java
@@ -0,0 +1,568 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryPackage.java,v 1.2 2005/12/03 04:06:49 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * 
+ *    See http://www.w3.org/XML/1998/namespace.html and
+ *    http://www.w3.org/TR/REC-xml for information about this namespace.
+ * 
+ *     This schema document describes the XML namespace, in a form
+ *     suitable for import by other schema documents.  
+ * 
+ *     Note that local names in this namespace are intended to be defined
+ *     only by the World Wide Web Consortium or its subgroups.  The
+ *     following names are currently defined in this namespace and should
+ *     not be used with conflicting semantics by any Working Group,
+ *     specification, or document instance:
+ * 
+ *     base (as an attribute name): denotes an attribute whose value
+ *          provides a URI to be used as the base for interpreting any
+ *          relative URIs in the scope of the element on which it
+ *          appears; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML Base specification.
+ * 
+ *     id   (as an attribute name): denotes an attribute whose value
+ *          should be interpreted as if declared to be of type ID.
+ *          The xml:id specification is not yet a W3C Recommendation,
+ *          but this attribute is included here to facilitate experimentation
+ *          with the mechanisms it proposes.  Note that it is _not_ included
+ *          in the specialAttrs attribute group.
+ * 
+ *     lang (as an attribute name): denotes an attribute whose value
+ *          is a language code for the natural language of the content of
+ *          any element; its value is inherited.  This name is reserved
+ *          by virtue of its definition in the XML specification.
+ *   
+ *     space (as an attribute name): denotes an attribute whose
+ *          value is a keyword indicating what whitespace processing
+ *          discipline is intended for the content of the element; its
+ *          value is inherited.  This name is reserved by virtue of its
+ *          definition in the XML specification.
+ * 
+ *     Father (in any context at all): denotes Jon Bosak, the chair of 
+ *          the original XML Working Group.  This name is reserved by 
+ *          the following decision of the W3C XML Plenary and 
+ *          XML Coordination groups:
+ * 
+ *              In appreciation for his vision, leadership and dedication
+ *              the W3C XML Plenary on this 10th day of February, 2000
+ *              reserves for Jon Bosak in perpetuity the XML name
+ *              xml:Father
+ *   
+ * This schema defines attributes and an attribute group
+ *         suitable for use by
+ *         schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
+ *         attributes on elements they define.
+ * 
+ *         To enable this, such a schema must import this schema
+ *         for the XML namespace, e.g. as follows:
+ *         &lt;schema . . .&gt;
+ *          . . .
+ *          &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+ *                     schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
+ * 
+ *         Subsequently, qualified reference to any of the attributes
+ *         or the group defined below will have the desired effect, e.g.
+ * 
+ *         &lt;type . . .&gt;
+ *          . . .
+ *          &lt;attributeGroup ref="xml:specialAttrs"/&gt;
+ *  
+ *          will define a type which will schema-validate an instance
+ *          element with any of those attributes
+ * In keeping with the XML Schema WG's standard versioning
+ *    policy, this schema document will persist at
+ *    http://www.w3.org/2005/08/xml.xsd.
+ *    At the date of issue it can also be found at
+ *    http://www.w3.org/2001/xml.xsd.
+ *    The schema document at that URI may however change in the future,
+ *    in order to remain compatible with the latest version of XML Schema
+ *    itself, or with the XML namespace itself.  In other words, if the XML
+ *    Schema or XML namespaces change, the version of this document at
+ *    http://www.w3.org/2001/xml.xsd will change
+ *    accordingly; the version at
+ *    http://www.w3.org/2005/08/xml.xsd will not change.
+ *   
+ * <!-- end-model-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryFactory
+ * @generated
+ */
+public interface UDDIRegistryPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "uddiregistry";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://eclipse.org/wst/ws/internal/model/v10/uddiregistry";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "uddiregistry";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	UDDIRegistryPackage eINSTANCE = org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.DocumentRootImpl <em>Document Root</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.DocumentRootImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryPackageImpl#getDocumentRoot()
+	 * @generated
+	 */
+	int DOCUMENT_ROOT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__MIXED = 0;
+
+	/**
+	 * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+	/**
+	 * The feature id for the '<em><b>XSI Schema Location</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Taxonomies</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__TAXONOMIES = 3;
+
+	/**
+	 * The feature id for the '<em><b>Uddi Registry</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT__UDDI_REGISTRY = 4;
+
+	/**
+	 * The number of structural features of the the '<em>Document Root</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOCUMENT_ROOT_FEATURE_COUNT = 5;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.TaxonomiesImpl <em>Taxonomies</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.TaxonomiesImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryPackageImpl#getTaxonomies()
+	 * @generated
+	 */
+	int TAXONOMIES = 1;
+
+	/**
+	 * The feature id for the '<em><b>Taxonomy</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMIES__TAXONOMY = 0;
+
+	/**
+	 * The number of structural features of the the '<em>Taxonomies</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TAXONOMIES_FEATURE_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl <em>UDDIRegistry</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryPackageImpl#getUDDIRegistry()
+	 * @generated
+	 */
+	int UDDI_REGISTRY = 2;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__NAME = RegistryPackage.REGISTRY__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__DESCRIPTION = RegistryPackage.REGISTRY__DESCRIPTION;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__ID = RegistryPackage.REGISTRY__ID;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__LOCATION = RegistryPackage.REGISTRY__LOCATION;
+
+	/**
+	 * The feature id for the '<em><b>Ref</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__REF = RegistryPackage.REGISTRY__REF;
+
+	/**
+	 * The feature id for the '<em><b>Version</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__VERSION = RegistryPackage.REGISTRY_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Discovery URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__DISCOVERY_URL = RegistryPackage.REGISTRY_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Publication URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__PUBLICATION_URL = RegistryPackage.REGISTRY_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Secured Discovery URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__SECURED_DISCOVERY_URL = RegistryPackage.REGISTRY_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Secured Publication URL</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__SECURED_PUBLICATION_URL = RegistryPackage.REGISTRY_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Login</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__DEFAULT_LOGIN = RegistryPackage.REGISTRY_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Default Password</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__DEFAULT_PASSWORD = RegistryPackage.REGISTRY_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Taxonomies</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY__TAXONOMIES = RegistryPackage.REGISTRY_FEATURE_COUNT + 7;
+
+	/**
+	 * The number of structural features of the the '<em>UDDIRegistry</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UDDI_REGISTRY_FEATURE_COUNT = RegistryPackage.REGISTRY_FEATURE_COUNT + 8;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Document Root</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot
+	 * @generated
+	 */
+	EClass getDocumentRoot();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getMixed <em>Mixed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Mixed</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getMixed()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EAttribute getDocumentRoot_Mixed();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getXMLNSPrefixMap()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XMLNSPrefixMap();
+
+	/**
+	 * Returns the meta object for the map '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>XSI Schema Location</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getXSISchemaLocation()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_XSISchemaLocation();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getTaxonomies <em>Taxonomies</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Taxonomies</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getTaxonomies()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_Taxonomies();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getUddiRegistry <em>Uddi Registry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Uddi Registry</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot#getUddiRegistry()
+	 * @see #getDocumentRoot()
+	 * @generated
+	 */
+	EReference getDocumentRoot_UddiRegistry();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies <em>Taxonomies</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Taxonomies</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies
+	 * @generated
+	 */
+	EClass getTaxonomies();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies#getTaxonomy <em>Taxonomy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Taxonomy</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies#getTaxonomy()
+	 * @see #getTaxonomies()
+	 * @generated
+	 */
+	EReference getTaxonomies_Taxonomy();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry <em>UDDIRegistry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>UDDIRegistry</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry
+	 * @generated
+	 */
+	EClass getUDDIRegistry();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getVersion <em>Version</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Version</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getVersion()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EAttribute getUDDIRegistry_Version();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDiscoveryURL <em>Discovery URL</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Discovery URL</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDiscoveryURL()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EAttribute getUDDIRegistry_DiscoveryURL();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getPublicationURL <em>Publication URL</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Publication URL</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getPublicationURL()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EAttribute getUDDIRegistry_PublicationURL();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredDiscoveryURL <em>Secured Discovery URL</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Secured Discovery URL</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredDiscoveryURL()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EAttribute getUDDIRegistry_SecuredDiscoveryURL();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredPublicationURL <em>Secured Publication URL</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Secured Publication URL</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getSecuredPublicationURL()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EAttribute getUDDIRegistry_SecuredPublicationURL();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultLogin <em>Default Login</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Default Login</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultLogin()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EAttribute getUDDIRegistry_DefaultLogin();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultPassword <em>Default Password</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Default Password</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getDefaultPassword()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EAttribute getUDDIRegistry_DefaultPassword();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getTaxonomies <em>Taxonomies</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Taxonomies</em>'.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry#getTaxonomies()
+	 * @see #getUDDIRegistry()
+	 * @generated
+	 */
+	EReference getUDDIRegistry_Taxonomies();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	UDDIRegistryFactory getUDDIRegistryFactory();
+
+} //UDDIRegistryPackage
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/DocumentRootImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/DocumentRootImpl.java
new file mode 100644
index 0000000..6802d3f
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/DocumentRootImpl.java
@@ -0,0 +1,326 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DocumentRootImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.DocumentRootImpl#getMixed <em>Mixed</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.DocumentRootImpl#getTaxonomies <em>Taxonomies</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.DocumentRootImpl#getUddiRegistry <em>Uddi Registry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot {
+	/**
+	 * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMixed()
+	 * @generated
+	 * @ordered
+	 */
+	protected FeatureMap mixed = null;
+
+	/**
+	 * The cached value of the '{@link #getXMLNSPrefixMap() <em>XMLNS Prefix Map</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXMLNSPrefixMap()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xMLNSPrefixMap = null;
+
+	/**
+	 * The cached value of the '{@link #getXSISchemaLocation() <em>XSI Schema Location</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getXSISchemaLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap xSISchemaLocation = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DocumentRootImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return UDDIRegistryPackage.eINSTANCE.getDocumentRoot();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureMap getMixed() {
+		if (mixed == null) {
+			mixed = new BasicFeatureMap(this, UDDIRegistryPackage.DOCUMENT_ROOT__MIXED);
+		}
+		return mixed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXMLNSPrefixMap() {
+		if (xMLNSPrefixMap == null) {
+			xMLNSPrefixMap = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, UDDIRegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		}
+		return xMLNSPrefixMap;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap getXSISchemaLocation() {
+		if (xSISchemaLocation == null) {
+			xSISchemaLocation = new EcoreEMap(EcorePackage.eINSTANCE.getEStringToStringMapEntry(), EStringToStringMapEntryImpl.class, this, UDDIRegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		}
+		return xSISchemaLocation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Taxonomies getTaxonomies() {
+		return (Taxonomies)getMixed().get(UDDIRegistryPackage.eINSTANCE.getDocumentRoot_Taxonomies(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetTaxonomies(Taxonomies newTaxonomies, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(UDDIRegistryPackage.eINSTANCE.getDocumentRoot_Taxonomies(), newTaxonomies, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTaxonomies(Taxonomies newTaxonomies) {
+		((FeatureMap.Internal)getMixed()).set(UDDIRegistryPackage.eINSTANCE.getDocumentRoot_Taxonomies(), newTaxonomies);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistry getUddiRegistry() {
+		return (UDDIRegistry)getMixed().get(UDDIRegistryPackage.eINSTANCE.getDocumentRoot_UddiRegistry(), true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetUddiRegistry(UDDIRegistry newUddiRegistry, NotificationChain msgs) {
+		return ((FeatureMap.Internal)getMixed()).basicAdd(UDDIRegistryPackage.eINSTANCE.getDocumentRoot_UddiRegistry(), newUddiRegistry, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUddiRegistry(UDDIRegistry newUddiRegistry) {
+		((FeatureMap.Internal)getMixed()).set(UDDIRegistryPackage.eINSTANCE.getDocumentRoot_UddiRegistry(), newUddiRegistry);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case UDDIRegistryPackage.DOCUMENT_ROOT__MIXED:
+					return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
+				case UDDIRegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+					return ((InternalEList)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
+				case UDDIRegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+					return ((InternalEList)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
+				case UDDIRegistryPackage.DOCUMENT_ROOT__TAXONOMIES:
+					return basicSetTaxonomies(null, msgs);
+				case UDDIRegistryPackage.DOCUMENT_ROOT__UDDI_REGISTRY:
+					return basicSetUddiRegistry(null, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.DOCUMENT_ROOT__MIXED:
+				return getMixed();
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return getXMLNSPrefixMap();
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return getXSISchemaLocation();
+			case UDDIRegistryPackage.DOCUMENT_ROOT__TAXONOMIES:
+				return getTaxonomies();
+			case UDDIRegistryPackage.DOCUMENT_ROOT__UDDI_REGISTRY:
+				return getUddiRegistry();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				getMixed().addAll((Collection)newValue);
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				getXMLNSPrefixMap().addAll((Collection)newValue);
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				getXSISchemaLocation().addAll((Collection)newValue);
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__TAXONOMIES:
+				setTaxonomies((Taxonomies)newValue);
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__UDDI_REGISTRY:
+				setUddiRegistry((UDDIRegistry)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.DOCUMENT_ROOT__MIXED:
+				getMixed().clear();
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				getXMLNSPrefixMap().clear();
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				getXSISchemaLocation().clear();
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__TAXONOMIES:
+				setTaxonomies((Taxonomies)null);
+				return;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__UDDI_REGISTRY:
+				setUddiRegistry((UDDIRegistry)null);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.DOCUMENT_ROOT__MIXED:
+				return mixed != null && !mixed.isEmpty();
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+				return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+			case UDDIRegistryPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+				return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+			case UDDIRegistryPackage.DOCUMENT_ROOT__TAXONOMIES:
+				return getTaxonomies() != null;
+			case UDDIRegistryPackage.DOCUMENT_ROOT__UDDI_REGISTRY:
+				return getUddiRegistry() != null;
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (mixed: ");
+		result.append(mixed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DocumentRootImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/TaxonomiesImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/TaxonomiesImpl.java
new file mode 100644
index 0000000..5d75bf7
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/TaxonomiesImpl.java
@@ -0,0 +1,155 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TaxonomiesImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Taxonomies</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.TaxonomiesImpl#getTaxonomy <em>Taxonomy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TaxonomiesImpl extends EObjectImpl implements Taxonomies {
+	/**
+	 * The cached value of the '{@link #getTaxonomy() <em>Taxonomy</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTaxonomy()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList taxonomy = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TaxonomiesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return UDDIRegistryPackage.eINSTANCE.getTaxonomies();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList getTaxonomy() {
+		if (taxonomy == null) {
+			taxonomy = new EObjectContainmentEList(Taxonomy.class, this, UDDIRegistryPackage.TAXONOMIES__TAXONOMY);
+		}
+		return taxonomy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case UDDIRegistryPackage.TAXONOMIES__TAXONOMY:
+					return ((InternalEList)getTaxonomy()).basicRemove(otherEnd, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.TAXONOMIES__TAXONOMY:
+				return getTaxonomy();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.TAXONOMIES__TAXONOMY:
+				getTaxonomy().clear();
+				getTaxonomy().addAll((Collection)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.TAXONOMIES__TAXONOMY:
+				getTaxonomy().clear();
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.TAXONOMIES__TAXONOMY:
+				return taxonomy != null && !taxonomy.isEmpty();
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+} //TaxonomiesImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryFactoryImpl.java
new file mode 100644
index 0000000..2e8033b
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryFactoryImpl.java
@@ -0,0 +1,97 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryFactoryImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UDDIRegistryFactoryImpl extends EFactoryImpl implements UDDIRegistryFactory {
+	/**
+	 * Creates and instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistryFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case UDDIRegistryPackage.DOCUMENT_ROOT: return createDocumentRoot();
+			case UDDIRegistryPackage.TAXONOMIES: return createTaxonomies();
+			case UDDIRegistryPackage.UDDI_REGISTRY: return createUDDIRegistry();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DocumentRoot createDocumentRoot() {
+		DocumentRootImpl documentRoot = new DocumentRootImpl();
+		return documentRoot;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Taxonomies createTaxonomies() {
+		TaxonomiesImpl taxonomies = new TaxonomiesImpl();
+		return taxonomies;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistry createUDDIRegistry() {
+		UDDIRegistryImpl uddiRegistry = new UDDIRegistryImpl();
+		return uddiRegistry;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistryPackage getUDDIRegistryPackage() {
+		return (UDDIRegistryPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	public static UDDIRegistryPackage getPackage() {
+		return UDDIRegistryPackage.eINSTANCE;
+	}
+
+} //UDDIRegistryFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryImpl.java
new file mode 100644
index 0000000..c8e38b0
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryImpl.java
@@ -0,0 +1,631 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UDDIRegistry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getVersion <em>Version</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getDiscoveryURL <em>Discovery URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getPublicationURL <em>Publication URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getSecuredDiscoveryURL <em>Secured Discovery URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getSecuredPublicationURL <em>Secured Publication URL</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getDefaultLogin <em>Default Login</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getDefaultPassword <em>Default Password</em>}</li>
+ *   <li>{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl.UDDIRegistryImpl#getTaxonomies <em>Taxonomies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UDDIRegistryImpl extends RegistryImpl implements UDDIRegistry {
+	/**
+	 * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVersion()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VERSION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getVersion()
+	 * @generated
+	 * @ordered
+	 */
+	protected String version = VERSION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDiscoveryURL() <em>Discovery URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDiscoveryURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DISCOVERY_URL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDiscoveryURL() <em>Discovery URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDiscoveryURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected String discoveryURL = DISCOVERY_URL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPublicationURL() <em>Publication URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublicationURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PUBLICATION_URL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPublicationURL() <em>Publication URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPublicationURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected String publicationURL = PUBLICATION_URL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSecuredDiscoveryURL() <em>Secured Discovery URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSecuredDiscoveryURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SECURED_DISCOVERY_URL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSecuredDiscoveryURL() <em>Secured Discovery URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSecuredDiscoveryURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected String securedDiscoveryURL = SECURED_DISCOVERY_URL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSecuredPublicationURL() <em>Secured Publication URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSecuredPublicationURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SECURED_PUBLICATION_URL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSecuredPublicationURL() <em>Secured Publication URL</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSecuredPublicationURL()
+	 * @generated
+	 * @ordered
+	 */
+	protected String securedPublicationURL = SECURED_PUBLICATION_URL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultLogin() <em>Default Login</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultLogin()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_LOGIN_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDefaultLogin() <em>Default Login</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultLogin()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultLogin = DEFAULT_LOGIN_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultPassword() <em>Default Password</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultPassword()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_PASSWORD_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDefaultPassword() <em>Default Password</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultPassword()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultPassword = DEFAULT_PASSWORD_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getTaxonomies() <em>Taxonomies</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTaxonomies()
+	 * @generated
+	 * @ordered
+	 */
+	protected Taxonomies taxonomies = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UDDIRegistryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EClass eStaticClass() {
+		return UDDIRegistryPackage.eINSTANCE.getUDDIRegistry();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getVersion() {
+		return version;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setVersion(String newVersion) {
+		String oldVersion = version;
+		version = newVersion;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__VERSION, oldVersion, version));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDiscoveryURL() {
+		return discoveryURL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDiscoveryURL(String newDiscoveryURL) {
+		String oldDiscoveryURL = discoveryURL;
+		discoveryURL = newDiscoveryURL;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__DISCOVERY_URL, oldDiscoveryURL, discoveryURL));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPublicationURL() {
+		return publicationURL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPublicationURL(String newPublicationURL) {
+		String oldPublicationURL = publicationURL;
+		publicationURL = newPublicationURL;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__PUBLICATION_URL, oldPublicationURL, publicationURL));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSecuredDiscoveryURL() {
+		return securedDiscoveryURL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSecuredDiscoveryURL(String newSecuredDiscoveryURL) {
+		String oldSecuredDiscoveryURL = securedDiscoveryURL;
+		securedDiscoveryURL = newSecuredDiscoveryURL;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__SECURED_DISCOVERY_URL, oldSecuredDiscoveryURL, securedDiscoveryURL));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSecuredPublicationURL() {
+		return securedPublicationURL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSecuredPublicationURL(String newSecuredPublicationURL) {
+		String oldSecuredPublicationURL = securedPublicationURL;
+		securedPublicationURL = newSecuredPublicationURL;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__SECURED_PUBLICATION_URL, oldSecuredPublicationURL, securedPublicationURL));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDefaultLogin() {
+		return defaultLogin;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDefaultLogin(String newDefaultLogin) {
+		String oldDefaultLogin = defaultLogin;
+		defaultLogin = newDefaultLogin;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_LOGIN, oldDefaultLogin, defaultLogin));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDefaultPassword() {
+		return defaultPassword;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDefaultPassword(String newDefaultPassword) {
+		String oldDefaultPassword = defaultPassword;
+		defaultPassword = newDefaultPassword;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_PASSWORD, oldDefaultPassword, defaultPassword));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Taxonomies getTaxonomies() {
+		return taxonomies;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetTaxonomies(Taxonomies newTaxonomies, NotificationChain msgs) {
+		Taxonomies oldTaxonomies = taxonomies;
+		taxonomies = newTaxonomies;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES, oldTaxonomies, newTaxonomies);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTaxonomies(Taxonomies newTaxonomies) {
+		if (newTaxonomies != taxonomies) {
+			NotificationChain msgs = null;
+			if (taxonomies != null)
+				msgs = ((InternalEObject)taxonomies).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES, null, msgs);
+			if (newTaxonomies != null)
+				msgs = ((InternalEObject)newTaxonomies).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES, null, msgs);
+			msgs = basicSetTaxonomies(newTaxonomies, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES, newTaxonomies, newTaxonomies));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+		if (featureID >= 0) {
+			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+				case UDDIRegistryPackage.UDDI_REGISTRY__NAME:
+					return ((InternalEList)getName()).basicRemove(otherEnd, msgs);
+				case UDDIRegistryPackage.UDDI_REGISTRY__DESCRIPTION:
+					return ((InternalEList)getDescription()).basicRemove(otherEnd, msgs);
+				case UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES:
+					return basicSetTaxonomies(null, msgs);
+				default:
+					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+			}
+		}
+		return eBasicSetContainer(null, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.UDDI_REGISTRY__NAME:
+				return getName();
+			case UDDIRegistryPackage.UDDI_REGISTRY__DESCRIPTION:
+				return getDescription();
+			case UDDIRegistryPackage.UDDI_REGISTRY__ID:
+				return getId();
+			case UDDIRegistryPackage.UDDI_REGISTRY__LOCATION:
+				return getLocation();
+			case UDDIRegistryPackage.UDDI_REGISTRY__REF:
+				return getRef();
+			case UDDIRegistryPackage.UDDI_REGISTRY__VERSION:
+				return getVersion();
+			case UDDIRegistryPackage.UDDI_REGISTRY__DISCOVERY_URL:
+				return getDiscoveryURL();
+			case UDDIRegistryPackage.UDDI_REGISTRY__PUBLICATION_URL:
+				return getPublicationURL();
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_DISCOVERY_URL:
+				return getSecuredDiscoveryURL();
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_PUBLICATION_URL:
+				return getSecuredPublicationURL();
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_LOGIN:
+				return getDefaultLogin();
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_PASSWORD:
+				return getDefaultPassword();
+			case UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES:
+				return getTaxonomies();
+		}
+		return eDynamicGet(eFeature, resolve);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eSet(EStructuralFeature eFeature, Object newValue) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.UDDI_REGISTRY__NAME:
+				getName().clear();
+				getName().addAll((Collection)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DESCRIPTION:
+				getDescription().clear();
+				getDescription().addAll((Collection)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__ID:
+				setId((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__LOCATION:
+				setLocation((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__REF:
+				setRef((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__VERSION:
+				setVersion((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DISCOVERY_URL:
+				setDiscoveryURL((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__PUBLICATION_URL:
+				setPublicationURL((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_DISCOVERY_URL:
+				setSecuredDiscoveryURL((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_PUBLICATION_URL:
+				setSecuredPublicationURL((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_LOGIN:
+				setDefaultLogin((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_PASSWORD:
+				setDefaultPassword((String)newValue);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES:
+				setTaxonomies((Taxonomies)newValue);
+				return;
+		}
+		eDynamicSet(eFeature, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void eUnset(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.UDDI_REGISTRY__NAME:
+				getName().clear();
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DESCRIPTION:
+				getDescription().clear();
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__LOCATION:
+				setLocation(LOCATION_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__REF:
+				setRef(REF_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__VERSION:
+				setVersion(VERSION_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DISCOVERY_URL:
+				setDiscoveryURL(DISCOVERY_URL_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__PUBLICATION_URL:
+				setPublicationURL(PUBLICATION_URL_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_DISCOVERY_URL:
+				setSecuredDiscoveryURL(SECURED_DISCOVERY_URL_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_PUBLICATION_URL:
+				setSecuredPublicationURL(SECURED_PUBLICATION_URL_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_LOGIN:
+				setDefaultLogin(DEFAULT_LOGIN_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_PASSWORD:
+				setDefaultPassword(DEFAULT_PASSWORD_EDEFAULT);
+				return;
+			case UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES:
+				setTaxonomies((Taxonomies)null);
+				return;
+		}
+		eDynamicUnset(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean eIsSet(EStructuralFeature eFeature) {
+		switch (eDerivedStructuralFeatureID(eFeature)) {
+			case UDDIRegistryPackage.UDDI_REGISTRY__NAME:
+				return name != null && !name.isEmpty();
+			case UDDIRegistryPackage.UDDI_REGISTRY__DESCRIPTION:
+				return description != null && !description.isEmpty();
+			case UDDIRegistryPackage.UDDI_REGISTRY__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case UDDIRegistryPackage.UDDI_REGISTRY__LOCATION:
+				return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location);
+			case UDDIRegistryPackage.UDDI_REGISTRY__REF:
+				return REF_EDEFAULT == null ? ref != null : !REF_EDEFAULT.equals(ref);
+			case UDDIRegistryPackage.UDDI_REGISTRY__VERSION:
+				return VERSION_EDEFAULT == null ? version != null : !VERSION_EDEFAULT.equals(version);
+			case UDDIRegistryPackage.UDDI_REGISTRY__DISCOVERY_URL:
+				return DISCOVERY_URL_EDEFAULT == null ? discoveryURL != null : !DISCOVERY_URL_EDEFAULT.equals(discoveryURL);
+			case UDDIRegistryPackage.UDDI_REGISTRY__PUBLICATION_URL:
+				return PUBLICATION_URL_EDEFAULT == null ? publicationURL != null : !PUBLICATION_URL_EDEFAULT.equals(publicationURL);
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_DISCOVERY_URL:
+				return SECURED_DISCOVERY_URL_EDEFAULT == null ? securedDiscoveryURL != null : !SECURED_DISCOVERY_URL_EDEFAULT.equals(securedDiscoveryURL);
+			case UDDIRegistryPackage.UDDI_REGISTRY__SECURED_PUBLICATION_URL:
+				return SECURED_PUBLICATION_URL_EDEFAULT == null ? securedPublicationURL != null : !SECURED_PUBLICATION_URL_EDEFAULT.equals(securedPublicationURL);
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_LOGIN:
+				return DEFAULT_LOGIN_EDEFAULT == null ? defaultLogin != null : !DEFAULT_LOGIN_EDEFAULT.equals(defaultLogin);
+			case UDDIRegistryPackage.UDDI_REGISTRY__DEFAULT_PASSWORD:
+				return DEFAULT_PASSWORD_EDEFAULT == null ? defaultPassword != null : !DEFAULT_PASSWORD_EDEFAULT.equals(defaultPassword);
+			case UDDIRegistryPackage.UDDI_REGISTRY__TAXONOMIES:
+				return taxonomies != null;
+		}
+		return eDynamicIsSet(eFeature);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (version: ");
+		result.append(version);
+		result.append(", discoveryURL: ");
+		result.append(discoveryURL);
+		result.append(", publicationURL: ");
+		result.append(publicationURL);
+		result.append(", securedDiscoveryURL: ");
+		result.append(securedDiscoveryURL);
+		result.append(", securedPublicationURL: ");
+		result.append(securedPublicationURL);
+		result.append(", defaultLogin: ");
+		result.append(defaultLogin);
+		result.append(", defaultPassword: ");
+		result.append(defaultPassword);
+		result.append(')');
+		return result.toString();
+	}
+
+} //UDDIRegistryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryPackageImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryPackageImpl.java
new file mode 100644
index 0000000..877528b
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/impl/UDDIRegistryPackageImpl.java
@@ -0,0 +1,542 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryPackageImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.impl.RegistryPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.rtindex.impl.RTIndexPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.impl.TaxonomyPackageImpl;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryFactory;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UDDIRegistryPackageImpl extends EPackageImpl implements UDDIRegistryPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass documentRootEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass taxonomiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass uddiRegistryEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private UDDIRegistryPackageImpl() {
+		super(eNS_URI, UDDIRegistryFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this
+	 * model, and for any others upon which it depends.  Simple
+	 * dependencies are satisfied by calling this method on all
+	 * dependent packages before doing anything else.  This method drives
+	 * initialization for interdependent packages directly, in parallel
+	 * with this package, itself.
+	 * <p>Of this package and its interdependencies, all packages which
+	 * have not yet been registered by their URI values are first created
+	 * and registered.  The packages are then initialized in two steps:
+	 * meta-model objects for all of the packages are created before any
+	 * are initialized, since one package's meta-model objects may refer to
+	 * those of another.
+	 * <p>Invocation of this method will not affect any packages that have
+	 * already been initialized.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static UDDIRegistryPackage init() {
+		if (isInited) return (UDDIRegistryPackage)EPackage.Registry.INSTANCE.getEPackage(UDDIRegistryPackage.eNS_URI);
+
+		// Obtain or create and register package
+		UDDIRegistryPackageImpl theUDDIRegistryPackage = (UDDIRegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof UDDIRegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new UDDIRegistryPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackageImpl.init();
+
+		// Obtain or create and register interdependencies
+		RTIndexPackageImpl theRTIndexPackage = (RTIndexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RTIndexPackage.eNS_URI) instanceof RTIndexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RTIndexPackage.eNS_URI) : RTIndexPackageImpl.eINSTANCE);
+		TaxonomyPackageImpl theTaxonomyPackage = (TaxonomyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI) instanceof TaxonomyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI) : TaxonomyPackageImpl.eINSTANCE);
+		RegistryPackageImpl theRegistryPackage = (RegistryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI) instanceof RegistryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI) : RegistryPackageImpl.eINSTANCE);
+
+		// Create package meta-data objects
+		theUDDIRegistryPackage.createPackageContents();
+		theRTIndexPackage.createPackageContents();
+		theTaxonomyPackage.createPackageContents();
+		theRegistryPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theUDDIRegistryPackage.initializePackageContents();
+		theRTIndexPackage.initializePackageContents();
+		theTaxonomyPackage.initializePackageContents();
+		theRegistryPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theUDDIRegistryPackage.freeze();
+
+		return theUDDIRegistryPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDocumentRoot() {
+		return documentRootEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDocumentRoot_Mixed() {
+		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XMLNSPrefixMap() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_XSISchemaLocation() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_Taxonomies() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDocumentRoot_UddiRegistry() {
+		return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTaxonomies() {
+		return taxonomiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTaxonomies_Taxonomy() {
+		return (EReference)taxonomiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getUDDIRegistry() {
+		return uddiRegistryEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUDDIRegistry_Version() {
+		return (EAttribute)uddiRegistryEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUDDIRegistry_DiscoveryURL() {
+		return (EAttribute)uddiRegistryEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUDDIRegistry_PublicationURL() {
+		return (EAttribute)uddiRegistryEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUDDIRegistry_SecuredDiscoveryURL() {
+		return (EAttribute)uddiRegistryEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUDDIRegistry_SecuredPublicationURL() {
+		return (EAttribute)uddiRegistryEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUDDIRegistry_DefaultLogin() {
+		return (EAttribute)uddiRegistryEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getUDDIRegistry_DefaultPassword() {
+		return (EAttribute)uddiRegistryEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getUDDIRegistry_Taxonomies() {
+		return (EReference)uddiRegistryEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistryFactory getUDDIRegistryFactory() {
+		return (UDDIRegistryFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		documentRootEClass = createEClass(DOCUMENT_ROOT);
+		createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__TAXONOMIES);
+		createEReference(documentRootEClass, DOCUMENT_ROOT__UDDI_REGISTRY);
+
+		taxonomiesEClass = createEClass(TAXONOMIES);
+		createEReference(taxonomiesEClass, TAXONOMIES__TAXONOMY);
+
+		uddiRegistryEClass = createEClass(UDDI_REGISTRY);
+		createEAttribute(uddiRegistryEClass, UDDI_REGISTRY__VERSION);
+		createEAttribute(uddiRegistryEClass, UDDI_REGISTRY__DISCOVERY_URL);
+		createEAttribute(uddiRegistryEClass, UDDI_REGISTRY__PUBLICATION_URL);
+		createEAttribute(uddiRegistryEClass, UDDI_REGISTRY__SECURED_DISCOVERY_URL);
+		createEAttribute(uddiRegistryEClass, UDDI_REGISTRY__SECURED_PUBLICATION_URL);
+		createEAttribute(uddiRegistryEClass, UDDI_REGISTRY__DEFAULT_LOGIN);
+		createEAttribute(uddiRegistryEClass, UDDI_REGISTRY__DEFAULT_PASSWORD);
+		createEReference(uddiRegistryEClass, UDDI_REGISTRY__TAXONOMIES);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		TaxonomyPackageImpl theTaxonomyPackage = (TaxonomyPackageImpl)EPackage.Registry.INSTANCE.getEPackage(TaxonomyPackage.eNS_URI);
+		RegistryPackageImpl theRegistryPackage = (RegistryPackageImpl)EPackage.Registry.INSTANCE.getEPackage(RegistryPackage.eNS_URI);
+		XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+		// Add supertypes to classes
+		uddiRegistryEClass.getESuperTypes().add(theRegistryPackage.getRegistry());
+
+		// Initialize classes and features; add operations and parameters
+		initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_Taxonomies(), this.getTaxonomies(), null, "taxonomies", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+		initEReference(getDocumentRoot_UddiRegistry(), this.getUDDIRegistry(), null, "uddiRegistry", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+		initEClass(taxonomiesEClass, Taxonomies.class, "Taxonomies", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTaxonomies_Taxonomy(), theTaxonomyPackage.getTaxonomy(), null, "taxonomy", null, 0, -1, Taxonomies.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(uddiRegistryEClass, UDDIRegistry.class, "UDDIRegistry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getUDDIRegistry_Version(), theXMLTypePackage.getString(), "version", null, 1, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getUDDIRegistry_DiscoveryURL(), theXMLTypePackage.getAnyURI(), "discoveryURL", null, 1, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getUDDIRegistry_PublicationURL(), theXMLTypePackage.getAnyURI(), "publicationURL", null, 1, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getUDDIRegistry_SecuredDiscoveryURL(), theXMLTypePackage.getAnyURI(), "securedDiscoveryURL", null, 1, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getUDDIRegistry_SecuredPublicationURL(), theXMLTypePackage.getAnyURI(), "securedPublicationURL", null, 1, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getUDDIRegistry_DefaultLogin(), theXMLTypePackage.getString(), "defaultLogin", null, 1, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getUDDIRegistry_DefaultPassword(), theXMLTypePackage.getString(), "defaultPassword", null, 1, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getUDDIRegistry_Taxonomies(), this.getTaxonomies(), null, "taxonomies", null, 0, 1, UDDIRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+		createExtendedMetaDataAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createExtendedMetaDataAnnotations() {
+		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";			
+		addAnnotation
+		  (documentRootEClass, 
+		   source, 
+		   new String[] {
+			 "name", "",
+			 "kind", "mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Mixed(), 
+		   source, 
+		   new String[] {
+			 "kind", "elementWildcard",
+			 "name", ":mixed"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XMLNSPrefixMap(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xmlns:prefix"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_XSISchemaLocation(), 
+		   source, 
+		   new String[] {
+			 "kind", "attribute",
+			 "name", "xsi:schemaLocation"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_Taxonomies(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "taxonomies",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (getDocumentRoot_UddiRegistry(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "uddiRegistry",
+			 "namespace", "##targetNamespace"
+		   });		
+		addAnnotation
+		  (taxonomiesEClass, 
+		   source, 
+		   new String[] {
+			 "name", "Taxonomies",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getTaxonomies_Taxonomy(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "taxonomy",
+			 "namespace", "http://eclipse.org/wst/ws/internal/model/v10/taxonomy"
+		   });		
+		addAnnotation
+		  (uddiRegistryEClass, 
+		   source, 
+		   new String[] {
+			 "name", "UDDIRegistry",
+			 "kind", "elementOnly"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_Version(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "version"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_DiscoveryURL(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "discoveryURL"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_PublicationURL(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "publicationURL"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_SecuredDiscoveryURL(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "securedDiscoveryURL"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_SecuredPublicationURL(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "securedPublicationURL"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_DefaultLogin(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "defaultLogin"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_DefaultPassword(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "defaultPassword"
+		   });		
+		addAnnotation
+		  (getUDDIRegistry_Taxonomies(), 
+		   source, 
+		   new String[] {
+			 "kind", "element",
+			 "name", "taxonomies"
+		   });
+	}
+
+} //UDDIRegistryPackageImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryAdapterFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryAdapterFactory.java
new file mode 100644
index 0000000..fc8e0c6
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryAdapterFactory.java
@@ -0,0 +1,173 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryAdapterFactory.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage
+ * @generated
+ */
+public class UDDIRegistryAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static UDDIRegistryPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistryAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = UDDIRegistryPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch the delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UDDIRegistrySwitch modelSwitch =
+		new UDDIRegistrySwitch() {
+			public Object caseDocumentRoot(DocumentRoot object) {
+				return createDocumentRootAdapter();
+			}
+			public Object caseTaxonomies(Taxonomies object) {
+				return createTaxonomiesAdapter();
+			}
+			public Object caseUDDIRegistry(UDDIRegistry object) {
+				return createUDDIRegistryAdapter();
+			}
+			public Object caseRegistry(Registry object) {
+				return createRegistryAdapter();
+			}
+			public Object defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	public Adapter createAdapter(Notifier target) {
+		return (Adapter)modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot <em>Document Root</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.DocumentRoot
+	 * @generated
+	 */
+	public Adapter createDocumentRootAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies <em>Taxonomies</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies
+	 * @generated
+	 */
+	public Adapter createTaxonomiesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry <em>UDDIRegistry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry
+	 * @generated
+	 */
+	public Adapter createUDDIRegistryAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.ws.internal.model.v10.registry.Registry <em>Registry</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry
+	 * @generated
+	 */
+	public Adapter createRegistryAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //UDDIRegistryAdapterFactory
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryResourceFactoryImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryResourceFactoryImpl.java
new file mode 100644
index 0000000..91315af
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryResourceFactoryImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.util.UDDIRegistryResourceImpl
+ * @generated
+ */
+public class UDDIRegistryResourceFactoryImpl extends XMLResourceFactoryImpl {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExtendedMetaData extendedMetaData;
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistryResourceFactoryImpl() {
+		super();
+		extendedMetaData = ExtendedMetaData.INSTANCE;
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Resource createResource(URI uri) {
+		XMLResource result = new UDDIRegistryResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} //UDDIRegistryResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryResourceImpl.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryResourceImpl.java
new file mode 100644
index 0000000..6d029c6
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistryResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistryResourceImpl.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.util.UDDIRegistryResourceFactoryImpl
+ * @generated
+ */
+public class UDDIRegistryResourceImpl extends XMLResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public UDDIRegistryResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //UDDIRegistryResourceFactoryImpl
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistrySwitch.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistrySwitch.java
new file mode 100644
index 0000000..bd3d8ae
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/model/v10/uddiregistry/util/UDDIRegistrySwitch.java
@@ -0,0 +1,190 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UDDIRegistrySwitch.java,v 1.2 2005/12/03 04:06:50 cbrealey Exp $
+ */
+package org.eclipse.wst.ws.internal.model.v10.uddiregistry.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage
+ * @generated
+ */
+public class UDDIRegistrySwitch {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static UDDIRegistryPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UDDIRegistrySwitch() {
+		if (modelPackage == null) {
+			modelPackage = UDDIRegistryPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	public Object doSwitch(EObject theEObject) {
+		return doSwitch(theEObject.eClass(), theEObject);
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(EClass theEClass, EObject theEObject) {
+		if (theEClass.eContainer() == modelPackage) {
+			return doSwitch(theEClass.getClassifierID(), theEObject);
+		}
+		else {
+			List eSuperTypes = theEClass.getESuperTypes();
+			return
+				eSuperTypes.isEmpty() ?
+					defaultCase(theEObject) :
+					doSwitch((EClass)eSuperTypes.get(0), theEObject);
+		}
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	protected Object doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case UDDIRegistryPackage.DOCUMENT_ROOT: {
+				DocumentRoot documentRoot = (DocumentRoot)theEObject;
+				Object result = caseDocumentRoot(documentRoot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case UDDIRegistryPackage.TAXONOMIES: {
+				Taxonomies taxonomies = (Taxonomies)theEObject;
+				Object result = caseTaxonomies(taxonomies);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case UDDIRegistryPackage.UDDI_REGISTRY: {
+				UDDIRegistry uddiRegistry = (UDDIRegistry)theEObject;
+				Object result = caseUDDIRegistry(uddiRegistry);
+				if (result == null) result = caseRegistry(uddiRegistry);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Document Root</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseDocumentRoot(DocumentRoot object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Taxonomies</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Taxonomies</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseTaxonomies(Taxonomies object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>UDDIRegistry</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>UDDIRegistry</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseUDDIRegistry(UDDIRegistry object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>Registry</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>Registry</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public Object caseRegistry(Registry object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	public Object defaultCase(EObject object) {
+		return null;
+	}
+
+} //UDDIRegistrySwitch
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/monitor/GetMonitorCommand.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/monitor/GetMonitorCommand.java
index 5feb699..32f5c5a 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/monitor/GetMonitorCommand.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/monitor/GetMonitorCommand.java
@@ -24,19 +24,24 @@
 import javax.wsdl.extensions.http.HTTPAddress;
 import javax.wsdl.extensions.soap.SOAPAddress;
 
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
 import org.eclipse.wst.server.core.util.SocketUtil;
+import org.eclipse.wst.ws.internal.WstWSPluginMessages;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-import org.eclipse.wst.ws.internal.plugin.WSPlugin;
 
-public class GetMonitorCommand extends SimpleCommand {
+public class GetMonitorCommand extends AbstractDataModelOperation 
+{
 	private boolean monitorService;
 
 	private boolean create;
@@ -48,14 +53,14 @@
 	private List endpoints;
 
 	public GetMonitorCommand() {
-		super(
-				"org.eclipse.jst.ws.internal.consumption.command.common.GetMonitorCommand",
-				"org.eclipse.jst.ws.internal.consumption.command.common.GetMonitorCommand");
 		monitorService = true;
 		create = true;
 	}
 
-	public Status execute(Environment env) {
+	public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable ) 
+  {
+    IEnvironment env = getEnvironment();
+    
 		endpoints = new Vector();
 		if (monitorService && webServicesParser != null && wsdlURI != null
 				&& wsdlURI.length() > 0) {
@@ -125,18 +130,15 @@
 										monitorWorkingCopy.setRemoteHost(host);
 										monitorWorkingCopy.setRemotePort(port);
 										monitorWorkingCopy.setProtocol("HTTP");
-										try {
+										try 
+                    {
 											m = monitorWorkingCopy.save();
-										} catch (Throwable t) {
-											Status warning = new SimpleStatus(
-													"org.eclipse.wst.ws",
-													WSPlugin.getResourceString(
-																	"MSG_ERROR_UNABLE_TO_START_MONITOR",
-																	new Object[] {
-																			String
-																					.valueOf(port),
-																			endpoint }),
-													Status.WARNING, t);
+										} 
+                    catch (Throwable t) 
+                    {
+											IStatus warning = StatusUtils.warningStatus(
+													NLS.bind(WstWSPluginMessages.MSG_ERROR_UNABLE_TO_START_MONITOR,
+													new Object[] {String.valueOf(port),	endpoint }), t );
 											try {
 												if (env != null)
 													env.getStatusHandler()
@@ -156,16 +158,12 @@
 													.getLocalPort()));
 											sb.append(endpointURL.getFile());
 											endpoints.add(sb.toString());
-										} catch (Throwable t) {
-											Status warning = new SimpleStatus(
-													"org.eclipse.wst.ws",
-													WSPlugin.getResourceString(
-																	"MSG_ERROR_UNABLE_TO_START_MONITOR",
-																	new Object[] {
-																			String
-																					.valueOf(port),
-																			endpoint }),
-													Status.WARNING, t);
+										} 
+                    catch (Throwable t) 
+                    {
+											IStatus warning = StatusUtils.warningStatus(
+													NLS.bind(WstWSPluginMessages.MSG_ERROR_UNABLE_TO_START_MONITOR,
+													new Object[] {String.valueOf(port), endpoint }), t );
 											try {
 												if (env != null)
 													env.getStatusHandler()
@@ -181,7 +179,7 @@
 				}
 			}
 		}
-		return new SimpleStatus("");
+		return Status.OK_STATUS;
 	}
 
 	public void setMonitorService(boolean monitorService) {
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/plugin/WSPlugin.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/plugin/WSPlugin.java
index 93018fc..02b9c34 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/plugin/WSPlugin.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/plugin/WSPlugin.java
@@ -1,11 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.plugin;
 
 import java.text.MessageFormat;
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
-
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.wst.ws.internal.preferences.PersistentWSDLValidationContext;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIAPContext;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSISSBPContext;
 import org.eclipse.wst.ws.internal.preferences.PersistentWaitForWSDLValidationContext;
 import org.osgi.framework.BundleContext;
 
@@ -16,13 +29,17 @@
 
 	// The shared instance.
 	private static WSPlugin plugin;
-
+	
 	// Resource bundle.
 	private ResourceBundle resourceBundle;
 	
+	private PersistentWSISSBPContext wsiSSBPContext_;
+	private PersistentWSIAPContext wsiAPContext_;
 	private PersistentWSDLValidationContext wsdlValidationContext_;
 	private PersistentWaitForWSDLValidationContext waitForWsdlValidationContext_;
 
+	public static final String ID = "org.eclipse.wst.ws";
+	
 	/**
 	 * The constructor.
 	 */
@@ -97,7 +114,44 @@
 		}
 		return resourceBundle;
 	}
-	
+	/**
+	 * Get WSI Context
+	 * @deprecated use getWSISSBPContext or getWSIAPContext instead
+	 * 
+	 */ 
+ public PersistentWSIContext getWSIContext() 
+ 	{ // defaulting to get WSI Simple SOAP Binding Profile context
+ 	  return getWSISSBPContext();
+ 	}
+ 
+ /**
+	 * Get WSI Simple SOAP Binding Profile Context
+	 * 
+	 */ 
+ public PersistentWSISSBPContext getWSISSBPContext() 
+	{
+	  if (wsiSSBPContext_ == null)
+	  	{
+	  		wsiSSBPContext_ = new PersistentWSISSBPContext();
+	  		wsiSSBPContext_.load();
+	  	}
+	  return wsiSSBPContext_;
+	}
+ 
+ /**
+	 * Get WSI Attachment Profile Context
+	 * 
+	 */ 
+ public PersistentWSIAPContext getWSIAPContext() 
+	{
+	  if (wsiAPContext_ == null)
+	  	{
+	  		wsiAPContext_ = new PersistentWSIAPContext();
+	  		wsiAPContext_.load();
+	  	}
+	  return wsiAPContext_;
+	}
+
 	 /**
 	 * Get WSDL Valiation Context
 	 * 
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSIAPContext.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSIAPContext.java
new file mode 100644
index 0000000..3f5d898
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSIAPContext.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.preferences;
+
+import org.eclipse.core.runtime.QualifiedName;
+import org.eclipse.wst.ws.internal.WstWSPluginMessages;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+
+
+
+public class PersistentWSIAPContext extends PersistentWSIContext
+{
+	private static final String NON_WSI_AP_COMPLIANCE = "nonWSIAPCompliance";
+
+public PersistentWSIAPContext () 
+{
+	super();
+	non_wsi_compliance = NON_WSI_AP_COMPLIANCE;
+	name = new QualifiedName(WSPlugin.ID , non_wsi_compliance);
+	wsiWarning_ = WstWSPluginMessages.WSI_AP_WARNING;
+	wsiError_ = WstWSPluginMessages.WSI_AP_ERROR;
+}
+
+public String getPersistentWSICompliance ()
+{
+	String property = getValueAsString(non_wsi_compliance);
+	// default to Warning if no init has been done from ini file
+	if (property == null || property.equals("")) {
+		setValue( non_wsi_compliance, WARN_NON_WSI);
+		return WARN_NON_WSI;
+	}
+	else
+		return property;
+}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSIContext.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSIContext.java
new file mode 100644
index 0000000..2b4fd0d
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSIContext.java
@@ -0,0 +1,164 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.preferences;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.QualifiedName;
+import org.eclipse.wst.command.internal.env.context.PersistentContext;
+import org.eclipse.wst.common.environment.EnvironmentService;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.ws.internal.WstWSPluginMessages;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+
+
+
+public class PersistentWSIContext extends PersistentContext
+{
+	public static final String STOP_NON_WSI = "0";
+	public static final String WARN_NON_WSI = "1";
+	public static final String IGNORE_NON_WSI = "2";
+	public static final String FOLLOW_WSI_PREFERENCE = "3";
+
+	protected QualifiedName name = null; // set in subclass
+	protected String non_wsi_compliance;
+	private static final String NON_WSI_SSBP_COMPLIANCE = "nonWSISSBPCompliance";
+	protected String wsiWarning_; // set in subclass
+	protected String wsiError_; // set in subclass
+
+public PersistentWSIContext () 
+{
+	super(  WSPlugin.getInstance());
+	
+//  NOTE:  name, wsiWarning_ and wsiError_ should be set in the subclasses.  This is providing defaulting only.
+	non_wsi_compliance = NON_WSI_SSBP_COMPLIANCE;
+	name = new QualifiedName(WSPlugin.ID , non_wsi_compliance);
+	wsiWarning_ = WstWSPluginMessages.WSI_SSBP_WARNING;
+	wsiError_ = WstWSPluginMessages.WSI_SSBP_ERROR;
+}
+
+public void load() 
+{
+	// let the default be read from plugin_costomization.ini file
+	// setDefault(non_wsi_compliance, WARN_NON_WSI);
+}
+
+// to be used only by the preference page
+public void updateWSICompliances ( String value)
+{
+ 		setValue( non_wsi_compliance, value);
+}
+
+public String getPersistentWSICompliance ()
+{
+	String property = getValueAsString(non_wsi_compliance);
+//	 default to Warning if no init has been done from ini file
+	if (property == null || property.equals("")) {
+		setValue( non_wsi_compliance, WARN_NON_WSI);
+		return WARN_NON_WSI;
+	}
+	else
+		return property;
+}
+
+public boolean StopNonWSICompliances()
+{
+	 return STOP_NON_WSI.equals(getPersistentWSICompliance());
+}
+
+public boolean WarnNonWSICompliances()
+{
+	 return WARN_NON_WSI.equals(getPersistentWSICompliance());
+}
+
+public boolean IgnoreNonWSICompliances()
+{
+	 return IGNORE_NON_WSI.equals(getPersistentWSICompliance());
+}
+
+// to be used only by the property page
+public void updateProjectWSICompliances ( IProject project, String value)
+{
+    try {
+		project.setPersistentProperty(name, value);
+    }
+    catch (CoreException e) { 
+    	System.out.println("No such Project");
+    	ILog log = EnvironmentService.getEclipseLog();
+    	log.log(ILog.INFO, 5084, this, "updateProjectWSICompliances", "No such Project "+project);
+    }
+}
+
+public boolean projectStopNonWSICompliances(IProject project)
+{
+ 	return STOP_NON_WSI.equals(getProjectPersistentProperty(project));    
+}
+
+public boolean projectWarnNonWSICompliances(IProject project)
+{
+ 	return WARN_NON_WSI.equals(getProjectPersistentProperty(project));    
+}
+
+public boolean projectIgnoreNonWSICompliances(IProject project)
+{
+ 	return IGNORE_NON_WSI.equals(getProjectPersistentProperty(project));    
+}
+
+
+// to be used only by the property page
+public boolean projectFollowWSIPreferance(IProject project)
+{
+    try {
+ 	String property = project.getPersistentProperty(name);
+    return (property == null || property.equals("") || property.equals(FOLLOW_WSI_PREFERENCE));
+    	}
+    catch (CoreException e)     {
+    	return true;
+     }     
+}
+
+private String getProjectPersistentProperty(IProject project)
+{
+	String property = getProjectWSICompliance(project);
+	if (property.equals(FOLLOW_WSI_PREFERENCE)) {
+		property = getPersistentWSICompliance();
+	}
+	return property;
+ }
+
+public String getProjectWSICompliance(IProject project)
+{
+  try {
+     	String property = project.getPersistentProperty(name);
+     	if (property == null || property.equals(""))
+     	{
+     		property = FOLLOW_WSI_PREFERENCE;
+     	}
+     	return property;
+     }
+     catch (CoreException e)     {
+    	System.out.println("No such Project");
+    	return getPersistentWSICompliance();
+     }     
+}
+
+public String getWarning()
+{
+	return wsiWarning_;
+}
+
+public String getError()
+{
+	return wsiError_;
+}
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSISSBPContext.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSISSBPContext.java
new file mode 100644
index 0000000..d5da7de
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/PersistentWSISSBPContext.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.preferences;
+
+import org.eclipse.core.runtime.QualifiedName;
+import org.eclipse.wst.ws.internal.WstWSPluginMessages;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+
+
+
+public class PersistentWSISSBPContext extends PersistentWSIContext
+{
+	private static final String NON_WSI_SSBP_COMPLIANCE = "nonWSISSBPCompliance";
+
+public PersistentWSISSBPContext () 
+{
+	super();
+	non_wsi_compliance = NON_WSI_SSBP_COMPLIANCE;
+	name = new QualifiedName(WSPlugin.ID , non_wsi_compliance);
+	wsiWarning_ = WstWSPluginMessages.WSI_SSBP_WARNING;
+	wsiError_ = WstWSPluginMessages.WSI_SSBP_ERROR;
+}
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/WSIComplianceUtils.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/WSIComplianceUtils.java
new file mode 100644
index 0000000..4a71383
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/preferences/WSIComplianceUtils.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.preferences;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.ws.internal.WstWSPluginMessages;
+
+
+public class WSIComplianceUtils
+{
+
+/**
+ * @param project
+ * @param context
+ * @return
+ */
+public static int getWSISeverity (IProject project, PersistentWSIContext context)
+{
+	if (context.projectStopNonWSICompliances(project))
+		return Status.ERROR;
+	else if (context.projectWarnNonWSICompliances(project))
+		return Status.WARNING;
+	else
+		return Status.INFO;
+}
+
+/**
+ * @param monitor IStatusHandler
+ * @param status Status[]
+ * @param project IProject
+ * @param context PersistentWSIContext
+ * @return boolean true if to continue
+ */
+public static boolean checkWSICompliance ( IStatusHandler monitor, Status[] status, IProject project, PersistentWSIContext context)
+{
+  	if (context.projectStopNonWSICompliances(project))
+  		{
+      
+  			// emit an error message and return false
+  			IStatus status_ = StatusUtils.multiStatus( context.getError(), status );
+			monitor.reportError(status_);
+  			return false;
+  		}
+  	else if (context.projectWarnNonWSICompliances(project))
+  		{
+  			// give a warning message with the options to stop, ignore this one, or ignore all coming messages
+  			IStatus status_ = StatusUtils.multiStatus( context.getWarning(), status);
+
+  			Choice ignoreChoice = new Choice('I', WstWSPluginMessages.IGNORE_LABEL, WstWSPluginMessages.IGNORE_DESCRIPTION);
+  			Choice ignoreAllChoice = new Choice('A', WstWSPluginMessages.IGNORE_ALL_LABEL, WstWSPluginMessages.IGNORE_ALL_DESCRIPTION);
+  			Choice cancelChoice = new Choice('C', WstWSPluginMessages.CANCEL_LABEL, WstWSPluginMessages.CANCEL_DESCRIPTION);
+  			Choice result = monitor.report(status_, new Choice[]{ignoreChoice, ignoreAllChoice, cancelChoice});
+  			
+  			// if the user closes the message box or selects ignore continue
+  			if (result == null || (result.getLabel().equals(ignoreChoice.getLabel())))
+        			return true;
+  			// if the user selects ignore all, change the preference
+	        else  if (result.getLabel().equals(ignoreAllChoice.getLabel()))
+	        	{
+	        		context.updateProjectWSICompliances(project, PersistentWSIContext.IGNORE_NON_WSI);
+	        		return true;
+	        	}
+			// if the user selects to cancel , do not continue with the command
+        	else if (result.getLabel().equals(cancelChoice.getLabel()))
+						return false;
+  		}
+  return true;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebService.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebService.java
deleted file mode 100644
index d550cf5..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-
-
-public abstract class AbstractWebService implements IWebService {
-	
-	private WebServiceInfo info;
-
-	public AbstractWebService(WebServiceInfo info) {
-		this.info = info;
-	}
-	
-
-	public WebServiceInfo getWebServiceInfo() {
-		return info;
-	}
-
-	public abstract ICommandFactory assemble(Environment env, IContext ctx, ISelection sel,
-			String project, String module, String earProject, String ear);
-	
-
-	public abstract ICommandFactory deploy(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-	
-
-	public abstract ICommandFactory develop(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-		
-
-	public abstract ICommandFactory install(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-	
-
-	public abstract ICommandFactory run(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebServiceClient.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebServiceClient.java
deleted file mode 100644
index b41f45c..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebServiceClient.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-
-
-public abstract class AbstractWebServiceClient implements IWebServiceClient {
-	
-	private WebServiceClientInfo info;
-
-	public AbstractWebServiceClient(WebServiceClientInfo info) {
-		this.info = info;
-	}
-	
-
-	public WebServiceClientInfo getWebServiceClientInfo() {
-		return info;
-	}
-
-	public abstract ICommandFactory assemble(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-	
-
-	public abstract ICommandFactory deploy(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-	
-
-	public abstract ICommandFactory develop(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-		
-
-	public abstract ICommandFactory install(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-	
-
-	public abstract ICommandFactory run(Environment env, IContext ctx, ISelection sel,
-      String project, String module, String earProject, String ear);
-}
-
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebServiceRuntime.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebServiceRuntime.java
deleted file mode 100644
index 9f22677..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/AbstractWebServiceRuntime.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-
-public abstract class AbstractWebServiceRuntime implements IWebServiceRuntime {
-
-	public abstract IWebService getWebService(WebServiceInfo info);
-	/**
-	 */
-	public abstract IWebServiceClient getWebServiceClient(WebServiceClientInfo info);
-	/**
-	 */
-	public ICommandFactory announce(IWebService webService)
-	{
-		//TODO provide a boiler-plate announce implementation.
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IContext.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IContext.java
deleted file mode 100644
index f546a81..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-public interface IContext {
-	
-	public boolean getAssemble();
-	
-	public boolean getCheckOutFiles();
-	
-	public boolean getClient();
-	
-	public boolean getCreateFolders();
-	
-	public boolean getDeploy();
-	
-	public boolean getDevelop();
-	
-	public boolean getInstall();
-	
-	public boolean getOverWriteFiles();
-	
-	public boolean getPublish();
-	
-	public boolean getRun();
-	
-	public WebServiceScenario getScenario();
-	
-	public boolean getTest();
-
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/ISelection.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/ISelection.java
deleted file mode 100644
index 7672f19..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/ISelection.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-public interface ISelection {
-	
-	Object[] getSelection();
-
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebService.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebService.java
deleted file mode 100644
index befa14e..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-
-
-public interface IWebService {
-
-	/**
-	 */
-	public WebServiceInfo getWebServiceInfo();
-	
-	public ICommandFactory develop(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory deploy(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory assemble(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory install(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory run(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceClient.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceClient.java
deleted file mode 100644
index c4398af..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceClient.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-
-public interface IWebServiceClient {
-	
-	/**
-	 */
-	public WebServiceClientInfo getWebServiceClientInfo();
-	
-	public ICommandFactory develop(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory deploy(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory assemble(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory install(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);
-	public ICommandFactory run(Environment env, IContext ctx, ISelection sel, String project, String module, String earProject, String ear);	
-
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServicePublisher.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServicePublisher.java
deleted file mode 100644
index fbbb7db..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServicePublisher.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-
-public interface IWebServicePublisher {
-	
-	public ICommandFactory publish(Environment env, IWebService ws);
-
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceRuntime.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceRuntime.java
deleted file mode 100644
index fdb873c..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceRuntime.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-
-
-public interface IWebServiceRuntime {
-	
-	/**
-	 */
-	public IWebService getWebService(WebServiceInfo info);
-	/**
-	 */
-	public IWebServiceClient getWebServiceClient(WebServiceClientInfo info);
-	/**
-	 */
-	public ICommandFactory announce(IWebService webService);
-
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceTester.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceTester.java
deleted file mode 100644
index 2a5dae6..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/IWebServiceTester.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import org.eclipse.wst.command.internal.provisional.env.core.ICommandFactory;
-
-public interface IWebServiceTester {
-  public ICommandFactory generate(TestInfo testInfo);
-  public ICommandFactory launch(TestInfo testInfo);
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/TestInfo.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/TestInfo.java
deleted file mode 100644
index cb6ebe2..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/TestInfo.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import java.util.List;
-
-import org.eclipse.wst.command.internal.provisional.env.core.selection.BooleanSelection;
-import org.eclipse.wst.server.core.IServer;
-/**
- * This holds info that comes from user input or some calculations that 
- * which might be useful to any test extenders
- */
-
-public class TestInfo {
-  private String jspFolder;
-  private String generationModule;
-  private String generationProject;
-  private String serviceProject;
-  private String proxyBean;
-  private String setEndpointMethod;
-  private String clientProject;
-  private String clientModule;
-  private boolean clientNeedEAR;
-  private String clientEARProject;
-  private String clientEARModule;
-  private BooleanSelection[] methods;
-  private String serviceServerTypeID;
-  private String clientServerTypeID;
-  private IServer serviceExistingServer;
-  private IServer clientExistingServer;
-  private List endpoints;
-  private String wsdlServiceURL;
-    
-
-  /**
-  * This is the folder the user has chosen to generate any jsps 
-  * @param jspFolder
-  */
-  public void setJspFolder(String jspFolder){
-	this.jspFolder = jspFolder;  
-  }
-  
-  public String getJspFolder(){
-    return jspFolder;  
-  }
-  
-  /**
-  * This is the project the user has chosen to generate artifacts to  
-  * @param generationProject
-  */
-  public void setGenerationProject(String generationProject){
-    this.generationProject = generationProject;	  
-  }
-  
-  public String getGenerationProject(){
-    return generationProject;	  
-  }
-  
-  /**
-   * This is the Module the user has chosen to generate artifacts to  
-   * @param generationModule
-   */
-   public void setGenerationModule(String generationModule){
-     this.generationModule = generationModule;	  
-   }
-   
-   public String getGenerationModule(){
-     return generationModule;	  
-   }
-  
-  /**
-  * The proxy bean was generated by us this is the name of it  
-  * @param proxyBean
-  */
-  public void setProxyBean(String proxyBean){
-    this.proxyBean = proxyBean;	  
-  }
-  
-  public String getProxyBean(){
-    return proxyBean;	  
-  }
-	  
-  /**
-  * This is the SetEndpointMethod   
-  * @param 
-  */
-  public void setSetEndpointMethod(String setEndpointMethod){
-	this.setEndpointMethod = setEndpointMethod;  
-  }
-  
-  public String getSetEndpointMethod(){
-    return setEndpointMethod;  
-  }
-  
-  /**
-  * The clientProject contains the client artifacts including the 
-  * generated proxy bean   
-  * @param clientProject String
-  */
-  public void setClientProject(String clientProject){
-    this.clientProject = clientProject;	  
-  }
-  
-  public String getClientProject(){
-    return clientProject;	  
-  }
-	  
-  /**
-   * The clientModule contains the client artifacts including the 
-   * module   
-   * @param clientProject String
-   */
-   public void setClientModule(String clientModule){
-     this.clientModule = clientModule;	  
-   }
-   
-   public String getClientModule(){
-     return clientModule;	  
-   }
-  
-  /**
-  * These are methods on the proxybean the user has checked ones 
-  * they want included in the test client     
-  * @param methods
-  */
-  public void setMethods(BooleanSelection[] methods){
-	this.methods = methods;  
-  }
-  
-  public BooleanSelection[] getMethods(){
-    return methods;  
-  }
-  
-  /**
-  * If the command needs a server this is the chosen 
-  * client serverID
-  * @param sampleServerTypeID
-  */
-  public void setServiceServerTypeID(String serviceServerTypeID){
-    this.serviceServerTypeID = serviceServerTypeID;  
-  }
-  
-  public String getServiceServerTypeID(){
-    return serviceServerTypeID;  
-  }
-  
-  /**
-  * If the command needs a server this is the chosen 
-  * client serverID
-  * @param sampleServerTypeID
-  */
-   public void setClientServerTypeID(String clientServerTypeID){
-     this.clientServerTypeID = clientServerTypeID;  
-   }
-   
-   public String getClientServerTypeID(){
-     return clientServerTypeID;  
-   }
-	  
-  /**
-  * This is the IServer if required
-  * @param sampleExistingServer
-  */
-  public void setServiceExistingServer(IServer serviceExistingServer){
-	this.serviceExistingServer = serviceExistingServer;   
-  }
-  
-  public IServer getServiceExistingServer(){
-    return serviceExistingServer;   
-  }
-  
-  /**
-   * This is the String if required
-   * @param clientEARProject
-   */
-   public void setClientEARProject(String clientEARProject){
- 	this.clientEARProject = clientEARProject;   
-   }
-   
-   public String getClientEARProject(){
-     return clientEARProject;   
-   }
-   
-   
-   /**
-    * This is the String if required
-    * @param clientEARProject
-    */
-    public void setClientEARModule(String clientEARModule){
-  	this.clientEARModule = clientEARModule;   
-    }
-    
-    public String getClientEARModule(){
-      return clientEARModule;   
-    }
-   
-  /**
-  * This is the IServer if required
-  * @param sampleExistingServer
-  */
-  public void setClientExistingServer(IServer clientExistingServer){
-    this.clientExistingServer = clientExistingServer;   
-  }
-   
-  public IServer getClientExistingServer(){
-    return clientExistingServer;   
-  }
-   
-  /**
-  * This is the endpoints if monitor service is enabled
-  * @param endpoints
-  */
-  public void setEndpoint(List endpoints){
-	this.endpoints = endpoints;  
-  }
-  public List getEndpoint(){
-    return endpoints;  
-  } 
-
-  /**
-  * This is the project that should be used when dealing with
-  * wsdl
-  * @param serviceProject
-  */
-  public void setServiceProject(String serviceProject){
-    this.serviceProject = serviceProject;    	  
-  }
-
-  public String getServiceProject(){
-    return serviceProject;
-  }
-
-  /**
-  * WSDL URL
-  */
-  public void setWsdlServiceURL(String wsdlServiceURL){
-	this.wsdlServiceURL = wsdlServiceURL;  
-  }
-  
-  public String getWsdlServiceURL(){
-    return wsdlServiceURL;  
-  }
-  
-  /**
-   * clientNeedEAR
-   */
-  public boolean getClientNeedEAR() {
-		return clientNeedEAR;
-	}
-
-	public void setClientNeedEAR(boolean clientNeedEAR) {
-		this.clientNeedEAR = clientNeedEAR;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceClientInfo.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceClientInfo.java
deleted file mode 100644
index 29b779f..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceClientInfo.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-public class WebServiceClientInfo {
-
-	private WebServiceState state;
-	private java.lang.String servletLevel;
-	private java.lang.String j2eeLevel;
-	private java.lang.String serverFactoryId;
-	private java.lang.String serverInstanceId;
-	private java.lang.String webServiceRuntimeId;
-	private java.lang.String wsdlURL;
-	private java.lang.String implURL;
-	
-	public java.lang.String getImplURL() {
-		return implURL;
-	}
-	public void setImplURL(java.lang.String implURL) {
-		this.implURL = implURL;
-	}
-	public java.lang.String getJ2eeLevel() {
-		return j2eeLevel;
-	}
-	public void setJ2eeLevel(java.lang.String level) {
-		j2eeLevel = level;
-	}
-	public java.lang.String getServerFactoryId() {
-		return serverFactoryId;
-	}
-	public void setServerFactoryId(java.lang.String serverFactoryId) {
-		this.serverFactoryId = serverFactoryId;
-	}
-	public java.lang.String getServerInstanceId() {
-		return serverInstanceId;
-	}
-	public void setServerInstanceId(java.lang.String serverInstanceId) {
-		this.serverInstanceId = serverInstanceId;
-	}
-	public java.lang.String getServletLevel() {
-		return servletLevel;
-	}
-	public void setServletLevel(java.lang.String servletLevel) {
-		this.servletLevel = servletLevel;
-	}
-	public WebServiceState getState() {
-		return state;
-	}
-	public void setState(WebServiceState state) {
-		this.state = state;
-	}
-	public java.lang.String getWebServiceRuntimeId() {
-		return webServiceRuntimeId;
-	}
-	public void setWebServiceRuntimeId(java.lang.String webServiceRuntimeId) {
-		this.webServiceRuntimeId = webServiceRuntimeId;
-	}
-	public java.lang.String getWsdlURL() {
-		return wsdlURL;
-	}
-	public void setWsdlURL(java.lang.String wsdlURL) {
-		this.wsdlURL = wsdlURL;
-	}
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceInfo.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceInfo.java
deleted file mode 100644
index 2657c2c..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceInfo.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-public class WebServiceInfo {
-
-	private WebServiceState state;
-	private java.lang.String servletLevel;
-	private java.lang.String j2eeLevel;
-	private java.lang.String serverFactoryId;
-	private java.lang.String serverInstanceId;
-	private java.lang.String webServiceRuntimeId;
-	private java.lang.String wsdlURL;
-	private java.lang.String endPointURL;
-	private java.lang.String implURL;
-	public java.lang.String getEndPointURL()
-	{
-		return endPointURL;
-	}
-	public void setEndPointURL(java.lang.String endPointURL)
-	{
-		this.endPointURL = endPointURL;
-	}
-	public java.lang.String getImplURL()
-	{
-		return implURL;
-	}
-	public void setImplURL(java.lang.String implURL)
-	{
-		this.implURL = implURL;
-	}
-	public java.lang.String getJ2eeLevel()
-	{
-		return j2eeLevel;
-	}
-	public void setJ2eeLevel(java.lang.String level)
-	{
-		j2eeLevel = level;
-	}
-	public java.lang.String getServerFactoryId()
-	{
-		return serverFactoryId;
-	}
-	public void setServerFactoryId(java.lang.String serverFactoryId)
-	{
-		this.serverFactoryId = serverFactoryId;
-	}
-	public java.lang.String getServerInstanceId()
-	{
-		return serverInstanceId;
-	}
-	public void setServerInstanceId(java.lang.String serverInstanceId)
-	{
-		this.serverInstanceId = serverInstanceId;
-	}
-	public java.lang.String getServletLevel()
-	{
-		return servletLevel;
-	}
-	public void setServletLevel(java.lang.String servletLevel)
-	{
-		this.servletLevel = servletLevel;
-	}
-	public WebServiceState getState()
-	{
-		return state;
-	}
-	public void setState(WebServiceState state)
-	{
-		this.state = state;
-	}
-	public java.lang.String getWebServiceRuntimeId()
-	{
-		return webServiceRuntimeId;
-	}
-	public void setWebServiceRuntimeId(java.lang.String webServiceRuntimeId)
-	{
-		this.webServiceRuntimeId = webServiceRuntimeId;
-	}
-	public java.lang.String getWsdlURL()
-	{
-		return wsdlURL;
-	}
-	public void setWsdlURL(java.lang.String wsdlURL)
-	{
-		this.wsdlURL = wsdlURL;
-	}
-	
-	
-}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceScenario.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceScenario.java
deleted file mode 100644
index 1a882f5..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceScenario.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import java.util.List;
-import java.util.Arrays;
-import java.util.Collections;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-public final class WebServiceScenario extends AbstractEnumerator
-{
-
-  public static final int BOTTOMUP = 0;
-  public static final int TOPDOWN = 1;
-  public static final int CLIENT = 2;
-  
-  public static final String BOTTOMUP_LABEL = "BOTTOMUP_LABEL";
-  public static final String TOPDOWN_LABEL = "TOPDOWN_LABEL";
-  public static final String CLIENT_LABEL = "CLIENT_LABEL";
-  
-  public static final WebServiceScenario BOTTOMUP_LITERAL = new WebServiceScenario(BOTTOMUP, "BOTTOMUP");
-  public static final WebServiceScenario TOPDOWN_LITERAL = new WebServiceScenario(TOPDOWN, "TOPDOWN");
-  public static final WebServiceScenario CLIENT_LITERAL = new WebServiceScenario(CLIENT, "CLIENT");
-
-
-  private static final WebServiceScenario[] VALUES_ARRAY =
-    new WebServiceScenario[]
-    {
-	  BOTTOMUP_LITERAL,
-	  TOPDOWN_LITERAL,
-	  CLIENT_LITERAL,
-    };
-
-  public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-
-  public static WebServiceScenario get(String name)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      WebServiceScenario result = VALUES_ARRAY[i];
-      if (result.toString().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-
-  public static WebServiceScenario get(int value)
-  {
-    switch (value)
-    {
-      case BOTTOMUP: return BOTTOMUP_LITERAL;
-      case TOPDOWN: return TOPDOWN_LITERAL;
-      case CLIENT: return CLIENT_LITERAL;
-    }
-    return null;	
-  }
-
-  /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private WebServiceScenario(int value, String name)
-  {
-    super(value, name);
-  }
-  
-
-} //WebServiceScenario
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceState.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceState.java
deleted file mode 100644
index 913eda9..0000000
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/provisional/wsrt/WebServiceState.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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
- *******************************************************************************/
-package org.eclipse.wst.ws.internal.provisional.wsrt;
-
-import java.util.List;
-import java.util.Arrays;
-import java.util.Collections;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-
-public final class WebServiceState extends AbstractEnumerator
-{
-
-  public static final int UNKNOWN = 0;
-  public static final int DEVELOPED = 1;
-  public static final int ASSEMBLED = 2;
-  public static final int DEPLOYED = 3;
-  public static final int INSTALLED = 4;
-  public static final int RUNNING = 5;
-  
-  
-  public static final WebServiceState UNKNOWN_LITERAL = new WebServiceState(UNKNOWN, "UNKNOWN");
-  public static final WebServiceState DEVELOPED_LITERAL = new WebServiceState(DEVELOPED, "DEVELOPED");
-  public static final WebServiceState ASSEMBLED_LITERAL = new WebServiceState(ASSEMBLED, "ASSEMBLED");
-  public static final WebServiceState DEPLOYED_LITERAL = new WebServiceState(DEPLOYED, "DEPLOYED");
-  public static final WebServiceState INSTALLED_LITERAL = new WebServiceState(INSTALLED, "INSTALLED");
-  public static final WebServiceState RUNNING_LITERAL = new WebServiceState(RUNNING, "RUNNING");
-
-  private static final WebServiceState[] VALUES_ARRAY =
-    new WebServiceState[]
-    {
-	  UNKNOWN_LITERAL,
-	  DEVELOPED_LITERAL,
-	  ASSEMBLED_LITERAL,
-	  DEPLOYED_LITERAL,
-	  INSTALLED_LITERAL,
-	  RUNNING_LITERAL,
-    };
-
-  public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-
-  public static WebServiceState get(String name)
-  {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      WebServiceState result = VALUES_ARRAY[i];
-      if (result.toString().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
-
-
-  public static WebServiceState get(int value)
-  {
-    switch (value)
-    {
-      case UNKNOWN: return UNKNOWN_LITERAL;
-      case DEVELOPED: return DEVELOPED_LITERAL;
-      case ASSEMBLED: return ASSEMBLED_LITERAL;
-	  case DEPLOYED: return DEPLOYED_LITERAL;
-	  case INSTALLED: return INSTALLED_LITERAL;
-	  case RUNNING: return RUNNING_LITERAL;
-    }
-    return null;	
-  }
-
-  /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  private WebServiceState(int value, String name)
-  {
-    super(value, name);
-  }
-
-} //WebServiceState
-
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/GenericResourceFactory.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/GenericResourceFactory.java
new file mode 100644
index 0000000..0536d0f
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/GenericResourceFactory.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.registry;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * Patterned after the ResourceFactory classes generated
+ * by the EMF tools, this generic factory handles creation
+ * of EMF resources for XML documents in general.
+ */
+public class GenericResourceFactory extends XMLResourceFactoryImpl
+{
+	/**
+	 * Holds an instance of <code>ExtendedMetaData</code>
+	 * for associating extended metadata with the
+	 * <code>Resource</code> returned by <code>createResource</code>.
+	 */
+	protected ExtendedMetaData extendedMetaData;
+
+	/**
+	 * Constructs a new <code>GenericResourceFactory</code>.
+	 */
+	public GenericResourceFactory()
+	{
+		super();
+		extendedMetaData = ExtendedMetaData.INSTANCE;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.emf.ecore.resource.Resource$Factory#createResource(org.eclipse.emf.common.util.URI)
+	 */
+	public Resource createResource(URI uri)
+	{
+		XMLResource result = new XMLResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/IRegistryManager.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/IRegistryManager.java
new file mode 100644
index 0000000..582e476
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/IRegistryManager.java
@@ -0,0 +1,260 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.registry;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+
+/**
+ * An IRegistryManager manages a family of <code>Registry</code>
+ * and <code>Taxonomy</code> models persisted within some
+ * addressable location such as under a directory in the
+ * filesystem or under a folder in the Eclipse workspace,
+ * and referenced from an index document at the same location. 
+ * <p>
+ * Call <code>RegisteryService.getDefaultRegistryManager()</code>
+ * or <code>RegisteryService.getRegistryManager(URL)</code> to
+ * get a new IRegistryManager.
+ * 
+ * @see org.eclipse.wst.ws.internal.registry.RegistryService#instance()
+ * @see org.eclipse.wst.ws.internal.model.v10.registry.Registry
+ * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy
+ * @author cbrealey
+ */
+public interface IRegistryManager
+{
+	/**
+	 * A constant for use in the <code>removeRegistry(...)</code>
+	 * and <code>removeTaxonomy(...)</code> methods that will
+	 * cause the given registry or taxonomy document to be removed
+	 * from the index, but not deleted.
+	 * 
+	 * @see #removeRegistry(String, boolean)
+	 * @see #removeTaxonomy(String, boolean)
+	 */
+	public boolean KEEP_DOCUMENT = false;
+
+	/**
+	 * A constant for use in the <code>removeRegistry(...)</code>
+	 * and <code>removeTaxonomy(...)</code> methods that will
+	 * cause the given registry or taxonomy document to be removed
+	 * from the index and deleted.
+	 * 
+	 * @see #removeRegistry(String, boolean)
+	 * @see #removeTaxonomy(String, boolean)
+	 */
+	public boolean DELETE_DOCUMENT = true;
+
+	/**
+	 * Returns the URL of the XML index document that references
+	 * the XML registry and taxonomy models managed by this
+	 * Registry Manager.
+	 * 
+	 * @return The URL of the managing document.
+	 * @throws MalformedURLException If a URL to the managing
+	 * document cannot be determined or created.
+	 */
+	public URL getURL () throws MalformedURLException;
+
+	/**
+	 * Adds an <code>ITaxonomyFinder</code> that the
+	 * <code>IRegistryManager</code> can use to find
+	 * the set of <code>Taxonomy</code> models used
+	 * by a given <code>Registry</code> model.
+	 * <code>IRegistryManager.save(registry)</code> needs help finding
+	 * the <code>Taxonomy</code> models used by a <code>Registry</code>,
+	 * if any.
+	 * 
+	 * @param className The name of the concrete <code>Registry<code>
+	 * class for which the <code>ITaxonomyFinder</code> is being added.
+	 * @param taxonomyFinder An <code>ITaxonomyFinder</code> that knows
+	 * how to determine the set of <code>Taxonomy</code> models a given
+	 * concrete <code>Registry</code> model is using.
+	 * @see ITaxonomyFinder
+	 * @see #saveRegistry(Registry)
+	 */
+	public void addTaxonomyFinder ( String className, ITaxonomyFinder taxonomyFinder );
+
+	/**
+	 * Saves a <code>Taxonomy</code> model to an XML document
+	 * located relative to the index XML document as identified by
+	 * <code>getURL()</code>, and updates the index XML document
+	 * with references to the saved taxonomy document.
+	 * The relative pathname to the taxonomy XML document is
+	 * computed by the <code>IRegistryManager</code> and cannot
+	 * be influenced by the caller.
+	 * 
+	 * @param registry The <code>Registry</code> model (and
+	 * referenced <code>Taxonomy</code> models) to save.
+	 * @return A <code>Registry</code> reference.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Registry
+	 * @see #addTaxonomyFinder(String, ITaxonomyFinder)
+	 */
+	public Registry saveRegistry ( Registry registry ) throws CoreException;
+
+	/**
+	 * Loads as necessary and returns a full <code>Registry</code>
+	 * model as identified by the given URI and referenced from
+	 * the index XML document located at <code>getURL()</code>.
+	 * 
+	 * @param uri The URI identifier of the registry.
+	 * @return The <code>Registry</code> model
+	 * or null if no such model can be found.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Registry
+	 */
+	public Registry loadRegistry ( String uri ) throws CoreException;
+
+	/**
+	 * Loads as necessary and returns an array of full <code>Registry</code>
+	 * models as identified by the given array of URIs and referenced from
+	 * the index XML document located at <code>getURL()</code>.
+	 * Useful in conjunction with <code>getRegistryURIs()</code>.
+	 * Note that the length of the returned array may be less than
+	 * the length of the array of URIs in cases where one or more
+	 * URIs fail to resolve to a loadable model.
+	 * 
+	 * @param uris The URI identifiers of the registries.
+	 * @return The array of <code>Registry</code> models,
+	 * never null, but possibly empty.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Registry
+	 */
+	public Registry[] loadRegistries ( String[] uris ) throws CoreException;
+
+	/**
+	 * Returns an array of URI identifiers to <code>Registry</code>
+	 * models in the index managed by this <code>IRegistryManager</code>.
+	 * 
+	 * @return An array of URI identifiers, possibly empty but never null,
+	 * to registered <code>Registry</code> models.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Registry
+	 */
+	public String[] getRegistryURIs () throws CoreException;
+
+	/**
+	 * Removes the <code>Registry</code> model identified by the
+	 * given <code>uri</code> from the index and either keeps or
+	 * deletes the corresponding <code>Registry</code> document
+	 * based on the value given for <code>deleteDocument</code>.
+	 * 
+	 * @param uri The URI identifier of the model to delete.
+	 * @param deleteDocument Either <code>KEEP_DOCUMENT</code>
+	 * or <code>DELETE_DOCUMENT</code> depending on whether the
+	 * model document should be kept or deleted.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Registry
+	 * @see #KEEP_DOCUMENT
+	 * @see #DELETE_DOCUMENT
+	 */
+	public void removeRegistry ( String uri, boolean deleteDocument ) throws CoreException;
+
+	/**
+	 * Saves a <code>Taxonomy</code> model to an XML document
+	 * located relative to the index XML document as identified by
+	 * <code>getURL()</code>, and updates the index XML document
+	 * with references to the saved taxonomy document.
+	 * The relative pathname to the taxonomy XML document is
+	 * computed by the <code>IRegistryManager</code> and cannot
+	 * be influenced by the caller.
+	 * 
+	 * @param taxonomy The <code>Taxonomy</code> model to save.
+	 * @return A <code>Taxonomy</code> reference.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Taxonomy
+	 */
+	public Taxonomy saveTaxonomy ( Taxonomy taxonomy ) throws CoreException;
+
+	/**
+	 * Loads as necessary and returns a full <code>Taxonomy</code>
+	 * model as identified by the given URI and referenced from
+	 * the index XML document located at <code>getURL()</code>.
+	 * 
+	 * @param uri The URI identifier of the taxonomy.
+	 * @return The <code>Taxonomy</code> model
+	 * or null if no such model can be found.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Taxonomy
+	 */
+	public Taxonomy loadTaxonomy ( String uri ) throws CoreException;
+
+	/**
+	 * Loads as necessary and returns an array of full <code>Taxonomy</code>
+	 * models as identified by the given array of URIs and referenced from
+	 * the index XML document located at <code>getURL()</code>.
+	 * Useful in conjunction with <code>getTaxonomyURIs()</code>.
+	 * Note that the length of the returned array may be less than
+	 * the length of the array of URIs in cases where one or more
+	 * URIs fail to resolve to a loadable model. 
+	 * 
+	 * @param uris The URI identifiers of the taxonomies.
+	 * @return The array of <code>Taxonomy</code> models,
+	 * never null, but possibly empty.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Registry
+	 */
+	public Taxonomy[] loadTaxonomies ( String[] uris ) throws CoreException;
+
+	/**
+	 * Returns an array of URI identifiers to <code>Taxonomy</code>
+	 * models in the index managed by this <code>IRegistryManager</code>.
+	 * 
+	 * @return An array of URI identifiers, possibly empty but never null,
+	 * to registered <code>Taxonomy</code> models.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Taxonomy
+	 */
+	public String[] getTaxonomyURIs () throws CoreException;
+
+	/**
+	 * Removes the <code>Taxonomy</code> model identified by the
+	 * given <code>uri</code> from the index and either keeps or
+	 * deletes the corresponding <code>Taxonomy</code> document
+	 * based on the value given for <code>deleteDocument</code>.
+	 * 
+	 * @param uri The URI identifier of the model to delete.
+	 * @param deleteDocument Either <code>KEEP_DOCUMENT</code>
+	 * or <code>DELETE_DOCUMENT</code> depending on whether the
+	 * model document should be kept or deleted.
+	 * @throws CoreException If the operation fails for any reason,
+	 * including but not limited to malformed location URIs in the
+	 * index or general input/output error conditions.
+	 * @see Taxonomy
+	 * @see #KEEP_DOCUMENT
+	 * @see #DELETE_DOCUMENT
+	 */
+	public void removeTaxonomy ( String uri, boolean deleteDocument ) throws CoreException;
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/ITaxonomyFinder.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/ITaxonomyFinder.java
new file mode 100644
index 0000000..e78fcc0
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/ITaxonomyFinder.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.registry;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+
+/**
+ * An <code>ITaxonomyFinder</code> computes the set of
+ * <code>Taxonomy</code> models referenced or used by a
+ * <code>Registry</code>.
+ * @author gilberta@ca.ibm.com
+ * @see IRegistryManager
+ */
+public interface ITaxonomyFinder
+{
+	/**
+	 * Returns an array taxonomies used by the given
+	 * <code>registry</code>. This method never returns null.
+	 *
+	 * @param registry The <code>Registry</code> for which
+	 * a set of taxonomies might be found.
+	 * @return The array of taxonomies, possibly empty.
+	 */
+	public Taxonomy[] taxonomies ( Registry registry );	
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/RegistryManager.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/RegistryManager.java
new file mode 100644
index 0000000..aac978d
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/RegistryManager.java
@@ -0,0 +1,519 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.registry;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.Index;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexFactory;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+
+/**
+ * A typical implementation of <code>IRegistryManager</code>.
+ * @author cbrealey
+ * @see IRegistryManager
+ */
+public class RegistryManager implements IRegistryManager
+{
+	private static String REGISTRY = "Registry";
+	private static String TAXONOMY = "Taxonomy";
+	private static String XML = "xml";
+	private Hashtable taxonomyFinders_;
+	private Index index_;
+	private GenericResourceFactory resourceFactory_ = new GenericResourceFactory();
+	private URL registryURL_= null;
+	private String registryPathname_ = null;
+
+	/**
+	 * Constructs a new RegistryManager for the index XML file
+	 * at the given <code>url</code>.
+	 * @param url The URL to the index XML file.
+	 */
+	RegistryManager ( URL url )
+	{
+		registryURL_ = url;
+		taxonomyFinders_ = new Hashtable();
+	}
+
+	/**
+	 * Constructs a new RegistryManager for the index XML file
+	 * at the given <code>pathname</code>.
+	 * @param pathname The pathname to the index XML file.
+	 */
+	RegistryManager ( String pathname )
+	{
+		registryPathname_ = pathname;
+		taxonomyFinders_ = new Hashtable();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#getURL()
+	 */
+	public URL getURL () throws MalformedURLException
+	{
+		if (registryURL_ == null)
+		{
+			registryURL_ = new File(registryPathname_).toURI().toURL();
+		}
+		return registryURL_;
+	}
+
+	/**
+	 * Returns an absolute URL computed from the absolute URL of the
+	 * index XML document managed by this <code>RegistryManager</code>
+	 * and the given <code>id</code>. This method is used to determine
+	 * a reasonable location URL for registry and taxonomy documents
+	 * when references to them are first to be added to the index XML
+	 * document. This method is idempotent insofar as it will always
+	 * compute the same URL for a given <code>RegistryManager</code>
+	 * and a given <code>id</code>.
+	 * 
+	 * @param id The id of the referenced registry or taxonomy document. 
+	 * @return The absolute URL to the referenced document.
+	 * @throws MalformedURLException If a viable absolute URL cannot
+	 * be computed.
+	 */
+	private URL getURL ( String id ) throws MalformedURLException
+	{
+		String baseUrl = ""; 
+		URL indexUrl = getURL();
+		String indexString = indexUrl.toString();
+		int index = indexString.lastIndexOf("/"); 
+		baseUrl = indexString.substring(0,index + 1);
+		String urlString = baseUrl + id + "." + XML;
+		return new URL(urlString);
+	}
+
+	/**
+	 * Caches and returns the index model. On first call,
+	 * if an index document exists, the index is loaded
+	 * from it, otherwise, a new index is returned.
+	 * @return The index.
+	 * @throws CoreException If the index cannot be loaded for any reason.
+	 */
+	private Index getIndex () throws CoreException
+	{
+		if (index_ == null)
+		{
+			try
+			{
+				URL indexURL = getURL();
+				if (RegistryService.exists(indexURL))
+				{
+					Resource resource = resourceFactory_.createResource(URI.createURI("*.xml"));
+					resource.load(RegistryService.getInputStreamFor(indexURL),null);
+					org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot document = (org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot)resource.getContents().get(0);
+					index_ = document.getIndex();
+				}
+				else
+				{
+					index_ = RTIndexFactory.eINSTANCE.createIndex();
+				}
+			}
+			catch (IOException e)
+			{
+				//TODO: Need a message for this Status.
+				throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",e));
+			}
+		}
+		return index_;
+	}
+
+	/**
+	 * Saves the index model to an XML document.	
+	 * @throws CoreException If the save fails for any reason.
+	 */
+	private void saveIndex () throws CoreException
+	{
+		org.eclipse.wst.ws.internal.model.v10.rtindex.DocumentRoot document = RTIndexFactory.eINSTANCE.createDocumentRoot();
+		document.setIndex(getIndex());
+		Resource resource = resourceFactory_.createResource(URI.createURI("*.xml"));
+		resource.getContents().add(document);
+		try
+		{
+			resource.save(RegistryService.getOutputStreamFor(getURL()),null);
+		}
+		catch (IOException e)
+		{
+			//TODO: Need a message for this Status.
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",e));
+		}
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#addTaxonomyFinder(java.lang.String, org.eclipse.wst.ws.internal.registry.ITaxonomyFinder)
+	 */
+	public void addTaxonomyFinder(String className, ITaxonomyFinder taxonomyFinder)
+	{
+		taxonomyFinders_.put(className,taxonomyFinder);
+	}
+	
+	/**
+	 * Adds the given <code>registry</code> as-is, whether full model
+	 * or reference, to the index only if a registry with the same ID
+	 * or reference is not already stored there.
+	 * @param registry The registry to add.
+	 */
+	private void addRegistryToIndex(Registry registry) throws CoreException
+	{
+		String id = registry.getId();
+		if (id == null) id = registry.getRef();
+		if (id != null && getRegistry(id) == null)
+		{
+			getIndex().getRegistry().add(registry);
+		}
+	}
+	
+	/**
+	 * Adds the given <code>taxonomy</code> as-is, whether full model
+	 * or reference, to the index only if a taxonomy with the same ID
+	 * or reference is not already stored there.
+	 * @param taxonomy The taxonomy to add.
+	 */
+	private void addTaxonomyToIndex(Taxonomy taxonomy) throws CoreException
+	{
+		String id = taxonomy.getId();
+		if (id == null) id = taxonomy.getRef();
+		if (id != null && getTaxonomy(id) == null)
+		{
+		 	getIndex().getTaxonomy().add(taxonomy);	
+		}
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#saveRegistry(org.eclipse.wst.ws.internal.model.v10.registry.Registry)
+	 */
+	public Registry saveRegistry ( Registry registry ) throws CoreException
+	{
+		RegistryService registryService = RegistryService.instance();
+		Registry registryRef = null;
+		try
+		{
+			URL url = getURL(REGISTRY + registry.getId());
+			registryService.saveRegistry(url,registry);
+			registryRef = registryService.newRegistryReference(registry);
+			registryRef.setLocation(url.toString());
+			addRegistryToIndex(registryRef);
+			saveIndex();
+			/*
+			 * TODO: The following pile of code is commented out
+			 * since there isn't a reliable way under the current
+			 * design to save taxonomy models held in a registry model
+			 * 
+			ITaxonomyFinder finder = (ITaxonomyFinder)taxonomyFinders_.get(registry.getClass().getName());
+			if (finder != null)
+			{
+				Taxonomy[] taxonomies = finder.taxonomies(registry);
+				for (int i=0; i<taxonomies.length; i++)
+				{
+					String id = taxonomies[i].getId();
+					String ref = taxonomies[i].getRef();
+					if (id != null)
+					{
+						URL taxonomyURL = getURL(TAXONOMY + id);
+						registryService.saveTaxonomy(taxonomyURL,taxonomies[i]);
+						Taxonomy taxonomyRef = registryService.newTaxonomyReference(taxonomies[i]);
+						taxonomyRef.setLocation(taxonomyURL.toString());
+						addTaxonomyToIndex(taxonomyRef);
+					}
+					else if (ref != null)
+					{
+						if (taxonomies[i].getLocation() == null)
+						{
+							String location = null;
+							Taxonomy taxonomy = getTaxonomy(ref);
+							if (taxonomy != null) location = taxonomy.getLocation();
+							if (location == null) location = getURL(TAXONOMY + ref).toString();
+							taxonomies[i].setLocation(location);
+							if (taxonomy == null)
+							{
+								addTaxonomyToIndex(registryService.newTaxonomyReference(taxonomies[i]));
+							}
+						}
+					}
+				}
+			}
+		    */
+		}
+		catch ( MalformedURLException me )
+		{
+			//TODO: Message text required.
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",me));
+		}
+		return registryService.newRegistryReference(registryRef);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#loadRegistry(java.lang.String)
+	 */
+	public Registry loadRegistry ( String uri ) throws CoreException
+	{
+		RegistryService registryService = RegistryService.instance();
+		try
+		{
+			Registry registry = getRegistry(uri);
+			if (registry == null) return null;
+
+			// If the Registry has an ID, it's a full model
+			// inlined within the Index and is returned as-is.
+			if (registry.getId() != null) return registry;
+
+			// Otherwise it's a reference to a full model
+			// which we load from the reference's location.
+			String urlString = registry.getLocation();
+			if (urlString == null) return null;
+			URL url = new URL(urlString);
+			return registryService.loadRegistry(url);
+		}
+		catch ( MalformedURLException me )
+		{
+			//TODO: Message text required.
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",me));
+		}
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#loadRegistries(java.lang.String[])
+	 */
+	public Registry[] loadRegistries ( String[] uris ) throws CoreException
+	{
+		List list = new ArrayList(uris.length);
+		for (int i=0; i<uris.length; i++)
+		{
+			Registry registry = loadRegistry(uris[i]);
+			if (registry != null)
+			{
+				list.add(registry);
+			}
+		}
+		return (Registry[])list.toArray(new Registry[0]);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#getRegistryURIs()
+	 */
+	public String[] getRegistryURIs () throws CoreException
+	{
+		EList list = getIndex().getRegistry();
+		List registryURIs = new ArrayList(list.size());
+		Iterator iterator = list.iterator();
+		while(iterator.hasNext())
+		{
+			// Each Registry found in the index may be
+			// either a full model or a reference to one.
+			Registry registry = (Registry)iterator.next();
+			if (registry.getId() != null)
+			{
+				registryURIs.add(registry.getId());
+			}
+			else if (registry.getRef() != null)
+			{
+				registryURIs.add(registry.getRef());
+			}
+		}	
+		return (String[])registryURIs.toArray(new String[0]);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#removeRegistry(java.lang.String, boolean)
+	 */
+	public void removeRegistry ( String uri, boolean deleteDocument ) throws CoreException
+	{
+		EList list = getIndex().getRegistry();
+		Registry registry = getRegistry(uri);
+		if (registry != null)
+		{
+			list.remove(registry);
+			saveIndex();
+			// The identified Registry may be either a full model
+			// (ie. inlined in the Index) or a reference to one.
+			// Only in the latter case is there a file to delete.
+			if (deleteDocument && registry.getLocation() != null)
+			{
+				//TODO: Implement me.
+			}
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#saveTaxonomy(org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy)
+	 */
+	public Taxonomy saveTaxonomy ( Taxonomy taxonomy ) throws CoreException
+	{
+		RegistryService registryService = RegistryService.instance();
+		Taxonomy taxonomyRef = null;
+		try
+		{
+			URL	url = getURL(TAXONOMY + taxonomy.getId());
+		    registryService.saveTaxonomy(url,taxonomy);
+			taxonomyRef = registryService.newTaxonomyReference(taxonomy);
+			taxonomyRef.setLocation(url.toString());
+			addTaxonomyToIndex(taxonomyRef);
+			saveIndex();
+		}
+		catch ( MalformedURLException me )
+		{
+			//TODO: Message text required.
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",me));
+		}
+		return registryService.newTaxonomyReference(taxonomyRef);
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#loadTaxonomy(java.lang.String)
+	 */
+	public Taxonomy loadTaxonomy ( String uri ) throws CoreException
+	{
+		RegistryService registryService = RegistryService.instance();
+		try
+		{
+			Taxonomy taxonomy = getTaxonomy(uri);
+			if (taxonomy == null) return null;
+
+			// If the Taxonomy has an ID, it's a full model
+			// inlined within the Index and is returned as-is.
+			if (taxonomy.getId() != null) return taxonomy;
+
+			// Otherwise it's a reference to a full model
+			// which we load from the reference's location.
+			String urlString = taxonomy.getLocation();
+			if (urlString == null) return null;
+			URL url = new URL(urlString);
+			return registryService.loadTaxonomy(url);
+		}
+		catch ( MalformedURLException me )
+		{
+			//TODO: Message text required.
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",me));
+		}
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#loadTaxonomies(java.lang.String[])
+	 */
+	public Taxonomy[] loadTaxonomies ( String[] uris ) throws CoreException
+	{
+		List list = new ArrayList(uris.length);
+		for (int i=0; i<uris.length; i++)
+		{
+			Taxonomy taxonomy = loadTaxonomy(uris[i]);
+			if (taxonomy != null)
+			{
+				list.add(taxonomy);
+			}
+		}
+		return (Taxonomy[])list.toArray(new Taxonomy[0]);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#getTaxonomyURIs()
+	 */
+	public String[] getTaxonomyURIs () throws CoreException
+	{
+		EList list = getIndex().getTaxonomy();
+		List taxonomyURIs = new ArrayList(list.size());
+		Iterator iterator = list.iterator();
+		while(iterator.hasNext())
+		{
+			// Each Taxonomy found in the index may be
+			// either a full model or a reference to one.
+			Taxonomy taxonomy = (Taxonomy)iterator.next();
+			if (taxonomy.getId() != null)
+			{
+				taxonomyURIs.add(taxonomy.getId());
+			}
+			else if (taxonomy.getRef() != null)
+			{
+				taxonomyURIs.add(taxonomy.getRef());
+			}
+		}	
+		return (String[])taxonomyURIs.toArray(new String[0]);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.IRegistryManager#removeTaxonomy(java.lang.String, boolean)
+	 */
+	public void removeTaxonomy ( String uri, boolean deleteDocument ) throws CoreException
+	{
+		EList list = getIndex().getTaxonomy();
+		Taxonomy taxonomy = getTaxonomy(uri);
+		if (taxonomy != null)
+		{
+			list.remove(taxonomy);
+			saveIndex();
+			// The identified Taxonomy may be either a full model
+			// (ie. inlined in the Index) or a reference to one.
+			// Only in the latter case is there a file to delete.
+			if (deleteDocument && taxonomy.getLocation() != null)
+			{
+				//TODO: Implement me.
+			}
+		}
+	}
+
+	/**
+	 * Returns the Registry from the index whose ID or Reference
+	 * matches the given URI. As such, this method may return a
+	 * full model or a reference to a full model.
+	 * @param uri The URI identifier of the Registry
+	 * @return The <code>Registry</code> object whose ID or reference
+	 * matches the given <code>uri</code>, or null if none match.
+	 */
+    private Registry getRegistry ( String uri ) throws CoreException
+    {
+		EList list = getIndex().getRegistry();	
+		Iterator it = list.iterator();
+		while (it.hasNext()){
+			Registry registry = (Registry)it.next();
+			if (uri.equals(registry.getId()) || uri.equals(registry.getRef())){
+				return registry;  
+			}
+		}	
+        return null;
+    }
+	
+	/**
+	 * Returns the Taxonomy from the index whose ID or Reference
+	 * matches the given URI. As such, this method may return a
+	 * full model or a reference to a full model.
+	 * @param uri The URI identifier of the Taxonomy
+	 * @return The <code>Taxonomy</code> object whose ID or reference
+	 * matches the given <code>uri</code>, or null if none match.
+	 */
+    private Taxonomy getTaxonomy ( String uri ) throws CoreException
+    {
+		EList list = getIndex().getTaxonomy();	
+		Iterator it = list.iterator();
+		while (it.hasNext()){
+			Taxonomy taxonomy = (Taxonomy)it.next();
+			if (uri.equals(taxonomy.getId()) || uri.equals(taxonomy.getRef())){
+				return taxonomy;
+			}
+		}	
+        return null;
+	}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/RegistryService.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/RegistryService.java
new file mode 100644
index 0000000..8e8c818
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/RegistryService.java
@@ -0,0 +1,467 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.registry;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Hashtable;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryFactory;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryPackage;
+import org.eclipse.wst.ws.internal.model.v10.rtindex.RTIndexPackage;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyFactory;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyPackage;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+
+/**
+ * RegistryService is the starting class of the Web service registry
+ * programming model. Call the <code>RegistryService.instance()</code>
+ * static method to get the singleton instance of this class.
+ * <p>
+ * RegistryService provides factory methods for getting new
+ * instances of <code>IRegistryManager</code> objects which,
+ * in turn, provide the means for registering and unregistering
+ * groups of <code>Registry</code> and <code>Taxonomy</code> models
+ * at URL addressable locations in the filesystem or elsewhere.
+ * <p>
+ * RegistryService provides utility methods to ease the creation,
+ * loading and saving raw instances of the <code>Registry</code>
+ * and <code>Taxonomy</code> models, and to simplify the process of
+ * composing and finding <code>Taxonomy</code> models in
+ * <code>Registry</code> models.
+ * <p>
+ * A typical use of <code>RegistryService</code> and its related
+ * classes to create and save a new family of models is:
+ * <blockquote>
+ * <code>
+ * RegistryService registryService = RegistryService.instance();
+ * MyRegistry registry = MyRegistryFactory.eINSTANCE.createMyRegistry();
+ * // build up your registry model here
+ * Taxonomy taxonomy = registryService.newTaxonomy();
+ * // build up your taxonomy model here
+ * registryService.addTaxonomy(registry,taxonomy);
+ * IRegistryManager registryManager = registryService.getDefaultRegistryManager();
+ * registryManager.saveRegistry(registry);
+ * </code>
+ * </blockquote>
+ * @see #instance()
+ * @see IRegistryManager
+ * @see Registry
+ * @see Taxonomy
+ * @author cbrealey
+ */
+public class RegistryService
+{
+	private static RegistryService instance_;
+	private static final String DEFAULT_INDEX_XML_FILE = "DefaultIndex.xml";
+	private Hashtable registryManagers_ = new Hashtable();
+	private IRegistryManager defaultRegistryManager_ = null;
+	private GenericResourceFactory resourceFactory_ = new GenericResourceFactory();
+
+	/**
+	 * A RegistryService cannot be directly constructed.
+	 * Use @link #instance() to get the singleton of this class.
+	 */
+	private RegistryService ()
+	{
+		Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("xml",resourceFactory_);
+		RegistryPackage.eINSTANCE.getClass();
+		TaxonomyPackage.eINSTANCE.getClass();
+		RTIndexPackage.eINSTANCE.getClass();
+	}
+
+	/**
+	 * Returns the singleton of this class.
+	 * @return The singleton of this class.
+	 */
+	public static RegistryService instance ()
+	{
+		if (instance_ == null)
+		{
+			instance_ = new RegistryService();
+		}
+		return instance_;
+	}
+	
+	/**
+	 * Creates a default <code>IRegistryManager</code> for the system.
+	 * @return The default <code>IRegistryManager</code> for the system.
+	 * @see IRegistryManager
+	 */
+	public IRegistryManager getDefaultRegistryManager ()
+	{
+		if (defaultRegistryManager_ == null)
+		{
+			String indexFilename = WSPlugin.getDefault().getStateLocation().append(DEFAULT_INDEX_XML_FILE).toString();
+			defaultRegistryManager_ = new RegistryManager(indexFilename);
+		}
+		return defaultRegistryManager_;
+	}
+
+	/**
+	 * Creates a new or existing <code>IRegistryManager</code> for the given URL.
+	 * @param url A URL to the XML document that persists
+	 * the set of registries managed by this <code>IRegistryManager</code>.
+	 * @return The new or existing <code>RegistryManager</code> for the given URL.
+	 * @see IRegistryManager
+	 */
+	public IRegistryManager getRegistryManager ( URL url )
+	{
+		IRegistryManager registryManager = (IRegistryManager)registryManagers_.get(url);
+		if (registryManager == null)
+		{
+			registryManager = new RegistryManager(url);
+			registryManagers_.put(url,registryManager);
+		}
+		return registryManager;
+	}
+	
+	/**
+	 * Removes the <code>IRegistryManager</code> for the given URL.
+	 * No physical resources are deleted.
+	 * @param url A URL to the XML document that persists
+	 * the set of registries managed by this <code>IRegistryManager</code>.
+	 * @see IRegistryManager
+	 */
+	public void removeRegistryManager ( URL url )
+	{
+		registryManagers_.remove(url);
+	}
+
+	/**
+	 * Creates and returns a new <code>Registry</code> model.
+	 * As a general rule, this method has little actual value as
+	 * most concrete registry models will be of types that extend
+	 * the base Registry model, such as <code>UDDIRegistry</code>.
+	 * For example, <code>UDDIRegistryService.newUDDIRegistry()</code>
+	 * returns a new <code>UDDIRegistry</code>. Providers of other
+	 * concrete types of registries may provide similar facilities.
+	 * @return A new <code>Registry</code> model. Never returns null.
+	 * @see Registry
+	 * @see UDDIRegistryService#newUDDIRegistry()
+	 */
+	public Registry newRegistry ()
+	{
+		return RegistryFactory.eINSTANCE.createRegistry();
+	}
+	
+	/**
+	 * Loads the <code>Registry</code> model from an XML document.
+	 * If loading the model of a registry that extends the base
+	 * Registry interface and Schema, you must initialize the EMF
+	 * eCore package (eg. <code>MyRegistryPackage.eINSTANCE</code>
+	 * for your model before calling this load method.
+	 * For UDDI Registry models, this is done automatically by
+	 * calling <code>UDDIRegistryService.instance()</code>.
+	 * @param url The URL to the XML document to load.
+	 * @return The <code>Registry</code> model.
+	 * @throws <code>CoreException</code> If the model cannot be loaded.
+	 * @see Registry
+	 * @see UDDIRegistryService#instance()
+	 */
+	public Registry loadRegistry ( URL url ) throws CoreException
+	{
+		Resource resource = resourceFactory_.createResource(URI.createURI("*.xml"));
+		try
+		{
+			resource.load(getInputStreamFor(url),null);
+		}
+		catch (IOException e)
+		{
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",e));
+		}
+		org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot document = (org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot)resource.getContents().get(0);
+		return document.getRegistry();
+	}
+
+	/**
+	 * Saves the <code>Registry</code> model to an XML document.
+	 * @param url The URL to the XML document to save.
+	 * @param registry The <code>Registry</code> model to save.
+	 * @throws <code>CoreException</code> If the model cannot be saved.
+	 * @see Registry
+	 */
+	public void saveRegistry ( URL url, Registry registry ) throws CoreException
+	{
+		org.eclipse.wst.ws.internal.model.v10.registry.DocumentRoot document = RegistryFactory.eINSTANCE.createDocumentRoot();
+		document.setRegistry(registry);
+		Resource resource = resourceFactory_.createResource(URI.createURI("*.xml"));
+		resource.getContents().add(document);
+		try
+		{
+			resource.save(getOutputStreamFor(url),null);
+		}
+		catch (IOException e)
+		{
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",e));
+		}
+	}
+
+	/**
+	 * Creates and returns a new <code>Taxonomy</code> model.
+	 * @return A new <code>Taxonomy</code> model. Never returns null.
+	 * @see Taxonomy
+	 */
+	public Taxonomy newTaxonomy ()
+	{
+		return TaxonomyFactory.eINSTANCE.createTaxonomy();
+	}
+	
+	/**
+	 * Loads the <code>Taxonomy</code> model from an XML document.
+	 * @param url The URL to the XML document to load.
+	 * @return the <code>Taxonomy</code> model.
+	 * @throws <code>CoreException</code> If the model cannot be loaded.
+	 * @see Taxonomy
+	 */
+	public Taxonomy loadTaxonomy ( URL url ) throws CoreException
+	{
+		Resource resource = resourceFactory_.createResource(URI.createURI("*.xml"));
+		try
+		{
+			resource.load(getInputStreamFor(url),null);
+		}
+		catch (IOException e)
+		{
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",e));
+		}
+		org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot document = (org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot)resource.getContents().get(0);
+		return document.getTaxonomy();
+	}
+
+	/**
+	 * Saves the <code>Taxonomy</code> model to an XML document.
+	 * @param url The URL to the XML document to save.
+	 * @param taxonomy The <code>Taxonomy</code> model to save.
+	 * @throws <code>CoreException</code> If the model cannot be saved.
+	 * @see Taxonomy
+	 */
+	public void saveTaxonomy ( URL url, Taxonomy taxonomy ) throws CoreException
+	{
+		org.eclipse.wst.ws.internal.model.v10.taxonomy.DocumentRoot document = TaxonomyFactory.eINSTANCE.createDocumentRoot();
+		document.setTaxonomy(taxonomy);
+		Resource resource = resourceFactory_.createResource(URI.createURI("*.xml"));
+		resource.getContents().add(document);
+		try
+		{
+			resource.save(getOutputStreamFor(url),null);
+		}
+		catch (IOException e)
+		{
+			throw new CoreException(new Status(IStatus.ERROR,WSPlugin.ID,0,"",e));
+		}
+	}
+
+	/**
+	 * Constructs and returns a new Registry model configured
+	 * to reference the given <code>registry</code>.
+	 * <p>
+	 * The given <code>registry</code> can be either a full
+	 * model as signified by having a non-null, non-empty
+	 * identifier (<code>registry.getId()</code>), or a
+	 * reference itself as signified by having a non-null,
+	 * non-empty reference (<code>registry.getRef()</code>).
+	 * <p>
+	 * If the given <code>registry</code> is a full model,
+	 * then a new <code>Registry</code> is returned such that
+	 * <ul>
+	 * <li><code>getRef()</code> equals <code>registry.getId()</code></li>
+	 * <li><code>getLocation()</code> is null</li>
+	 * <li><code>getId()</code> is null</li>
+	 * </ul>
+	 * <p>
+	 * In the given <code>registry</code> is itself a reference,
+	 * then a new <code>Registry</code> is returned such that
+	 * <ul>
+	 * <li><code>getRef()</code> equals <code>registry.getRef()</code></li>
+	 * <li><code>getLocation()</code> equals <code>registry.getLocation()</code></li>
+	 * <li><code>getId()</code> is null</li>
+	 * </ul>
+	 * 
+	 * @param registry The <code>Registry</code> model to clone or
+	 * refer to depending on whether the given <code>registry</code>
+	 * is a full model or a reference.
+	 * @return A new <code>Registry</code>, guaranteed to be a reference.
+	 */
+	public Registry newRegistryReference ( Registry registry )
+	{
+		String id = registry.getId();
+		String ref = registry.getRef();
+		Registry registryRef = newRegistry();
+		if (ref == null || "".equals(ref))
+		{
+			registryRef.setRef(id);
+		}
+		else
+		{
+			registryRef.setRef(ref);
+			registryRef.setLocation(registry.getLocation());
+		}
+		return registryRef;
+	}
+
+	/**
+	 * Constructs and returns a new Taxonomy model configured
+	 * to reference the given <code>taxonomy</code>.
+	 * <p>
+	 * The given <code>taxonomy</code> can be either a full
+	 * model as signified by having a non-null, non-empty
+	 * identifier (<code>taxonomy.getId()</code>), or a
+	 * reference itself as signified by having a non-null,
+	 * non-empty reference (<code>taxonomy.getRef()</code>).
+	 * <p>
+	 * If the given <code>taxonomy</code> is a full model,
+	 * then a new <code>Taxonomy</code> is returned such that
+	 * <ul>
+	 * <li><code>getRef()</code> equals <code>taxonomy.getId()</code></li>
+	 * <li><code>getLocation()</code> is null</li>
+	 * <li><code>getId()</code> is null</li>
+	 * </ul>
+	 * <p>
+	 * In the given <code>taxonomy</code> is itself a reference,
+	 * then a new <code>Taxonomy</code> is returned such that
+	 * <ul>
+	 * <li><code>getRef()</code> equals <code>taxonomy.getRef()</code></li>
+	 * <li><code>getLocation()</code> equals <code>taxonomy.getLocation()</code></li>
+	 * <li><code>getId()</code> is null</li>
+	 * </ul>
+	 * 
+	 * @param taxonomy The <code>Taxonomy</code> model to clone or
+	 * refer to depending on whether the given <code>taxonomy</code>
+	 * is a full model or a reference.
+	 * @return A new <code>Taxonomy</code>, guaranteed to be a reference.
+	 */
+	public Taxonomy newTaxonomyReference ( Taxonomy taxonomy )
+	{
+		String id = taxonomy.getId();
+		String ref = taxonomy.getRef();
+		Taxonomy taxonomyRef = newTaxonomy();
+		if (ref == null || "".equals(ref))
+		{
+			taxonomyRef.setRef(id);
+		}
+		else
+		{
+			taxonomyRef.setRef(ref);
+			taxonomyRef.setLocation(taxonomy.getLocation());
+		}
+		return taxonomyRef;
+	}
+
+	/**
+	 * Returns true if and only if the given URL identifies
+	 * a resource that exists and is a file.
+	 * @param url The URL of the resource to check for existence.
+	 * @return True if the URL resource exists and is a file,
+	 * or false otherwise.
+	 */
+	static boolean exists ( URL url )
+	{
+		if ("platform".equals(url.getProtocol()))
+		{
+			String urlFile = url.getFile().trim();
+			IPath path = new Path(urlFile).removeFirstSegments(1);
+			if (path.segmentCount() <= 1)
+			{
+				return false;
+			}
+			IPath osPath = ResourcesPlugin.getWorkspace().getRoot().getFile(path).getLocation();
+			if (osPath == null)
+			{
+				return false;
+			}
+			File file = new File(osPath.toString());
+			return (file.exists() && !file.isDirectory());
+		}
+		else if ("file".equals(url.getProtocol()))
+		{
+			File file = new File(url.getFile().trim());
+			return (file.exists() && !file.isDirectory());
+		}
+		return false;
+	}
+
+	/**
+	 * Opens an <code>OutputStream</code> for writing to
+	 * the given <code>url</code>.
+	 * @param url The URL of the resource to write.
+	 * @return An OuptutStream to write to.
+	 * @throws IOException If the stream could not be opened.
+	 */
+	static OutputStream getOutputStreamFor ( URL url ) throws IOException
+	{
+		OutputStream outputStream = null;
+		if ("platform".equals(url.getProtocol()))
+		{
+			String urlFile = url.getFile().trim();
+			IPath path = new Path(urlFile).removeFirstSegments(1);
+			if (path.segmentCount() <= 1)
+			{
+				throw new IOException("The Platform URL {0} is not bound to a local, writable file.");
+			}
+			IPath osPath = ResourcesPlugin.getWorkspace().getRoot().getFile(path).getLocation();
+			if (osPath == null)
+			{
+				throw new IOException("The Platform URL {0} is not bound to a local, writable file.");
+			}
+			File file = new File(osPath.toString());
+			if (file.isDirectory())
+			{
+				throw new IOException("The Platform URL {0} is bound to a folder.");
+			}
+			outputStream = new FileOutputStream(file);
+		}
+		else if ("file".equals(url.getProtocol()))
+		{
+			File file = new File(url.getFile().trim());
+			if (file.isDirectory())
+			{
+				throw new IOException("The File URL {0} is bound to a directory.");
+			}
+			outputStream = new FileOutputStream(file);
+		}
+		else
+		{
+			URLConnection connection = url.openConnection();
+			connection.setDoOutput(true);
+			outputStream = connection.getOutputStream();
+		}
+		return outputStream;
+	}
+
+	/**
+	 * Opens an <code>InputStream</code> for reading from
+	 * the given <code>url</code>.
+	 * @param url The URL of the resource to read.
+	 * @return An InputStream to read from.
+	 * @throws IOException If the stream could not be opened.
+	 */
+	static InputStream getInputStreamFor ( URL url ) throws IOException
+	{
+		return url.openStream();
+	}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/UDDIRegistryService.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/UDDIRegistryService.java
new file mode 100644
index 0000000..eb3ca1c
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/UDDIRegistryService.java
@@ -0,0 +1,230 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.registry;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryFactory;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryPackage;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+
+/**
+ * UDDIRegistryService is an adjunct to <code>RegistryService</code>.
+ * Call the <code>RegistryService.instance()</code> static method to
+ * get the singleton instance of this class.
+ * <p>
+ * UDDIRegistryService provides utility methods to ease the creation
+ * of new <code>UDDIRegistry</code> models and the management of their
+ * relationships to <code>Taxonomy</code> models.
+ * <p>
+ * Utility methods for loading and saving <code>Registry</code> and
+ * <code>Taxonomy</code> models are on <code>RegistryService</code>.
+ * Methods for managing an indexed family of <code>Registry</code> and
+ * <code>Taxonomy</code> models are on <code>IRegistryManager</code>.
+ * <p>
+ * A typical use of <code>UDDIRegistryService</code> and its related
+ * classes to create and save a new family of models is:
+ * <blockquote>
+ * <code>
+ * RegistryService registryService = RegistryService.instance();
+ * UDDIRegistryService uddiRegistryService = UDDIRegistryService.instance();
+ * UDDIRegistry uddiRegistry = uddiRegistryService.newUDDIRegistry();
+ * // build up your registry model here
+ * Taxonomy taxonomy = registryService.newTaxonomy();
+ * // build up your taxonomy model here
+ * uddiRegistryService.addTaxonomy(uddiRegistry,taxonomy);
+ * IRegistryManager registryManager = registryService.getDefaultRegistryManager();
+ * registryManager.saveRegistry(uddiRegistry);
+ * </code>
+ * </blockquote>
+ * @see #instance()
+ * @see RegistryService
+ * @see IRegistryManager
+ * @see UDDIRegistry
+ * @see Taxonomy
+ * @author cbrealey
+ */
+public class UDDIRegistryService
+{
+	private static UDDIRegistryService instance_;
+
+	/**
+	 * A UDDIRegistryService cannot be directly constructed.
+	 * Use @link #instance() to get the singleton of this class.
+	 */
+	private UDDIRegistryService ()
+	{
+		UDDIRegistryPackage.eINSTANCE.getClass();
+	}
+
+	/**
+	 * Returns the singleton of this class.
+	 * @return The singleton of this class.
+	 */
+	public static UDDIRegistryService instance ()
+	{
+		if (instance_ == null)
+		{
+			instance_ = new UDDIRegistryService();
+		}
+		return instance_;
+	}
+	
+	/**
+	 * Adds a reference from the given <code>UDDIRegistry</code>
+	 * to the given <code>Taxonomy</code> object.
+	 * @param uddiRegistry The <code>UDDIRegistry</code> to which the reference
+	 * to the given <code>Taxonomy</code> object should be added.
+	 * @param taxonomy The <code>Taxonomy</code> object to add.
+	 * @see org.eclipse.wst.ws.internal.movel.v10.uddiregistry.UDDIRegistry
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy
+	 */
+	public void addTaxonomy ( UDDIRegistry uddiRegistry, Taxonomy taxonomy )
+	{
+		addTaxonomies(uddiRegistry,new Taxonomy[] {taxonomy});
+	}
+
+	/**
+	 * Adds the given <code>Taxonomy</code> objects as-is
+	 * (whether they are references or full models)
+	 * to the given <code>UDDIRegistry</code>.
+	 * @param uddiRegistry The <code>UDDIRegistry</code> to which
+	 * the given <code>Taxonomy</code> objects should be added.
+	 * @param taxonomies The array of <code>Taxonomy</code> objects to add.
+	 * @see org.eclipse.wst.ws.internal.movel.v10.uddiregistry.UDDIRegistry
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy
+	 */
+	public void addTaxonomies ( UDDIRegistry uddiRegistry, Taxonomy[] taxonomies )
+	{
+		if (taxonomies.length > 0)
+		{
+			Taxonomies taxonomySet = uddiRegistry.getTaxonomies();
+			if (taxonomySet == null)
+			{
+				taxonomySet = UDDIRegistryFactory.eINSTANCE.createTaxonomies();
+				uddiRegistry.setTaxonomies(taxonomySet);
+			}
+			EList list = taxonomySet.getTaxonomy();
+			for (int i=0; i<taxonomies.length; i++)
+			{
+				list.add(taxonomies[i]);
+			}
+		}
+	}
+	
+	/**
+	 * Returns an array of URI identifiers to <code>Taxonomy</code>
+	 * models contained in or referenced by the <code>uddiRegistry</code>.
+	 * Passing the result to <code>IRegistryManager.loadTaxonomies()</code>
+	 * is a handy way to resolve and load the full taxonomy models used
+	 * by the UDDI registry.
+	 * 
+	 * @return An array of URI identifiers, possibly empty but never null,
+	 * to <code>Taxonomy</code> models.
+	 * @see Taxonomy
+	 * @see IRegistryManager#loadTaxonomies(String[])
+	 */
+	public String[] getTaxonomyURIs ( UDDIRegistry uddiRegistry )
+	{
+		Taxonomies taxonomies = uddiRegistry.getTaxonomies();
+		if (taxonomies == null) return new String[0];
+		EList taxonomyList = taxonomies.getTaxonomy();
+		List taxonomyURIs = new ArrayList(taxonomyList.size());
+		Iterator i = taxonomyList.iterator();
+		while (i.hasNext())
+		{
+			Taxonomy taxonomy = (Taxonomy)i.next();
+			if (taxonomy.getId() != null)
+			{
+				taxonomyURIs.add(taxonomy.getId());
+			}
+			else if (taxonomy.getRef() != null)
+			{
+				taxonomyURIs.add(taxonomy.getRef());
+			}
+		}
+		return (String[])taxonomyURIs.toArray(new String[0]);
+	}
+
+	/**
+	 * Returns an array of full <code>Taxonomy</code> models
+	 * contained in or referenced by the given <code>uddiRegistry</code>.
+	 * Inline taxonomies are returned as-is. References to taxonomies are
+	 * resolved by following the locations of the references and loading
+	 * the models at the location URLs.
+	 * This method never returns null, but may return an empty array.
+	 * @param registry The <code>UDDIRegistry</code> whose
+	 * <code>Taxonomy</code> models to find.
+	 * @return The array, never null but possibly length zero,
+	 * of <code>Taxonomy</code> models.
+	 * @see org.eclipse.wst.ws.internal.movel.v10.uddiregistry.UDDIRegistry
+	 * @see org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy
+	 * @see #getTaxonomyURIs(UDDIRegistry)
+	 * @see IRegistryManager#loadTaxonomies(String[])
+	 * @deprecated This method suffers from a lack of awareness of the
+	 * Index XML document that is often responsible for mapping URIs
+	 * to location URLs. Use
+	 * <code>IRegistryManager.loadTaxonomies(getTaxonomyURIs(uddiRegistry))</code>
+	 * instead.
+	 */
+	public Taxonomy[] getTaxonomies ( UDDIRegistry uddiRegistry ) throws CoreException
+	{
+		RegistryService registryService = RegistryService.instance();
+		Taxonomies taxonomies = uddiRegistry.getTaxonomies();
+		if (taxonomies == null) return new Taxonomy[0];
+		EList literalTaxonomyList = taxonomies.getTaxonomy();
+		List resolvedTaxonomyList = new ArrayList(literalTaxonomyList.size());
+		Iterator i = literalTaxonomyList.iterator();
+		while (i.hasNext())
+		{
+			Taxonomy literalTaxonomy = (Taxonomy)i.next();
+			if (literalTaxonomy.getId() != null)
+			{
+				resolvedTaxonomyList.add(literalTaxonomy);
+			}
+			else if (literalTaxonomy.getLocation() != null)
+			{
+				try
+				{
+					Taxonomy resolvedTaxonomy = registryService.loadTaxonomy(new URL(literalTaxonomy.getLocation()));
+					resolvedTaxonomyList.add(resolvedTaxonomy);
+				}
+				catch (MalformedURLException e)
+				{
+					//TODO: Need message text here
+					throw new CoreException(new Status(IStatus.ERROR, WSPlugin.ID, 0, "", e));
+				}
+			}
+		}
+		return (Taxonomy[])resolvedTaxonomyList.toArray(new Taxonomy[0]);
+	}
+	
+	/**
+	 * Creates and returns a new <code>UDDIRegistry</code> model.
+	 * @return A new <code>UDDIRegistry</code> model, never null.
+	 */
+	public UDDIRegistry newUDDIRegistry ()
+	{
+		return UDDIRegistryFactory.eINSTANCE.createUDDIRegistry();
+	}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/UDDITaxonomyFinder.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/UDDITaxonomyFinder.java
new file mode 100644
index 0000000..fd4ce84
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/registry/UDDITaxonomyFinder.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.registry;
+
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
+
+/**
+ * This <code>ITaxonomyFinder</code> for UDDI registries
+ * returns an array of <code>Taxonomy</code>
+ * models used (supported by) the registry.
+ * @author gilberta@ca.ibm.com
+ * @see UDDIRegistry
+ */
+public class UDDITaxonomyFinder implements ITaxonomyFinder
+{
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.ws.internal.registry.ITaxonomyFinder#taxonomies(org.eclipse.wst.ws.internal.model.v10.registry.Registry)
+	 */
+	public Taxonomy[] taxonomies ( Registry registry )
+	{
+		if ( registry instanceof UDDIRegistry )
+		{
+			UDDIRegistry uddiRegistry = (UDDIRegistry)registry;	  
+			return (Taxonomy[])uddiRegistry.getTaxonomies().getTaxonomy().toArray(new Taxonomy[0]);
+		}
+		return null;
+	}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/AbstractWebServiceLocator.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/AbstractWebServiceLocator.java
index bbb27a4..5c4c888 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/AbstractWebServiceLocator.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/AbstractWebServiceLocator.java
@@ -1,7 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.wsfinder;
 
 import java.util.List;
-
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/IWebServiceLocator.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/IWebServiceLocator.java
index 5b26378..980eb58 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/IWebServiceLocator.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/IWebServiceLocator.java
@@ -1,3 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.wsfinder;
 
 import java.util.List;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceFinder.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceFinder.java
index 825ef30..3bf7114 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceFinder.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceFinder.java
@@ -12,9 +12,8 @@
 package org.eclipse.wst.ws.internal.wsfinder;
 
 import java.util.Iterator;
-import java.util.Vector;
 import java.util.List;
-
+import java.util.Vector;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorExtension.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorExtension.java
index da10e49..9542b01 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorExtension.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorExtension.java
@@ -1,3 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.wsfinder;
 
 import org.eclipse.core.runtime.IConfigurationElement;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorRegistry.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorRegistry.java
index d78c558..23d6bff 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorRegistry.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WebServiceLocatorRegistry.java
@@ -1,3 +1,14 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.wsfinder;
 
 import org.eclipse.core.runtime.IConfigurationElement;
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WorkspaceWSDLLocator.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WorkspaceWSDLLocator.java
index f31e929..23a76e1 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WorkspaceWSDLLocator.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsfinder/WorkspaceWSDLLocator.java
@@ -1,18 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.wsfinder;
 
 import java.util.List;
 import java.util.Vector;
-
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceVisitor;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceInfo;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import javax.wsdl.*;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
 
 /**
  * Extends the Web Services Finder Framework.
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsil/AddWSDLToWSILCommand.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsil/AddWSDLToWSILCommand.java
index fd90ce7..17a02d5 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsil/AddWSDLToWSILCommand.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsil/AddWSDLToWSILCommand.java
@@ -20,7 +20,6 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.ResourceBundle;
 
 import javax.wsdl.Definition;
 import javax.xml.parsers.ParserConfigurationException;
@@ -45,28 +44,30 @@
 import org.apache.wsil.extension.wsdl.ReferencedService;
 import org.apache.wsil.extension.wsdl.WSDLConstants;
 import org.apache.wsil.xml.XMLWriter;
-import org.eclipse.wst.command.internal.provisional.env.core.SimpleCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIException;
-import org.eclipse.wst.command.internal.provisional.env.core.uri.URIFactory;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
+import org.eclipse.wst.common.environment.uri.IURIFactory;
+import org.eclipse.wst.common.environment.uri.URIException;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.ws.internal.parser.wsil.IllegalArgumentsException;
+import org.eclipse.wst.ws.internal.parser.wsil.WSILMessages;
 import org.eclipse.wst.ws.internal.parser.wsil.WWWAuthenticationException;
 import org.eclipse.wst.ws.internal.parser.wsil.WWWAuthenticationHandler;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
 import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
-public class AddWSDLToWSILCommand extends SimpleCommand
+public class AddWSDLToWSILCommand extends AbstractDataModelOperation
 {
   public static final String ARG_WSIL = "-wsil";
   public static final String ARG_WSDL = "-wsdl";
   public static final String ARG_RESOLVE_WSDL = "-resolvewsdl";
   public static final String ARG_HTTP_BASIC_AUTH_USERNAME = "-httpusername";
   public static final String ARG_HTTP_BASIC_AUTH_PASSWORD = "-httppassword";
-  private final String id = "org.eclipse.wst.ws.internal.parser.wsil.AddWSDLToWSILCommand";
-  private ResourceBundle resBundle_;
   private WWWAuthenticationHandler wwwAuthHandler_;
   private String[] args_;
   private String wsil_;
@@ -77,8 +78,6 @@
 
   public AddWSDLToWSILCommand()
   {
-    super("org.eclipse.wst.ws.internal.parser.wsil.AddWSDLToWSILCommand", "org.eclipse.wst.ws.internal.parser.wsil.AddWSDLToWSILCommand");
-    resBundle_ = ResourceBundle.getBundle("org.eclipse.wst.ws.internal.parser.wsil.wsil");
     wwwAuthHandler_ = null;
     args_ = new String[0];
     clearParsedArgs();
@@ -106,9 +105,11 @@
    *         or a Status with a severity of less than <code>Status.ERROR</code>
    *         signifies success.
    */
-  public Status execute(Environment environment)
+  public IStatus execute( IProgressMonitor monitor, IAdaptable adaptable )
   {
-    URIFactory uriFactory = environment.getURIFactory();
+    IEnvironment environment = getEnvironment();
+    
+    IURIFactory uriFactory = environment.getURIFactory();
     // Parse arguments
     try
     {
@@ -116,11 +117,11 @@
     }
     catch (IllegalArgumentsException iae)
     {
-      return new SimpleStatus(id, resBundle_.getString("MSG_ERROR_ILLEGAL_ARGUMENTS"), Status.ERROR, iae);
+      return StatusUtils.errorStatus( WSILMessages.MSG_ERROR_ILLEGAL_ARGUMENTS, iae);
     }
     catch (ArrayIndexOutOfBoundsException e)
     {
-      return new SimpleStatus(id, resBundle_.getString("MSG_ERROR_INVALID_ARGUMENTS"), Status.ERROR, e);
+      return StatusUtils.errorStatus( WSILMessages.MSG_ERROR_INVALID_ARGUMENTS, e);
     }
     // Create new WSIL document
     WSILDocument wsilDocument = null;
@@ -132,13 +133,13 @@
     }
     catch (MalformedURLException murle)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_INVALID_WSIL_URI"), Status.ERROR, murle);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_INVALID_WSIL_URI, murle);
       environment.getStatusHandler().reportError(status);
       return status;
     }
     catch (WSILException wsile)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNEXPECTED_EXCEPTION"), Status.ERROR, wsile);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNEXPECTED_EXCEPTION, wsile);
       environment.getStatusHandler().reportError(status);
       return status;
     }
@@ -154,19 +155,19 @@
     }
     catch (URIException urie)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNEXPECTED_EXCEPTION"), Status.ERROR, urie);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNEXPECTED_EXCEPTION, urie);
       environment.getStatusHandler().reportError(status);
       return status;
     }
     catch (IOException ioe)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNEXPECTED_EXCEPTION"), Status.ERROR, ioe);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNEXPECTED_EXCEPTION, ioe);
       environment.getStatusHandler().reportError(status);
       return status;
     }
     catch (WSILException wsile)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNEXPECTED_EXCEPTION"), Status.ERROR, wsile);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNEXPECTED_EXCEPTION, wsile);
       environment.getStatusHandler().reportError(status);
       return status;
     }
@@ -181,7 +182,7 @@
     for (Iterator it = wsdls_.iterator(); it.hasNext();)
     {
       String wsdl = (String) it.next();
-      Status status = null;
+      IStatus status = null;
       try
       {
         status = internalExecute(environment, wsilDocument, platform2File(uriFactory, wsil_), wsdl, httpUsername, httpPassword);
@@ -201,7 +202,7 @@
             }
             catch (WWWAuthenticationException wwwae2)
             {
-              Status wwwaeStatus = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNRESOLVABLE_WSDL"), Status.ERROR, wwwae2.getIOException());
+              IStatus wwwaeStatus = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNRESOLVABLE_WSDL, wwwae2.getIOException());
               environment.getStatusHandler().reportError(wwwaeStatus);
               return wwwaeStatus;
             }
@@ -209,7 +210,7 @@
         }
         if (status == null)
         {
-          Status s = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNRESOLVABLE_WSDL"), Status.ERROR, wwwae.getIOException());
+          IStatus s = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNRESOLVABLE_WSDL, wwwae.getIOException());
           environment.getStatusHandler().reportError(s);
           return s;
         }
@@ -230,26 +231,26 @@
     }
     catch (URIException urie)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_WRITE_WSIL"), Status.ERROR, urie);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_WRITE_WSIL, urie);
       environment.getStatusHandler().reportError(status);
       return status;
     }
     catch (IOException ioe)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_WRITE_WSIL"), Status.ERROR, ioe);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_WRITE_WSIL, ioe);
       environment.getStatusHandler().reportError(status);
       return status;
     }
     catch (WSILException wsile)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_WRITE_WSIL"), Status.ERROR, wsile);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_WRITE_WSIL, wsile);
       environment.getStatusHandler().reportError(status);
       return status;
     }
-    return new SimpleStatus(id, "", Status.OK, null);
+    return Status.OK_STATUS;
   }
 
-  private Status internalExecute(Environment environment, WSILDocument wsilDocument, String wsil, String wsdl, String httpUsername, String httpPassword) throws WWWAuthenticationException
+  private IStatus internalExecute(IEnvironment environment, WSILDocument wsilDocument, String wsil, String wsdl, String httpUsername, String httpPassword) throws WWWAuthenticationException
   {
     Definition definition = null;
     ArrayList wsdlService = new ArrayList();
@@ -263,25 +264,25 @@
       }
       catch (MalformedURLException murle)
       {
-        Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_INVALID_WSDL_URI"), Status.ERROR, murle);
+        IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_INVALID_WSDL_URI, murle);
         environment.getStatusHandler().reportError(status);
         return status;
       }
       catch (IOException ioe)
       {
-        Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNRESOLVABLE_WSDL"), Status.ERROR, ioe);
+        IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNRESOLVABLE_WSDL, ioe);
         environment.getStatusHandler().reportError(status);
         return status;
       }
       catch (ParserConfigurationException pce)
       {
-        Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNEXPECTED_EXCEPTION"), Status.ERROR, pce);
+        IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNEXPECTED_EXCEPTION, pce);
         environment.getStatusHandler().reportError(status);
         return status;
       }
       catch (SAXException saxe)
       {
-        Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_MALFORMED_WSDL"), Status.ERROR, saxe);
+        IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_MALFORMED_WSDL, saxe);
         environment.getStatusHandler().reportError(status);
         return status;
       }
@@ -330,17 +331,17 @@
     }
     catch (WSILException wsile)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNEXPECTED_EXCEPTION"), Status.ERROR, wsile);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNEXPECTED_EXCEPTION, wsile);
       environment.getStatusHandler().reportError(status);
       return status;
     }
     catch (Throwable t)
     {
-      Status status = new SimpleStatus(id, resBundle_.getString("MSG_ERROR_UNEXPECTED_EXCEPTION"), Status.ERROR, t);
+      IStatus status = StatusUtils.errorStatus( WSILMessages.MSG_ERROR_UNEXPECTED_EXCEPTION, t);
       environment.getStatusHandler().reportError(status);
       return status;
     }
-    return new SimpleStatus(id, "", Status.OK, null);
+    return Status.OK_STATUS;
   }
 
   /**
@@ -364,24 +365,9 @@
    *         or a Status with a severity of less than <code>Status.ERROR</code>
    *         signifies success.
    */
-  public Status undo(Environment environment)
+  public IStatus undo(IEnvironment environment)
   {
-    return new SimpleStatus(id, "", Status.OK, null);
-  }
-
-  /**
-   * Re-executes the Command.
-   * 
-   * @param environment
-   *            The environment. Must not be null.
-   * @return A <code>Status</code> object indicating the degree to which the
-   *         <code>redo</code> method was successful. A value of <code>null</code>,
-   *         or a Status with a severity of less then <code>Status.ERROR</code>
-   *         signifies success.
-   */
-  public Status redo(Environment environment)
-  {
-    return execute(environment);
+    return Status.OK_STATUS;
   }
 
   private Definition parseWSDL(String wsdl, ArrayList wsdlService, ArrayList wsdlBinding, String httpUsername, String httpPassword) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, WWWAuthenticationException
@@ -451,14 +437,6 @@
     }
   }
 
-  private QName parseQName(String qnameString)
-  {
-    int colonIndex = qnameString.indexOf(':');
-    String ns = (colonIndex != -1) ? qnameString.substring(0, colonIndex) : "";
-    String localpart = (colonIndex != -1) ? qnameString.substring(colonIndex + 1, qnameString.length()) : qnameString;
-    return new QName(ns, localpart);
-  }
-
   private QName parseQName(javax.xml.namespace.QName qname)
   {
     return new QName(qname.getNamespaceURI(), qname.getLocalPart());
@@ -481,7 +459,7 @@
     return new String(b);
   }
 
-  private String platform2File(URIFactory uriFactory, String uri)
+  private String platform2File(IURIFactory uriFactory, String uri)
   {
     try
     {
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebService.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebService.java
new file mode 100644
index 0000000..2e168bb
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebService.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.common.environment.IEnvironment;
+
+
+public abstract class AbstractWebService implements IWebService {
+	
+	private WebServiceInfo info;
+
+	public AbstractWebService(WebServiceInfo info) {
+		this.info = info;
+	}
+	
+
+	public WebServiceInfo getWebServiceInfo() {
+		return info;
+	}
+
+	public abstract ICommandFactory assemble(IEnvironment env, IContext ctx, ISelection sel,
+			String project, String earProject);
+	
+
+	public abstract ICommandFactory deploy(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+	
+
+	public abstract ICommandFactory develop(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+		
+
+	public abstract ICommandFactory install(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+	
+
+	public abstract ICommandFactory run(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebServiceClient.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebServiceClient.java
new file mode 100644
index 0000000..dfca570
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebServiceClient.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.common.environment.IEnvironment;
+
+
+public abstract class AbstractWebServiceClient implements IWebServiceClient {
+	
+	private WebServiceClientInfo info;
+
+	public AbstractWebServiceClient(WebServiceClientInfo info) {
+		this.info = info;
+	}
+	
+
+	public WebServiceClientInfo getWebServiceClientInfo() {
+		return info;
+	}
+
+	public abstract ICommandFactory assemble(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+	
+
+	public abstract ICommandFactory deploy(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+	
+
+	public abstract ICommandFactory develop(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+		
+
+	public abstract ICommandFactory install(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+	
+
+	public abstract ICommandFactory run(IEnvironment env, IContext ctx, ISelection sel,
+      String project, String earProject);
+}
+
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebServiceRuntime.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebServiceRuntime.java
new file mode 100644
index 0000000..c79033e
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/AbstractWebServiceRuntime.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+
+public abstract class AbstractWebServiceRuntime implements IWebServiceRuntime {
+
+	public abstract IWebService getWebService(WebServiceInfo info);
+	/**
+	 */
+	public abstract IWebServiceClient getWebServiceClient(WebServiceClientInfo info);
+	/**
+	 */
+	public ICommandFactory announce(IWebService webService)
+	{
+		//TODO provide a boiler-plate announce implementation.
+		return null;
+	}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IContext.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IContext.java
new file mode 100644
index 0000000..4e3718f
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IContext.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+public interface IContext {
+	
+	public boolean getAssemble();
+	
+	public boolean getCheckOutFiles();
+	
+	public boolean getClient();
+	
+	public boolean getCreateFolders();
+	
+	public boolean getDeploy();
+	
+	public boolean getDevelop();
+	
+	public boolean getInstall();
+	
+	public boolean getOverWriteFiles();
+	
+	public boolean getPublish();
+	
+	public boolean getRun();
+	
+	public WebServiceScenario getScenario();
+	
+	public boolean getTest();
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/ISelection.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/ISelection.java
new file mode 100644
index 0000000..5893b5a
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/ISelection.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+public interface ISelection {
+	
+	Object[] getSelection();
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebService.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebService.java
new file mode 100644
index 0000000..923e61a
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebService.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.wsrt;
+
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.common.environment.IEnvironment;
+
+
+public interface IWebService {
+
+	/**
+	 */
+	public WebServiceInfo getWebServiceInfo();
+	
+	public ICommandFactory develop(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory deploy(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory assemble(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory install(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory run(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceClient.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceClient.java
new file mode 100644
index 0000000..6321ecc
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceClient.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.wsrt;
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.common.environment.IEnvironment;
+
+public interface IWebServiceClient {
+	
+	/**
+	 */
+	public WebServiceClientInfo getWebServiceClientInfo();
+	
+	public ICommandFactory develop(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory deploy(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory assemble(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory install(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);
+	public ICommandFactory run(IEnvironment env, IContext ctx, ISelection sel, String project, String earProject);	
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServicePublisher.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServicePublisher.java
new file mode 100644
index 0000000..26dc5e8
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServicePublisher.java
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.wsrt;
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+import org.eclipse.wst.common.environment.IEnvironment;
+
+public interface IWebServicePublisher {
+	
+	public ICommandFactory publish(IEnvironment env, IWebService ws);
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceRuntime.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceRuntime.java
new file mode 100644
index 0000000..8f8c2e8
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceRuntime.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.wsrt;
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+
+
+public interface IWebServiceRuntime {
+	
+	/**
+	 */
+	public IWebService getWebService(WebServiceInfo info);
+	/**
+	 */
+	public IWebServiceClient getWebServiceClient(WebServiceClientInfo info);
+	/**
+	 */
+	public ICommandFactory announce(IWebService webService);
+
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceTester.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceTester.java
new file mode 100644
index 0000000..04748ac
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/IWebServiceTester.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.wsrt;
+
+import org.eclipse.wst.command.internal.env.core.ICommandFactory;
+
+public interface IWebServiceTester {
+  public ICommandFactory generate(TestInfo testInfo);
+  public ICommandFactory launch(TestInfo testInfo);
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/SimpleContext.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/SimpleContext.java
index fe0626b..0284b4a 100644
--- a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/SimpleContext.java
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/SimpleContext.java
@@ -1,7 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
 package org.eclipse.wst.ws.internal.wsrt;
 
-import org.eclipse.wst.ws.internal.provisional.wsrt.IContext;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceScenario;
 
 public class SimpleContext implements IContext {
 
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/TestInfo.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/TestInfo.java
new file mode 100644
index 0000000..79d02e1
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/TestInfo.java
@@ -0,0 +1,265 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+import java.util.List;
+
+import org.eclipse.wst.command.internal.env.core.selection.BooleanSelection;
+import org.eclipse.wst.server.core.IServer;
+/**
+ * This holds info that comes from user input or some calculations that 
+ * which might be useful to any test extenders
+ */
+
+public class TestInfo {
+  private String jspFolder;
+  private String generationProject;
+  private String serviceProject;
+  private String proxyBean;
+  private String setEndpointMethod;
+  private String clientProject;
+  private String clientModule;
+  private boolean clientNeedEAR;
+  private String clientEARProject;
+  private String clientEARModule;
+  private BooleanSelection[] methods;
+  private String serviceServerTypeID;
+  private String clientServerTypeID;
+  private IServer serviceExistingServer;
+  private IServer clientExistingServer;
+  private List endpoints;
+  private String wsdlServiceURL;
+  private boolean externalBrowser;  
+
+  /**
+  * This is the folder the user has chosen to generate any jsps 
+  * @param jspFolder
+  */
+  public void setJspFolder(String jspFolder){
+	this.jspFolder = jspFolder;  
+  }
+  
+  public String getJspFolder(){
+    return jspFolder;  
+  }
+  
+  /**
+  * This is the project the user has chosen to generate artifacts to  
+  * @param generationProject
+  */
+  public void setGenerationProject(String generationProject){
+    this.generationProject = generationProject;	  
+  }
+  
+  public String getGenerationProject(){
+    return generationProject;	  
+  }
+  
+  /**
+  * The proxy bean was generated by us this is the name of it  
+  * @param proxyBean
+  */
+  public void setProxyBean(String proxyBean){
+    this.proxyBean = proxyBean;	  
+  }
+  
+  public String getProxyBean(){
+    return proxyBean;	  
+  }
+	  
+  /**
+  * This is the SetEndpointMethod   
+  * @param 
+  */
+  public void setSetEndpointMethod(String setEndpointMethod){
+	this.setEndpointMethod = setEndpointMethod;  
+  }
+  
+  public String getSetEndpointMethod(){
+    return setEndpointMethod;  
+  }
+  
+  /**
+  * The clientProject contains the client artifacts including the 
+  * generated proxy bean   
+  * @param clientProject String
+  */
+  public void setClientProject(String clientProject){
+    this.clientProject = clientProject;	  
+  }
+  
+  public String getClientProject(){
+    return clientProject;	  
+  }
+	  
+  /**
+   * The clientModule contains the client artifacts including the 
+   * module   
+   * @param clientProject String
+   */
+   public void setClientModule(String clientModule){
+     this.clientModule = clientModule;	  
+   }
+   
+   public String getClientModule(){
+     return clientModule;	  
+   }
+  
+  /**
+  * These are methods on the proxybean the user has checked ones 
+  * they want included in the test client     
+  * @param methods
+  */
+  public void setMethods(BooleanSelection[] methods){
+	this.methods = methods;  
+  }
+  
+  public BooleanSelection[] getMethods(){
+    return methods;  
+  }
+  
+  /**
+  * If the command needs a server this is the chosen 
+  * client serverID
+  * @param sampleServerTypeID
+  */
+  public void setServiceServerTypeID(String serviceServerTypeID){
+    this.serviceServerTypeID = serviceServerTypeID;  
+  }
+  
+  public String getServiceServerTypeID(){
+    return serviceServerTypeID;  
+  }
+  
+  /**
+  * If the command needs a server this is the chosen 
+  * client serverID
+  * @param sampleServerTypeID
+  */
+   public void setClientServerTypeID(String clientServerTypeID){
+     this.clientServerTypeID = clientServerTypeID;  
+   }
+   
+   public String getClientServerTypeID(){
+     return clientServerTypeID;  
+   }
+	  
+  /**
+  * This is the IServer if required
+  * @param sampleExistingServer
+  */
+  public void setServiceExistingServer(IServer serviceExistingServer){
+	this.serviceExistingServer = serviceExistingServer;   
+  }
+  
+  public IServer getServiceExistingServer(){
+    return serviceExistingServer;   
+  }
+  
+  /**
+   * This is the String if required
+   * @param clientEARProject
+   */
+   public void setClientEARProject(String clientEARProject){
+ 	this.clientEARProject = clientEARProject;   
+   }
+   
+   public String getClientEARProject(){
+     return clientEARProject;   
+   }
+   
+   
+   /**
+    * This is the String if required
+    * @param clientEARProject
+    */
+    public void setClientEARModule(String clientEARModule){
+  	this.clientEARModule = clientEARModule;   
+    }
+    
+    public String getClientEARModule(){
+      return clientEARModule;   
+    }
+   
+  /**
+  * This is the IServer if required
+  * @param sampleExistingServer
+  */
+  public void setClientExistingServer(IServer clientExistingServer){
+    this.clientExistingServer = clientExistingServer;   
+  }
+   
+  public IServer getClientExistingServer(){
+    return clientExistingServer;   
+  }
+   
+  /**
+  * This is the endpoints if monitor service is enabled
+  * @param endpoints
+  */
+  public void setEndpoint(List endpoints){
+	this.endpoints = endpoints;  
+  }
+  public List getEndpoint(){
+    return endpoints;  
+  } 
+
+  /**
+  * This is the project that should be used when dealing with
+  * wsdl
+  * @param serviceProject
+  */
+  public void setServiceProject(String serviceProject){
+    this.serviceProject = serviceProject;    	  
+  }
+
+  public String getServiceProject(){
+    return serviceProject;
+  }
+
+  /**
+  * WSDL URL
+  */
+  public void setWsdlServiceURL(String wsdlServiceURL){
+	this.wsdlServiceURL = wsdlServiceURL;  
+  }
+  
+  public String getWsdlServiceURL(){
+    return wsdlServiceURL;  
+  }
+  
+  /**
+   * clientNeedEAR
+   */
+  public boolean getClientNeedEAR() {
+		return clientNeedEAR;
+  }
+
+  public void setClientNeedEAR(boolean clientNeedEAR) {
+		this.clientNeedEAR = clientNeedEAR;
+  }
+
+  /**
+   * external browser
+   */
+  public boolean getExternalBrowser() 
+  {
+	  return externalBrowser;
+  }
+
+  public void setExternalBrowser(boolean externalBrowser) {
+	  this.externalBrowser = externalBrowser;
+  }
+
+
+	
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceClientInfo.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceClientInfo.java
new file mode 100644
index 0000000..1b3996e
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceClientInfo.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+public class WebServiceClientInfo {
+
+	private WebServiceState state;
+	private java.lang.String serverFactoryId;
+	private java.lang.String serverInstanceId;
+	private java.lang.String webServiceRuntimeId;
+	private java.lang.String wsdlURL;
+	private java.lang.String implURL;
+	
+	public java.lang.String getImplURL() {
+		return implURL;
+	}
+	public void setImplURL(java.lang.String implURL) {
+		this.implURL = implURL;
+	}
+	public java.lang.String getServerFactoryId() {
+		return serverFactoryId;
+	}
+	public void setServerFactoryId(java.lang.String serverFactoryId) {
+		this.serverFactoryId = serverFactoryId;
+	}
+	public java.lang.String getServerInstanceId() {
+		return serverInstanceId;
+	}
+	public void setServerInstanceId(java.lang.String serverInstanceId) {
+		this.serverInstanceId = serverInstanceId;
+	}
+	public WebServiceState getState() {
+		return state;
+	}
+	public void setState(WebServiceState state) {
+		this.state = state;
+	}
+	public java.lang.String getWebServiceRuntimeId() {
+		return webServiceRuntimeId;
+	}
+	public void setWebServiceRuntimeId(java.lang.String webServiceRuntimeId) {
+		this.webServiceRuntimeId = webServiceRuntimeId;
+	}
+	public java.lang.String getWsdlURL() {
+		return wsdlURL;
+	}
+	public void setWsdlURL(java.lang.String wsdlURL) {
+		this.wsdlURL = wsdlURL;
+	}
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceInfo.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceInfo.java
new file mode 100644
index 0000000..348a086
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceInfo.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+
+package org.eclipse.wst.ws.internal.wsrt;
+
+public class WebServiceInfo {
+
+	private WebServiceState state;
+	private java.lang.String serverFactoryId;
+	private java.lang.String serverInstanceId;
+	private java.lang.String webServiceRuntimeId;
+	private java.lang.String wsdlURL;
+	private java.lang.String endPointURL;
+	private java.lang.String implURL;
+	public java.lang.String getEndPointURL()
+	{
+		return endPointURL;
+	}
+	public void setEndPointURL(java.lang.String endPointURL)
+	{
+		this.endPointURL = endPointURL;
+	}
+	public java.lang.String getImplURL()
+	{
+		return implURL;
+	}
+	public void setImplURL(java.lang.String implURL)
+	{
+		this.implURL = implURL;
+	}
+	public java.lang.String getServerFactoryId()
+	{
+		return serverFactoryId;
+	}
+	public void setServerFactoryId(java.lang.String serverFactoryId)
+	{
+		this.serverFactoryId = serverFactoryId;
+	}
+	public java.lang.String getServerInstanceId()
+	{
+		return serverInstanceId;
+	}
+	public void setServerInstanceId(java.lang.String serverInstanceId)
+	{
+		this.serverInstanceId = serverInstanceId;
+	}
+	public WebServiceState getState()
+	{
+		return state;
+	}
+	public void setState(WebServiceState state)
+	{
+		this.state = state;
+	}
+	public java.lang.String getWebServiceRuntimeId()
+	{
+		return webServiceRuntimeId;
+	}
+	public void setWebServiceRuntimeId(java.lang.String webServiceRuntimeId)
+	{
+		this.webServiceRuntimeId = webServiceRuntimeId;
+	}
+	public java.lang.String getWsdlURL()
+	{
+		return wsdlURL;
+	}
+	public void setWsdlURL(java.lang.String wsdlURL)
+	{
+		this.wsdlURL = wsdlURL;
+	}
+	
+	
+}
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceScenario.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceScenario.java
new file mode 100644
index 0000000..fe68771
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceScenario.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.wsrt;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+
+public final class WebServiceScenario extends AbstractEnumerator
+{
+
+  public static final int BOTTOMUP = 0;
+  public static final int TOPDOWN = 1;
+  public static final int CLIENT = 2;
+  
+  public static final String BOTTOMUP_LABEL = "BOTTOMUP_LABEL";
+  public static final String TOPDOWN_LABEL = "TOPDOWN_LABEL";
+  public static final String CLIENT_LABEL = "CLIENT_LABEL";
+  
+  public static final WebServiceScenario BOTTOMUP_LITERAL = new WebServiceScenario(BOTTOMUP, "BOTTOMUP");
+  public static final WebServiceScenario TOPDOWN_LITERAL = new WebServiceScenario(TOPDOWN, "TOPDOWN");
+  public static final WebServiceScenario CLIENT_LITERAL = new WebServiceScenario(CLIENT, "CLIENT");
+
+
+  private static final WebServiceScenario[] VALUES_ARRAY =
+    new WebServiceScenario[]
+    {
+	  BOTTOMUP_LITERAL,
+	  TOPDOWN_LITERAL,
+	  CLIENT_LITERAL,
+    };
+
+  public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+
+  public static WebServiceScenario get(String name)
+  {
+    for (int i = 0; i < VALUES_ARRAY.length; ++i)
+    {
+      WebServiceScenario result = VALUES_ARRAY[i];
+      if (result.toString().equals(name))
+      {
+        return result;
+      }
+    }
+    return null;
+  }
+
+
+  public static WebServiceScenario get(int value)
+  {
+    switch (value)
+    {
+      case BOTTOMUP: return BOTTOMUP_LITERAL;
+      case TOPDOWN: return TOPDOWN_LITERAL;
+      case CLIENT: return CLIENT_LITERAL;
+    }
+    return null;	
+  }
+
+  /**
+   * Only this class can construct instances.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private WebServiceScenario(int value, String name)
+  {
+    super(value, name);
+  }
+  
+
+} //WebServiceScenario
diff --git a/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceState.java b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceState.java
new file mode 100644
index 0000000..cf20c0d
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws/src/org/eclipse/wst/ws/internal/wsrt/WebServiceState.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2005 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
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.wsrt;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+
+public final class WebServiceState extends AbstractEnumerator
+{
+
+  public static final int UNKNOWN = 0;
+  public static final int DEVELOPED = 1;
+  public static final int ASSEMBLED = 2;
+  public static final int DEPLOYED = 3;
+  public static final int INSTALLED = 4;
+  public static final int RUNNING = 5;
+  
+  
+  public static final WebServiceState UNKNOWN_LITERAL = new WebServiceState(UNKNOWN, "UNKNOWN");
+  public static final WebServiceState DEVELOPED_LITERAL = new WebServiceState(DEVELOPED, "DEVELOPED");
+  public static final WebServiceState ASSEMBLED_LITERAL = new WebServiceState(ASSEMBLED, "ASSEMBLED");
+  public static final WebServiceState DEPLOYED_LITERAL = new WebServiceState(DEPLOYED, "DEPLOYED");
+  public static final WebServiceState INSTALLED_LITERAL = new WebServiceState(INSTALLED, "INSTALLED");
+  public static final WebServiceState RUNNING_LITERAL = new WebServiceState(RUNNING, "RUNNING");
+
+  private static final WebServiceState[] VALUES_ARRAY =
+    new WebServiceState[]
+    {
+	  UNKNOWN_LITERAL,
+	  DEVELOPED_LITERAL,
+	  ASSEMBLED_LITERAL,
+	  DEPLOYED_LITERAL,
+	  INSTALLED_LITERAL,
+	  RUNNING_LITERAL,
+    };
+
+  public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+
+  public static WebServiceState get(String name)
+  {
+    for (int i = 0; i < VALUES_ARRAY.length; ++i)
+    {
+      WebServiceState result = VALUES_ARRAY[i];
+      if (result.toString().equals(name))
+      {
+        return result;
+      }
+    }
+    return null;
+  }
+
+
+  public static WebServiceState get(int value)
+  {
+    switch (value)
+    {
+      case UNKNOWN: return UNKNOWN_LITERAL;
+      case DEVELOPED: return DEVELOPED_LITERAL;
+      case ASSEMBLED: return ASSEMBLED_LITERAL;
+	  case DEPLOYED: return DEPLOYED_LITERAL;
+	  case INSTALLED: return INSTALLED_LITERAL;
+	  case RUNNING: return RUNNING_LITERAL;
+    }
+    return null;	
+  }
+
+  /**
+   * Only this class can construct instances.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private WebServiceState(int value, String name)
+  {
+    super(value, name);
+  }
+
+} //WebServiceState
+
diff --git a/bundles/org.eclipse.wst.wsdl.ui/.classpath b/bundles/org.eclipse.wst.wsdl.ui/.classpath
index cb01053..ed58bc2 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/.classpath
+++ b/bundles/org.eclipse.wst.wsdl.ui/.classpath
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-validation"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.wst.wsdl.ui/.cvsignore b/bundles/org.eclipse.wst.wsdl.ui/.cvsignore
index f13f259..911ed7f 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/.cvsignore
+++ b/bundles/org.eclipse.wst.wsdl.ui/.cvsignore
@@ -3,3 +3,5 @@
 wsdleditor.jar
 temp.folder
 org.eclipse.wst.wsdl.ui_1.0.0.jar
+@dot
+src.zip
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 31822a0..da7212d 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
@@ -2,8 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_UI_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsdl.ui; singleton:=true
-Bundle-Version: 0.7.1
-Bundle-ClassPath: wsdleditor.jar
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
@@ -28,6 +27,7 @@
  org.eclipse.wst.wsdl.ui.internal.model,
  org.eclipse.wst.wsdl.ui.internal.nsedit,
  org.eclipse.wst.wsdl.ui.internal.outline,
+ org.eclipse.wst.wsdl.ui.internal.parameters,
  org.eclipse.wst.wsdl.ui.internal.properties.section,
  org.eclipse.wst.wsdl.ui.internal.reconciler,
  org.eclipse.wst.wsdl.ui.internal.text,
@@ -35,6 +35,7 @@
  org.eclipse.wst.wsdl.ui.internal.util,
  org.eclipse.wst.wsdl.ui.internal.util.flatui,
  org.eclipse.wst.wsdl.ui.internal.util.ui,
+ org.eclipse.wst.wsdl.ui.internal.validation,
  org.eclipse.wst.wsdl.ui.internal.viewers,
  org.eclipse.wst.wsdl.ui.internal.viewers.widgets,
  org.eclipse.wst.wsdl.ui.internal.visitor,
@@ -68,6 +69,7 @@
  org.eclipse.emf.edit,
  org.eclipse.emf.edit.ui,
  org.eclipse.wst.validation,
- org.wsdl4j
+ org.wsdl4j,
+ org.eclipse.wst.wsdl.validation
 Eclipse-AutoStart: true
 Plugin-Class: org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin
diff --git a/bundles/org.eclipse.wst.wsdl.ui/build.properties b/bundles/org.eclipse.wst.wsdl.ui/build.properties
index 4de2319..2743386 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/build.properties
+++ b/bundles/org.eclipse.wst.wsdl.ui/build.properties
@@ -11,9 +11,10 @@
 bin.includes = plugin.xml,\
                plugin.properties,\
                icons/,\
-               wsdleditor.jar,\
+               .,\
                META-INF/,\
                about.html
-jars.compile.order = wsdleditor.jar
-source.wsdleditor.jar = src/
-output.wsdleditor.jar = bin/
+jars.compile.order = .
+source.. = src/,\
+           src-validation
+output.. = bin/
diff --git a/bundles/org.eclipse.wst.wsdl.ui/plugin.properties b/bundles/org.eclipse.wst.wsdl.ui/plugin.properties
index 2ba7c9d..587a733 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.wsdl.ui/plugin.properties
@@ -316,7 +316,16 @@
 23concat_EXC_=Resource {0} does not exist.
 32concat_EXC_=Editor could not be open on {0}
 An_error_has_occurred_when1_ERROR_=An error has occurred when initializing the input for the the editor's source page.
+
+AddBookmark.label=Add Boo&kmark...
+SelectRuler.label=Select Ruler
+
 ! ----------------------------------------------------------------
 ! Translators : please don't translate any string below this line 
 ! ----------------------------------------------------------------
-! _DEBUG_UPDATE_POLICY = 0
\ No newline at end of file
+! _DEBUG_UPDATE_POLICY = 0Dummy.label=
+
+
+!-- WSDL Validation UI Menu Items
+_UI_MENU_VALIDATE_WSDL                     = Validate WSDL File
+_UI_WSDL_VALIDATOR                         = WSDL Validator
diff --git a/bundles/org.eclipse.wst.wsdl.ui/plugin.xml b/bundles/org.eclipse.wst.wsdl.ui/plugin.xml
index c5deb7d..d866198 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.wsdl.ui/plugin.xml
@@ -17,50 +17,42 @@
 
 	<extension-point
 		id="internalEditorExtensions"
-		name="Internal Editor Extensions" />
+		name="Internal Editor Extensions"
+		schema="schema/internalEditorExtensions.exsd" />
+		
 	<extension-point
 		id="extensibilityItemTreeProviders"
-		name="Extensibility Item Tree Providers" />
-	<extension-point
-		id="propertySourceProvider"
-		name="Property Source Providers" />
+		name="Extensibility Item Tree Providers"
+		schema="schema/extensibilityItemTreeProviders.exsd" />
 
 	<!-- This extension point is used to suplement WSDL 1.1 schemas in order to   -->
 	<!-- constrain the extensiblity elements that are allowed at the 'wsdl' level -->
 	<extension-point
 		id="extensibilityElementFilter"
-		name="Extensiblity Element Filter" />
+		name="Extensiblity Element Filter"
+		schema="schema/extensibilityElementFilter.exsd" />
 
 	<extension-point
 		id="propertyDescriptorProvider"
-		name="Property Descriptor Provider" />
-
-	<extension-point
-		id="detailsViewerProviders"
-		name="Details Viewer Providers" />
+		name="Property Descriptor Provider"
+		schema="schema/propertyDescriptorProvider.exsd" />
 
 	<extension
 		point="org.eclipse.wst.wsdl.ui.extensibilityItemTreeProviders">
 		<extensibilityItemTreeProvider
-			id="org.eclipse.wst.wsdl.ui.internal.extensibilityItemTreeProviders.http"
 			namespace="http://schemas.xmlsoap.org/wsdl/http/"
 			labelProviderClass="org.eclipse.wst.wsdl.ui.internal.outline.HTTPLabelProvider">
 		</extensibilityItemTreeProvider>
 	</extension>
 
-
 	<extension
 		point="org.eclipse.wst.wsdl.ui.extensibilityItemTreeProviders">
 		<extensibilityItemTreeProvider
-			id="org.eclipse.wst.wsdl.ui.extensibilityItemTreeProviders.soap"
 			namespace="http://schemas.xmlsoap.org/wsdl/soap/"
 			labelProviderClass="org.eclipse.wst.wsdl.ui.internal.outline.SOAPLabelProvider">
 		</extensibilityItemTreeProvider>
 	</extension>
 
-
-
-
 	<extension
 		point="org.eclipse.wst.wsdl.ui.extensibilityElementFilter">
 		<extensibilityElementFilter
@@ -153,6 +145,21 @@
 			-->
 
 		</editorContribution>
+        <editorContribution
+            targetID="org.eclipse.wst.wsdl.wsdlsource.source"
+            id="org.eclipse.wst.wsdl.wsdlsource.ruler.actions">
+         <action
+               label="%AddBookmark.label"
+               helpContextId="org.eclipse.ui.bookmark_action_context"
+               class="org.eclipse.ui.texteditor.BookmarkRulerAction"
+               actionID="RulerDoubleClick"
+               id="org.eclipse.ui.texteditor.BookmarkRulerAction"/>
+         <action
+               label="%SelectRuler.label"
+               class="org.eclipse.ui.texteditor.SelectRulerAction"
+               actionID="RulerClick"
+               id="org.eclipse.ui.texteditor.SelectRulerAction"/>
+        </editorContribution>
 	</extension>
 
 	<extension point="org.eclipse.ui.preferencePages">
@@ -169,19 +176,19 @@
 			type="preferencepages"
 			value="org.eclipse.wst.wsdl.ui.internal.util.WSDLPreferencePage"
 			target="org.eclipse.wst.wsdl.ui.internal.WSDLEditor.source" />
-		<!--
-			<propertySheetConfiguration
-			class="org.eclipse.wst.wsdl.ui.internal.properties.WSDLPropertySheetConfiguration"
-			target="org.eclipse.wst.wsdl.ui.internal.WSDLTextEditor">
-			</propertySheetConfiguration>
-		-->
+		<sourceViewerConfiguration
+			class="org.eclipse.wst.wsdl.ui.internal.StructuredTextViewerConfigurationWSDL"
+			target="org.eclipse.wst.wsdl.wsdlsource" />
+		<contentOutlineConfiguration
+			class="org.eclipse.wst.wsdl.ui.internal.outline.WSDLContentOutlineConfiguration"
+			target="org.eclipse.wst.wsdl.wsdlsource" />
 	</extension>
 
 	<extension
 		point="org.eclipse.wst.common.ui.properties.propertyContributor">
 		<propertyContributor
 			typeMapper="org.eclipse.wst.wsdl.ui.internal.properties.section.WSDLTypeMapper"
-			contributorId="org.eclipse.wst.wsdl.ui.internal.WSDLTextEditor"
+			contributorId="org.eclipse.wst.wsdl.ui.internal.WSDLEditor"
 			sectionDescriptorProvider="org.eclipse.wst.wsdl.ui.internal.properties.section.WSDLSectionDescriptorProvider"
 			labelProvider="org.eclipse.wst.wsdl.ui.internal.properties.section.WSDLLabelProvider">
 			<propertyCategory category="general"></propertyCategory>
@@ -198,7 +205,7 @@
 	<extension
 		point="org.eclipse.wst.common.ui.properties.propertyTabs">
 		<propertyTabs
-			contributorId="org.eclipse.wst.wsdl.ui.internal.WSDLTextEditor">
+			contributorId="org.eclipse.wst.wsdl.ui.internal.WSDLEditor">
 			<propertyTab
 				label="%_UI_LABEL_GENERAL"
 				category="general"
@@ -247,7 +254,6 @@
 	<extension
 		point="org.eclipse.wst.wsdl.ui.extensibilityItemTreeProviders">
 		<extensibilityItemTreeProvider
-			id="org.eclipse.wst.wsdl.ui.extensibilityItemTreeProviders.xsd"
 			namespace="http://www.w3.org/2001/XMLSchema"
 			labelProviderClass="org.eclipse.wst.wsdl.ui.internal.xsd.XSDLabelProvider">
 		</extensibilityItemTreeProvider>
@@ -274,4 +280,47 @@
 			contentType="org.eclipse.wst.wsdl.wsdlsource">
 		</modelQueryExtension>
 	</extension>
+	
+   <!-- ====================================================== -->
+   <!-- Set the Validate WSDL File context menu item. This     -->
+   <!-- menu item should be removed once the validation        -->
+   <!-- framework is modified to create the item.              -->
+   <!-- ====================================================== -->
+   <extension
+         point="org.eclipse.ui.popupMenus">
+      <objectContribution
+            objectClass="org.eclipse.core.resources.IFile"
+            nameFilter="*.wsdl"
+            id="org.eclipse.wst.wsdl.validation.wsdlaction">
+         <action
+               label="%_UI_MENU_VALIDATE_WSDL"
+               class="org.eclipse.wst.wsdl.ui.internal.validation.ValidateWSDLActionDelegate"
+               enablesFor="1"
+               id="org.eclipse.wst.wsdl.ui.internal.validation.ValidateWSDLActionDelegate">
+         </action>
+      </objectContribution>
+   </extension>
+   
+   <!-- ====================================================== -->
+   <!-- An extension for adding the WSDL validator to the      -->
+   <!-- validation framework. 						           -->										   -->
+   <!-- ====================================================== -->
+   <extension
+         id="wsdlValidator"
+         name="%_UI_WSDL_VALIDATOR"
+         point="org.eclipse.wst.validation.validator">
+      <validator>
+         <filter
+               objectClass="org.eclipse.core.resources.IFile"
+               caseSensitive="false"
+               nameFilter="*.wsdl">
+         </filter>
+         <helper
+               class="org.eclipse.wst.xml.core.internal.validation.core.Helper">
+         </helper>
+         <run
+               class="org.eclipse.wst.wsdl.ui.internal.validation.Validator">
+         </run>
+      </validator>
+   </extension>
 </plugin>
diff --git a/bundles/org.eclipse.wst.wsdl.ui/schema/extensibilityElementFilter.exsd b/bundles/org.eclipse.wst.wsdl.ui/schema/extensibilityElementFilter.exsd
new file mode 100644
index 0000000..b9470d8
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/schema/extensibilityElementFilter.exsd
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.wsdl.ui">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.wsdl.ui" id="extensibilityelementFilter" name="Extensibility Element Filter"/>
+      </appInfo>
+      <documentation>
+         The Extensibility Element Filter extension point allows clients to register filters for Extensibility Elements in the WSDL Editor based on the Extensibility Element&apos;s namespace.  These filters determine what is to be displayed in the WSDL Editor.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="extensibilityElementFilter"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="extensibilityElementFilter">
+      <complexType>
+         <attribute name="namespace" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The namespace this extension point instance applies to.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The class that implements &lt;code&gt;org.eclipse.wst.wsdl.ui.internal.filter.ExtensiblityElementFilter&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of an Extensibility Element Filter contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.wsdl.ui.extensibilityElementFilter&quot;&gt;
+      &lt;extensibilityElementFilter
+            namespace=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;
+            class=&quot;org.eclipse.wst.wsdl.ui.internal.filter.SoapExtensiblityElementFilter&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The supplied class must implement &lt;code&gt;org.eclipse.wst.wsdl.ui.internal.filter.ExtensiblityElementFilter&lt;/code&gt;.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.wsdl.ui/schema/extensibilityItemTreeProviders.exsd b/bundles/org.eclipse.wst.wsdl.ui/schema/extensibilityItemTreeProviders.exsd
new file mode 100644
index 0000000..e7f897c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/schema/extensibilityItemTreeProviders.exsd
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.wsdl.ui">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.wsdl.ui" id="extensibilityItemTreeProviders" name="Extensibility Item Tree Providers"/>
+      </appInfo>
+      <documentation>
+         The Extensibility Item Tree Provider extension point allows clients to register custom ILabelProviders (to provide custom labels and icons) for Extensibility Elements in the WSDL Editor based on the Extensibility Element&apos;s namespace.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="extensibilityItemTreeProvider"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="extensibilityItemTreeProvider">
+      <complexType>
+         <attribute name="namespace" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The namespace this extension point instance applies to.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="labelProviderClass" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The class that implements &lt;code&gt;org.eclipse.jface.viewers.ILabelProvider&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of an Extensibility Item Tree Provider contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.wsdl.ui.extensibilityItemTreeProviders&quot;&gt;
+      &lt;extensibilityItemTreeProvider
+            namespace=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;
+            labelProviderClass=&quot;org.eclipse.wst.wsdl.ui.internal.outline.SOAPLabelProvider&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The supplied class must implement &lt;code&gt;org.eclipse.jface.viewers.ILabelProvider&lt;/code&gt;.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.wsdl.ui/schema/internalEditorExtensions.exsd b/bundles/org.eclipse.wst.wsdl.ui/schema/internalEditorExtensions.exsd
new file mode 100644
index 0000000..f5710d7
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/schema/internalEditorExtensions.exsd
@@ -0,0 +1,107 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.wsdl.ui">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.wsdl.ui" id="internalEditorExtensions" name="Internal Editor Extensions"/>
+      </appInfo>
+      <documentation>
+         The Internal Editor Extension point is used to provide GUI objects, actions, context menu items, etc... for non WSDL Model Objects in the WSDL Editor.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="internalEditorExtension"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="internalEditorExtension">
+      <complexType>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The class that implements &lt;code&gt;org.eclipse.wst.wsdl.ui.internal.extension.WSDLEditorExtension&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of an Internal Editor Extension contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.wsdl.ui.internalEditorExtensions&quot;&gt;
+      &lt;internalEditorExtension
+            class=&quot;org.eclipse.wst.wsdl.ui.internal.xsd.XSDExtension&quot; /&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The supplied class must implement &lt;code&gt;org.eclipse.wst.wsdl.ui.internal.extension.WSDLEditorExtension&lt;/code&gt;.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.wsdl.ui/schema/propertyDescriptorProvider.exsd b/bundles/org.eclipse.wst.wsdl.ui/schema/propertyDescriptorProvider.exsd
new file mode 100644
index 0000000..6138460
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/schema/propertyDescriptorProvider.exsd
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.wsdl.ui">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.wsdl.ui" id="propertyDescriptorProvider" name="Property Descriptor Provider"/>
+      </appInfo>
+      <documentation>
+         The Property Descriptor Provider extension point allows clients to register their own custom IPropertyDescriptor in the WSDL Editor based on namespace.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="propertyDescriptorProvider"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="propertyDescriptorProvider">
+      <complexType>
+         <attribute name="namespace" type="string">
+            <annotation>
+               <documentation>
+                  The namespace this extension point instance applies to.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string">
+            <annotation>
+               <documentation>
+                  The class that implements &lt;code&gt;org.eclipse.ui.views.properties.IPropertyDescriptor&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of an  contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.wsdl.ui.propertyDescriptorProvider&quot;&gt;
+      &lt;propertyDescriptorProvider
+            namespace=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;
+            class=&quot;org.eclipse.wst.wsdl.ui.internal.example.ExamplePropertyDescriptor&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The supplied class must implement &lt;code&gt;org.eclipse.ui.views.properties.IPropertyDescriptor&lt;/code&gt;.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/WSDLComponentRenameParticipant.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/WSDLComponentRenameParticipant.java
new file mode 100644
index 0000000..c9f9d01
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/WSDLComponentRenameParticipant.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.refactor;
+
+import java.util.List;
+
+import org.eclipse.wst.wsdl.WSDLElement;
+import org.eclipse.wst.wsdl.ui.internal.search.IWSDLSearchConstants;
+import org.eclipse.wst.xsd.ui.internal.refactor.rename.ComponentRenameArguments;
+import org.eclipse.wst.xsd.ui.internal.refactor.rename.XMLComponentRenameParticipant;
+import org.eclipse.xsd.XSDNamedComponent;
+
+/**
+ * This participant takes case of renaming matches that are XSD components
+ */
+public class WSDLComponentRenameParticipant extends XMLComponentRenameParticipant {
+
+	protected boolean initialize(Object element) {
+
+		if(element instanceof WSDLElement || element instanceof XSDNamedComponent){
+			if(getArguments() instanceof ComponentRenameArguments){
+				matches = (List)((ComponentRenameArguments)getArguments()).getMatches().get(IWSDLSearchConstants.WSDL_NAMESPACE);
+			}
+			if(matches != null){
+				return true;
+			}
+		}
+		return false;
+	}
+
+	public String getName() {
+		
+		return "WSDL component rename participant";
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/RenameComponentAction.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/RenameComponentAction.java
new file mode 100644
index 0000000..543c8c6
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/RenameComponentAction.java
@@ -0,0 +1,174 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.ui.internal.refactor.actions;
+
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring;
+import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
+import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
+import org.eclipse.ui.actions.GlobalBuildAction;
+import org.eclipse.wst.wsdl.Binding;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.Message;
+import org.eclipse.wst.wsdl.PortType;
+import org.eclipse.wst.wsdl.WSDLElement;
+import org.eclipse.wst.wsdl.internal.impl.WSDLElementImpl;
+import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
+import org.eclipse.wst.wsdl.ui.internal.util.NodeAssociationManager;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xsd.ui.internal.refactor.RefactoringComponent;
+import org.eclipse.wst.xsd.ui.internal.refactor.RefactoringMessages;
+import org.eclipse.wst.xsd.ui.internal.refactor.XMLRefactoringComponent;
+import org.eclipse.wst.xsd.ui.internal.refactor.rename.RenameComponentProcessor;
+import org.eclipse.wst.xsd.ui.internal.refactor.wizard.RenameRefactoringWizard;
+import org.eclipse.xsd.XSDAttributeDeclaration;
+import org.eclipse.xsd.XSDConcreteComponent;
+import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDNamedComponent;
+import org.eclipse.xsd.XSDTypeDefinition;
+import org.w3c.dom.Element;
+
+public class RenameComponentAction extends WSDLSelectionDispatchAction {
+
+	private RefactoringComponent selectedComponent;
+
+	public RenameComponentAction(ISelection selection,
+			Definition model) {
+		super(selection);
+		setModel(model);
+	}
+ 
+	protected boolean doCanEnableXSDSelection(XSDNamedComponent selectedObject) {
+
+		selectedComponent = null;
+		if (selectedObject != null) {
+			selectedComponent = new XMLRefactoringComponent(
+					selectedObject,
+					(IDOMElement)selectedObject.getElement(), 
+					selectedObject.getName(),
+					selectedObject.getTargetNamespace());
+	
+			// if it's element reference, then this action is not appropriate
+			if (selectedObject instanceof XSDElementDeclaration) {
+				XSDElementDeclaration element = (XSDElementDeclaration) selectedObject;
+				if (element.isElementDeclarationReference()) {
+					selectedComponent = null;
+				}
+			}
+			if(selectedObject instanceof XSDTypeDefinition){
+				XSDTypeDefinition type = (XSDTypeDefinition) selectedObject;
+				XSDConcreteComponent parent = type.getContainer();
+				if (parent instanceof XSDElementDeclaration) {
+					XSDElementDeclaration element = (XSDElementDeclaration) parent;
+					if(element.getAnonymousTypeDefinition().equals(type)){
+						selectedComponent = null;
+					}
+				}
+				else if(parent instanceof XSDAttributeDeclaration) {
+					XSDAttributeDeclaration element = (XSDAttributeDeclaration) parent;
+					if(element.getAnonymousTypeDefinition().equals(type)){
+						selectedComponent = null;
+					}
+				}
+			}
+		}
+
+		return canRun();
+	}
+	
+	protected boolean doCanEnableWSDLSelection(WSDLElement selectedObject) {
+
+		selectedComponent = null;
+		String localName = null;
+		String namespace = null; 
+		if (selectedObject instanceof Binding){
+			localName = ((Binding)selectedObject).getQName().getLocalPart();
+			namespace = ((Binding)selectedObject).getQName().getNamespaceURI();
+		}
+		else if (selectedObject instanceof PortType){
+			localName = ((PortType)selectedObject).getQName().getLocalPart();
+			namespace = ((PortType)selectedObject).getQName().getNamespaceURI();
+		}
+		else if (selectedObject instanceof Message){
+			localName = ((Message)selectedObject).getQName().getLocalPart();
+			namespace = ((Message)selectedObject).getQName().getNamespaceURI();
+		}
+		if(localName != null){
+			selectedComponent = new XMLRefactoringComponent(
+					selectedObject,
+					(IDOMElement)selectedObject.getElement(), 
+					localName,
+					namespace);
+		}
+		
+	
+		return canRun();
+	}
+
+	protected boolean canEnable(Object selectedObject) {
+
+		if (selectedObject instanceof XSDNamedComponent) {
+			return doCanEnableXSDSelection((XSDNamedComponent) selectedObject);
+		} else if(selectedObject instanceof WSDLElementImpl){
+			return doCanEnableWSDLSelection((WSDLElementImpl) selectedObject);
+		}
+		if (selectedObject instanceof Element) {
+			Element node = (Element) selectedObject;
+			if (getDefinition() != null) {
+				// issue (eb)  dependency on utility class to get component from the model based on element
+				Object concreteComponent = 	(new NodeAssociationManager()).getModelObjectForNode(getDefinition(), node);
+				return canEnable(concreteComponent);
+			}
+		}
+		return false;
+
+	}
+
+	public boolean canRun() {
+
+		return selectedComponent != null;
+	}
+
+	public void run(ISelection selection) {
+	
+		RenameComponentProcessor processor = new RenameComponentProcessor(selectedComponent, selectedComponent.getName());
+		RenameRefactoring refactoring = new RenameRefactoring(processor);
+		try {
+			RefactoringWizard wizard = new RenameRefactoringWizard(
+					refactoring,
+					RefactoringMessages
+					.getString("RenameComponentWizard.defaultPageTitle"), //$NON-NLS-1$ TODO: provide correct strings
+					RefactoringMessages
+					.getString("RenameComponentWizard.inputPage.description"), //$NON-NLS-1$
+					null);
+			RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(
+					wizard);
+			op.run(WSDLEditorPlugin.getShell(), wizard
+					.getDefaultPageTitle());
+			triggerBuild();
+		} catch (InterruptedException e) {
+			// do nothing. User action got cancelled
+		}
+		
+	}
+
+	public static void triggerBuild() {
+		if (ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding()) {
+			new GlobalBuildAction(WSDLEditorPlugin.getInstance().getWorkbench()
+					.getActiveWorkbenchWindow(),
+					IncrementalProjectBuilder.INCREMENTAL_BUILD).run();
+		}
+	}
+
+	
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLRefactorActionGroup.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLRefactorActionGroup.java
new file mode 100644
index 0000000..b9bed6c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLRefactorActionGroup.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.refactor.actions;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.xsd.ui.internal.refactor.actions.RenameAction;
+import org.eclipse.wst.xsd.ui.internal.refactor.wizard.RefactorActionGroup;
+
+public class WSDLRefactorActionGroup extends RefactorActionGroup {
+
+
+	private static final String RENAME_ELEMENT = "org.eclipse.wst.wsdl.ui.refactor.rename.element"; //$NON-NLS-1$
+
+	
+	public WSDLRefactorActionGroup(ISelection selection,
+			Definition definition) {
+		
+		super(selection); 
+	  	if( definition != null){
+			fEditorActions = new ArrayList();
+			RenameComponentAction action = new RenameComponentAction(selection, definition);
+			fRenameAction = new RenameAction(selection);
+			fRenameAction.setRenameComponentAction(action);
+			fRenameAction.setActionDefinitionId(RENAME_ELEMENT);
+			fEditorActions.add(fRenameAction);
+			initAction(fRenameAction, selection);
+		}
+	}
+
+	public void dispose() {
+		//disposeAction(fRenameAction, fSelectionProvider);
+		super.dispose();
+	}
+	
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLRefactorGroupActionDelegate.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLRefactorGroupActionDelegate.java
new file mode 100644
index 0000000..02fcfdf
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLRefactorGroupActionDelegate.java
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.refactor.actions;
+
+import java.io.IOException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchPartSite;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.WSDLFactory;
+import org.eclipse.wst.wsdl.internal.util.WSDLResourceFactoryImpl;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.eclipse.wst.xsd.ui.internal.refactor.wizard.RefactorActionGroup;
+import org.eclipse.wst.xsd.ui.internal.refactor.wizard.RefactorGroupActionDelegate;
+import org.eclipse.wst.xsd.ui.internal.refactor.wizard.RefactorGroupSubMenu;
+
+public class WSDLRefactorGroupActionDelegate extends RefactorGroupActionDelegate {
+
+	
+
+    public WSDLRefactorGroupActionDelegate() {
+		super();
+	}
+
+	/**
+     * Fills the menu with applicable refactor sub-menues
+     * @param menu The menu to fill
+     */
+	protected void fillMenu(Menu menu) {
+		if (fSelection == null) {
+			return;
+		}
+		if (workbenchPart != null) {
+			IWorkbenchPartSite site = workbenchPart.getSite();
+			if (site == null)
+				return;
+
+			IEditorPart editor = site.getPage().getActiveEditor();
+			if (editor != null) {
+				IEditorInput editorInput = editor.getEditorInput();
+				if(editorInput instanceof IFileEditorInput){
+					IFileEditorInput fileInput = (IFileEditorInput)editorInput;
+					Definition definition = createDefinition(fileInput.getFile(), resourceSet);
+					RefactorActionGroup refactorMenuGroup = new WSDLRefactorActionGroup(fSelection, definition);
+					RefactorGroupSubMenu subMenu = new RefactorGroupSubMenu(refactorMenuGroup);
+					subMenu.fill(menu, -1);
+				}
+				
+			}
+		
+		}
+
+	}
+	
+	
+public static Definition createDefinition(IFile file, ResourceSet resourceSet) {
+		
+		URI uri = URI.createFileURI(file.getLocation().toString());
+		Definition definition = WSDLFactory.eINSTANCE.createDefinition();		
+		// we need this model to be able to get locations
+		try {
+			definition.setDocumentBaseURI(uri.toString());
+			IStructuredModel structuredModel = StructuredModelManager
+					.getModelManager().getModelForRead(file);
+			IDOMModel domModel = (IDOMModel) structuredModel;
+			WSDLResourceFactoryImpl resourceFactory = new WSDLResourceFactoryImpl();
+			Resource wsdlResource = resourceFactory.createResource(uri);
+			wsdlResource.setURI(uri);
+			if(resourceSet != null){
+				resourceSet.getResources().add(wsdlResource);
+			}
+			definition.setElement(domModel.getDocument()
+					.getDocumentElement());
+		} catch (IOException e) {
+			// do nothing
+		} catch (CoreException e) {
+			// do nothing
+		}
+		return definition;
+	}
+
+
+	
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLSelectionDispatchAction.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLSelectionDispatchAction.java
new file mode 100644
index 0000000..cc81b42
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/refactor/actions/WSDLSelectionDispatchAction.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.refactor.actions;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.xsd.ui.internal.refactor.actions.SelectionDispatchAction;
+
+
+public class WSDLSelectionDispatchAction extends SelectionDispatchAction
+{
+	public static final String RENAME_ELEMENT = "org.eclipse.wst.wsdl.ui.refactor.rename.element"; //$NON-NLS-1$
+
+	public WSDLSelectionDispatchAction(ISelection selection)
+	{
+		super(selection);
+	}
+	
+	protected Definition getDefinition(){
+		Object model = getModel();
+		if(model instanceof Definition)
+		{
+			return (Definition) model;
+		}
+	
+		return null;
+	}
+
+	
+
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/IWSDLSearchConstants.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/IWSDLSearchConstants.java
new file mode 100644
index 0000000..9aaa516
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/IWSDLSearchConstants.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.search;
+
+import org.eclipse.wst.common.core.search.pattern.QualifiedName;
+
+
+public interface IWSDLSearchConstants {
+
+	public static final String WSDL_NAMESPACE = "http://schemas.xmlsoap.org/wsdl/";
+	public static final String XMLSCHEMA_NAMESPACE = "http://www.w3.org/2001/XMLSchema";
+	
+	public static String WSDL_CONTENT_TYPE_ID = "org.eclipse.wst.wsdl.wsdlsource";
+
+	public static final QualifiedName MESSAGE_META_NAME = new QualifiedName(
+			WSDL_NAMESPACE, "message");
+
+	public static final QualifiedName PORT_TYPE_META_NAME = new QualifiedName(
+			WSDL_NAMESPACE, "portType");
+
+	public static final QualifiedName BINDING_META_NAME = new QualifiedName(
+			WSDL_NAMESPACE, "binding");
+
+	
+
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/WSDLSearchContributor.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/WSDLSearchContributor.java
new file mode 100644
index 0000000..1b4445b
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/WSDLSearchContributor.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.search;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import org.eclipse.wst.common.core.search.pattern.SearchPattern;
+import org.eclipse.wst.xml.core.internal.search.ComponentSearchContributor;
+import org.eclipse.wst.xml.core.internal.search.XMLSearchPattern;
+import org.eclipse.wst.xsd.ui.internal.search.IXSDSearchConstants;
+
+public class WSDLSearchContributor extends ComponentSearchContributor {
+
+
+	protected void initializeDeclarations() {
+
+		declarations = new HashMap();
+		String ns = IWSDLSearchConstants.WSDL_NAMESPACE;
+
+		SearchPattern pattern = new XMLSearchPattern(ns, "message", "name");
+		declarations.put(IWSDLSearchConstants.MESSAGE_META_NAME, pattern);
+
+		pattern = new XMLSearchPattern( ns, "portType", "name");
+		declarations.put(IWSDLSearchConstants.PORT_TYPE_META_NAME, pattern);
+
+		pattern = new XMLSearchPattern(ns, "binding", "name");
+		declarations.put(IWSDLSearchConstants.BINDING_META_NAME, pattern);
+
+	}
+
+	protected void  initializeReferences() {
+
+		references = new HashMap();
+		String ns = IWSDLSearchConstants.WSDL_NAMESPACE;
+
+		List patterns = new ArrayList();
+		patterns.add(new XMLSearchPattern( ns, "part", "element"));
+		references.put(IXSDSearchConstants.ELEMENT_META_NAME, patterns);
+
+		patterns = new ArrayList();
+		patterns.add(new XMLSearchPattern(ns, "part", "type"));
+		references.put(IXSDSearchConstants.COMPLEX_TYPE_META_NAME, patterns);
+
+		patterns = new ArrayList();
+		patterns.add(new XMLSearchPattern(ns, "part", "type"));
+		references.put(IXSDSearchConstants.SIMPLE_TYPE_META_NAME, patterns);
+
+		patterns = new ArrayList();
+		patterns.add(new XMLSearchPattern(ns, "input", "message"));
+		patterns.add(new XMLSearchPattern(ns, "output", "message"));
+		patterns.add(new XMLSearchPattern(ns, "fault", "message"));
+		references.put(IWSDLSearchConstants.MESSAGE_META_NAME, patterns);
+
+		patterns = new ArrayList();
+		patterns.add(new XMLSearchPattern(ns, "binding", "type"));
+		references.put(IWSDLSearchConstants.PORT_TYPE_META_NAME, patterns);
+
+		patterns = new ArrayList();
+		patterns.add(new XMLSearchPattern( ns, "port", "binding"));
+		references.put(IWSDLSearchConstants.BINDING_META_NAME, patterns);
+	}
+	
+	protected void initializeSupportedNamespaces() {
+		namespaces = new String[]{ IXSDSearchConstants.XMLSCHEMA_NAMESPACE, IWSDLSearchConstants.WSDL_NAMESPACE};
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/WSDLSearchParticipant.java b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/WSDLSearchParticipant.java
new file mode 100644
index 0000000..d8508b6
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-refactor/org/eclipse/wst/wsdl/ui/internal/search/WSDLSearchParticipant.java
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.search;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.wst.common.core.search.SearchParticipant;
+import org.eclipse.wst.common.core.search.SearchPlugin;
+import org.eclipse.wst.common.core.search.pattern.SearchPattern;
+import org.eclipse.wst.xml.core.internal.search.ComponentSearchContributor;
+import org.eclipse.wst.xml.core.internal.search.XMLComponentDeclarationPattern;
+import org.eclipse.wst.xml.core.internal.search.XMLComponentReferencePattern;
+import org.eclipse.wst.xml.core.internal.search.XMLComponentSearchPattern;
+import org.eclipse.wst.xml.core.internal.search.XMLSearchParticipant;
+import org.eclipse.wst.xml.core.internal.search.XMLSearchPattern;
+import org.eclipse.wst.xsd.ui.internal.search.IXSDSearchConstants;
+
+public class WSDLSearchParticipant extends XMLSearchParticipant {
+	
+	private static String ID = "org.eclipse.wst.wsdl.search.WSDLSearchParticipant";
+	private static String XSD_PARTICIPANNT_ID = "org.eclipse.wst.xsd.search.XSDSearchParticipant";
+
+
+	
+	public  boolean initialize(SearchPattern pattern, String[] contentTypes){
+		
+		super.initialize(pattern, contentTypes);
+		id = ID;
+		if(pattern instanceof XMLComponentSearchPattern ){
+			XMLComponentSearchPattern componentPattern = (XMLComponentSearchPattern)pattern;
+			String namespace = componentPattern.getMetaName().getNamespace();
+			if(IWSDLSearchConstants.WSDL_NAMESPACE.equals(namespace) ||
+					IXSDSearchConstants.XMLSCHEMA_NAMESPACE.equals(namespace)){
+				return true;
+			}
+		}
+		return false;
+	}
+
+
+	public ComponentSearchContributor getSearchContributor() {
+
+		return new WSDLSearchContributor();
+	}
+	
+  public void beginSearching(SearchPattern pattern) {
+		
+		super.beginSearching(pattern);
+		List patterns = new ArrayList();
+		if(pattern instanceof XMLComponentDeclarationPattern){
+			
+			XMLComponentDeclarationPattern componentPattern = (XMLComponentDeclarationPattern)pattern;
+			if(IWSDLSearchConstants.WSDL_NAMESPACE.equals(componentPattern.getMetaName().getNamespace())){
+				XMLSearchPattern childPattern = getSearchContributor().getDeclarationPattern(componentPattern.getMetaName());
+				if(childPattern != null){
+					childPattern.setSearchName(componentPattern.getName().getLocalName());
+					childPattern.setSearchNamespace(componentPattern.getName().getNamespace());
+	     			patterns.add(childPattern);
+				}
+			}
+			else if(IXSDSearchConstants.XMLSCHEMA_NAMESPACE.equals(componentPattern.getMetaName().getNamespace())){
+				SearchParticipant xsdParticipant = SearchPlugin.getDefault().getSearchParticipant(XSD_PARTICIPANNT_ID);
+				if(xsdParticipant instanceof XMLSearchParticipant){
+					ComponentSearchContributor xsdContributor = ((XMLSearchParticipant)xsdParticipant).getSearchContributor();
+					if(xsdContributor != null){
+						XMLSearchPattern childPattern = xsdContributor.getDeclarationPattern(componentPattern.getMetaName());
+						if(childPattern != null){
+							childPattern.setSearchName(componentPattern.getName().getLocalName());
+							childPattern.setSearchNamespace(componentPattern.getName().getNamespace());
+			     			patterns.add(childPattern);
+						}
+					}
+				}
+			}
+			componentPattern.setChildren((XMLSearchPattern[]) patterns.toArray(new XMLSearchPattern[patterns.size()]));
+			
+		}
+		else if(pattern instanceof XMLComponentReferencePattern){
+			XMLComponentReferencePattern componentPattern = (XMLComponentReferencePattern)pattern;
+			XMLSearchPattern[] childPatterns = getSearchContributor().getReferencesPatterns(componentPattern.getMetaName());
+			for (int i = 0; i < childPatterns.length; i++) {
+				XMLSearchPattern childPattern = childPatterns[i];
+				childPattern.setSearchName(componentPattern.getName().getLocalName());
+				childPattern.setSearchNamespace(componentPattern.getName().getNamespace());	
+				patterns.add(childPattern);
+			}
+			SearchParticipant xsdParticipant = SearchPlugin.getDefault().getSearchParticipant(XSD_PARTICIPANNT_ID);
+			if(xsdParticipant instanceof XMLSearchParticipant){
+				ComponentSearchContributor xsdContributor = ((XMLSearchParticipant)xsdParticipant).getSearchContributor();
+				if(xsdContributor != null){
+					childPatterns = xsdContributor.getReferencesPatterns(componentPattern.getMetaName());
+					for (int i = 0; i < childPatterns.length; i++) {
+						XMLSearchPattern childPattern = childPatterns[i];
+						childPattern.setSearchName(componentPattern.getName().getLocalName());
+						childPattern.setSearchNamespace(componentPattern.getName().getNamespace());		
+						patterns.add(childPattern);
+					}
+				}
+			}
+			componentPattern.setChildren((XMLSearchPattern[]) patterns.toArray(new XMLSearchPattern[patterns.size()]));
+			
+		}
+		
+	}
+
+  
+  
+	
+	
+	
+
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/ValidateWSDLAction.java b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/ValidateWSDLAction.java
new file mode 100644
index 0000000..0db9605
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/ValidateWSDLAction.java
@@ -0,0 +1,470 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.validation;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ResourceBundle;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.eclipse.wst.wsdl.validation.internal.IValidationMessage;
+import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
+import org.eclipse.wst.wsdl.validation.internal.ValidationMessageImpl;
+import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.xml.XMLMessageInfoHelper;
+import org.eclipse.wst.xml.ui.internal.validation.core.ValidateAction;
+
+/**
+ * Eclipse action for running the WSDL validator. 
+ */
+public class ValidateWSDLAction extends ValidateAction
+{
+ // private static final String REFERENCED_FILE_ERROR_OPEN = "referencedFileError(";
+
+  //private static final String REFERENCED_FILE_ERROR_CLOSE = ")";
+  private final String FILE_PROTOCOL = "file:///";
+
+  //private static final String _UI_SAVE_DIRTY_FILE_MESSAGE = "_UI_SAVE_DIRTY_FILE_MESSAGE";
+
+  //private static final String _UI_SAVE_DIRTY_FILE_TITLE = "_UI_SAVE_DIRTY_FILE_TITLE";
+  //private static final String _UI_REF_FILE_ERROR_MESSAGE = "_UI_REF_FILE_ERROR_MESSAGE";
+  //private static final String NESTED_ERRORS = "NESTED_ERRORS";
+
+  private InputStream inputStream = null;
+  
+  private static ResourceBundle wsdlActionRB = ResourceBundle.getBundle("org.eclipse.wst.wsdl.ui.internal.validation.validatewsdlui");
+  /**
+   * Constructor.
+   * 
+   * @param file The file to validate.
+   * @param showDialog Whether to show a dialog with the status upon completion.
+   */
+  public ValidateWSDLAction(IFile file, boolean showDialog)
+  {
+  	super(file, showDialog);
+  }
+
+
+  /**
+   * Validate the given file and assign markers correspondingly to the file. If
+   * required, show a dialog with the results of the validation.
+   * 
+   * @param file The file to validate.
+   */
+  protected void validate(final IFile file)
+  {
+    final ValidationOutcome validationOutcome = new ValidationOutcome();
+    IWorkspaceRunnable op = new IWorkspaceRunnable()
+    {
+      public void run(IProgressMonitor progressMonitor) throws CoreException
+      {
+        WSDLValidator wsdlValidator = WSDLValidator.getInstance();
+        clearMarkers(file);
+        IValidationReport valReport = null;
+
+        String location = null;
+        try
+        {
+          location = file.getLocation().toFile().getCanonicalFile().getAbsolutePath();
+        }
+        catch (IOException e)
+        {
+          location = file.getLocation().toString();
+        }
+        location = location.replace('\\','/');
+        if (location.startsWith("/"))
+        {
+          valReport = wsdlValidator.validate(FILE_PROTOCOL + location.substring(1), inputStream);
+        }
+        else
+        {
+          valReport = wsdlValidator.validate(FILE_PROTOCOL + location, inputStream);
+        }
+        validationOutcome.isWSDLValid = valReport.isWSDLValid();
+        validationOutcome.isValid = !valReport.hasErrors();
+        if (valReport.getValidationMessages().length == 0)
+        {
+          validationOutcome.hasMessages = false;
+        }
+        else
+        {
+          validationOutcome.hasMessages = true;
+        }
+
+        createMarkers(file, convertValidationMessages(valReport.getValidationMessages()));
+        //createMarkers(file, validatormanager.getWarningList(), WARNING_MARKER);
+        
+        //file.setSessionProperty(ValidationMessage.ERROR_MESSAGE_MAP_QUALIFIED_NAME, valReport.getNestedMessages());
+        file.setSessionProperty(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.ERROR_MESSAGE_MAP_QUALIFIED_NAME, convertNestedValidationMessages(valReport.getNestedMessages()));
+      }
+    };
+
+    try
+    {
+      ResourcesPlugin.getWorkspace().run(op, null);
+
+      if (showDialog)
+      {
+        showDialog(validationOutcome);
+      }
+    }
+    catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+  }
+  
+  /**
+   * Convert WSDL validation messages to validation framework messages.
+   * 
+   * @param messages The WSDL validation messages to convert.
+   * @return The converted validation messages.
+   */
+  private org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[] convertValidationMessages(IValidationMessage[] messages)
+  {
+  	int numMessages = messages.length;
+  	org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[] convertedMessages = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[numMessages];
+  	
+  	for(int i = 0; i < numMessages; i++)
+  	{
+  	  IValidationMessage mess = messages[i];
+      
+      org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage convertMess = null;
+      if (mess instanceof ValidationMessageImpl)
+      {   String errorKey = ((ValidationMessageImpl)mess).getErrorKey();
+          Object[] messageArgs = ((ValidationMessageImpl)mess).getMessageArguments();
+          convertMess = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage(mess.getMessage(), mess.getLine(), mess.getColumn(), mess.getURI(), errorKey, messageArgs);
+      }
+      else
+      {
+         convertMess = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage(mess.getMessage(),mess.getLine(),mess.getColumn(), mess.getURI());
+      }
+  	  if(mess.getSeverity() == IValidationMessage.SEV_WARNING)
+	  {
+	  	convertMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_LOW);
+	  }
+	  else
+	  {
+	  	convertMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_HIGH);
+	  }
+  	  
+  	  // Convert any nested messages.
+  	  List nestedMessages = mess.getNestedMessages();
+  	  if(nestedMessages != null && !nestedMessages.isEmpty())
+  	  {
+  	  	Iterator nestedIter = nestedMessages.iterator();
+  	    while(nestedIter.hasNext())
+        {
+          IValidationMessage nestedMess = (IValidationMessage)nestedIter.next();
+    	  org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage convertNestedMess = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage(nestedMess.getMessage(),nestedMess.getLine(),nestedMess.getColumn(), nestedMess.getURI());
+    	  if(nestedMess.getSeverity() == IValidationMessage.SEV_WARNING)
+    	  {
+    	  	convertNestedMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_LOW);
+    	  }
+    	  else
+    	  {
+    	  	convertNestedMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_HIGH);
+    	  }
+    	  convertMess.addNestedMessage(convertNestedMess);
+        }
+  	  }
+  	  convertedMessages[i] = convertMess;
+  	}
+  	return convertedMessages;
+  }
+  
+  /**
+   * Convert the nested messages hashmap.
+   * 
+   * @param nestedMessages The nested messages hashmap to convert.
+   * @return A hashmap with the converted validation messages.
+   */
+  private HashMap convertNestedValidationMessages(HashMap nestedMessages)
+  {
+  	HashMap convertedMap = new HashMap();
+  	
+  	Set keySet = nestedMessages.keySet();
+  	Iterator keysIter = keySet.iterator();
+  	while(keysIter.hasNext())
+  	{
+  	  String key = (String)keysIter.next();
+  	  IValidationMessage message = (IValidationMessage)nestedMessages.get(key);
+  	  org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[] convertedMessage = convertValidationMessages(new IValidationMessage[]{message});
+  	  
+  	  convertedMap.put(key, convertedMessage[0]);
+  	}
+  	return convertedMap;
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see org.eclipse.jface.action.IAction#run()
+   */
+//  public void run()
+//  {
+//    // Only run the validation if the file exists and is available.
+//    if (fileIsOK(file))
+//    {
+//      if (showDialog)
+//      {
+//        // Check if the file is dirty - prompts user to save.
+//        checkIfFileDirty(file);
+//      }
+//      super.run();
+//    }
+//  }
+
+  /**
+   * Test whether the file given is OK to use. A file is OK to use if 1. It is
+   * not null 2. It exists. 3. The project containing the file is accessible.
+   * 
+   * @param file The file to check to see if it is OK to validate.
+   * @return True if the file is OK to validate, false otherwise.
+   */
+//  protected boolean fileIsOK(IFile file)
+//  {
+//    if (file != null && file.exists() && file.getProject().isAccessible())
+//    {
+//      return true;
+//    }
+//    return false;
+//  }
+
+  /**
+   * Check if the file is dirty. A file is dirty if there is an open editor for
+   * the file that contains changes that haven't been saved.
+   * 
+   * @param file The file to check to see if it is dirty.
+   */
+//  protected void checkIfFileDirty(IFile file)
+//  {
+//    IEditorPart[] dirtyEditors = ValidateWSDLPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getActivePage().getDirtyEditors();
+//
+//    int numeditors = dirtyEditors.length;
+//    for (int i = 0; i < numeditors; i++)
+//    {
+//      IEditorInput editorInput = dirtyEditors[i].getEditorInput();
+//      if (editorInput instanceof FileEditorInput)
+//      {
+//        FileEditorInput fileEditorInput = (FileEditorInput) editorInput;
+//        if (fileEditorInput.getFile().equals(file))
+//        {
+//          String message = ValidateWSDLPlugin.getInstance().getString(_UI_SAVE_DIRTY_FILE_MESSAGE);
+//          String title = ValidateWSDLPlugin.getInstance().getString(_UI_SAVE_DIRTY_FILE_TITLE);
+//          if (MessageDialog.openQuestion(Display.getDefault().getActiveShell(), title, message))
+//          {
+//            dirtyEditors[i].doSave(null);
+//          }
+//          // There can only be one open editor/file so we can break.
+//          break;
+//        }
+//      }
+//
+//    }
+//  }
+
+  /**
+   * Create a marker on the file of the indicated type for each
+   * ValidationMessage in the array.
+   * 
+   * @param iFile
+   *          The file to add the markers to.
+   * @param valMessages
+   *          The array of messages to add as markers.
+   */
+//  public void createMarkers(IFile iFile, ValidationMessage[] valMessages)
+//  {
+//    if (!fileIsOK(iFile))
+//    {
+//      return;
+//    }
+//    int numValMessages = valMessages.length;
+//    for (int i = 0; i < numValMessages; i++)
+//    {
+//      ValidationMessage validationMessage = valMessages[i];
+//
+//      int line = validationMessage.getLine();
+//      int column = validationMessage.getColumn();
+//      String message = validationMessage.getMessage();
+//      int severity = validationMessage.getSeverity();
+//      IMarker marker = null;
+//      
+//      boolean hasNestedErrors = false;
+//      List nestederrors = validationMessage.getNestedMessages();
+//      if(nestederrors != null && !nestederrors.isEmpty())
+//      {
+//        hasNestedErrors = true;
+//        message += ValidateWSDLPlugin.getInstance().getString(_UI_REF_FILE_ERROR_MESSAGE); 
+//      }
+//      if (severity == ValidationMessage.SEV_ERROR)
+//      {
+//        marker = getOrCreateReporter().addErrorMessage(iFile, message, line, column);
+//      }
+//      else if (severity == ValidationMessage.SEV_WARNING)
+//      {
+//        marker = getOrCreateReporter().addWarningMessage(iFile, message, line, column);
+//      }
+//      
+//      if (hasNestedErrors && marker != null)
+//      {
+//        try
+//        {
+//          marker.setAttribute("groupName", REFERENCED_FILE_ERROR_OPEN + validationMessage.getURI() + REFERENCED_FILE_ERROR_CLOSE);
+//          marker.setAttribute(IMarker.DONE, true);
+//        }
+//        catch(CoreException e)
+//        {
+//        }
+//      }
+//      
+//    }
+//  }
+
+  /**
+   * Show a dialog containing the status of the validation. Will display valid
+   * or invalid depending on whether there are errors or not.
+   * 
+   * @param validationOutcome
+   *          The outcome of the validation.
+   */
+  public void showDialog(ValidationOutcome validationOutcome)
+  {
+    String title, message;
+    if (validationOutcome.isValid)
+    {
+      if (validationOutcome.hasMessages)
+      {
+        showProblemsView();
+        title = wsdlActionRB.getString("_VALIDATION_SUCCEEDED");
+        message = wsdlActionRB.getString("_UI_THE_WSDL_FILE_IS_VALID_WITH_WARNINGS");
+        MessageDialog.openWarning(Display.getDefault().getActiveShell(), title, message);
+      }
+      else
+      {
+        title = wsdlActionRB.getString("_VALIDATION_SUCCEEDED");
+        message = wsdlActionRB.getString("_UI_THE_WSDL_FILE_IS_VALID");
+        MessageDialog.openInformation(Display.getDefault().getActiveShell(), title, message);
+      }
+
+    }
+    else
+    {
+      if (validationOutcome.isWSDLValid)
+      {
+        title = wsdlActionRB.getString("_VALIDATION_FAILED");
+        message = wsdlActionRB.getString("_UI_THE_WSDL_FILE_IS_VALID_WSDL11");
+      }
+      else
+      {
+        title = wsdlActionRB.getString("_VALIDATION_FAILED");
+        message = wsdlActionRB.getString("_UI_THE_WSDL_FILE_IS_NOT_VALID");
+      }
+      showProblemsView();
+      MessageDialog.openError(Display.getDefault().getActiveShell(), title, message);
+    }
+
+  }
+  
+  /**
+   * Show the problems view if it is not already visible.
+   */
+//  protected void showProblemsView()
+//  {
+//    IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+//    IWorkbenchPage page = dw.getActivePage();
+//    IWorkbenchPart activePart = page.getActivePart();
+//    try
+//    {
+//      if (page != null)
+//      {
+//        page.showView("org.eclipse.ui.views.ProblemView");
+//      }
+//    }
+//    catch (PartInitException e)
+//    {
+//    }
+//    page.activate(activePart);
+//  }
+
+  /**
+   * If a reporter doesn't exist creates it or uses the reporter already
+   * created.
+   * 
+   * @return a reporter
+   */
+//  protected IReporter getOrCreateReporter()
+//  {
+//    if (reporter == null)
+//    {
+//      reporter = new WorkbenchReporter(file.getProject(), new NullProgressMonitor());
+//    }
+//    return reporter;
+//  }
+
+  /**
+   * Clear all the markers on the given resource generated by this validator.
+   * 
+   * @param resource -
+   *          the resrouce to clear all the markers from
+   */
+//  public void clearMarkers(IResource resource)
+//  {
+//    getOrCreateReporter().removeAllMessages(resource);
+//  }
+
+  protected class ValidationOutcome
+  {
+    public boolean isValid = true;
+
+    public boolean isWSDLValid = true;
+
+    public boolean hasMessages = false;
+
+    public ValidationOutcome()
+    {
+    }
+  }
+
+  public void setInputStream(InputStream inputStream)
+  {  this.inputStream = inputStream;
+  }
+  
+  /**
+   * Set extra attributes in the IMessage to provide information on what should be "squiggled"
+   * @param valMess the ValidationMessage corresponding to this error
+   * @param message the IMessage to set the attributes for
+   */
+  protected void addInfoToMessage(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage valMess, IMessage message)
+  {   if (valMess.getKey() != null)
+      {
+          XMLMessageInfoHelper helper = new XMLMessageInfoHelper();
+          String[] squiggleInfo = helper.createMessageInfo(valMess.getKey(), valMess.getMessageArguments());
+      
+          message.setAttribute(COLUMN_NUMBER_ATTRIBUTE, new Integer(valMess.getColumnNumber()));
+          message.setAttribute(SQUIGGLE_SELECTION_STRATEGY_ATTRIBUTE, squiggleInfo[0]);
+          message.setAttribute(SQUIGGLE_NAME_OR_VALUE_ATTRIBUTE, squiggleInfo[1]);
+      }
+  }
+
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/ValidateWSDLActionDelegate.java b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/ValidateWSDLActionDelegate.java
new file mode 100644
index 0000000..0c05a00
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/ValidateWSDLActionDelegate.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.validation;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IActionDelegate;
+
+/**
+ * An action delegate for the WSDL validator.
+ */
+public class ValidateWSDLActionDelegate implements IActionDelegate
+{
+  protected ISelection selection;
+  protected void validate(IFile file)
+  {
+    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, true);
+    validateAction.setValidator(new Validator());
+    validateAction.run();	
+  }
+ 
+  /**
+   * @see org.eclipse.ui.IActionDelegate#run(IAction)
+   */
+  public void run(IAction action)
+  {
+  	IFile file = null;
+    if (!selection.isEmpty() && selection instanceof IStructuredSelection)
+    {
+      IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+      Object element = structuredSelection.getFirstElement();
+
+      if (element instanceof IFile)
+      {
+        file = (IFile) element;
+      }
+      else
+      {
+        return;
+      }
+    }
+          
+    if (file != null)
+    {          
+      validate(file);
+    }
+  }
+
+  /**
+   * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
+   */
+  public void selectionChanged(IAction action, ISelection selection)
+  {
+  	this.selection = selection;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/Validator.java b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/Validator.java
new file mode 100644
index 0000000..8cef888
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/Validator.java
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.ui.internal.validation;
+
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.wst.validation.internal.core.ValidationException;
+import org.eclipse.wst.validation.internal.operations.IRuleGroup;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
+import org.eclipse.wst.validation.internal.provisional.core.IValidator;
+import org.eclipse.wst.xml.core.internal.validation.core.Helper;
+
+
+/**
+ * A validator to plug the WSDL validator into the validation framework.
+ */
+public class Validator implements IValidator
+{
+
+  /**
+   * Validate the given IFile.
+   * 
+   * @param file
+   *          The file to validate.
+   */
+//  public void validate(IFile file)
+//  {
+//    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, false);
+//    validateAction.setValidator(this);
+//    validateAction.run();
+//  }
+  
+  protected void validate(IFile file, InputStream inputStream, IReporter reporter)
+  {
+    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, false);
+    validateAction.setValidator(this);
+    validateAction.setReporter(reporter);
+    validateAction.setInputStream(inputStream);
+    validateAction.run();
+  }
+
+  /* (non-Javadoc)
+   * @see org.eclipse.wst.validation.core.IValidator#validate(org.eclipse.wst.validation.core.IHelper, org.eclipse.wst.validation.core.IReporter, org.eclipse.wst.validation.core.IFileDelta[])
+   */
+  public void validate(IValidationContext helper, IReporter reporter) throws ValidationException
+  {
+	String[] changedFiles = helper.getURIs();
+    if (changedFiles != null && changedFiles.length > 0)
+    {
+      InputStream streamToValidate = (InputStream) helper.loadModel("inputStream");
+      if (streamToValidate != null)
+      {   
+        String fileName = changedFiles[0];
+        Object[] parms = { fileName };
+        IFile file = (IFile) helper.loadModel(Helper.GET_FILE, parms);
+        
+        validate(file, streamToValidate, reporter);
+        
+      } else
+      { for (int i = 0; i < changedFiles.length; i++)
+        {
+          String fileName = changedFiles[i];
+          if (fileName != null)
+          {
+            Object[] parms = {fileName};
+            
+            IFile file = (IFile) helper.loadModel(Helper.GET_FILE, parms);
+            if (file != null)
+            {
+              validateIfNeeded(file, helper, reporter);
+            }
+          }
+        }
+      }
+    } else
+    {
+      Object[] parms = {this.getClass().getName()};
+      Collection files = (Collection) helper.loadModel(Helper.GET_PROJECT_FILES, parms);
+      Iterator iter = files.iterator();
+      while (iter.hasNext())
+      {
+        IFile file = (IFile) iter.next();
+        validateIfNeeded(file, helper, reporter);
+      }
+    }
+  }
+
+  /**
+   * @param file
+   * @param reporter
+   * @param ruleGroup
+   */
+  protected void validate(IFile file, IReporter reporter, int ruleGroup)
+  {
+    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, false);
+    validateAction.setValidator(this);
+    validateAction.run();
+  }
+
+  /**
+   * Validate the given file if validation is required.
+   * 
+   * @param file
+   * @param model
+   * @param helper
+   * @param reporter
+   */
+  protected void validateIfNeeded(IFile file, Object model, IValidationContext helper, IReporter reporter)
+  {
+    if (model == null)
+    {
+      validateIfNeeded(file, helper, reporter);
+    }
+  }
+
+  /**
+   * Unpacks the fileModelPair and returns an IFile object.
+   */
+  protected IFile getFile(Object object)
+  {
+    IFile result = null;
+    if (object instanceof List)
+    {
+      List fileModelPair = (List) object;
+      if (fileModelPair.size() > 0)
+      {
+        Object file = fileModelPair.get(0);
+        if (file instanceof IFile)
+        {
+          result = (IFile) file;
+        }
+      }
+    }
+    return result;
+  }
+
+  /**
+   * Validate the given file if validation is required.
+   * 
+   * @param file
+   *          The file to validate.
+   * @param helper
+   *          An aid for the validation.
+   * @param reporter
+   *          The reporter to report the validation messages.
+   */
+  protected void validateIfNeeded(IFile file, IValidationContext helper, IReporter reporter)
+  {
+    //ValidatorManager mgr = ValidatorManager.getManager();
+    // Pass in a "null" so that loadModel doesn't attempt to cast the result into a RefObject.
+    Integer ruleGroupInt = (Integer) helper.loadModel(IRuleGroup.PASS_LEVEL, null); 
+    int ruleGroup = (ruleGroupInt == null) ? IRuleGroup.PASS_FULL : ruleGroupInt.intValue();
+
+    validate(file, reporter, ruleGroup);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see com.ibm.etools.validation.IValidator#cleanup(com.ibm.etools.validation.IReporter)
+   */
+  public void cleanup(IReporter reporter)
+  {
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/validatewsdlui.properties b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/validatewsdlui.properties
new file mode 100644
index 0000000..e8dc95d
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-validation/org/eclipse/wst/wsdl/ui/internal/validation/validatewsdlui.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2001, 2004 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
+###############################################################################
+!-- Eclipse UI Message Dialog
+_VALIDATION_SUCCEEDED                      = Validation Succeeded
+_VALIDATION_FAILED                         = Validation Failed
+_UI_THE_WSDL_FILE_IS_VALID                 = The WSDL file is valid.
+_UI_THE_WSDL_FILE_IS_NOT_VALID             = The WSDL file is not valid. See the Problems view for a list of the validation errors.
+_UI_THE_WSDL_FILE_IS_VALID_WSDL11          = The WSDL file is valid according to the WSDL specification however an extension validator has determined that the file is not valid. See the Problems view for a list of the validation errors.
+_UI_THE_WSDL_FILE_IS_VALID_WITH_WARNINGS   = The WSDL file is valid however warnings have been issued. See the Problems view for a list of the validation warnings.
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/Logger.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/Logger.java
new file mode 100644
index 0000000..c554e60
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/Logger.java
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.ui.internal;
+
+import java.util.StringTokenizer;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.osgi.framework.Bundle;
+
+/**
+ * Small convenience class to log messages to plugin's log file and also, if
+ * desired, the console. This class should only be used by classes in this
+ * plugin. Other plugins should make their own copy, with appropriate ID.
+ */
+public class Logger {
+	private static final String PLUGIN_ID = "org.eclipse.wst.wsdl.ui"; //$NON-NLS-1$
+	
+	public static final int ERROR = IStatus.ERROR; // 4
+	public static final int ERROR_DEBUG = 200 + ERROR;
+	public static final int INFO = IStatus.INFO; // 1
+	public static final int INFO_DEBUG = 200 + INFO;
+
+	public static final int OK = IStatus.OK; // 0
+
+	public static final int OK_DEBUG = 200 + OK;
+
+	private static final String TRACEFILTER_LOCATION = "/debug/tracefilter"; //$NON-NLS-1$
+	public static final int WARNING = IStatus.WARNING; // 2
+	public static final int WARNING_DEBUG = 200 + WARNING;
+
+	/**
+	 * Adds message to log.
+	 * 
+	 * @param level
+	 *            severity level of the message (OK, INFO, WARNING, ERROR,
+	 *            OK_DEBUG, INFO_DEBUG, WARNING_DEBUG, ERROR_DEBUG)
+	 * @param message
+	 *            text to add to the log
+	 * @param exception
+	 *            exception thrown
+	 */
+	protected static void _log(int level, String message, Throwable exception) {
+		if (level == OK_DEBUG || level == INFO_DEBUG || level == WARNING_DEBUG || level == ERROR_DEBUG) {
+			if (!isDebugging())
+				return;
+		}
+
+		int severity = IStatus.OK;
+		switch (level) {
+			case INFO_DEBUG :
+			case INFO :
+				severity = IStatus.INFO;
+				break;
+			case WARNING_DEBUG :
+			case WARNING :
+				severity = IStatus.WARNING;
+				break;
+			case ERROR_DEBUG :
+			case ERROR :
+				severity = IStatus.ERROR;
+		}
+		message = (message != null) ? message : "null"; //$NON-NLS-1$
+		Status statusObj = new Status(severity, PLUGIN_ID, severity, message, exception);
+		Bundle bundle = Platform.getBundle(PLUGIN_ID);
+		if (bundle != null) 
+			Platform.getLog(bundle).log(statusObj);
+	}
+
+	/**
+	 * Prints message to log if category matches /debug/tracefilter option.
+	 * 
+	 * @param message
+	 *            text to print
+	 * @param category
+	 *            category of the message, to be compared with
+	 *            /debug/tracefilter
+	 */
+	protected static void _trace(String category, String message, Throwable exception) {
+		if (isTracing(category)) {
+			message = (message != null) ? message : "null"; //$NON-NLS-1$
+			Status statusObj = new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, exception);
+			Bundle bundle = Platform.getBundle(PLUGIN_ID);
+			if (bundle != null) 
+				Platform.getLog(bundle).log(statusObj);
+		}
+	}
+
+	/**
+	 * @return true if the platform is debugging
+	 */
+	public static boolean isDebugging() {
+		return Platform.inDebugMode();
+	}
+
+	/**
+	 * Determines if currently tracing a category
+	 * 
+	 * @param category
+	 * @return true if tracing category, false otherwise
+	 */
+	public static boolean isTracing(String category) {
+		if (!isDebugging())
+			return false;
+
+		String traceFilter = Platform.getDebugOption(PLUGIN_ID + TRACEFILTER_LOCATION);
+		if (traceFilter != null) {
+			StringTokenizer tokenizer = new StringTokenizer(traceFilter, ","); //$NON-NLS-1$
+			while (tokenizer.hasMoreTokens()) {
+				String cat = tokenizer.nextToken().trim();
+				if (category.equals(cat)) {
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	public static void log(int level, String message) {
+		_log(level, message, null);
+	}
+
+	public static void log(int level, String message, Throwable exception) {
+		_log(level, message, exception);
+	}
+
+	public static void logException(String message, Throwable exception) {
+		_log(ERROR, message, exception);
+	}
+
+	public static void logException(Throwable exception) {
+		_log(ERROR, exception.getMessage(), exception);
+	}
+
+	public static void trace(String category, String message) {
+		_trace(category, message, null);
+	}
+
+	public static void traceException(String category, String message, Throwable exception) {
+		_trace(category, message, exception);
+	}
+
+	public static void traceException(String category, Throwable exception) {
+		_trace(category, exception.getMessage(), exception);
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/StructuredTextViewerConfigurationWSDL.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/StructuredTextViewerConfigurationWSDL.java
new file mode 100644
index 0000000..bf9327f
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/StructuredTextViewerConfigurationWSDL.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.ui.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
+import org.eclipse.wst.xml.ui.StructuredTextViewerConfigurationXML;
+
+public class StructuredTextViewerConfigurationWSDL extends StructuredTextViewerConfigurationXML {
+	public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer) {
+		if (sourceViewer == null || !fPreferenceStore.getBoolean(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED))
+			return null;
+
+		List allDetectors = new ArrayList(0);
+		// add WSDL Hyperlink detector
+		allDetectors.add(new WSDLHyperlinkDetector());
+
+		IHyperlinkDetector[] superDetectors = super.getHyperlinkDetectors(sourceViewer);
+		for (int m = 0; m < superDetectors.length; m++) {
+			IHyperlinkDetector detector = superDetectors[m];
+			if (!allDetectors.contains(detector)) {
+				allDetectors.add(detector);
+			}
+		}
+		return (IHyperlinkDetector[]) allDetectors.toArray(new IHyperlinkDetector[0]);
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditor.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditor.java
index 8987be9..53aa308 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditor.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditor.java
@@ -10,8 +10,20 @@
  *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.IPostSelectionProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
@@ -21,10 +33,11 @@
 import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
 import org.eclipse.ui.INavigationLocation;
 import org.eclipse.ui.INavigationLocationProvider;
 import org.eclipse.ui.IWorkbenchPage;
@@ -33,453 +46,724 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.texteditor.ITextEditor;
 import org.eclipse.ui.texteditor.TextSelectionNavigationLocation;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.wst.common.ui.properties.internal.provisional.ITabbedPropertySheetPageContributor;
 import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
 import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.exceptions.SourceEditingRuntimeException;
+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
 import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.sse.ui.internal.contentoutline.ConfigurableContentOutlinePage;
+import org.eclipse.wst.wsdl.Binding;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.WSDLElement;
 import org.eclipse.wst.wsdl.XSDSchemaExtensibilityElement;
+import org.eclipse.wst.wsdl.internal.generator.BindingGenerator;
 import org.eclipse.wst.wsdl.ui.internal.actions.WSDLMenuActionContributor;
+import org.eclipse.wst.wsdl.ui.internal.dialogs.GenerateBindingOnSaveDialog;
 import org.eclipse.wst.wsdl.ui.internal.extension.WSDLEditorExtension;
 import org.eclipse.wst.wsdl.ui.internal.graph.WSDLGraphViewer;
 import org.eclipse.wst.wsdl.ui.internal.graph.editparts.WSDLEditPartFactory;
 import org.eclipse.wst.wsdl.ui.internal.model.WSDLGroupObject;
 import org.eclipse.wst.wsdl.ui.internal.model.WSDLModelAdapterFactory;
-import org.eclipse.wst.wsdl.ui.internal.outline.ExtensibleOutlineProvider;
 import org.eclipse.wst.wsdl.ui.internal.outline.ModelAdapterContentProvider;
 import org.eclipse.wst.wsdl.ui.internal.outline.ModelAdapterLabelProvider;
+import org.eclipse.wst.wsdl.ui.internal.properties.section.WSDLTabbedPropertySheetPage;
 import org.eclipse.wst.wsdl.ui.internal.text.WSDLModelAdapter;
 import org.eclipse.wst.wsdl.ui.internal.util.ComponentReferenceUtil;
+import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
 import org.eclipse.wst.wsdl.ui.internal.util.WSDLNodeAssociationProvider;
 import org.eclipse.wst.wsdl.ui.internal.util.WSDLResourceUtil;
 import org.eclipse.wst.wsdl.ui.internal.viewers.WSDLDetailsViewer;
 import org.eclipse.wst.wsdl.ui.internal.viewers.WSDLDetailsViewerProvider;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 
-// public class WSDLEditor extends StructuredTextMultiPageEditorPart implements
+// public class WSDLEditor extends StructuredTextMultiPageEditorPart
+// implements
 // INavigationLocationProvider
-public class WSDLEditor extends WSDLMultiPageEditorPart implements INavigationLocationProvider
-{
-  protected ExtensibleOutlineProvider extensibleOutlineProvider;
-  protected WSDLTextEditor textEditor;
-  protected WSDLGraphViewer graphViewer;
-  protected WSDLDetailsViewer detailsViewer;
-  protected WSDLSelectionManager selectionManager;
-  protected SashForm sashForm;
-  int graphPageIndex;
-  protected WSDLModelAdapter modelAdapter;
-  protected WSDLEditorResourceChangeHandler resourceChangeHandler;
-  // Used for Cut, Copy, Paste actions. This acts as a copy, cut, paste
-  // clipboard
-  protected WSDLElement clipboardElement;
+public class WSDLEditor extends WSDLMultiPageEditorPart implements INavigationLocationProvider, ITabbedPropertySheetPageContributor {
+	protected StructuredTextEditor textEditor;
+	protected WSDLGraphViewer graphViewer;
+	protected WSDLDetailsViewer detailsViewer;
+	protected WSDLSelectionManager selectionManager;
+	protected SashForm sashForm;
+	int graphPageIndex;
+	protected WSDLModelAdapter modelAdapter;
+	protected WSDLEditorResourceChangeHandler resourceChangeHandler;
+	// Used for Cut, Copy, Paste actions. This acts as a copy, cut, paste
+	// clipboard
+	protected WSDLElement clipboardElement;
+	private IPropertySheetPage fPropertySheetPage;
+	private IContentOutlinePage fContentOutlinePage;
+	private SourceEditorSelectionListener fSourceEditorSelectionListener;
+	private WSDLSelectionManagerSelectionListener fWSDLSelectionListener;
 
-  public WSDLEditor()
-  {
-    selectionManager = new WSDLSelectionManager();
-  }
+	/**
+	 * Listener on SSE's outline page's selections that converts DOM
+	 * selections into wsdl selections and notifies WSDL selection manager
+	 */
+	class OutlineTreeSelectionChangeListener implements ISelectionChangedListener, IDoubleClickListener {
+		private ISelectionProvider fProvider = null;
 
-  public void init(IEditorSite site, IEditorInput input) throws PartInitException
-  {
-    super.init(site, input);
-    try
-    {
-      IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-      IWorkbenchPage page = window.getActivePage();
-      if (page != null)
-      {
-        page.showView("org.eclipse.ui.views.PropertySheet");
-      }
-    }
-    catch (PartInitException partInitException)
-    {
-    }
-    catch (Exception exception)
-    {
-    }
-  }
+		public OutlineTreeSelectionChangeListener() {
+			super();
+		}
+		
+		void connect(IContentOutlinePage provider) {
+			fProvider = provider;
+			fProvider.addSelectionChangedListener(OutlineTreeSelectionChangeListener.this);
+			if (provider instanceof ConfigurableContentOutlinePage) {
+				((ConfigurableContentOutlinePage) provider).addDoubleClickListener(OutlineTreeSelectionChangeListener.this);
+			}
+		}
+		
+		void disconnect() {
+			fProvider.removeSelectionChangedListener(OutlineTreeSelectionChangeListener.this);
+			if (fProvider instanceof ConfigurableContentOutlinePage) {
+				((ConfigurableContentOutlinePage) fProvider).removeDoubleClickListener(OutlineTreeSelectionChangeListener.this);
+			}
+			fProvider = null;
+		}
 
-  public Object getAdapter(Class key)
-  {
-    Object result = null;
-    if (key == ISelectionProvider.class)
-    {
-      result = selectionManager;
-    }
-    else
-    {
-      result = super.getAdapter(key);
-    }
-    return result;
-  }
+		private ISelection getWSDLSelection(ISelection selection) {
+			ISelection sel = null;
+			if (selection instanceof IStructuredSelection) {
+				IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+				Object o = structuredSelection.getFirstElement();
 
-  public void dispose()
-  {
-    // call the extensibleOutlineProvider's inputChanged method a null viewer
-    // so that the outline's contentprovider/adapters don't attempt to update
-    // the viewer
-    // after the editor closes
-    extensibleOutlineProvider.inputChanged(null, null, null);
-    if (resourceChangeHandler != null)
-    {
-      resourceChangeHandler.dispose();
-    }
-    super.dispose();
-  }
+				// TODO ...
+				// we need to implement a selectionManagerMapping
+				// extension point
+				// so that extensions can specify how they'd like to map
+				// view objects
+				// to selection objects
+				//                                        
+				// if (o instanceof Element)
+				// {
+				// try
+				// {
+				// Object modelObject =
+				// WSDLEditorUtil.getInstance().findModelObjectForElement(wsdlEditor.getDefinition(),
+				// (Element)o);
+				// if (modelObject != null && !(modelObject instanceof
+				// UnknownExtensibilityElement))
+				// {
+				// o = modelObject;
+				// }
+				// }
+				// catch (Exception e)
+				// {
+				// }
+				// }
+				if (o != null)
+					sel = new StructuredSelection(o);
+			}
+			return sel;
+		}
 
-  public WSDLSelectionManager getSelectionManager()
-  {
-    return selectionManager;
-  }
+		public void doubleClick(DoubleClickEvent event) {
+			/*
+			 * Selection in outline tree changed so set outline tree's
+			 * selection into editor's selection and say it came from outline
+			 * tree
+			 */
+			if (getSelectionManager() != null && getSelectionManager().enableNotify) {
+				ISelection selection = getWSDLSelection(event.getSelection());
+				if (selection != null) {
+					getSelectionManager().setSelection(selection, fProvider);
+				}
 
-  public ExtensibleOutlineProvider getExtensibleOutlineProvider()
-  {
-    if (extensibleOutlineProvider == null)
-    {
-      extensibleOutlineProvider = new ExtensibleOutlineProvider(this);
-    }
-    return extensibleOutlineProvider;
-  }
+				if(getTextEditor() != null && selection instanceof IStructuredSelection) {
+					int start = -1;
+					int length = 0;
+					Object o = ((IStructuredSelection)selection).getFirstElement();
+					if (o != null)
+						o = WSDLEditorUtil.getInstance().getNodeForObject(o);
+					if (o instanceof IndexedRegion) {
+						start = ((IndexedRegion) o).getStartOffset();
+						length = ((IndexedRegion) o).getEndOffset() - start;
+					}
+					if(start > -1) {
+						getTextEditor().selectAndReveal(start, length);
+					}
+				}
+			}
+		}
 
-  public WSDLTextEditor getWSDLTextEditor()
-  {
-    return textEditor;
-  }
+		public void selectionChanged(SelectionChangedEvent event) {
+			/*
+			 * Selection in outline tree changed so set outline tree's
+			 * selection into editor's selection and say it came from outline
+			 * tree
+			 */
+			if (getSelectionManager() != null && getSelectionManager().enableNotify) {
+				ISelection selection = getWSDLSelection(event.getSelection());
+				if (selection != null) {
+					getSelectionManager().setSelection(selection, fProvider);
+				}
+			}
+		}
+	}
+	private OutlineTreeSelectionChangeListener fOutlineTreeListener = null;
 
-  public WSDLGraphViewer getGraphViewer()
-  {
-    return graphViewer;
-  }
+	/**
+	 * Listener on SSE's source editor's selections that converts DOM
+	 * selections into wsdl selections and notifies WSDL selection manager
+	 */
+	private class SourceEditorSelectionListener implements ISelectionChangedListener {
+		/**
+		 * Determines WSDL node based on object (DOM node)
+		 * 
+		 * @param object
+		 * @return
+		 */
+		private Object getWSDLNode(Object object) {
+			// get the element node
+			Element element = null;
+			if (object instanceof Node) {
+				Node node = (Node) object;
+				if (node != null) {
+					if (node.getNodeType() == Node.ELEMENT_NODE) {
+						element = (Element) node;
+					}
+					else if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
+						element = ((Attr) node).getOwnerElement();
+					}
+				}
+			}
+			Object o = element;
+			if (element != null) {
+				Object modelObject = WSDLEditorUtil.getInstance().findModelObjectForElement(getDefinition(), element);
+				if (modelObject != null) {
+					o = modelObject;
+				}
+			}
+			return o;
+		}
 
-  public IStructuredModel getStructuredModel()
-  {
-    return textEditor.getModel();
-  }
+		public void selectionChanged(SelectionChangedEvent event) {
+			ISelection selection = event.getSelection();
+			if (selection instanceof IStructuredSelection) {
+				List wsdlSelections = new ArrayList();
+				for (Iterator i = ((IStructuredSelection) selection).iterator(); i.hasNext();) {
+					Object domNode = i.next();
+					Object wsdlNode = getWSDLNode(domNode);
+					if (wsdlNode != null) {
+						wsdlSelections.add(wsdlNode);
+					}
+				}
 
-  public Document getXMLDocument()
-  {
-    return ((IDOMModel) textEditor.getModel()).getDocument();
-  }
+				if (!wsdlSelections.isEmpty()) {
+					StructuredSelection wsdlSelection = new StructuredSelection(wsdlSelections);
+					getSelectionManager().setSelection(wsdlSelection, getTextEditor().getSelectionProvider());
+				}
+			}
+		}
+	}
 
-  public Definition getDefinition()
-  {
-    return modelAdapter != null ? modelAdapter.getDefinition() : null;
-  }
+	/**
+	 * Listener on WSDL's selection manager's selections that converts WSDL
+	 * selections into DOM selections and notifies SSE's selection provider
+	 */
+	private class WSDLSelectionManagerSelectionListener implements ISelectionChangedListener {
+		/**
+		 * Determines DOM node based on object (wsdl node)
+		 * 
+		 * @param object
+		 * @return
+		 */
+		private Object getObjectForOtherModel(Object object) {
+			Node node = null;
 
-  /**
-   * Creates the pages of this multi-page editor.
-   * <p>
-   * Subclasses of <code>MultiPageEditor</code> must implement this method.
-   * </p>
-   */
-  protected void createPages()
-  {
-    try
-    {
-      if (resourceChangeHandler == null)
-      {
-        resourceChangeHandler = new WSDLEditorResourceChangeHandler(this);
-        resourceChangeHandler.attach();
-      }
-      createSourcePage();
-      addSourcePage();
-      // create the wsdl model
-      //
-      lookupOrCreateWSDLModel();
-      createAndAddGraphPage();
-      // get the type of page and set the active page to show
-      int pageIndexToShow = getDefaultPageIndex();
-      setActivePage(pageIndexToShow);
-      getSelectionManager().setSelection(new StructuredSelection(getDefinition()));
-    }
-    catch (PartInitException exception)
-    {
-      throw new SourceEditingRuntimeException(exception, WSDLEditorPlugin.getWSDLString("An_error_has_occurred_when1_ERROR_")); //$NON-NLS-1$ = "An error has occurred when initializing the input for the the editor's source page."
-    }
-    // TODO: add a catch block here for any exception the design page throws and
-    // convert it into a more informative message.
-  }
+			if (object instanceof Node) {
+				node = (Node) object;
+			}
+			else {
+				node = WSDLEditorUtil.getInstance().getNodeForObject(object);
+			}
 
-  protected void lookupOrCreateWSDLModel()
-  {
-    try
-    {
-      Document document = ((IDOMModel) getModel()).getDocument();
-      if (document instanceof INodeNotifier)
-      {
-        INodeNotifier notifier = (INodeNotifier) document;
-        modelAdapter = (WSDLModelAdapter) notifier.getAdapterFor(WSDLModelAdapter.class);
-        if (modelAdapter == null)
-        {
-          modelAdapter = new WSDLModelAdapter();
-          notifier.addAdapter(modelAdapter);
-          modelAdapter.createDefinition(document.getDocumentElement());
-        }
-      }
-    }
-    catch (Exception e)
-    {
-    }
-  }
+			// the text editor can only accept sed nodes!
+			//
+			if (!(node instanceof IDOMNode)) {
+				node = null;
+			}
+			return node;
+		}
 
-  protected int getDefaultPageIndex()
-  {
-    if (WSDLEditorPlugin.getInstance().getDefaultPage().equals(WSDLEditorPlugin.GRAPH_PAGE))
-    {
-      if (graphPageIndex != -1)
-      {
-        return graphPageIndex;
-      }
-    }
-    return sourcePageIndex;
-  }
+		public void selectionChanged(SelectionChangedEvent event) {
+			// do not fire selection in source editor if selection event came
+			// from source editor
+			if (event.getSource() != getTextEditor().getSelectionProvider()) {
+				ISelection selection = event.getSelection();
+				if (selection instanceof IStructuredSelection) {
+					List otherModelObjectList = new ArrayList();
+					for (Iterator i = ((IStructuredSelection) selection).iterator(); i.hasNext();) {
+						Object modelObject = i.next();
+						Object otherModelObject = getObjectForOtherModel(modelObject);
+						if (otherModelObject != null) {
+							otherModelObjectList.add(otherModelObject);
+						}
+					}
+					if (!otherModelObjectList.isEmpty()) {
+						StructuredSelection nodeSelection = new StructuredSelection(otherModelObjectList);
+						getTextEditor().getSelectionProvider().setSelection(nodeSelection);
+					}
+				}
+			}
+		}
+	}
 
-  /**
-   * @see org.eclipse.wst.wsdl.ui.WSDLMultiPageEditorPart#createTextEditor()
-   */
-  protected StructuredTextEditor createTextEditor()
-  {
-    textEditor = new WSDLTextEditor(this);
-    return textEditor;
-  }
+	public WSDLEditor() {
+		selectionManager = new WSDLSelectionManager();
+	}
 
-  /**
-   * create our own
-   */
-  protected void createSourcePage() throws PartInitException
-  {
-    super.createSourcePage();
-    textEditor = (WSDLTextEditor) getTextEditor();
-  }
-  int sourcePageIndex = -1;
+	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
+		super.init(site, input);
+		try {
+			IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+			IWorkbenchPage page = window.getActivePage();
+			if (page != null) {
+				page.showView("org.eclipse.ui.views.PropertySheet");
+			}
+		}
+		catch (PartInitException partInitException) {
+		}
+		catch (Exception exception) {
+		}
+	}
 
-  /**
-   * Adds the source page of the multi-page editor.
-   */
-  protected void addSourcePage() throws PartInitException
-  {
-    sourcePageIndex = addPage(textEditor, getEditorInput());
-    setPageText(sourcePageIndex, WSDLEditorPlugin.getWSDLString("_UI_TAB_SOURCE"));
-    // the update's critical, to get viewer selection manager and highlighting to
-    // work
-    textEditor.update();
-  }
+	public Object getAdapter(Class key) {
+		Object result = null;
+		if (key == ISelectionProvider.class) {
+			result = selectionManager;
+		}
+		else if (IPropertySheetPage.class.equals(key)) {
+			if (fPropertySheetPage == null || fPropertySheetPage.getControl() == null || fPropertySheetPage.getControl().isDisposed()) {
+				fPropertySheetPage = new WSDLTabbedPropertySheetPage(this, this);
+				((WSDLTabbedPropertySheetPage) fPropertySheetPage).setSelectionManager(getSelectionManager());
 
-  int[] weights;
+			}
+			return fPropertySheetPage;
+		}
+		else if (IContentOutlinePage.class.equals(key)) {
+			if (fContentOutlinePage == null || fContentOutlinePage.getControl() == null || fContentOutlinePage.getControl().isDisposed()) {
+				fContentOutlinePage = (IContentOutlinePage) super.getAdapter(key);
+				if (fContentOutlinePage != null) {
+					fOutlineTreeListener = new OutlineTreeSelectionChangeListener();
+					fOutlineTreeListener.connect(fContentOutlinePage);
+				}
+			}
+			result = fContentOutlinePage;
+		}
+		else {
+			result = super.getAdapter(key);
+		}
+		return result;
+	}
 
-  public void setDesignWeights(int[] weights, boolean updateSourceDesign)
-  {
-    this.weights = weights;
-    if (updateSourceDesign)
-    {
-      sashForm.setWeights(weights);
-    }
-  }
+	public void dispose() {
+		// call the extensibleOutlineProvider's inputChanged method a null
+		// viewer
+		// so that the outline's contentprovider/adapters don't attempt to
+		// update
+		// the viewer
+		// after the editor closes
+		// extensibleOutlineProvider.inputChanged(null, null, null);
+		if (resourceChangeHandler != null) {
+			resourceChangeHandler.dispose();
+		}
 
-  protected void pageChange(int arg)
-  {
-    super.pageChange(arg);
-    if (getPageText(arg).equals(WSDLEditorPlugin.getWSDLString("_UI_TAB_SOURCE"))) // TRANSLATE
-                                                                                    // !
-    {
-      // update the input
-    }
-    else if (getPageText(arg).equals(WSDLEditorPlugin.getWSDLString("_UI_TAB_GRAPH"))) // TRANSLATE
-                                                                                        // !
-    {
-      // update the input
-    }
-  }
-  static private Color dividerColor;
+		ISelectionProvider provider = getTextEditor().getSelectionProvider();
+		if (provider instanceof IPostSelectionProvider) {
+			((IPostSelectionProvider) provider).removePostSelectionChangedListener(fSourceEditorSelectionListener);
+		}
+		else {
+			provider.removeSelectionChangedListener(fSourceEditorSelectionListener);
+		}
+		if (fOutlineTreeListener != null) {
+			fOutlineTreeListener.disconnect();
+			fOutlineTreeListener = null;
+		}
+		getSelectionManager().removeSelectionChangedListener(fWSDLSelectionListener);
+		super.dispose();
+	}
 
-  /**
-   * Creates the graph page and adds it to the multi-page editor.
-   */
-  protected void createAndAddGraphPage() throws PartInitException
-  {
-    // create the graph page
-    sashForm = new SashForm(getContainer(), SWT.BORDER);
-    sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-    sashForm.setOrientation(SWT.VERTICAL);
-    int[] weights = {8, 3};
-    graphPageIndex = addPage(sashForm);
-    setPageText(graphPageIndex, WSDLEditorPlugin.getWSDLString("_UI_TAB_GRAPH"));
-    // create the graph viewer
-    graphViewer = new WSDLGraphViewer(this);
-    graphViewer.createControl(sashForm);
-    // detailsViewer = new WSDLDetailsViewer(this);
-    // detailsViewer.createControl(sashForm);
-    //
-    // sashForm.setWeights(weights);
-    if (dividerColor == null)
-    {
-      dividerColor = new Color(getContainer().getDisplay(), 143, 141, 138);
-    }
-    getContainer().addPaintListener(new PaintListener()
-    {
-      /**
-       * @see org.eclipse.swt.events.PaintListener#paintControl(PaintEvent)
-       */
-      public void paintControl(PaintEvent e)
-      {
-        Object source = e.getSource();
-        if (source instanceof Composite)
-        {
-          Composite comp = (Composite) source;
-          Rectangle boundary = comp.getClientArea();
-          e.gc.setForeground(dividerColor);
-          e.gc.drawLine(boundary.x, boundary.y, boundary.x + boundary.width, boundary.y);
-          setDesignWeights(sashForm.getWeights(), true);
-        }
-      }
-    });
-  }
+	public WSDLSelectionManager getSelectionManager() {
+		return selectionManager;
+	}
 
-  public void setFocus()
-  {
-    super.setFocus();
-    int activePage = getActivePage();
-    if (activePage == sourcePageIndex)
-    {
-      WSDLEditorPlugin.getInstance().setDefaultPage(WSDLEditorPlugin.SOURCE_PAGE);
-    }
-    else
-    {
-      WSDLEditorPlugin.getInstance().setDefaultPage(WSDLEditorPlugin.GRAPH_PAGE);
-    }
-  }
-  //
-  //
-  public static class BuiltInWSDLEditorExtension implements WSDLEditorExtension
-  {
-    public boolean isExtensionTypeSupported(int type)
-    {
-      return type == OUTLINE_TREE_CONTENT_PROVIDER || type == OUTLINE_LABEL_PROVIDER || type == EDIT_PART_FACTORY || type == DETAILS_VIEWER_PROVIDER || type == MENU_ACTION_CONTRIBUTOR
-          || type == NODE_RECONCILER || type == NODE_ASSOCIATION_PROVIDER;
-    }
+	public WSDLGraphViewer getGraphViewer() {
+		return graphViewer;
+	}
 
-    public boolean isApplicable(Object object)
-    {
-      return (object instanceof WSDLElement && !(object instanceof XSDSchemaExtensibilityElement)) || (object instanceof WSDLGroupObject);
-    }
+	public IStructuredModel getStructuredModel() {
+		return textEditor.getModel();
+		// IDocument doc =
+		// textEditor.getDocumentProvider().getDocument(getEditorInput());
+		// IModelManager modelManager = ModelManagerImpl.getInstance();
+		// return modelManager.getModelForRead((IStructuredDocument) doc);
+	}
 
-    public Object createExtensionObject(int type, WSDLEditor wsdlEditor)
-    {
-      Object result = null;
-      switch (type)
-      {
-        case OUTLINE_TREE_CONTENT_PROVIDER : {
-          result = new ModelAdapterContentProvider(WSDLModelAdapterFactory.getWSDLModelAdapterFactory());
-          break;
-        }
-        case OUTLINE_LABEL_PROVIDER : {
-          result = new ModelAdapterLabelProvider(WSDLModelAdapterFactory.getWSDLModelAdapterFactory());
-          break;
-        }
-        case DETAILS_VIEWER_PROVIDER : {
-          result = new WSDLDetailsViewerProvider();
-          break;
-        }
-        case MENU_ACTION_CONTRIBUTOR : {
-          result = new WSDLMenuActionContributor(wsdlEditor);
-          break;
-        }
-        case NODE_ASSOCIATION_PROVIDER : {
-          result = new WSDLNodeAssociationProvider();
-          break;
-        }
-        case EDIT_PART_FACTORY : {
-          result = new WSDLEditPartFactory();
-          break;
-        }
-      }
-      return result;
-    }
-  }
+	public Document getXMLDocument() {
+		return ((IDOMModel) getStructuredModel()).getDocument();
+	}
 
-  public void reloadDependencies()
-  {
-    try
-    {
-      getGraphViewer().getComponentViewer().setPreserveExpansionEnabled(true);
-      Definition definition = getDefinition();
-      if (definition != null)
-      {
-        WSDLResourceUtil.reloadDirectives(definition);
-        ComponentReferenceUtil.updateBindingReferences(definition);
-        ComponentReferenceUtil.updatePortTypeReferences(definition);
-        ComponentReferenceUtil.updateMessageReferences(definition);
-        ComponentReferenceUtil.updateSchemaReferences(definition);
-        // the line below simply causes a notification in order to update our
-        // views
-        //
-        definition.setDocumentationElement(definition.getDocumentationElement());
-      }
-    }
-    finally
-    {
-      getGraphViewer().getComponentViewer().setPreserveExpansionEnabled(false);
-    }
-  }
+	public Definition getDefinition() {
+		return modelAdapter != null ? modelAdapter.getDefinition() : null;
+	}
 
-  public void openOnSelection(String specification)
-  {
-    EObject eObject = getDefinition().eResource().getEObject(specification);
-    if (eObject != null)
-    {
-      getSelectionManager().setSelection(new StructuredSelection(eObject));
-    }
-  }
+	/**
+	 * Creates the pages of this multi-page editor.
+	 * <p>
+	 * Subclasses of <code>MultiPageEditor</code> must implement this
+	 * method.
+	 * </p>
+	 */
+	protected void createPages() {
+		try {
+			if (resourceChangeHandler == null) {
+				resourceChangeHandler = new WSDLEditorResourceChangeHandler(this);
+				resourceChangeHandler.attach();
+			}
+			createSourcePage();
+			addSourcePage();
+			// create the wsdl model
+			//
+			lookupOrCreateWSDLModel();
+			createAndAddGraphPage();
 
-  public INavigationLocation createEmptyNavigationLocation()
-  {
-    return new InternalTextSelectionNavigationLocation(textEditor, false);
-  }
+			// get the type of page and set the active page to show
+			int pageIndexToShow = getDefaultPageIndex();
+			setActivePage(pageIndexToShow);
+			getSelectionManager().setSelection(new StructuredSelection(getDefinition()));
 
-  public INavigationLocation createNavigationLocation()
-  {
-    return new InternalTextSelectionNavigationLocation(textEditor, true);
-  }
-  static class InternalTextSelectionNavigationLocation extends TextSelectionNavigationLocation
-  {
-    public InternalTextSelectionNavigationLocation(ITextEditor part, boolean initialize)
-    {
-      super(part, initialize);
-    }
+			// added selection listeners after setting selection to avoid
+			// navigation exception
+			ISelectionProvider provider = getTextEditor().getSelectionProvider();
+			fSourceEditorSelectionListener = new SourceEditorSelectionListener();
+			if (provider instanceof IPostSelectionProvider) {
+				((IPostSelectionProvider) provider).addPostSelectionChangedListener(fSourceEditorSelectionListener);
+			}
+			else {
+				provider.addSelectionChangedListener(fSourceEditorSelectionListener);
+			}
+			fWSDLSelectionListener = new WSDLSelectionManagerSelectionListener();
+			getSelectionManager().addSelectionChangedListener(fWSDLSelectionListener);
+		}
+		catch (PartInitException e) {
+			// log for now, unless we find reason not to
+			Logger.log(Logger.INFO, e.getMessage());
+		}
+		// TODO: add a catch block here for any exception the design page
+		// throws and
+		// convert it into a more informative message.
+	}
 
-    protected IEditorPart getEditorPart()
-    {
-      IEditorPart part = super.getEditorPart();
-      if (part instanceof WSDLEditor)
-      {
-        part = ((WSDLEditor) part).getTextEditor();
-      }
-      return part;
-    }
+	protected void lookupOrCreateWSDLModel() {
+		try {
+			Document document = ((IDOMModel) getModel()).getDocument();
+			if (document instanceof INodeNotifier) {
+				INodeNotifier notifier = (INodeNotifier) document;
+				modelAdapter = (WSDLModelAdapter) notifier.getAdapterFor(WSDLModelAdapter.class);
+				if (modelAdapter == null) {
+					modelAdapter = new WSDLModelAdapter();
+					notifier.addAdapter(modelAdapter);
+					modelAdapter.createDefinition(document.getDocumentElement());
+				}
+			}
+		}
+		catch (Exception e) {
+		}
+	}
 
-    public String getText()
-    {
-      IEditorPart part = getEditorPart();
-      if (part instanceof WSDLTextEditor)
-      {
-        return ((WSDLTextEditor) part).getWSDLEditor().getTitle();
-      }
-      else
-      {
-        return super.getText();
-      }
-    }
-  }
+	protected int getDefaultPageIndex() {
+		if (WSDLEditorPlugin.getInstance().getDefaultPage().equals(WSDLEditorPlugin.GRAPH_PAGE)) {
+			if (graphPageIndex != -1) {
+				return graphPageIndex;
+			}
+		}
+		return sourcePageIndex;
+	}
 
-  // Returns the element currently on the copy, cut, paste clipboard
-  public WSDLElement getClipboardContents()
-  {
-    return clipboardElement;
-  }
+	/**
+	 * @see org.eclipse.wst.wsdl.ui.WSDLMultiPageEditorPart#createTextEditor()
+	 */
+	protected StructuredTextEditor createTextEditor() {
+		textEditor = new StructuredTextEditor();
+		return textEditor;
+	}
 
-  public void setClipboardContents(WSDLElement element)
-  {
-    clipboardElement = element;
-  }
+	/**
+	 * create our own
+	 */
+	protected void createSourcePage() throws PartInitException {
+		super.createSourcePage();
+		textEditor = getTextEditor();
+	}
+
+	int sourcePageIndex = -1;
+
+	/**
+	 * Adds the source page of the multi-page editor.
+	 */
+	protected void addSourcePage() throws PartInitException {
+		sourcePageIndex = addPage(textEditor, getEditorInput());
+		setPageText(sourcePageIndex, WSDLEditorPlugin.getWSDLString("_UI_TAB_SOURCE"));
+		// the update's critical, to get viewer selection manager and
+		// highlighting to
+		// work
+		textEditor.update();
+	}
+
+	int[] weights;
+
+	public void setDesignWeights(int[] weights, boolean updateSourceDesign) {
+		this.weights = weights;
+		if (updateSourceDesign) {
+			sashForm.setWeights(weights);
+		}
+	}
+
+	protected void pageChange(int arg) {
+		super.pageChange(arg);
+		if (getPageText(arg).equals(WSDLEditorPlugin.getWSDLString("_UI_TAB_SOURCE"))) // TRANSLATE
+		// !
+		{
+			// update the input
+		}
+		else if (getPageText(arg).equals(WSDLEditorPlugin.getWSDLString("_UI_TAB_GRAPH"))) // TRANSLATE
+		// !
+		{
+			// update the input
+		}
+	}
+
+	static private Color dividerColor;
+
+	/**
+	 * Creates the graph page and adds it to the multi-page editor.
+	 */
+	protected void createAndAddGraphPage() throws PartInitException {
+		// create the graph page
+		sashForm = new SashForm(getContainer(), SWT.BORDER);
+		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
+		sashForm.setOrientation(SWT.VERTICAL);
+		graphPageIndex = addPage(sashForm);
+		setPageText(graphPageIndex, WSDLEditorPlugin.getWSDLString("_UI_TAB_GRAPH"));
+		// create the graph viewer
+		graphViewer = new WSDLGraphViewer(this);
+		graphViewer.createControl(sashForm);
+		// detailsViewer = new WSDLDetailsViewer(this);
+		// detailsViewer.createControl(sashForm);
+		//
+		// sashForm.setWeights(weights);
+		if (dividerColor == null) {
+			dividerColor = new Color(getContainer().getDisplay(), 143, 141, 138);
+		}
+		getContainer().addPaintListener(new PaintListener() {
+			/**
+			 * @see org.eclipse.swt.events.PaintListener#paintControl(PaintEvent)
+			 */
+			public void paintControl(PaintEvent e) {
+				Object source = e.getSource();
+				if (source instanceof Composite) {
+					Composite comp = (Composite) source;
+					Rectangle boundary = comp.getClientArea();
+					e.gc.setForeground(dividerColor);
+					e.gc.drawLine(boundary.x, boundary.y, boundary.x + boundary.width, boundary.y);
+					setDesignWeights(sashForm.getWeights(), true);
+				}
+			}
+		});
+	}
+
+	public void setFocus() {
+		super.setFocus();
+		int activePage = getActivePage();
+		if (activePage == sourcePageIndex) {
+			WSDLEditorPlugin.getInstance().setDefaultPage(WSDLEditorPlugin.SOURCE_PAGE);
+		}
+		else {
+			WSDLEditorPlugin.getInstance().setDefaultPage(WSDLEditorPlugin.GRAPH_PAGE);
+		}
+	}
+
+	//
+	//
+	public static class BuiltInWSDLEditorExtension implements WSDLEditorExtension {
+		public boolean isExtensionTypeSupported(int type) {
+			return type == OUTLINE_TREE_CONTENT_PROVIDER || type == OUTLINE_LABEL_PROVIDER || type == EDIT_PART_FACTORY || type == DETAILS_VIEWER_PROVIDER || type == MENU_ACTION_CONTRIBUTOR || type == NODE_RECONCILER || type == NODE_ASSOCIATION_PROVIDER;
+		}
+
+		public boolean isApplicable(Object object) {
+			return (object instanceof WSDLElement && !(object instanceof XSDSchemaExtensibilityElement)) || (object instanceof WSDLGroupObject);
+		}
+
+		public Object createExtensionObject(int type, WSDLEditor wsdlEditor) {
+			Object result = null;
+			switch (type) {
+				case OUTLINE_TREE_CONTENT_PROVIDER : {
+					result = new ModelAdapterContentProvider(WSDLModelAdapterFactory.getWSDLModelAdapterFactory());
+					break;
+				}
+				case OUTLINE_LABEL_PROVIDER : {
+					result = new ModelAdapterLabelProvider(WSDLModelAdapterFactory.getWSDLModelAdapterFactory());
+					break;
+				}
+				case DETAILS_VIEWER_PROVIDER : {
+					result = new WSDLDetailsViewerProvider();
+					break;
+				}
+				case MENU_ACTION_CONTRIBUTOR : {
+					result = new WSDLMenuActionContributor(wsdlEditor);
+					break;
+				}
+				case NODE_ASSOCIATION_PROVIDER : {
+					result = new WSDLNodeAssociationProvider();
+					break;
+				}
+				case EDIT_PART_FACTORY : {
+					result = new WSDLEditPartFactory();
+					break;
+				}
+			}
+			return result;
+		}
+	}
+
+	public void reloadDependencies() {
+		try {
+			getGraphViewer().getComponentViewer().setPreserveExpansionEnabled(true);
+			Definition definition = getDefinition();
+			if (definition != null) {
+				WSDLResourceUtil.reloadDirectives(definition);
+				ComponentReferenceUtil.updateBindingReferences(definition);
+				ComponentReferenceUtil.updatePortTypeReferences(definition);
+				ComponentReferenceUtil.updateMessageReferences(definition);
+				ComponentReferenceUtil.updateSchemaReferences(definition);
+				// the line below simply causes a notification in order to
+				// update our
+				// views
+				//
+				definition.setDocumentationElement(definition.getDocumentationElement());
+			}
+		}
+		finally {
+			getGraphViewer().getComponentViewer().setPreserveExpansionEnabled(false);
+		}
+	}
+
+	public void openOnSelection(String specification) {
+		EObject eObject = getDefinition().eResource().getEObject(specification);
+		if (eObject != null) {
+			getSelectionManager().setSelection(new StructuredSelection(eObject));
+		}
+	}
+
+	public INavigationLocation createEmptyNavigationLocation() {
+		return new InternalTextSelectionNavigationLocation(textEditor, false);
+	}
+
+	public INavigationLocation createNavigationLocation() {
+		return new InternalTextSelectionNavigationLocation(textEditor, true);
+	}
+
+	static class InternalTextSelectionNavigationLocation extends TextSelectionNavigationLocation {
+		public InternalTextSelectionNavigationLocation(ITextEditor part, boolean initialize) {
+			super(part, initialize);
+		}
+
+		protected IEditorPart getEditorPart() {
+			IEditorPart part = super.getEditorPart();
+			if (part instanceof WSDLEditor) {
+				part = ((WSDLEditor) part).getTextEditor();
+			}
+			return part;
+		}
+
+		public String getText() {
+			// ISSUE: how to get title?
+			// IEditorPart part = getEditorPart();
+			// if (part instanceof WSDLTextEditor) {
+			// return ((WSDLTextEditor) part).getWSDLEditor().getTitle();
+			// }
+			// else {
+			// return super.getText();
+			// }
+			return super.getText();
+		}
+	}
+
+	// Returns the element currently on the copy, cut, paste clipboard
+	public WSDLElement getClipboardContents() {
+		return clipboardElement;
+	}
+
+	public void setClipboardContents(WSDLElement element) {
+		clipboardElement = element;
+	}
+
+	/**
+	 * @see org.eclipse.wst.common.ui.properties.internal.provisional.ITabbedPropertySheetPageContributor#getContributorId()
+	 */
+	public String getContributorId() {
+		return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+		// return getSite().getId();
+	}
+
+	/*
+	 * We override this method so we can hook in our automatic Binding
+	 * generation. We will generate the Binding after a save is executed (If
+	 * this preference has been set to true).
+	 */
+	public void doSave(IProgressMonitor monitor) {
+		try {
+			// Display prompt message
+			boolean continueRegeneration = false;
+			if (WSDLEditorPlugin.getInstance().getPluginPreferences().getBoolean("Prompt Regenerate Binding on save")) {
+				Shell shell = Display.getCurrent().getActiveShell();
+				GenerateBindingOnSaveDialog dialog = new GenerateBindingOnSaveDialog(shell);
+
+				int rValue = dialog.open();
+				if (rValue == SWT.YES) {
+					continueRegeneration = true;
+				}
+				else if (rValue == SWT.NO) {
+					continueRegeneration = false;
+				}
+				else if (rValue == SWT.CANCEL) {
+					return;
+				}
+				else {
+					System.out.println("\nNothing: " + rValue);
+				}
+			}
+			else {
+				continueRegeneration = WSDLEditorPlugin.getInstance().getPluginPreferences().getBoolean(WSDLEditorPlugin.getWSDLString("_UI_PREF_PAGE_AUTO_REGENERATE_BINDING"));
+			}
+
+			if (continueRegeneration) {
+				Iterator bindingsIt = getDefinition().getEBindings().iterator();
+				while (bindingsIt.hasNext()) {
+					Binding binding = (Binding) bindingsIt.next();
+					BindingGenerator generator = new BindingGenerator(binding.getEnclosingDefinition(), binding);
+					generator.setOverwrite(false);
+					generator.generateBinding();
+				}
+
+				// Little hack to 'redraw' connecting lines in the graph
+				// viewer
+				getDefinition().setQName(getDefinition().getQName());
+			}
+		}
+		catch (Exception e) {
+			// e.printStackTrace();
+		}
+		super.doSave(monitor);
+	}
 }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java
index f74c552..f9e5dfb 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorPlugin.java
@@ -20,9 +20,9 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.preference.IPreferenceStore;
@@ -35,7 +35,6 @@
 import org.eclipse.wst.wsdl.ui.internal.extension.NSKeyedExtensionRegistry;
 import org.eclipse.wst.wsdl.ui.internal.extension.WSDLEditorExtensionRegistry;
 
-
 public class WSDLEditorPlugin extends AbstractUIPlugin //, IPluginHelper
 {
   public static final String DEFAULT_PAGE = "org.eclipse.wst.wsdl.ui.internal.defaultpage";
@@ -177,8 +176,8 @@
    * Get resource string
    */
   public static String getWSDLString(String key)
-  {
-    return getInstance().getDescriptor().getResourceBundle().getString(key);
+  {	  
+    return Platform.getResourceBundle(Platform.getBundle(PLUGIN_ID)).getString(key);
   }
 
   /**
@@ -307,13 +306,12 @@
    */
   protected void initializeDefaultPreferences(IPreferenceStore store)
   {
-    super.initializeDefaultPreferences(store);
     store.setDefault(DEFAULT_PAGE, GRAPH_PAGE);
     
     // WSDLPreferencePage prefs
     store.setDefault(WSDLEditorPlugin.getWSDLString("_UI_PREF_PAGE_DEFAULT_TARGET_NAMESPACE"), DEFAULT_TARGET_NAMESPACE);
-    store.setDefault(WSDLEditorPlugin.getWSDLString("_UI_PREF_PAGE_AUTO_REGENERATE_BINDING"), true);
-    store.setDefault("Prompt Regenerate Binding on save", true);	// TODO: Externalize
+    store.setDefault(WSDLEditorPlugin.getWSDLString("_UI_PREF_PAGE_AUTO_REGENERATE_BINDING"), false);
+    store.setDefault("Prompt Regenerate Binding on save", false);	// TODO: Externalize
     // Do we need this preference below?  Look at WSDLPreferencePage.java
 //    store.setDefault("Defualt Location:", "http://www.example.com");
   }
@@ -350,8 +348,9 @@
    */
   public void readRegistry(String extensionPointId)
   {
-    IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, extensionPointId);
+	IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
+	IExtensionPoint point = extensionRegistry.getExtensionPoint(PLUGIN_ID, extensionPointId);
+
     if (point != null)
     {
       IConfigurationElement[] elements = point.getConfigurationElements();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorResourceChangeHandler.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorResourceChangeHandler.java
index 1c77991..9eb610b 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorResourceChangeHandler.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLEditorResourceChangeHandler.java
@@ -166,11 +166,11 @@
 
       public void run()
       {
-        for (Iterator i = list.iterator(); i.hasNext();)
-        {
-          IResource resource = (IResource)i.next();
-          String platformPath = URI.createPlatformResourceURI(resource.getFullPath().toString()).toString();
-        }
+//        for (Iterator i = list.iterator(); i.hasNext();)
+//        {
+//          IResource resource = (IResource)i.next();
+//          String platformPath = URI.createPlatformResourceURI(resource.getFullPath().toString()).toString();
+//        }
 
         Map dependencyMap = computeDependencyMap();
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLHyperlink.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLHyperlink.java
new file mode 100644
index 0000000..61088f5
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLHyperlink.java
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.ui.internal;
+
+import java.lang.reflect.Method;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.hyperlink.IHyperlink;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.part.FileEditorInput;
+
+/**
+ * WSDL Hyperlink that knows how to open links from wsdl files
+ */
+public class WSDLHyperlink implements IHyperlink {
+	private IRegion fRegion;
+	private String fResource;
+	private String fSpec;
+
+	public WSDLHyperlink(IRegion region, String resource, String spec) {
+		fRegion = region;
+		fResource = resource;
+		fSpec = spec;
+	}
+
+	public IRegion getHyperlinkRegion() {
+		return fRegion;
+	}
+
+	public String getTypeLabel() {
+		return null;
+	}
+
+	public String getHyperlinkText() {
+		return null;
+	}
+
+	public void open() {
+		/*
+		 * ISSUE: There are cleaner ways to find the right file based on a URI
+		 * string and cleaner ways to find which editor to open for the file.
+		 * See other IHyperlink and IHyperlinkDetector implementors for
+		 * examples.
+		 */
+		String pattern = "platform:/resource";
+		if (fResource != null && fResource.startsWith(pattern)) {
+			try {
+				Path path = new Path(fResource.substring(pattern.length()));
+				IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+
+				IWorkbenchPage workbenchPage = WSDLEditorPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getActivePage();
+				IEditorPart editorPart = workbenchPage.getActiveEditor();
+
+				if (editorPart.getEditorInput() instanceof IFileEditorInput && ((IFileEditorInput) editorPart.getEditorInput()).getFile().equals(file)) {
+					workbenchPage.getNavigationHistory().markLocation(editorPart);
+				}
+				else {
+					try {
+						if (fResource.endsWith("xsd")) {
+							editorPart = workbenchPage.openEditor(new FileEditorInput(file), WSDLEditorPlugin.XSD_EDITOR_ID);
+						}
+						else {
+							// Since we are already in the wsdleditor
+							editorPart = workbenchPage.openEditor(new FileEditorInput(file), editorPart.getEditorSite().getId());
+						}
+					}
+					catch (PartInitException initEx) {
+					}
+				}
+
+				/*
+				 * ISSUE: This just does not look like a safe thing to do. One
+				 * simple solution would be to have an interface for
+				 * openOnSelection that your editors can implement. Or, java
+				 * editor has something like a utility that is able to find
+				 * the offset/location for a given element in a file. Once you
+				 * have offset/location, you can just call setSelection.
+				 */
+				Class theClass = editorPart.getClass();
+				Class[] methodArgs = {String.class};
+				Method method = theClass.getMethod("openOnSelection", methodArgs);
+				Object args[] = {fSpec};
+				method.invoke(editorPart, args);
+				workbenchPage.getNavigationHistory().markLocation(editorPart);
+			}
+			catch (Exception e) {
+			}
+		}
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLHyperlinkDetector.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLHyperlinkDetector.java
new file mode 100644
index 0000000..3fd2b83
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLHyperlinkDetector.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.ui.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.Region;
+import org.eclipse.jface.text.hyperlink.IHyperlink;
+import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.ui.internal.text.WSDLModelAdapter;
+import org.eclipse.wst.wsdl.ui.internal.util.OpenOnSelectionHelper;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.w3c.dom.Node;
+
+/**
+ * Detects hyperlinks for WSDL files
+ */
+public class WSDLHyperlinkDetector implements IHyperlinkDetector {
+	/**
+	 * Gets the definition from document
+	 * 
+	 * @param document
+	 * @return Definition
+	 */
+	private Definition getDefinition(IDocument document) {
+		Definition definition = null;
+		IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
+		if (model != null) {
+			try {
+				if (model instanceof IDOMModel) {
+					IDOMDocument domDoc = ((IDOMModel) model).getDocument();
+					if (domDoc != null) {
+						WSDLModelAdapter modelAdapter = (WSDLModelAdapter) domDoc.getAdapterFor(WSDLModelAdapter.class);
+
+						/*
+						 * ISSUE: if adapter does not already exist for domDoc
+						 * getAdapterFor will create one. So why is this null
+						 * check/creation needed?
+						 */
+						if (modelAdapter == null) {
+							modelAdapter = new WSDLModelAdapter();
+							domDoc.addAdapter(modelAdapter);
+							modelAdapter.createDefinition(domDoc.getDocumentElement());
+						}
+
+						definition = modelAdapter.getDefinition();
+					}
+				}
+			}
+			finally {
+				model.releaseFromRead();
+			}
+		}
+		return definition;
+	}
+
+	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
+		// for now, only capable of creating 1 hyperlink
+		List hyperlinks = new ArrayList(0);
+
+		if (region != null && textViewer != null) {
+			IDocument document = textViewer.getDocument();
+			Node node = getCurrentNode(document, region.getOffset());
+
+			if (node != null) {
+				Definition definition = getDefinition(textViewer.getDocument());
+				OpenOnSelectionHelper helper = new OpenOnSelectionHelper(definition);
+				String[] array = helper.computeSpecification(node);
+				if (array != null) {
+					IRegion nodeRegion = region;
+					if (node instanceof IndexedRegion) {
+						IndexedRegion indexed = (IndexedRegion) node;
+						nodeRegion = new Region(indexed.getStartOffset(), indexed.getLength());
+					}
+					hyperlinks.add(new WSDLHyperlink(nodeRegion, array[0], array[1]));
+				}
+			}
+		}
+		if (hyperlinks.size() == 0)
+			return null;
+		return (IHyperlink[]) hyperlinks.toArray(new IHyperlink[0]);
+	}
+
+	/**
+	 * Returns the node the cursor is currently on in the document. null if no
+	 * node is selected
+	 * 
+	 * @param offset
+	 * @return Node either element, doctype, text, or null
+	 */
+	private Node getCurrentNode(IDocument document, int offset) {
+		// get the current node at the offset (returns either: element,
+		// doctype, text)
+		IndexedRegion inode = null;
+		IStructuredModel sModel = null;
+		try {
+			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
+			inode = sModel.getIndexedRegion(offset);
+			if (inode == null)
+				inode = sModel.getIndexedRegion(offset - 1);
+		}
+		finally {
+			if (sModel != null)
+				sModel.releaseFromRead();
+		}
+
+		if (inode instanceof Node) {
+			return (Node) inode;
+		}
+		return null;
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLMultiPageEditorPart.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLMultiPageEditorPart.java
index 7d1fd7d..32e4c1f 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLMultiPageEditorPart.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLMultiPageEditorPart.java
@@ -1,3 +1,4 @@
+
 /*******************************************************************************
  * Copyright (c) 2001, 2004 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
@@ -18,9 +19,7 @@
 import org.eclipse.core.resources.IResourceStatus;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.ITextInputListener;
@@ -28,7 +27,6 @@
 import org.eclipse.swt.events.ShellAdapter;
 import org.eclipse.swt.events.ShellEvent;
 import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IEditorActionBarContributor;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
@@ -46,614 +44,610 @@
 import org.eclipse.wst.common.ui.provisional.editors.PostMultiPageEditorSite;
 import org.eclipse.wst.common.ui.provisional.editors.PostSelectionMultiPageEditorPart;
 import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.exceptions.SourceEditingRuntimeException;
 import org.eclipse.wst.sse.ui.StructuredTextEditor;
 import org.eclipse.wst.xml.core.internal.provisional.IXMLPreferenceNames;
 import org.eclipse.wst.xml.core.internal.provisional.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.ui.internal.Logger;
 import org.eclipse.wst.xml.ui.internal.tabletree.XMLEditorMessages;
 
-public class WSDLMultiPageEditorPart extends PostSelectionMultiPageEditorPart implements IPropertyListener
-{
+public class WSDLMultiPageEditorPart extends PostSelectionMultiPageEditorPart implements IPropertyListener {
 
-	  /**
-	   * 
-	   */
-	  public WSDLMultiPageEditorPart()
-	  {
-	    super();
-	  }
-	  
-	  /**
-	   * Internal part activation listener
-	   */
-	  class PartListener extends ShellAdapter implements IPartListener {
-	    private IWorkbenchPart fActivePart;
-	    private boolean fIsHandlingActivation = false;
+	/**
+	 * 
+	 */
+	public WSDLMultiPageEditorPart() {
+		super();
+	}
 
-	    private void handleActivation() {
+	/**
+	 * Internal part activation listener
+	 */
+	class PartListener extends ShellAdapter implements IPartListener {
+		private IWorkbenchPart fActivePart;
+		private boolean fIsHandlingActivation = false;
 
-	      if (fIsHandlingActivation)
-	        return;
+		private void handleActivation() {
 
-	      if (fActivePart == WSDLMultiPageEditorPart.this) {
-	        fIsHandlingActivation = true;
-	        try {
-	          safelySanityCheckState();
-	        }
-	        finally {
-	          fIsHandlingActivation = false;
-	        }
-	      }
-	    }
+			if (fIsHandlingActivation)
+				return;
 
-	    /**
-	     * @see IPartListener#partActivated(IWorkbenchPart)
-	     */
-	    public void partActivated(IWorkbenchPart part) {
-	      fActivePart = part;
-	      handleActivation();
-	    }
-
-	    /**
-	     * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-	     */
-	    public void partBroughtToTop(IWorkbenchPart part) {
-	    }
-
-	    /**
-	     * @see IPartListener#partClosed(IWorkbenchPart)
-	     */
-	    public void partClosed(IWorkbenchPart part) {
-	    }
-
-	    /**
-	     * @see IPartListener#partDeactivated(IWorkbenchPart)
-	     */
-	    public void partDeactivated(IWorkbenchPart part) {
-	      fActivePart = null;
-	    }
-
-	    /**
-	     * @see IPartListener#partOpened(IWorkbenchPart)
-	     */
-	    public void partOpened(IWorkbenchPart part) {
-	    }
-
-	    /*
-	     * @see ShellListener#shellActivated(ShellEvent)
-	     */
-	    public void shellActivated(ShellEvent e) {
-	      handleActivation();
-	    }
-	  }
-
-	  class TextInputListener implements ITextInputListener {
-	    public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-	    }
-
-	    public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-	    }
-	  }
-
-	  /** The source page index. */
-	  private int fSourcePageIndex;
-	  /** The text editor. */
-	  private StructuredTextEditor fTextEditor;
-
-	  private PartListener partListener;
-
-
-	  /*
-	   * This method is just to make firePropertyChanged accessbible from some
-	   * (anonomous) inner classes.
-	   */
-	  protected void _firePropertyChange(int property) {
-	    super.firePropertyChange(property);
-	  }
-
-	  /**
-	   * Adds the source page of the multi-page editor.
-	   */
-	  protected void addSourcePage() throws PartInitException {
-	    try {
-	      fSourcePageIndex = addPage(fTextEditor, getEditorInput());
-	      setPageText(fSourcePageIndex, WSDLEditorPlugin.getWSDLString("_UI_TAB_SOURCE")); //$NON-NLS-1$
-	      // the update's critical, to get viewer selection manager and
-	      // highlighting to work
-	      fTextEditor.update();
-	  
-	      firePropertyChange(PROP_TITLE);
-	  
-	      // Changes to the Text Viewer's document instance should also force an
-	      // input refresh
-	      fTextEditor.getTextViewer().addTextInputListener(new TextInputListener());
-	    }
-	    catch (PartInitException exception) {
-	      // dispose editor
-	      dispose();
-
-	      throw new SourceEditingRuntimeException(exception, WSDLEditorPlugin.getWSDLString("An_error_has_occurred_when1_ERROR_")); //$NON-NLS-1$
-	    }
-	  }
-
-
-	  /* (non-Javadoc)
-	   * @see org.eclipse.ui.part.MultiPageEditorPart#createPages()
-	   */
-	  protected void createPages()
-	  {
-	    try
-	    {
-	      // source page MUST be created before design page, now
-	      createSourcePage();
-	      addSourcePage();
-	      setActivePage();
-
-	    // future_TODO: add a catch block here for any exception the design
-	    // page throws and convert it into a more informative message.
-	    }
-	    catch (PartInitException e) {
-	      throw new RuntimeException(e);
-	    }
-	  }
-
-	  /**
-	   * @see org.eclipse.ui.part.MultiPageEditorPart#createSite(org.eclipse.ui.IEditorPart)
-	   */
-	  protected IEditorSite createSite(IEditorPart editor) {
-	    IEditorSite site = null;
-	    if (editor == fTextEditor) {
-	      site = new PostMultiPageEditorSite(this, editor) {
-	        /**
-	         * @see org.eclipse.ui.part.MultiPageEditorSite#getActionBarContributor()
-	         */
-	        public IEditorActionBarContributor getActionBarContributor() {
-	          IEditorActionBarContributor contributor = super.getActionBarContributor();
-	          IEditorActionBarContributor multiContributor = WSDLMultiPageEditorPart.this.getEditorSite().getActionBarContributor();
-//	          if (multiContributor instanceof XMLMultiPageEditorActionBarContributor) {
-//	            contributor = ((XMLMultiPageEditorActionBarContributor) multiContributor).sourceViewerActionContributor;
-//	          }
-	          return contributor;
-	        }
-	        
-			public String getId() {
-				// sets this id so nested editor is considered xml source
-				// page
-				return ContentTypeIdForXML.ContentTypeID_XML + ".source"; //$NON-NLS-1$;
-			}
-	      };
-	    }
-	    else {
-	      site = super.createSite(editor);
-	    }
-	    return site;
-	  }
-
-	  /**
-	   * Creates the source page of the multi-page editor.
-	   */
-	  protected void createSourcePage() throws PartInitException {
-	    fTextEditor = createTextEditor();
-	    fTextEditor.setEditorPart(this);
-
-	    // Set the SourceViewerConfiguration now so the text editor won't use
-	    // the default configuration first
-	    // and switch to the StructuredTextViewerConfiguration later.
-	    // DMW removed setSourceViewerConfiguration 3/26/2003 since added
-	    // createPartControl to our text editor.
-	    // fTextEditor.setSourceViewerConfiguration();
-	    fTextEditor.addPropertyListener(this);
-	  }
-
-	  /**
-	   * Method createTextEditor.
-	   * 
-	   * @return StructuredTextEditor
-	   */
-	  protected StructuredTextEditor createTextEditor() {
-	    return new StructuredTextEditor();
-	  }
-
-	  public void dispose()
-	  {
-	    IWorkbenchWindow window = getSite().getWorkbenchWindow();
-	    window.getPartService().removePartListener(partListener);
-	    window.getShell().removeShellListener(partListener);
-
-	    getSite().getPage().removePartListener(partListener);
-	    if (fTextEditor != null) {
-	      fTextEditor.removePropertyListener(this);
-	    }
-
-	    // moved to last when added window ... seems like
-	    // we'd be in danger of losing some data, like site,
-	    // or something.
-	    super.dispose();
-	  }
-
-	  /*
-	   * (non-Javadoc) Saves the contents of this editor. <p> Subclasses must
-	   * override this method to implement the open-save-close lifecycle for an
-	   * editor. For greater details, see <code> IEditorPart </code></p>
-	   * 
-	   * @see IEditorPart
-	   */
-	  public void doSave(IProgressMonitor monitor) {
-	    fTextEditor.doSave(monitor);
-	    //    // this is a temporary way to force validation.
-	    //    // when the validator is a workbench builder, the following lines
-	    // can be removed
-	    //    if (fDesignViewer != null)
-	    //      fDesignViewer.saveOccurred();
-
-	  }
-
-	  /*
-	   * (non-Javadoc) Saves the contents of this editor to another object. <p>
-	   * Subclasses must override this method to implement the open-save-close
-	   * lifecycle for an editor. For greater details, see <code> IEditorPart
-	   * </code></p>
-	   * 
-	   * @see IEditorPart
-	   */
-	  public void doSaveAs() {
-	    fTextEditor.doSaveAs();
-	    // 253619
-	    // following used to be executed here, but is
-	    // now called "back" from text editor (since
-	    // mulitiple paths to the performSaveAs in StructuredTextEditor.
-	    //doSaveAsForStructuredTextMulitPagePart();
-	  }
-
-		private void editorInputIsAcceptable(IEditorInput input) throws PartInitException {
-			if (input instanceof IFileEditorInput) {
-				// verify that it can be opened
-				CoreException[] coreExceptionArray = new CoreException[1];
-				if (fileDoesNotExist((IFileEditorInput) input, coreExceptionArray)) {
-					CoreException coreException = coreExceptionArray[0];
-					if (coreException.getStatus().getCode() == IResourceStatus.FAILED_READ_LOCAL) {
-						// I'm assuming this is always 'does not exist'
-						// we'll refresh local go mimic behavior of default
-						// editor, where the
-						// troublesome file is refreshed (and will cause it to
-						// 'disappear' from Navigator.
-						try {
-							((IFileEditorInput) input).getFile().refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
-						} catch (CoreException ce) {
-							// very unlikely
-							Logger.logException(ce);
-						}
-						throw new PartInitException(NLS.bind(XMLEditorMessages.Resource__does_not_exist, (new Object[]{input.getName()})));
-					} else {
-						throw new PartInitException(NLS.bind(XMLEditorMessages.Editor_could_not_be_open, (new Object[]{input.getName()})));
-					}
-				}
-			} else if (input instanceof IStorageEditorInput) {
-				InputStream contents = null;
+			if (fActivePart == WSDLMultiPageEditorPart.this) {
+				fIsHandlingActivation = true;
 				try {
-					contents = ((IStorageEditorInput) input).getStorage().getContents();
-				} catch (CoreException noStorageExc) {
+					safelySanityCheckState();
 				}
-				if (contents == null) {
-					throw new PartInitException(NLS.bind(XMLEditorMessages.Editor_could_not_be_open, (new Object[]{input.getName()})));
-				} else {
+				finally {
+					fIsHandlingActivation = false;
+				}
+			}
+		}
+
+		/**
+		 * @see IPartListener#partActivated(IWorkbenchPart)
+		 */
+		public void partActivated(IWorkbenchPart part) {
+			fActivePart = part;
+			handleActivation();
+		}
+
+		/**
+		 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
+		 */
+		public void partBroughtToTop(IWorkbenchPart part) {
+		}
+
+		/**
+		 * @see IPartListener#partClosed(IWorkbenchPart)
+		 */
+		public void partClosed(IWorkbenchPart part) {
+		}
+
+		/**
+		 * @see IPartListener#partDeactivated(IWorkbenchPart)
+		 */
+		public void partDeactivated(IWorkbenchPart part) {
+			fActivePart = null;
+		}
+
+		/**
+		 * @see IPartListener#partOpened(IWorkbenchPart)
+		 */
+		public void partOpened(IWorkbenchPart part) {
+		}
+
+		/*
+		 * @see ShellListener#shellActivated(ShellEvent)
+		 */
+		public void shellActivated(ShellEvent e) {
+			handleActivation();
+		}
+	}
+
+	class TextInputListener implements ITextInputListener {
+		public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
+		}
+
+		public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
+		}
+	}
+
+	/** The source page index. */
+	private int fSourcePageIndex;
+	/** The text editor. */
+	private StructuredTextEditor fTextEditor;
+
+	private PartListener partListener;
+
+
+	/*
+	 * This method is just to make firePropertyChanged accessbible from some
+	 * (anonomous) inner classes.
+	 */
+	protected void _firePropertyChange(int property) {
+		super.firePropertyChange(property);
+	}
+
+	/**
+	 * Adds the source page of the multi-page editor.
+	 */
+	protected void addSourcePage() throws PartInitException {
+		try {
+			fSourcePageIndex = addPage(fTextEditor, getEditorInput());
+			setPageText(fSourcePageIndex, WSDLEditorPlugin.getWSDLString("_UI_TAB_SOURCE")); //$NON-NLS-1$
+			// the update's critical, to get viewer selection manager and
+			// highlighting to work
+			fTextEditor.update();
+
+			firePropertyChange(PROP_TITLE);
+
+			// Changes to the Text Viewer's document instance should also
+			// force an
+			// input refresh
+			fTextEditor.getTextViewer().addTextInputListener(new TextInputListener());
+		}
+		catch (PartInitException e) {
+			// dispose editor
+			dispose();
+
+			// log for now, unless we find reason not to
+			Logger.log(Logger.INFO, e.getMessage());
+		}
+	}
+
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.part.MultiPageEditorPart#createPages()
+	 */
+	protected void createPages() {
+		try {
+			// source page MUST be created before design page, now
+			createSourcePage();
+			addSourcePage();
+			setActivePage();
+
+			// future_TODO: add a catch block here for any exception the
+			// design
+			// page throws and convert it into a more informative message.
+		}
+		catch (PartInitException e) {
+			throw new RuntimeException(e);
+		}
+	}
+
+	/**
+	 * @see org.eclipse.ui.part.MultiPageEditorPart#createSite(org.eclipse.ui.IEditorPart)
+	 */
+	protected IEditorSite createSite(IEditorPart editor) {
+		IEditorSite site = null;
+		if (editor == fTextEditor) {
+			site = new PostMultiPageEditorSite(this, editor) {
+				/**
+				 * @see org.eclipse.ui.part.MultiPageEditorSite#getActionBarContributor()
+				 */
+				public IEditorActionBarContributor getActionBarContributor() {
+					IEditorActionBarContributor contributor = super.getActionBarContributor();
+//					IEditorActionBarContributor multiContributor = WSDLMultiPageEditorPart.this.getEditorSite().getActionBarContributor();
+					// if (multiContributor instanceof
+					// XMLMultiPageEditorActionBarContributor) {
+					// contributor = ((XMLMultiPageEditorActionBarContributor)
+					// multiContributor).sourceViewerActionContributor;
+					// }
+					return contributor;
+				}
+
+				public String getId() {
+					// sets this id so nested editor is considered xml source
+					// page
+					return ContentTypeIdForXML.ContentTypeID_XML + ".source"; //$NON-NLS-1$;
+				}
+			};
+		}
+		else {
+			site = super.createSite(editor);
+		}
+		return site;
+	}
+
+	/**
+	 * Creates the source page of the multi-page editor.
+	 */
+	protected void createSourcePage() throws PartInitException {
+		fTextEditor = createTextEditor();
+		fTextEditor.setEditorPart(this);
+
+		// Set the SourceViewerConfiguration now so the text editor won't use
+		// the default configuration first
+		// and switch to the StructuredTextViewerConfiguration later.
+		// DMW removed setSourceViewerConfiguration 3/26/2003 since added
+		// createPartControl to our text editor.
+		// fTextEditor.setSourceViewerConfiguration();
+		fTextEditor.addPropertyListener(this);
+	}
+
+	/**
+	 * Method createTextEditor.
+	 * 
+	 * @return StructuredTextEditor
+	 */
+	protected StructuredTextEditor createTextEditor() {
+		return new StructuredTextEditor();
+	}
+
+	public void dispose() {
+		IWorkbenchWindow window = getSite().getWorkbenchWindow();
+		window.getPartService().removePartListener(partListener);
+		window.getShell().removeShellListener(partListener);
+
+		getSite().getPage().removePartListener(partListener);
+		if (fTextEditor != null) {
+			fTextEditor.removePropertyListener(this);
+		}
+
+		// moved to last when added window ... seems like
+		// we'd be in danger of losing some data, like site,
+		// or something.
+		super.dispose();
+	}
+
+	/*
+	 * (non-Javadoc) Saves the contents of this editor. <p> Subclasses must
+	 * override this method to implement the open-save-close lifecycle for an
+	 * editor. For greater details, see <code> IEditorPart </code></p>
+	 * 
+	 * @see IEditorPart
+	 */
+	public void doSave(IProgressMonitor monitor) {
+		fTextEditor.doSave(monitor);
+		// // this is a temporary way to force validation.
+		// // when the validator is a workbench builder, the following lines
+		// can be removed
+		// if (fDesignViewer != null)
+		// fDesignViewer.saveOccurred();
+
+	}
+
+	/*
+	 * (non-Javadoc) Saves the contents of this editor to another object. <p>
+	 * Subclasses must override this method to implement the open-save-close
+	 * lifecycle for an editor. For greater details, see <code> IEditorPart
+	 * </code></p>
+	 * 
+	 * @see IEditorPart
+	 */
+	public void doSaveAs() {
+		fTextEditor.doSaveAs();
+		// 253619
+		// following used to be executed here, but is
+		// now called "back" from text editor (since
+		// mulitiple paths to the performSaveAs in StructuredTextEditor.
+		// doSaveAsForStructuredTextMulitPagePart();
+	}
+
+	private void editorInputIsAcceptable(IEditorInput input) throws PartInitException {
+		if (input instanceof IFileEditorInput) {
+			// verify that it can be opened
+			CoreException[] coreExceptionArray = new CoreException[1];
+			if (fileDoesNotExist((IFileEditorInput) input, coreExceptionArray)) {
+				CoreException coreException = coreExceptionArray[0];
+				if (coreException.getStatus().getCode() == IResourceStatus.FAILED_READ_LOCAL) {
+					// I'm assuming this is always 'does not exist'
+					// we'll refresh local go mimic behavior of default
+					// editor, where the
+					// troublesome file is refreshed (and will cause it to
+					// 'disappear' from Navigator.
 					try {
-						contents.close();
-					} catch (IOException e) {
+						((IFileEditorInput) input).getFile().refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
+					}
+					catch (CoreException ce) {
+						// very unlikely
+						Logger.logException(ce);
+					}
+					throw new PartInitException(NLS.bind(XMLEditorMessages.Resource__does_not_exist, (new Object[]{input.getName()})));
+				}
+				else {
+					throw new PartInitException(NLS.bind(XMLEditorMessages.Editor_could_not_be_open, (new Object[]{input.getName()})));
+				}
+			}
+		}
+		else if (input instanceof IStorageEditorInput) {
+			InputStream contents = null;
+			try {
+				contents = ((IStorageEditorInput) input).getStorage().getContents();
+			}
+			catch (CoreException noStorageExc) {
+			}
+			if (contents == null) {
+				throw new PartInitException(NLS.bind(XMLEditorMessages.Editor_could_not_be_open, (new Object[]{input.getName()})));
+			}
+			else {
+				try {
+					contents.close();
+				}
+				catch (IOException e) {
+				}
+			}
+		}
+	}
+
+	// void doSaveAsForStructuredTextMulitPagePart() {
+	// setPageText(getActivePage(), fTextEditor.getTitle());
+	// setInput(fTextEditor.getEditorInput());
+	// if (fDesignViewer != null) {
+	// //fDesignViewer.setEditorInput(fTextEditor.getEditorInput());
+	// fDesignViewer.setModel(getModel());
+	// fDesignViewer.saveAsOccurred();
+	// }
+	// // even though we've set title etc., several times already!
+	// // only now is all prepared for it.
+	// firePropertyChange(IWorkbenchPart.PROP_TITLE);
+	// firePropertyChange(PROP_DIRTY);
+	// }
+	/*
+	 * (non-Javadoc) Initializes the editor part with a site and input. <p>
+	 * Subclasses of <code> EditorPart </code> must implement this method.
+	 * Within the implementation subclasses should verify that the input type
+	 * is acceptable and then save the site and input. Here is sample code:
+	 * </p><pre> if (!(input instanceof IFileEditorInput)) throw new
+	 * PartInitException("Invalid Input: Must be IFileEditorInput");
+	 * setSite(site); setInput(editorInput); </pre>
+	 */
+	protected boolean fileDoesNotExist(IFileEditorInput input, Throwable[] coreException) {
+		boolean result = false;
+		InputStream inStream = null;
+		if ((!(input.exists())) || (!(input.getFile().exists()))) {
+			result = true;
+		}
+		else {
+			try {
+				inStream = input.getFile().getContents(true);
+			}
+			catch (CoreException e) {
+				// very likely to be file not found
+				result = true;
+				coreException[0] = e;
+			}
+			finally {
+				if (input != null) {
+					try {
+						if (inStream != null) {
+							inStream.close();
+						}
+					}
+					catch (IOException e) {
+
 					}
 				}
 			}
 		}
-		
-	  //  void doSaveAsForStructuredTextMulitPagePart() {
-	  //    setPageText(getActivePage(), fTextEditor.getTitle());
-	  //    setInput(fTextEditor.getEditorInput());
-	  //    if (fDesignViewer != null) {
-	  //      //fDesignViewer.setEditorInput(fTextEditor.getEditorInput());
-	  //      fDesignViewer.setModel(getModel());
-	  //      fDesignViewer.saveAsOccurred();
-	  //    }
-	  //    // even though we've set title etc., several times already!
-	  //    // only now is all prepared for it.
-	  //    firePropertyChange(IWorkbenchPart.PROP_TITLE);
-	  //    firePropertyChange(PROP_DIRTY);
-	  //  }
-	  /*
-	   * (non-Javadoc) Initializes the editor part with a site and input. <p>
-	   * Subclasses of <code> EditorPart </code> must implement this method.
-	   * Within the implementation subclasses should verify that the input type
-	   * is acceptable and then save the site and input. Here is sample code:
-	   * </p><pre> if (!(input instanceof IFileEditorInput)) throw new
-	   * PartInitException("Invalid Input: Must be IFileEditorInput");
-	   * setSite(site); setInput(editorInput); </pre>
-	   */
-	  protected boolean fileDoesNotExist(IFileEditorInput input, Throwable[] coreException) {
-	    boolean result = false;
-	    InputStream inStream = null;
-	    if ((!(input.exists())) || (!(input.getFile().exists()))) {
-	      result = true;
-	    }
-	    else {
-	      try {
-	        inStream = input.getFile().getContents(true);
-	      }
-	      catch (CoreException e) {
-	        // very likely to be file not found
-	        result = true;
-	        coreException[0] = e;
-	      }
-	      finally {
-	        if (input != null) {
-	          try {
-	            if (inStream != null) {
-	              inStream.close();
-	            }
-	          }
-	          catch (IOException e) {
+		return result;
+	}
 
-	          }
-	        }
-	      }
-	    }
-	    return result;
-	  }
+	public Object getAdapter(Class key) {
+		Object result = null;
 
-	  public Object getAdapter(Class key) {
-	    Object result = null;
-
-	      // DMW: I'm bullet-proofing this because
-	      // its been reported (on 4.03 version) a null pointer sometimes
-	      // happens here on startup, when an editor has been left
-	      // open when workbench shutdown.
-	      if (fTextEditor != null) {
-	        result = fTextEditor.getAdapter(key);
-	      }
-	    return result;
-	  }
+		// DMW: I'm bullet-proofing this because
+		// its been reported (on 4.03 version) a null pointer sometimes
+		// happens here on startup, when an editor has been left
+		// open when workbench shutdown.
+		if (fTextEditor != null) {
+			result = fTextEditor.getAdapter(key);
+		}
+		return result;
+	}
 
 	public IEditorPart getEditorPart() {
 		return this;
 	}
-	  
-	  protected IStructuredModel getModel() {
-	    IStructuredModel model = null;
-	    if (fTextEditor != null)
-	      model = fTextEditor.getModel();
-	    return model;
-	  }
 
-	  protected IPreferenceStore getPreferenceStore() {
-	    return WSDLEditorPlugin.getInstance().getPreferenceStore();
-	  }
+	protected IStructuredModel getModel() {
+		IStructuredModel model = null;
+		if (fTextEditor != null) {
+			model = fTextEditor.getModel();
+//			IDocument doc = fTextEditor.getDocumentProvider().getDocument(getEditorInput());	
+//	    	IModelManager modelManager = ModelManagerImpl.getInstance();    	
+//	    	model = modelManager.getModelForRead((IStructuredDocument) doc);
+		}
 
-	  public StructuredTextEditor getTextEditor() {
-	    return fTextEditor;
-	  }
-
-	  /*
-	   * (non-Javadoc) Method declared on IWorkbenchPart.
-	   */
-	  public String getTitle() {
-	    String title = null;
-	    if (getTextEditor() == null) {
-	      if (getEditorInput() != null) {
-	        title = getEditorInput().getName();
-	      }
-	    }
-	    else {
-	      title = getTextEditor().getTitle();
-	    }
-	    if (title == null) {
-	      title = getPartName();
-	    }
-	    return title;
-	  }
-
-	  /*
-	   * (non-Javadoc) Sets the cursor and selection state for this editor to
-	   * the passage defined by the given marker. <p> Subclasses may override.
-	   * For greater details, see <code> IEditorPart </code></p>
-	   * 
-	   * @see IEditorPart
-	   */
-	  public void gotoMarker(IMarker marker) {
-	    // (pa) 20020217 this was null when opening an editor that was
-	    // already open
-	    if (fTextEditor != null) {
-	      IGotoMarker markerGotoer = (IGotoMarker) fTextEditor.getAdapter(IGotoMarker.class);
-	      markerGotoer.gotoMarker(marker);
-	    }
-	  }
-
-	  public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-	    editorInputIsAcceptable(input);
-	    try {
-	      super.init(site, input);
-	      if (partListener == null) {
-	        partListener = new PartListener();
-	      }
-	      //getSite().getPage().addPartListener(partListner);
-	      // we want to listen for our own activation
-	      IWorkbenchWindow window = getSite().getWorkbenchWindow();
-	      window.getPartService().addPartListener(partListener);
-	      window.getShell().addShellListener(partListener);
-	    }
-	    catch (Exception e) {
-	      if (e instanceof SourceEditingRuntimeException) {
-	        Throwable t = ((SourceEditingRuntimeException) e).getOriginalException();
-	        if (t instanceof IOException) {
-	          System.out.println(t);
-	          // file not found
-	        }
-	      }
-	    }
-	    setPartName(input.getName());
-	  }
-
-	  /*
-	   * (non-Javadoc) Returns whether the "save as" operation is supported by
-	   * this editor. <p> Subclasses must override this method to implement the
-	   * open-save-close lifecycle for an editor. For greater details, see
-	   * <code> IEditorPart </code></p>
-	   * 
-	   * @see IEditorPart
-	   */
-	  public boolean isSaveAsAllowed() {
-	    return fTextEditor != null && fTextEditor.isSaveAsAllowed();
-	  }
-
-	  /*
-	   * (non-Javadoc) Returns whether the contents of this editor should be
-	   * saved when the editor is closed. <p> This method returns <code> true
-	   * </code> if and only if the editor is dirty ( <code> isDirty </code> ).
-	   * </p>
-	   */
-	  public boolean isSaveOnCloseNeeded() {
-	    // overriding super class since it does a lowly isDirty!
-	    if (fTextEditor != null)
-	      return fTextEditor.isSaveOnCloseNeeded();
-	    return isDirty();
-	  }
-
-	  /**
-	   * Notifies this multi-page editor that the page with the given id has
-	   * been activated. This method is called when the user selects a different
-	   * tab.
-	   * 
-	   * @param newPageIndex
-	   *            the index of the activated page
-	   */
-	  protected void pageChange(int newPageIndex) {
-	    super.pageChange(newPageIndex);
-
-	    saveLastActivePageIndex(newPageIndex);
-	  }
-
-	  /**
-	   * Posts the update code "behind" the running operation.
-	   */
-	  protected void postOnDisplayQue(Runnable runnable) {
-	    IWorkbench workbench = PlatformUI.getWorkbench();
-	    IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-	    if (windows != null && windows.length > 0) {
-	      Display display = windows[0].getShell().getDisplay();
-	      display.asyncExec(runnable);
-	    }
-	    else
-	      runnable.run();
-	  }
-
-	  /**
-	   * Indicates that a property has changed.
-	   * 
-	   * @param source
-	   *            the object whose property has changed
-	   * @param propId
-	   *            the id of the property which has changed; property ids are
-	   *            generally defined as constants on the source class
-	   */
-	  public void propertyChanged(Object source, int propId) {
-	    switch (propId) {
-	      // had to implement input changed "listener" so that
-	      // strucutedText could tell it containing editor that
-	      // the input has change, when a 'resource moved' event is
-	      // found.
-	      case IEditorPart.PROP_INPUT :
-	      case IEditorPart.PROP_DIRTY : {
-	        if (source == fTextEditor) {
-	          if (fTextEditor.getEditorInput() != getEditorInput()) {
-	            setInput(fTextEditor.getEditorInput());
-	            // title should always change when input changes.
-	            // create runnable for following post call
-	            Runnable runnable = new Runnable() {
-	              public void run() {
-	                _firePropertyChange(IWorkbenchPart.PROP_TITLE);
-	              }
-	            };
-	            // Update is just to post things on the display queue
-	            // (thread). We have to do this to get the dirty
-	            // property to get updated after other things on the
-	            // queue are executed.
-	            postOnDisplayQue(runnable);
-	          }
-	        }
-	        break;
-	      }
-	      case IWorkbenchPart.PROP_TITLE : {
-	        // update the input if the title is changed
-	        if (source == fTextEditor) {
-	          if (fTextEditor.getEditorInput() != getEditorInput()) {
-	            setInput(fTextEditor.getEditorInput());
-	          }
-	        }
-	        break;
-	      }
-	      default : {
-	        // propagate changes. Is this needed? Answer: Yes.
-	        if (source == fTextEditor) {
-	          firePropertyChange(propId);
-	        }
-	        break;
-	      }
-	    }
-
-	  }
-
-	  protected void safelySanityCheckState() {
-	    // If we're called before editor is created, simply ignore since we
-	    // delegate this function to our embedded TextEditor
-	    if (getTextEditor() == null)
-	      return;
-
-	    getTextEditor().safelySanityCheckState(getEditorInput());
-
-	  }
-
-	  protected void saveLastActivePageIndex(int newPageIndex) {
-	    // save the last active page index to preference manager
-	    getPreferenceStore().setValue(IXMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
-	  }
-
-	  /**
-	   * Sets the currently active page.
-	   */
-	  protected void setActivePage() {
-	    // retrieve the last active page index from preference manager
-	    int activePageIndex = getPreferenceStore().getInt(IXMLPreferenceNames.LAST_ACTIVE_PAGE);
-
-	    // We check this range since someone could hand edit the XML
-	    // preference file to an invalid value ... which I know from
-	    // experience :( ... if they do, we'll reset to default and continue
-	    // rather than throw an assertion error in the setActivePage(int)
-	    // method.
-	    if (activePageIndex < 0 || activePageIndex >= getPageCount()) {
-	      activePageIndex = fSourcePageIndex;
-	    }
-	    setActivePage(activePageIndex);
-	  }
-
-	  /*
-	   * (non-Javadoc)
-	   * 
-	   * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
-	   */
-	  protected void setInput(IEditorInput input) {
-	    // If driven from the Source page, it's "model" may not be up to date
-	    // with the input just yet. We'll rely on later notification from the
-	    // TextViewer to set us straight
-	    super.setInput(input);
-	    setPartName(input.getName());
-	  }
-
-	  /**
-	   * IExtendedMarkupEditor method
-	   */
-	  public IStatus validateEdit(Shell context) {
-	    if (getTextEditor() == null)
-	      return new Status(IStatus.ERROR, WSDLEditorPlugin.PLUGIN_ID, IStatus.INFO, "", null); //$NON-NLS-1$
-
-	    return getTextEditor().validateEdit(context);
-	  }
-	  
+		return model;
 	}
+
+	protected IPreferenceStore getPreferenceStore() {
+		return WSDLEditorPlugin.getInstance().getPreferenceStore();
+	}
+
+	public StructuredTextEditor getTextEditor() {
+		return fTextEditor;
+	}
+
+	/*
+	 * (non-Javadoc) Method declared on IWorkbenchPart.
+	 */
+	public String getTitle() {
+		String title = null;
+		if (getTextEditor() == null) {
+			if (getEditorInput() != null) {
+				title = getEditorInput().getName();
+			}
+		}
+		else {
+			title = getTextEditor().getTitle();
+		}
+		if (title == null) {
+			title = getPartName();
+		}
+		return title;
+	}
+
+	/*
+	 * (non-Javadoc) Sets the cursor and selection state for this editor to
+	 * the passage defined by the given marker. <p> Subclasses may override.
+	 * For greater details, see <code> IEditorPart </code></p>
+	 * 
+	 * @see IEditorPart
+	 */
+	public void gotoMarker(IMarker marker) {
+		// (pa) 20020217 this was null when opening an editor that was
+		// already open
+		if (fTextEditor != null) {
+			IGotoMarker markerGotoer = (IGotoMarker) fTextEditor.getAdapter(IGotoMarker.class);
+			markerGotoer.gotoMarker(marker);
+		}
+	}
+
+	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
+		editorInputIsAcceptable(input);
+		try {
+			super.init(site, input);
+			if (partListener == null) {
+				partListener = new PartListener();
+			}
+			// getSite().getPage().addPartListener(partListner);
+			// we want to listen for our own activation
+			IWorkbenchWindow window = getSite().getWorkbenchWindow();
+			window.getPartService().addPartListener(partListener);
+			window.getShell().addShellListener(partListener);
+		}
+		catch (Exception e) {
+			// log for now, unless we find reason not to
+			Logger.log(Logger.INFO, e.getMessage());
+		}
+		setPartName(input.getName());
+	}
+
+	/*
+	 * (non-Javadoc) Returns whether the "save as" operation is supported by
+	 * this editor. <p> Subclasses must override this method to implement the
+	 * open-save-close lifecycle for an editor. For greater details, see
+	 * <code> IEditorPart </code></p>
+	 * 
+	 * @see IEditorPart
+	 */
+	public boolean isSaveAsAllowed() {
+		return fTextEditor != null && fTextEditor.isSaveAsAllowed();
+	}
+
+	/*
+	 * (non-Javadoc) Returns whether the contents of this editor should be
+	 * saved when the editor is closed. <p> This method returns <code> true
+	 * </code> if and only if the editor is dirty ( <code> isDirty </code> ).
+	 * </p>
+	 */
+	public boolean isSaveOnCloseNeeded() {
+		// overriding super class since it does a lowly isDirty!
+		if (fTextEditor != null)
+			return fTextEditor.isSaveOnCloseNeeded();
+		return isDirty();
+	}
+
+	/**
+	 * Notifies this multi-page editor that the page with the given id has
+	 * been activated. This method is called when the user selects a different
+	 * tab.
+	 * 
+	 * @param newPageIndex
+	 *            the index of the activated page
+	 */
+	protected void pageChange(int newPageIndex) {
+		super.pageChange(newPageIndex);
+
+		saveLastActivePageIndex(newPageIndex);
+	}
+
+	/**
+	 * Posts the update code "behind" the running operation.
+	 */
+	protected void postOnDisplayQue(Runnable runnable) {
+		IWorkbench workbench = PlatformUI.getWorkbench();
+		IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
+		if (windows != null && windows.length > 0) {
+			Display display = windows[0].getShell().getDisplay();
+			display.asyncExec(runnable);
+		}
+		else
+			runnable.run();
+	}
+
+	/**
+	 * Indicates that a property has changed.
+	 * 
+	 * @param source
+	 *            the object whose property has changed
+	 * @param propId
+	 *            the id of the property which has changed; property ids are
+	 *            generally defined as constants on the source class
+	 */
+	public void propertyChanged(Object source, int propId) {
+		switch (propId) {
+			// had to implement input changed "listener" so that
+			// strucutedText could tell it containing editor that
+			// the input has change, when a 'resource moved' event is
+			// found.
+			case IEditorPart.PROP_INPUT :
+			case IEditorPart.PROP_DIRTY : {
+				if (source == fTextEditor) {
+					if (fTextEditor.getEditorInput() != getEditorInput()) {
+						setInput(fTextEditor.getEditorInput());
+						// title should always change when input changes.
+						// create runnable for following post call
+						Runnable runnable = new Runnable() {
+							public void run() {
+								_firePropertyChange(IWorkbenchPart.PROP_TITLE);
+							}
+						};
+						// Update is just to post things on the display queue
+						// (thread). We have to do this to get the dirty
+						// property to get updated after other things on the
+						// queue are executed.
+						postOnDisplayQue(runnable);
+					}
+				}
+				break;
+			}
+			case IWorkbenchPart.PROP_TITLE : {
+				// update the input if the title is changed
+				if (source == fTextEditor) {
+					if (fTextEditor.getEditorInput() != getEditorInput()) {
+						setInput(fTextEditor.getEditorInput());
+					}
+				}
+				break;
+			}
+			default : {
+				// propagate changes. Is this needed? Answer: Yes.
+				if (source == fTextEditor) {
+					firePropertyChange(propId);
+				}
+				break;
+			}
+		}
+
+	}
+
+	protected void safelySanityCheckState() {
+		// If we're called before editor is created, simply ignore since we
+		// delegate this function to our embedded TextEditor
+		if (getTextEditor() == null)
+			return;
+
+		getTextEditor().safelySanityCheckState(getEditorInput());
+
+	}
+
+	protected void saveLastActivePageIndex(int newPageIndex) {
+		// save the last active page index to preference manager
+		getPreferenceStore().setValue(IXMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
+	}
+
+	/**
+	 * Sets the currently active page.
+	 */
+	protected void setActivePage() {
+		// retrieve the last active page index from preference manager
+		int activePageIndex = getPreferenceStore().getInt(IXMLPreferenceNames.LAST_ACTIVE_PAGE);
+
+		// We check this range since someone could hand edit the XML
+		// preference file to an invalid value ... which I know from
+		// experience :( ... if they do, we'll reset to default and continue
+		// rather than throw an assertion error in the setActivePage(int)
+		// method.
+		if (activePageIndex < 0 || activePageIndex >= getPageCount()) {
+			activePageIndex = fSourcePageIndex;
+		}
+		setActivePage(activePageIndex);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
+	 */
+	protected void setInput(IEditorInput input) {
+		// If driven from the Source page, it's "model" may not be up to date
+		// with the input just yet. We'll rely on later notification from the
+		// TextViewer to set us straight
+		super.setInput(input);
+		setPartName(input.getName());
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLTextEditor.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLTextEditor.java
deleted file mode 100644
index 246db64..0000000
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/WSDLTextEditor.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-package org.eclipse.wst.wsdl.ui.internal;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.wst.common.ui.properties.internal.provisional.ITabbedPropertySheetPageContributor;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.view.events.INodeSelectionListener;
-import org.eclipse.wst.sse.ui.internal.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.wsdl.Binding;
-import org.eclipse.wst.wsdl.internal.generator.BindingGenerator;
-import org.eclipse.wst.wsdl.ui.internal.dialogs.GenerateBindingOnSaveDialog;
-import org.eclipse.wst.wsdl.ui.internal.outline.WSDLContentOutlinePage;
-import org.eclipse.wst.wsdl.ui.internal.properties.section.WSDLTabbedPropertySheetPage;
-import org.eclipse.wst.wsdl.ui.internal.util.OpenOnSelectionHelper;
-import org.eclipse.wst.wsdl.ui.internal.util.SelectionAdapter;
-import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class WSDLTextEditor extends StructuredTextEditor implements INodeSelectionListener, ISelectionChangedListener, ITabbedPropertySheetPageContributor
-{
-  protected WSDLEditor wsdlEditor;
-  protected WSDLContentOutlinePage outlinePage;
-  protected WSDLSelectionManager wsdlSelectionManager;
-  protected InternalSelectionProvider internalSelectionProvider = new InternalSelectionProvider();
-
-  public WSDLTextEditor(WSDLEditor wsdlEditor)
-  {
-    this.wsdlEditor = wsdlEditor;
-    wsdlSelectionManager = wsdlEditor.getSelectionManager();
-    wsdlSelectionManager.addSelectionChangedListener(this);
-  }
-
-  public void createPartControl(Composite arg0)
-  {
-    super.createPartControl(arg0);
-    addOpenOnSelectionListener();
-  }
-
-  protected void addOpenOnSelectionListener()
-  {
-    KeyAdapter keyAdapter = new KeyAdapter()
-    {
-      public void keyReleased(KeyEvent arg0)
-      {
-        if (arg0.keyCode == SWT.F3)
-        {
-          List list = getViewerSelectionManager().getSelectedNodes();
-          if (list.size() > 0)
-          {
-            Object object = list.get(0);
-            if (object instanceof Node)
-            {
-              OpenOnSelectionHelper helper = new OpenOnSelectionHelper(wsdlEditor.getDefinition());   
-              helper.openEditor((Node)object);
-            }
-          }
-        }
-      }
-    };
-    getTextViewer().getTextWidget().addKeyListener(keyAdapter);
-  }
-
-   
-  public Object getAdapter(Class required)
-  {
-		if (IContentOutlinePage.class.equals(required))
-		{
-		  return getContentOutlinePage();
-		}    
-		if (IPropertySheetPage.class.equals(required))
-		{
-			if (fPropertySheetPage == null || fPropertySheetPage.getControl() == null || fPropertySheetPage.getControl().isDisposed())
-			{
-//			  System.out.println("Create WSDL Property Sheet");
-//        PropertySheetConfiguration cfg = createPropertySheetConfiguration();
-//        if (cfg != null)
-//        {
-//            if (cfg instanceof StructuredPropertySheetConfiguration)
-//            {
-//                ((StructuredPropertySheetConfiguration) cfg).setEditor(this);
-//            }
-//            ConfigurablePropertySheetPage propertySheetPage = new ConfigurablePropertySheetPage();
-//            propertySheetPage.setConfiguration(cfg);
-//            propertySheetPage.setModel(getModel());
-//            fPropertySheetPage = propertySheetPage;
-//        }
-
-//  	    fPropertySheetPage = new WSDLPropertySheetPage(getModel(), getEditorPart());
-//  	    ((WSDLPropertySheetPage) fPropertySheetPage).setSelectionManager(getWSDLEditor().getSelectionManager()); //getViewerSelectionManager());
-////	  	  ((WSDLPropertySheetPage) fPropertySheetPage).setPropertySourceProvider((WSDLPropertySheetPage) fPropertySheetPage);
-//  	    ((WSDLPropertySheetPage)fPropertySheetPage).setPropertySourceProvider(new ExtensiblePropertySourceProvider(getWSDLEditor()));
-////  	    getWSDLEditor().getSelectionManager().addSelectionChangedListener((WSDLPropertySheetPage)fPropertySheetPage);
-
-  	    fPropertySheetPage = new WSDLTabbedPropertySheetPage(this, getWSDLEditor());
-  	    ((WSDLTabbedPropertySheetPage)fPropertySheetPage).setSelectionManager(getWSDLEditor().getSelectionManager());
-
-			}
-			return fPropertySheetPage;
-		}
-	
-		return super.getAdapter(required);
-  }
-
-  public String[] getPropertyCategories()
-  {
-    return new String[] { "general", "namespace", "other", "attributes", "documentation", "facets" };
-  }
-
-	/**
-	 * @see org.eclipse.wst.common.ui.properties.internal.provisional.ITabbedPropertySheetPageContributor#getContributorId()
-	 */
-	public String getContributorId()
-	{
-    return "org.eclipse.wst.wsdl.ui.internal.WSDLTextEditor";
-	//	 return getSite().getId();
-  }
-  
-  /*
-   * @see StructuredTextEditor#getContentOutlinePage()
-   */
-  public IContentOutlinePage getContentOutlinePage()
-  {
-    if ((outlinePage == null) || outlinePage.getControl() == null || (outlinePage.getControl().isDisposed()))
-    {
-      outlinePage = new WSDLContentOutlinePage(wsdlEditor);
-      outlinePage.setContentProvider(wsdlEditor.getExtensibleOutlineProvider());
-      outlinePage.setLabelProvider(wsdlEditor.getExtensibleOutlineProvider());
-      outlinePage.setModel(wsdlEditor.getDefinition()); //XMLDocument());
-
-      getViewerSelectionManager().addNodeSelectionListener(this);
-      internalSelectionProvider.addSelectionChangedListener(getViewerSelectionManager());
-      internalSelectionProvider.setEventSource(outlinePage);
-    }
-    return outlinePage;
-  }
-
-  public WSDLEditor getWSDLEditor()
-  {
-    return (WSDLEditor)getEditorPart();
-  }
-
-  // used to map selections from the outline view to the source view
-  // this class thinks of selections in terms of DOM element
-  class InternalSelectionProvider extends SelectionAdapter
-  {
-    protected Object getObjectForOtherModel(Object object)
-    {
-      Node node = null;
-
-      if (object instanceof Node)
-      {
-        node = (Node)object;
-      }
-      else
-      {
-        node = WSDLEditorUtil.getInstance().getNodeForObject(object);
-      }
-
-      // the text editor can only accept sed nodes!
-      //
-      if (!(node instanceof IDOMNode))
-      {
-        node = null;
-      }
-      return node;
-    }
-  }
-
-  public void selectionChanged(SelectionChangedEvent event)
-  {
-    // here we convert the model selection to a node selection req'd for the source view
-    //
-    internalSelectionProvider.setSelection(event.getSelection());
-  }
-
-  public void nodeSelectionChanged(NodeSelectionChangedEvent event)
-  {
-    // here we convert an node seleciton to a model selection as req'd by the other views
-    //
-    if (!event.getSource().equals(internalSelectionProvider))
-    {
-      Element element = null;
-      List list = event.getSelectedNodes();
-      for (Iterator i = list.iterator(); i.hasNext();)
-      {
-        Node node = (Node)i.next();
-        if (node != null)
-        {
-	        if (node.getNodeType() == Node.ELEMENT_NODE)
-	        {
-	          element = (Element)node;
-	          break;
-	        }
-	        else if (node.getNodeType() == Node.ATTRIBUTE_NODE)
-	        {
-	          element = ((Attr)node).getOwnerElement();
-	          break;
-	        }
-        }
-      }
-
-      Object o = element;
-      if (element != null)
-      {
-        Object modelObject = WSDLEditorUtil.getInstance().findModelObjectForElement(wsdlEditor.getDefinition(), element);
-        if (modelObject != null)
-        {
-          o = modelObject;
-        }
-      }
-
-      if (o != null)
-      {
-        wsdlSelectionManager.setSelection(new StructuredSelection(o), internalSelectionProvider);
-      }
-      else
-      {
-        wsdlSelectionManager.setSelection(new StructuredSelection(), internalSelectionProvider);
-      }
-    }
-  }
-
-  public void update()
-  {
-    super.update();
-    if (outlinePage != null)
-      outlinePage.setModel(getModel());
-  }
-  
-  /*
-   * We override this method so we can hook in our automatic Binding generation.
-   * We will generate the Binding after a save is executed (If this preference
-   * has been set to true).
-   */
-  public void doSave(IProgressMonitor monitor) {
-      try{
-		  // Display prompt message
-		  boolean continueRegeneration = true;
-		  if (WSDLEditorPlugin.getInstance().getPluginPreferences().getBoolean("Prompt Regenerate Binding on save")) {
-			  Shell shell = Display.getCurrent().getActiveShell();
-			  GenerateBindingOnSaveDialog dialog = new GenerateBindingOnSaveDialog(shell);
-	
-			  int rValue = dialog.open();
-			  if (rValue == SWT.YES) {
-				  continueRegeneration = true;
-			  }
-			  else if (rValue == SWT.NO) {
-				  continueRegeneration = false;
-			  }
-			  else if (rValue == SWT.CANCEL) {
-				  return;
-			  }
-			  else {
-				  System.out.println("\nNothing: " + rValue);
-			  }
-		  }	    	  
-    	  
-		  if (continueRegeneration || WSDLEditorPlugin.getInstance().getPluginPreferences().getBoolean(WSDLEditorPlugin.getWSDLString("_UI_PREF_PAGE_AUTO_REGENERATE_BINDING"))) {
-			  Iterator bindingsIt = wsdlEditor.getDefinition().getEBindings().iterator();
-			  while (bindingsIt.hasNext()) {
-				  Binding binding = (Binding) bindingsIt.next();
-				  BindingGenerator generator = new BindingGenerator(binding.getEnclosingDefinition(), binding);
-				  generator.setOverwrite(false);
-				  generator.generateBinding();
-			  }
-			  
-			  // Little hack to 'redraw' connecting lines in the graph viewer
-			  wsdlEditor.getDefinition().setQName(wsdlEditor.getDefinition().getQName());
-		  }
-      }
-      catch (Exception e)
-      {
-//    	  e.printStackTrace();
-      }
-	  super.doSave(monitor);
-  }
-
-  public InternalSelectionProvider getInternalSelectionProvider() {
-	return internalSelectionProvider;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/AddMessageUIAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/AddMessageUIAction.java
index cccc2ca..7e39d86 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/AddMessageUIAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/AddMessageUIAction.java
@@ -12,7 +12,6 @@
 
 
 import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.ui.IEditorPart;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.WSDLElement;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
@@ -27,7 +26,6 @@
 {
   private Definition definition;
   private String name;
-  private IEditorPart editorPart;
   
   public AddMessageUIAction
   	(Definition definition, 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/EditNamespacesAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/EditNamespacesAction.java
index 674be53..d84926f 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/EditNamespacesAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/EditNamespacesAction.java
@@ -45,7 +45,7 @@
     if (element != null)
     {
       List namespaceInfoList = namespaceInfoManager.getNamespaceInfoList(element);
-      List oldNamespaceInfoList = NamespaceInfo.cloneNamespaceInfoList(namespaceInfoList);
+//      List oldNamespaceInfoList = NamespaceInfo.cloneNamespaceInfoList(namespaceInfoList);
 
       // here we store a copy of the old info for each NamespaceInfo
       // this info will be used in createPrefixMapping() to figure out how to update the document 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/RenameAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/RenameAction.java
index b3ea412..f6826e8 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/RenameAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/RenameAction.java
@@ -61,8 +61,6 @@
 
   public void run()
   {
-    String oldName = "";
-                                
     if (modelObject instanceof Operation) 
     {
       renameOperationHelper((Operation)modelObject);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/SmartRenameAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/SmartRenameAction.java
index 83a7290..32fc403 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/SmartRenameAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/SmartRenameAction.java
@@ -357,10 +357,10 @@
 		return replaceSectionWithSubString(string, oldSubString, newSubString, 0);		
 	}
 	
-	private String computeNewFaultMessageName(Message message, String oldSubString, String newSubString) {
-		String string = message.getQName().getLocalPart();
-		return replaceSectionWithSubString(string, oldSubString, newSubString, 1);		
-	}
+//	private String computeNewFaultMessageName(Message message, String oldSubString, String newSubString) {
+//		String string = message.getQName().getLocalPart();
+//		return replaceSectionWithSubString(string, oldSubString, newSubString, 1);		
+//	}
 	
 	// Method for Input, Output, and Fault Parts
 	// See computeNewFaultPartName() for comparison
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLActionBarContributor.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLActionBarContributor.java
index cbbe04c..1ac3e78 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLActionBarContributor.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLActionBarContributor.java
@@ -14,7 +14,7 @@
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IToolBarManager;
 import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.actions.ActionFactory;
 import org.eclipse.ui.part.EditorActionBarContributor;
 import org.eclipse.ui.texteditor.ITextEditor;
 import org.eclipse.ui.texteditor.ITextEditorActionConstants;
@@ -38,8 +38,8 @@
 
     // always enable undo/redo regardless of which page we're on.  The undo/redo comes from the editor
     //    
-    updateAction(IWorkbenchActionConstants.UNDO, ITextEditorActionConstants.UNDO, true);
-    updateAction(IWorkbenchActionConstants.REDO, ITextEditorActionConstants.REDO, true);
+    updateAction(ActionFactory.UNDO.getId(), ITextEditorActionConstants.UNDO, true);
+    updateAction(ActionFactory.REDO.getId(), ITextEditorActionConstants.REDO, true);
 
     // turn these off so that the actionhandler will handle it for us
     //
@@ -87,10 +87,10 @@
     textEditor = null;
     if (activeEditor instanceof WSDLEditor)
     {
-      textEditor = ((WSDLEditor) activeEditor).getWSDLTextEditor();
+      textEditor = ((WSDLEditor) activeEditor).getTextEditor();
     }
     
-    updateAction(IWorkbenchActionConstants.UNDO, ITextEditorActionConstants.UNDO, true);
-    updateAction(IWorkbenchActionConstants.REDO, ITextEditorActionConstants.REDO, true);
+    updateAction(ActionFactory.UNDO.getId(), ITextEditorActionConstants.UNDO, true);
+    updateAction(ActionFactory.REDO.getId(), ITextEditorActionConstants.REDO, true);
   }
 }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLDragReorderAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLDragReorderAction.java
index e5393ff..1cff3c8 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLDragReorderAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLDragReorderAction.java
@@ -33,8 +33,6 @@
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditor;
 import org.eclipse.wst.wsdl.ui.internal.graph.WSDLComponentViewer;
 import org.eclipse.wst.wsdl.ui.internal.graph.editparts.WSDLTreeNodeEditPart;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 
 
 public class WSDLDragReorderAction extends WSDLDragAction
@@ -221,7 +219,6 @@
     	Rectangle rightRectangle = rightSiblingEditPart.getFigure().getBounds();
     	int xCoord = rightRectangle.x + 15;
     	int yCoord = rightRectangle.y;
-   		int height = rightRectangle.height;
    		int width = rightRectangle.width - 15;	
 
    		// Draw left end line
@@ -378,18 +375,18 @@
 /*
  * return -1 if node is not found in the given nodeList
  */
-	private int getNodeIndex(NodeList nodeList, Node node) {
-		int index = 0;
-		while (index < nodeList.getLength() && !(nodeList.item(index).equals(node))) {
-			index++;
-		}
-		
-		if (index >= nodeList.getLength()) {
-			index = -1;
-		}
-		
-		return index;
-	}
+//	private int getNodeIndex(NodeList nodeList, Node node) {
+//		int index = 0;
+//		while (index < nodeList.getLength() && !(nodeList.item(index).equals(node))) {
+//			index++;
+//		}
+//		
+//		if (index >= nodeList.getLength()) {
+//			index = -1;
+//		}
+//		
+//		return index;
+//	}
   
   private void setOperationStyle(OperationImpl operation, OperationType operationType) {
   	// If there is no style to begin with, don't set one now
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementAction.java
index 6d80e74..e2f287c 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementAction.java
@@ -27,7 +27,6 @@
 public abstract class WSDLElementAction extends Action
 {
   protected WSDLElementCommand modelCommand;
-  private String undoDescription;
   private IEditorPart editorPart;
   
   public WSDLElementAction
@@ -38,19 +37,18 @@
   {
     super(label,image);
     modelCommand = command;
-    this.undoDescription = undoDescription;
   }
 
   public void setEditorPart(IEditorPart editorPart)
   {
     this.editorPart = editorPart;
   }
-  
+/*
   private String getUndoDescription()
   {
     return undoDescription;
   }
-
+*/
   abstract protected WSDLElement getOwner();
   
   abstract protected boolean showDialog();
@@ -75,7 +73,7 @@
   protected void postRun()
   {
   }
-
+/*
   private void beginRecording()
   {    
     Node node = null;
@@ -99,7 +97,7 @@
       ((IDOMNode)node).getModel().endRecording(this);  
     }
   }
-  
+*/
   protected WSDLElement getWSDLElement()
   {
     return modelCommand.getWSDLElement();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementUIAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementUIAction.java
index e1d95c4..2382209 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementUIAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLElementUIAction.java
@@ -24,7 +24,6 @@
 public abstract class WSDLElementUIAction extends Action
 {
   protected WSDLElementCommand modelAction;
-  private String undoDescription;
   private IEditorPart editorPart;
   
   public WSDLElementUIAction
@@ -35,18 +34,12 @@
   {
     super(label,image);
     modelAction = action;
-    this.undoDescription = undoDescription;
   }
 
   public void setEditorPart(IEditorPart editorPart)
   {
     this.editorPart = editorPart;
   }
-  
-  private String getUndoDescription()
-  {
-    return undoDescription;
-  }
 
   private Node getOwnerNode()
   {
@@ -80,7 +73,7 @@
   protected void postRun()
   {
   }
-
+/*
   private void beginRecording()
   {    
     Node node = getOwnerNode();  
@@ -98,7 +91,7 @@
       ((IDOMNode)node).getModel().endRecording(this);  
     }
   }
-  
+*/
   protected WSDLElement getWSDLElement()
   {
     return modelAction.getWSDLElement();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLMenuActionContributor.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLMenuActionContributor.java
index 7d01dbf..ba1026d 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLMenuActionContributor.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/actions/WSDLMenuActionContributor.java
@@ -28,6 +28,7 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchActionConstants;
 import org.eclipse.wst.wsdl.Binding;
 import org.eclipse.wst.wsdl.BindingOperation;
 import org.eclipse.wst.wsdl.Definition;
@@ -342,6 +343,9 @@
     	if (renameDialog.showRenameDialog())
     		menu.add(renameDialog);
     }
+    
+    // insertion point for popupMenus extension
+    menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
   }
 
   /*
@@ -545,26 +549,26 @@
     return submenu;
   }
   
-  private WSDLElement showPasteAction(WSDLElement element, IEditorPart ePart) {
-  	WSDLElement parentElement = null;
-  	
-  	if (ePart instanceof WSDLEditor) {
-  		WSDLElement clipboardElement = ((WSDLEditor) ePart).getClipboardContents();
-  		
-  		if (element instanceof PortType) {
-  			if (clipboardElement instanceof Operation) {
-  				parentElement = element;
-  			}
-  		}
-  		if (element instanceof Operation) {
-  			if (clipboardElement instanceof Operation) {
-  				parentElement = (WSDLElement) ((Operation) element).eContainer();
-  			}
-  		}
-  	}
-  	
-  	return parentElement;
-  }
+//  private WSDLElement showPasteAction(WSDLElement element, IEditorPart ePart) {
+//  	WSDLElement parentElement = null;
+//  	
+//  	if (ePart instanceof WSDLEditor) {
+//  		WSDLElement clipboardElement = ((WSDLEditor) ePart).getClipboardContents();
+//  		
+//  		if (element instanceof PortType) {
+//  			if (clipboardElement instanceof Operation) {
+//  				parentElement = element;
+//  			}
+//  		}
+//  		if (element instanceof Operation) {
+//  			if (clipboardElement instanceof Operation) {
+//  				parentElement = (WSDLElement) ((Operation) element).eContainer();
+//  			}
+//  		}
+//  	}
+//  	
+//  	return parentElement;
+//  }
 }
 
 class AddBindingOperationAction extends AddElementAction
@@ -652,8 +656,6 @@
   		expandEditParts(operation,true);
   	}
   	else {
-  		Definition def = portType.getEnclosingDefinition();	
-		
   		// Add Operation
   		AddOperationCommand opAction = new AddOperationCommand(portType, name);
 		opAction.run();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddFaultCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddFaultCommand.java
index c1a06b6..deb638a 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddFaultCommand.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddFaultCommand.java
@@ -10,12 +10,9 @@
  *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal.commands;
 
-import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.Fault;
-import org.eclipse.wst.wsdl.Message;
 import org.eclipse.wst.wsdl.Operation;
 import org.eclipse.wst.wsdl.WSDLFactory;
-import org.eclipse.wst.wsdl.ui.internal.actions.SmartRenameAction;
 import org.eclipse.wst.wsdl.ui.internal.util.NameUtil;
 
 
@@ -59,21 +56,21 @@
     else {
     	// Do necessary copying of data from original Fault to new Fault
     	if (originalFault.getEMessage() != null) {
-    		String originalMsgName = originalFault.getEMessage().getQName().getLocalPart();
-    		
-    		boolean gened = false;
-    		if (originalFault.eContainer() instanceof Operation)
-    			gened = SmartRenameAction.isMessageNameGenerated(originalMsgName, ((Operation) originalFault.eContainer()).getName(), "");
-    		
-    		String newMsgName = "";
-    		if (gened) {
-    			newMsgName = NameUtil.buildUniqueMessageName(operation.getEnclosingDefinition(), messageReference);
-    		}
-    		else {
-    			Definition definition = operation.getEnclosingDefinition();
-    			Message tMessage = originalFault.getEMessage();
-    			newMsgName = NameUtil.buildUniqueMessageName(definition, tMessage.getQName().getLocalPart());
-    		}
+//    		String originalMsgName = originalFault.getEMessage().getQName().getLocalPart();
+//    		
+//    		boolean gened = false;
+//    		if (originalFault.eContainer() instanceof Operation)
+//    			gened = SmartRenameAction.isMessageNameGenerated(originalMsgName, ((Operation) originalFault.eContainer()).getName(), "");
+//    		
+//    		String newMsgName = "";
+//    		if (gened) {
+//    			newMsgName = NameUtil.buildUniqueMessageName(operation.getEnclosingDefinition(), messageReference);
+//    		}
+//    		else {
+//    			Definition definition = operation.getEnclosingDefinition();
+//    			Message tMessage = originalFault.getEMessage();
+//    			newMsgName = NameUtil.buildUniqueMessageName(definition, tMessage.getQName().getLocalPart());
+//    		}
     		
     		createMessage(originalFault, NameUtil.buildUniqueMessageName(operation.getEnclosingDefinition(), messageReference));
     	}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDElementDeclarationCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDElementDeclarationCommand.java
index ea9f169..5fce11e 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDElementDeclarationCommand.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDElementDeclarationCommand.java
@@ -29,6 +29,7 @@
   private String targetNamespace;
   private String elementName;
   private XSDSchema schema;
+  private XSDElementDeclaration xsdElement;
   
   /**
    * TODO:
@@ -65,6 +66,8 @@
     XSDSimpleTypeDefinition simpleTypeDefinition = getXSDStringType(xsdSchema);
     elementDecl.setTypeDefinition(simpleTypeDefinition);    
     xsdSchema.getContents().add(elementDecl);
+    
+    xsdElement = elementDecl;
   }
   
   public void run(String newElementName) {
@@ -136,4 +139,9 @@
   {
     return null;
   }
+  
+  public XSDElementDeclaration getXSDElement()
+  {
+	  return xsdElement;
+  }
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDTypeDefinitionCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDTypeDefinitionCommand.java
index 8004637..e0ec076 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDTypeDefinitionCommand.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddXSDTypeDefinitionCommand.java
@@ -17,17 +17,17 @@
 import org.eclipse.wst.wsdl.WSDLElement;
 import org.eclipse.wst.wsdl.XSDSchemaExtensibilityElement;
 import org.eclipse.xsd.XSDFactory;
-import org.eclipse.xsd.XSDNamedComponent;
 import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.XSDTypeDefinition;
 
 // This class is used to create a new XSDTypeDefinition in the targetNamespace.
 public final class AddXSDTypeDefinitionCommand extends WSDLElementCommand
 {
   private Definition definition;
-  private XSDSchemaExtensibilityElement extensibilityElement;
   private String targetNamespace;
   private String typeName;
   private XSDSchema schema;
+  private XSDTypeDefinition xsdType;
   private boolean isComplexType = true;
   
   /**
@@ -64,7 +64,7 @@
   public void run()
   {
     XSDSchema xsdSchema = getSchema();
-    XSDNamedComponent typeDef;
+    XSDTypeDefinition typeDef;
     
     if (isComplexType) {
     	typeDef = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
@@ -75,6 +75,8 @@
     
     typeDef.setName(typeName);
     xsdSchema.getContents().add(typeDef);
+    
+    xsdType = typeDef;
   }
   
   public void run(String newTypeName) {
@@ -152,4 +154,9 @@
   {
     return null;
   }
+  
+  public XSDTypeDefinition getXSDElement()
+  {
+	  return xsdType;
+  }
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/HttpContentGenerator.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/HttpContentGenerator.java
index 198f78a..3599cef 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/HttpContentGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/HttpContentGenerator.java
@@ -84,7 +84,7 @@
     }
     else
     {
-      Element element = createElement(bindingInputElement, "http", "urlEncoded");
+      createElement(bindingInputElement, "http", "urlEncoded");
     }
   }
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/SoapContentGenerator.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/SoapContentGenerator.java
index eebf52f..d928c33 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/SoapContentGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/contentgenerator/SoapContentGenerator.java
@@ -136,13 +136,7 @@
   }  
 
   protected void generateSoapBody(Element parentElement)
-  {               
-    String soapActionValue = "";
-    if (definition.getTargetNamespace() != null)
-    {
-      soapActionValue = definition.getTargetNamespace();
-    }    
-
+  {
     Element element = createElement(parentElement, "soap", "body");      
     element.setAttribute("use", (bindingOption == RPC_ENCODED) ? "encoded" : "literal"); 
     if (bindingOption == RPC_ENCODED)
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/GenerateBindingOnSaveDialog.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/GenerateBindingOnSaveDialog.java
index 638a79f..23634b9 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/GenerateBindingOnSaveDialog.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/GenerateBindingOnSaveDialog.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal.dialogs;
 
 import org.eclipse.jface.dialogs.MessageDialog;
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/InvokeSetDialog.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/InvokeSetDialog.java
index e1aa7a4..ba1e630 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/InvokeSetDialog.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/InvokeSetDialog.java
@@ -31,6 +31,7 @@
 import org.eclipse.wst.wsdl.ui.internal.dialogs.types.WSDLComponentSelectionDialog;
 import org.eclipse.wst.wsdl.ui.internal.dialogs.types.WSDLComponentSelectionProvider;
 import org.eclipse.wst.wsdl.ui.internal.dialogs.types.WSDLSetComponentHelper;
+import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
 import org.eclipse.wst.wsdl.util.WSDLConstants;
 
 public class InvokeSetDialog
@@ -55,7 +56,6 @@
       IFile iFile = ((IFileEditorInput) editorPart.getEditorInput()).getFile();
       Definition definition = ((WSDLElement) input).getEnclosingDefinition();
       String property = "";
-      List lookupPaths = new ArrayList(2);
       
     if (input instanceof Binding)
     {
@@ -80,20 +80,19 @@
         List validExtensions = new ArrayList(2);
         validExtensions.add("wsdl");
         validExtensions.add("xsd");
-        lookupPaths = new ArrayList(4);
         WSDLComponentSelectionProvider provider = null;
         if (kind.equalsIgnoreCase("type")) {
             property = ""; 
             String dialogTitle = WSDLEditorPlugin.getWSDLString("_UI_TITLE_SPECIFY_TYPE");
             
-            provider = new WSDLComponentSelectionProvider(iFile, definition, WSDLConstants.TYPE, validExtensions);
+            provider = new WSDLComponentSelectionProvider(iFile, definition, WSDLEditorUtil.TYPE, validExtensions);
             dialog = new WSDLComponentSelectionDialog(shell, dialogTitle, provider);
         }
         else {
             property = ""; 
             String dialogTitle = WSDLEditorPlugin.getWSDLString("_UI_TITLE_SPECIFY_ELEMENT");
             
-            provider = new WSDLComponentSelectionProvider(iFile, definition, WSDLConstants.ELEMENT, validExtensions);
+            provider = new WSDLComponentSelectionProvider(iFile, definition, WSDLEditorUtil.ELEMENT, validExtensions);
             dialog = new WSDLComponentSelectionDialog(shell, dialogTitle, provider);
         }
         provider.setDialog(dialog);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLComponentSelectionProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLComponentSelectionProvider.java
index 6aca21d..9ef24c0 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLComponentSelectionProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLComponentSelectionProvider.java
@@ -23,9 +23,6 @@
 import org.eclipse.wst.wsdl.XSDSchemaExtensibilityElement;
 import org.eclipse.wst.wsdl.internal.impl.ImportImpl;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
-import org.eclipse.wst.wsdl.ui.internal.extension.ITypeSystemProvider;
-import org.eclipse.wst.wsdl.ui.internal.typesystem.ExtensibleTypeSystemProvider;
-import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
 import org.eclipse.wst.wsdl.util.WSDLConstants;
 import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
 import org.eclipse.wst.xsd.ui.internal.dialogs.types.common.IComponentList;
@@ -34,6 +31,7 @@
 import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSelectionProvider;
 import org.eclipse.wst.xsd.ui.internal.dialogs.types.xml.XMLComponentSpecification;
 import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
+import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
 import org.eclipse.xsd.XSDComplexTypeDefinition;
 import org.eclipse.xsd.XSDElementDeclaration;
 import org.eclipse.xsd.XSDImport;
@@ -89,7 +87,7 @@
 			list.add("/definitions/message");
 			break;
 		}   
-		case WSDLConstants.TYPE :
+		case WSDLEditorUtil.TYPE :
 		{
 			list.add("/definitions/types/schema/simpleType");
 			list.add("/definitions/types/schema/complexType");
@@ -97,7 +95,7 @@
 			list.add("/schema/simpleType");
 			break;
 		}
-		case WSDLConstants.ELEMENT :
+		case WSDLEditorUtil.ELEMENT :
 		{
 			list.add("/definitions/types/schema/element");
 			list.add("/schema/element");
@@ -506,17 +504,17 @@
         }
     }
 
-      private ITypeSystemProvider getTypeSystemProvider() {
-            ITypeSystemProvider provider = WSDLEditorUtil.getInstance().getTypeSystemProvider(definition);
-            if (provider instanceof ExtensibleTypeSystemProvider) {
-                provider = (ExtensibleTypeSystemProvider) provider; 
-            }
-            else {
-                return null;
-            }
-            
-            return provider;
-      }
+//      private ITypeSystemProvider getTypeSystemProvider() {
+//            ITypeSystemProvider provider = WSDLEditorUtil.getInstance().getTypeSystemProvider(definition);
+//            if (provider instanceof ExtensibleTypeSystemProvider) {
+//                provider = (ExtensibleTypeSystemProvider) provider; 
+//            }
+//            else {
+//                return null;
+//            }
+//            
+//            return provider;
+//      }
 
     
   
@@ -540,11 +538,11 @@
 		{
 			return WSDLEditorPlugin.getWSDLString("_UI_LABEL_MATCHING_MESSAGES");
 		}   
-		case WSDLConstants.TYPE :
+		case WSDLEditorUtil.TYPE :
 		{
 			return WSDLEditorPlugin.getWSDLString("_UI_LABEL_MATCHING_TYPES");
 		}
-		case WSDLConstants.ELEMENT :
+		case WSDLEditorUtil.ELEMENT :
 		{
 			return WSDLEditorPlugin.getWSDLString("_UI_LABEL_MATCHING_ELEMENTS");
 		}
@@ -567,11 +565,11 @@
 		{
 			return WSDLEditorPlugin.getWSDLString("_UI_LABEL_MESSAGE_NAME");
 		}   
-		case WSDLConstants.TYPE :
+		case WSDLEditorUtil.TYPE :
 		{
 			return WSDLEditorPlugin.getWSDLString("_UI_LABEL_TYPE_NAME");
 		}
-		case WSDLConstants.ELEMENT :
+		case WSDLEditorUtil.ELEMENT :
 		{
 			return WSDLEditorPlugin.getWSDLString("_UI_LABEL_ELEMENT_NAME");
 		}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLSetComponentHelper.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLSetComponentHelper.java
index ae755e3..f14c6b1 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLSetComponentHelper.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/dialogs/types/WSDLSetComponentHelper.java
@@ -51,10 +51,8 @@
         String componentObject = getPrefixedComponentName(spec);
 
         org.w3c.dom.Element wsdlElement = inputElement.getElement();
-        org.w3c.dom.Element definitionElement = definition.getElement();
         
         wsdlElement.setAttribute(property, componentObject); //$NON-NLS-1$
-        
     }
     
     public void setXSDTypeComponent(Part part, XMLComponentSpecification spec) {
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/GraphViewToolBar.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/GraphViewToolBar.java
index a0ec2e8..5fec3a0 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/GraphViewToolBar.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/GraphViewToolBar.java
@@ -127,7 +127,7 @@
       	
         public void widgetSelected(SelectionEvent e)
         {                                             
-          ViewMode vm = WSDLGraphModelAdapterFactory.getWSDLGraphModelAdapterFactory().getViewMode((Definition)editor.getDefinition());
+          ViewMode vm = WSDLGraphModelAdapterFactory.getViewMode((Definition)editor.getDefinition());
           vm.setBindingVisible(!vm.isBindingVisible());
           
           // hack to make the button look like a toggle button
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLComponentViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLComponentViewer.java
index 3d8efee..b551a22 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLComponentViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLComponentViewer.java
@@ -27,12 +27,15 @@
 import org.eclipse.gef.tools.SelectionTool;
 import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
 import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyAdapter;
 import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IEditorSite;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.WSDLElement;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditor;
@@ -160,8 +163,19 @@
     centerLayout.setVerticalAlignment(CenterLayout.ALIGNMENT_TOP);
     graphicalRootEditPart.getLayer(LayerConstants.PRIMARY_LAYER).setLayoutManager(centerLayout); //new ContainerLayout());//
 
-    setContextMenu(new InternalContextMenuProvider(this, editor));
-
+    ContextMenuProvider menuProvider = new InternalContextMenuProvider(this, editor); 
+    setContextMenu(menuProvider);
+    
+    // add context menu to the graph
+    MenuManager manager = new MenuManager("#popup");
+    manager.addMenuListener(menuProvider);
+    manager.setRemoveAllWhenShown(true);
+    Menu menu = manager.createContextMenu(getControl());
+    getControl().setMenu(menu);    
+    
+    // enable popupMenus extension
+    ((IEditorSite) editor.getSite()).registerContextMenu("org.eclipse.wst.wsdl.ui.popup.graph", manager, menuSelectionProvider, false);
+  
     // add the ConnectionFigure which is responsible for drawing all of the lines in the view
     //                       
     IFigure figure = graphicalRootEditPart.getLayer(LayerConstants.CONNECTION_LAYER);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLGraphViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLGraphViewer.java
index 8b4d54b..b6a7ddf 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLGraphViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/WSDLGraphViewer.java
@@ -33,7 +33,6 @@
 import org.eclipse.wst.wsdl.WSDLElement;
 import org.eclipse.wst.wsdl.XSDSchemaExtensibilityElement;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditor;
-import org.eclipse.wst.wsdl.ui.internal.WSDLTextEditor;
 import org.eclipse.wst.wsdl.ui.internal.actions.CopyGlobalAction;
 import org.eclipse.wst.wsdl.ui.internal.actions.DeleteWSDLAndXSDAction;
 import org.eclipse.wst.wsdl.ui.internal.actions.PasteGlobalAction;
@@ -80,7 +79,7 @@
 
   public Control createControl(Composite parent)
   {
-    componentViewer = new WSDLComponentViewer(editor, null);
+    componentViewer = new WSDLComponentViewer(editor, editor.getSelectionManager());
 
     componentViewer.addSelectionChangedListener(internalSelectionAdapter);
     internalSelectionAdapter.addSelectionChangedListener(editor.getSelectionManager());
@@ -197,7 +196,7 @@
  		}
      }
 
-    if (event.getSource() != internalSelectionAdapter && event.getSource() != ((WSDLTextEditor)editor.getTextEditor()).getInternalSelectionProvider())
+    if (event.getSource() != internalSelectionAdapter && event.getSource() != (editor.getTextEditor()).getSelectionProvider())
     {   
       boolean isEmptySelectionRequired = true;
       if (event.getSelection() instanceof IStructuredSelection)
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/ExtensibleEditPartFactory.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/ExtensibleEditPartFactory.java
index 4caaf08..7783b1c 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/ExtensibleEditPartFactory.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/ExtensibleEditPartFactory.java
@@ -58,10 +58,7 @@
         }
       }
     }
-    
-    if (result == null) {
-    	boolean b = true;
-    }
+
     return result;
   }  
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java
index 66f05a3..5d11eee 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editparts/GroupEditPart.java
@@ -332,7 +332,6 @@
   public AbstractGraphicalEditPart getMatchingChildEditPart(Object model)
   {
     List list = new ArrayList();
-    Definition definition = getDefinition();
     for (Object o = model; o != null && !(o instanceof Definition); o = getParent(o))
     {
       list.add(0, o);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editpolicies/WSDLDragAndDropCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editpolicies/WSDLDragAndDropCommand.java
index 4399bbb..5792516 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editpolicies/WSDLDragAndDropCommand.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/graph/editpolicies/WSDLDragAndDropCommand.java
@@ -17,7 +17,6 @@
 import org.eclipse.draw2d.FigureCanvas;
 import org.eclipse.draw2d.IFigure;
 import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
 import org.eclipse.gef.EditPart;
 import org.eclipse.gef.EditPartViewer;
 import org.eclipse.gef.GraphicalEditPart;
@@ -47,7 +46,6 @@
 
   public WSDLDragAndDropCommand(EditPartViewer viewer, ChangeBoundsRequest request)
   {
-  	boolean constructor = false;
     this.viewer = viewer;                    
     this.request = request;
 
@@ -59,8 +57,6 @@
   		WSDLElement wsdlElement = (WSDLElement) targetEditPart.getModel();
   		if (wsdlElement.getElement() instanceof IDOMNode) {
   			((GraphicalEditPart)viewer.getRootEditPart()).getFigure().translateToRelative(location);
-  			Rectangle targetRectangle; 
-  			WSDLTreeNodeEditPart targetParentEditPart;
   			WSDLTreeNodeEditPart movingChildEditPart;
   			Vector dragActions = new Vector();
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/model/WSDLModelAdapterFactory.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/model/WSDLModelAdapterFactory.java
index 66ae0ea..8325e9e 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/model/WSDLModelAdapterFactory.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/model/WSDLModelAdapterFactory.java
@@ -56,7 +56,6 @@
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 
 
 public class WSDLModelAdapterFactory implements ModelAdapterFactory
@@ -492,8 +491,7 @@
     		if (s2 == null) {
     			s2 = "";
     		}
-    		
-    		boolean boo = true;
+
       		return s1.compareToIgnoreCase(s2);
       	}
       });
@@ -937,18 +935,18 @@
       return list;
     }
       
-	private int getNodeIndex(NodeList nodeList, Node node) {
-		int index = 0;
-		while (index < nodeList.getLength() && !(nodeList.item(index).equals(node))) {
-			index++;
-		}
-		
-		if (index >= nodeList.getLength()) {
-			index = -1;
-		}
-		
-		return index;
-	}
+//	private int getNodeIndex(NodeList nodeList, Node node) {
+//		int index = 0;
+//		while (index < nodeList.getLength() && !(nodeList.item(index).equals(node))) {
+//			index++;
+//		}
+//		
+//		if (index >= nodeList.getLength()) {
+//			index = -1;
+//		}
+//		
+//		return index;
+//	}
 
     protected String getLabel()
     {  
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/ExtensibleOutlineProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/ExtensibleOutlineProvider.java
index b1ca649..c9ce261 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/ExtensibleOutlineProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/ExtensibleOutlineProvider.java
@@ -15,148 +15,171 @@
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditor;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
 import org.eclipse.wst.wsdl.ui.internal.extension.WSDLEditorExtension;
 import org.eclipse.wst.wsdl.ui.internal.extension.WSDLEditorExtensionRegistry;
+import org.eclipse.wst.wsdl.ui.internal.text.WSDLModelAdapter;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
 
 
-public class ExtensibleOutlineProvider implements ITreeContentProvider, ILabelProvider
-{
-  protected WSDLEditorExtension[] treeContentProviderExtensions;
-  protected ITreeContentProvider[] treeContentProviders;
+public class ExtensibleOutlineProvider implements ITreeContentProvider, ILabelProvider {
+	protected WSDLEditorExtension[] treeContentProviderExtensions;
+	protected ITreeContentProvider[] treeContentProviders;
 
-  protected WSDLEditorExtension[] labelProviderExtensions;
-  protected ILabelProvider[] labelProviders;
+	protected WSDLEditorExtension[] labelProviderExtensions;
+	protected ILabelProvider[] labelProviders;
 
-  protected final static Object[] EMPTY_ARRAY = {};
+	protected final static Object[] EMPTY_ARRAY = {};
 
-  public ExtensibleOutlineProvider(WSDLEditor wsdlEditor)
-  {
-    WSDLEditorExtensionRegistry registry = WSDLEditorPlugin.getInstance().getWSDLEditorExtensionRegistry(); 
+	public ExtensibleOutlineProvider(WSDLEditor wsdlEditor) {
+		WSDLEditorExtensionRegistry registry = WSDLEditorPlugin.getInstance().getWSDLEditorExtensionRegistry();
 
-    treeContentProviderExtensions = registry.getRegisteredExtensions(WSDLEditorExtension.OUTLINE_TREE_CONTENT_PROVIDER); 
-    treeContentProviders = new ITreeContentProvider[treeContentProviderExtensions.length]; 
-    for (int i = 0; i < treeContentProviderExtensions.length; i++)
-    {
-      treeContentProviders[i] = (ITreeContentProvider)treeContentProviderExtensions[i].createExtensionObject(WSDLEditorExtension.OUTLINE_TREE_CONTENT_PROVIDER, wsdlEditor);
-    }
+		treeContentProviderExtensions = registry.getRegisteredExtensions(WSDLEditorExtension.OUTLINE_TREE_CONTENT_PROVIDER);
+		treeContentProviders = new ITreeContentProvider[treeContentProviderExtensions.length];
+		for (int i = 0; i < treeContentProviderExtensions.length; i++) {
+			treeContentProviders[i] = (ITreeContentProvider) treeContentProviderExtensions[i].createExtensionObject(WSDLEditorExtension.OUTLINE_TREE_CONTENT_PROVIDER, wsdlEditor);
+		}
 
-    labelProviderExtensions = registry.getRegisteredExtensions(WSDLEditorExtension.OUTLINE_LABEL_PROVIDER); 
-    labelProviders = new ILabelProvider[labelProviderExtensions.length]; 
-    for (int i = 0; i < labelProviderExtensions.length; i++)
-    {
-      labelProviders[i] = (ILabelProvider)labelProviderExtensions[i].createExtensionObject(WSDLEditorExtension.OUTLINE_LABEL_PROVIDER, wsdlEditor);
-    }
-  }
-      
-                   
-  protected ITreeContentProvider getApplicableTreeContentProvider(Object object)
-  {                             
-    ITreeContentProvider provider = null;
-    for (int i = 0; i < treeContentProviderExtensions.length; i++)
-    {
-      if (treeContentProviderExtensions[i].isApplicable(object))
-      {
-        provider = treeContentProviders[i];
-        if (provider != null)
-        {
-          break;
-        }
-      }
-    }
-    return provider;
-  }
+		labelProviderExtensions = registry.getRegisteredExtensions(WSDLEditorExtension.OUTLINE_LABEL_PROVIDER);
+		labelProviders = new ILabelProvider[labelProviderExtensions.length];
+		for (int i = 0; i < labelProviderExtensions.length; i++) {
+			labelProviders[i] = (ILabelProvider) labelProviderExtensions[i].createExtensionObject(WSDLEditorExtension.OUTLINE_LABEL_PROVIDER, wsdlEditor);
+		}
+	}
 
 
-  protected ILabelProvider getApplicableLabelProvider(Object object)
-  {
-    ILabelProvider provider = null;
-    for (int i = 0; i < labelProviderExtensions.length; i++)
-    {
-      if (labelProviderExtensions[i].isApplicable(object))
-      {
-        provider = labelProviders[i];
-        if (provider != null)
-        {
-          break;
-        }
-      }
-    }
-    return provider;
-  }
+	protected ITreeContentProvider getApplicableTreeContentProvider(Object object) {
+		ITreeContentProvider provider = null;
+		for (int i = 0; i < treeContentProviderExtensions.length; i++) {
+			if (treeContentProviderExtensions[i].isApplicable(object)) {
+				provider = treeContentProviders[i];
+				if (provider != null) {
+					break;
+				}
+			}
+		}
+		return provider;
+	}
 
-  // implements ITreeContentProvider
-  //
-  public Object[] getChildren(Object parentElement) 
-  { 
-    ITreeContentProvider provider = getApplicableTreeContentProvider(parentElement);
-    //System.out.println("getElements " + provider);
-    return provider != null ? provider.getChildren(parentElement) : EMPTY_ARRAY;
-  }
 
-  public Object getParent(Object element)
-  {
-    ITreeContentProvider provider = getApplicableTreeContentProvider(element);
-    return provider != null ? provider.getParent(element) : null;
-  }
+	protected ILabelProvider getApplicableLabelProvider(Object object) {
+		ILabelProvider provider = null;
+		for (int i = 0; i < labelProviderExtensions.length; i++) {
+			if (labelProviderExtensions[i].isApplicable(object)) {
+				provider = labelProviders[i];
+				if (provider != null) {
+					break;
+				}
+			}
+		}
+		return provider;
+	}
 
-  public boolean hasChildren(Object element)
-  {
-    ITreeContentProvider provider = getApplicableTreeContentProvider(element);
-    return provider != null ? provider.hasChildren(element) : false;
-  }
+	// implements ITreeContentProvider
+	//
+	public Object[] getChildren(Object parentElement) {
+		ITreeContentProvider provider = getApplicableTreeContentProvider(parentElement);
+		// System.out.println("getElements " + provider);
+		return provider != null ? provider.getChildren(parentElement) : EMPTY_ARRAY;
+	}
 
-  public Object[] getElements(Object inputElement)  
-  {                                            
-    ITreeContentProvider provider = getApplicableTreeContentProvider(inputElement);
-    //System.out.println("getElements " + provider);
-    return provider != null ? provider.getElements(inputElement) : EMPTY_ARRAY;
-  }
+	public Object getParent(Object element) {
+		ITreeContentProvider provider = getApplicableTreeContentProvider(element);
+		return provider != null ? provider.getParent(element) : null;
+	}
 
-  public void dispose()  
-  {
-    // TODO... call dispose dispose the created label and content providers
-  }
+	public boolean hasChildren(Object element) {
+		ITreeContentProvider provider = getApplicableTreeContentProvider(element);
+		return provider != null ? provider.hasChildren(element) : false;
+	}
 
-  public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-  {
-    for (int i = 0; i < treeContentProviders.length; i++)
-    {
-      treeContentProviders[i].inputChanged(viewer, oldInput, newInput);
-    }
-  }                 
+	public Object[] getElements(Object inputElement) {
+		// inputElement is initially a structured model, so turn it into a
+		// definition
+		Definition definition = getDefinition(inputElement);
+		ITreeContentProvider provider = getApplicableTreeContentProvider(definition);
+		// System.out.println("getElements " + provider);
+		return provider != null ? provider.getElements(definition) : EMPTY_ARRAY;
+	}
 
-  // implements ILabelProvider  
-  //
-  public Image getImage(Object element) 
-  { 
-    ILabelProvider provider = getApplicableLabelProvider(element);
-    return provider != null ? provider.getImage(element) : null;
-  }
+	public void dispose() {
+		// TODO... call dispose dispose the created label and content
+		// providers
+		
+		for (int i = 0; i < treeContentProviders.length; i++) {
+			treeContentProviders[i].dispose();
+		}
 
-  public String getText(Object element)  
-  {            
-    String result = null;       
-    if (element != null)
-    {
-      ILabelProvider provider = getApplicableLabelProvider(element);
-      result = provider != null ? provider.getText(element) : (element.toString() + "noProviderForClass=" + element.getClass().getName());
-    }
-    return result != null ? result : "";
-  }   
+		for (int i = 0; i < labelProviderExtensions.length; i++) {
+			labelProviders[i].dispose();
+		}		
+	}
 
-  public void addListener(ILabelProviderListener listener) 
-  {
-  }
+	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+		Definition definition = getDefinition(newInput);
+		for (int i = 0; i < treeContentProviders.length; i++) {
+			treeContentProviders[i].inputChanged(viewer, oldInput, definition);
+		}
+	}
 
-  public void removeListener(ILabelProviderListener listener)
-  {
-  }
+	// implements ILabelProvider
+	//
+	public Image getImage(Object element) {
+		ILabelProvider provider = getApplicableLabelProvider(element);
+		return provider != null ? provider.getImage(element) : null;
+	}
 
-  public boolean isLabelProperty(Object element, String property) 
-  {              
-    return false;
-  }
+	public String getText(Object element) {
+		String result = null;
+		if (element != null) {
+			ILabelProvider provider = getApplicableLabelProvider(element);
+			result = provider != null ? provider.getText(element) : (element.toString() + "noProviderForClass=" + element.getClass().getName());
+		}
+		return result != null ? result : "";
+	}
+
+	public void addListener(ILabelProviderListener listener) {
+	}
+
+	public void removeListener(ILabelProviderListener listener) {
+	}
+
+	public boolean isLabelProperty(Object element, String property) {
+		return false;
+	}
+
+	/**
+	 * Gets the definition from model
+	 * 
+	 * @param model
+	 *            (of type Object but really should be IStructuredModel)
+	 * @return Definition
+	 */
+	private Definition getDefinition(Object model) {
+		Definition definition = null;
+
+		if (model instanceof IDOMModel) {
+			IDOMDocument domDoc = ((IDOMModel) model).getDocument();
+			if (domDoc != null) {
+				WSDLModelAdapter modelAdapter = (WSDLModelAdapter) domDoc.getAdapterFor(WSDLModelAdapter.class);
+
+				/*
+				 * ISSUE: if adapter does not already exist for domDoc
+				 * getAdapterFor will create one. So why is this null
+				 * check/creation needed?
+				 */
+				if (modelAdapter == null) {
+					modelAdapter = new WSDLModelAdapter();
+					domDoc.addAdapter(modelAdapter);
+					modelAdapter.createDefinition(domDoc.getDocumentElement());
+				}
+
+				definition = modelAdapter.getDefinition();
+			}
+		}
+		return definition;
+	}
 }
-
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/SOAPLabelProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/SOAPLabelProvider.java
index a44a3cc..93cefa4 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/SOAPLabelProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/SOAPLabelProvider.java
@@ -15,7 +15,6 @@
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
 import org.w3c.dom.Node;
 
 
@@ -46,7 +45,6 @@
   {    
     Node node = (Node)object;
     String imageName = (String)map.get(node.getLocalName());                        
-    boolean isReadOnly = !(node instanceof IDOMNode);  
 	  return imageName != null ? WSDLEditorPlugin.getInstance().getImage(imageName) : null; 
   }
   
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/WSDLContentOutlineConfiguration.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/WSDLContentOutlineConfiguration.java
new file mode 100644
index 0000000..05bec5c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/WSDLContentOutlineConfiguration.java
@@ -0,0 +1,211 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.ui.internal.outline;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration;
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.ui.internal.WSDLEditor;
+import org.eclipse.wst.wsdl.ui.internal.actions.WSDLMenuListener;
+import org.eclipse.wst.wsdl.ui.internal.text.WSDLModelAdapter;
+import org.eclipse.wst.wsdl.ui.internal.util.OpenOnSelectionHelper;
+import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class WSDLContentOutlineConfiguration extends ContentOutlineConfiguration {
+	private ExtensibleOutlineProvider fOutlineProvider = null;
+	private KeyListener[] fKeyListeners = null;
+	private IMenuListener fMenuListener = null;
+	private WSDLEditor fEditor = null;
+
+	private ExtensibleOutlineProvider getOutlineProvider() {
+		if (fOutlineProvider == null) {
+			// ISSUE: what happens if cannot get WSDL Editor? (See
+			// getWSDLEditor comment)
+			fOutlineProvider = new ExtensibleOutlineProvider(getWSDLEditor());
+		}
+		return fOutlineProvider;
+	}
+
+	public IContentProvider getContentProvider(TreeViewer viewer) {
+		return getOutlineProvider();
+	}
+
+	public ILabelProvider getLabelProvider(TreeViewer viewer) {
+		return getOutlineProvider();
+	}
+
+	public KeyListener[] getKeyListeners(TreeViewer viewer) {
+		if (fKeyListeners == null) {
+			final TreeViewer finalViewer = viewer;
+			KeyAdapter keyListener = new KeyAdapter() {
+				public void keyReleased(KeyEvent e) {
+					if (e.keyCode == SWT.F3 && getWSDLEditor() != null) {
+						ISelection selection = getWSDLEditor().getSelectionManager().getSelection();
+						if (selection instanceof IStructuredSelection) {
+							Object object = ((IStructuredSelection) selection).getFirstElement();
+							if (object instanceof EObject) {
+								OpenOnSelectionHelper helper = new OpenOnSelectionHelper(getDefinition(finalViewer));
+								helper.openEditor((EObject) object);
+							}
+						}
+					}
+				}
+			};
+			fKeyListeners = new KeyListener[]{keyListener};
+		}
+
+		return fKeyListeners;
+	}
+
+	public IMenuListener getMenuListener(TreeViewer viewer) {
+		if (fMenuListener == null) {
+			// ISSUE: what happens if cannot get WSDL Editor? (See
+			// getWSDLEditor comment)
+			if (getWSDLEditor() != null)
+				fMenuListener = new WSDLMenuListener(getWSDLEditor(), getWSDLEditor().getSelectionManager());
+		}
+		return fMenuListener;
+	}
+
+	public ISelection getSelection(TreeViewer viewer, ISelection selection) {
+		ISelection sel = selection;
+
+		if (selection instanceof IStructuredSelection) {
+			List wsdlSelections = new ArrayList();
+			for (Iterator i = ((IStructuredSelection) selection).iterator(); i.hasNext();) {
+				Object domNode = i.next();
+				Object wsdlNode = getWSDLNode(domNode, viewer);
+				if (wsdlNode != null) {
+					wsdlSelections.add(wsdlNode);
+				}
+			}
+
+			if (!wsdlSelections.isEmpty()) {
+				sel = new StructuredSelection(wsdlSelections);
+			}
+		}
+		return sel;
+	}
+
+	/**
+	 * Gets the definition from treeviewer's input
+	 * 
+	 * @param model
+	 *            (of type Object but really should be IStructuredModel)
+	 * @return Definition
+	 */
+	private Definition getDefinition(TreeViewer viewer) {
+		Definition definition = null;
+		Object model = null;
+		if (viewer != null)
+			model = viewer.getInput();
+
+		if (model instanceof IDOMModel) {
+			IDOMDocument domDoc = ((IDOMModel) model).getDocument();
+			if (domDoc != null) {
+				WSDLModelAdapter modelAdapter = (WSDLModelAdapter) domDoc.getAdapterFor(WSDLModelAdapter.class);
+
+				/*
+				 * ISSUE: if adapter does not already exist for domDoc
+				 * getAdapterFor will create one. So why is this null
+				 * check/creation needed?
+				 */
+				if (modelAdapter == null) {
+					modelAdapter = new WSDLModelAdapter();
+					domDoc.addAdapter(modelAdapter);
+					modelAdapter.createDefinition(domDoc.getDocumentElement());
+				}
+
+				definition = modelAdapter.getDefinition();
+			}
+		}
+		return definition;
+	}
+
+	// ISSUE: There are some cases where outline comes up before editor
+	private WSDLEditor getWSDLEditor() {
+		if (fEditor == null) {
+			IWorkbench workbench = PlatformUI.getWorkbench();
+			if (workbench != null) {
+				IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
+				if (window != null) {
+					IWorkbenchPage page = window.getActivePage();
+					if (page != null) {
+						IEditorPart editor = page.getActiveEditor();
+						if (editor instanceof WSDLEditor)
+							fEditor = (WSDLEditor) editor;
+					}
+				}
+			}
+		}
+		return fEditor;
+	}
+
+	public void unconfigure(TreeViewer viewer) {
+		super.unconfigure(viewer);
+		fEditor = null;
+	}
+
+	/**
+	 * Determines WSDL node based on object (DOM node)
+	 * 
+	 * @param object
+	 * @return
+	 */
+	private Object getWSDLNode(Object object, TreeViewer viewer) {
+		// get the element node
+		Element element = null;
+		if (object instanceof Node) {
+			Node node = (Node) object;
+			if (node != null) {
+				if (node.getNodeType() == Node.ELEMENT_NODE) {
+					element = (Element) node;
+				}
+				else if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
+					element = ((Attr) node).getOwnerElement();
+				}
+			}
+		}
+		Object o = element;
+		if (element != null) {
+			Object modelObject = WSDLEditorUtil.getInstance().findModelObjectForElement(getDefinition(viewer), element);
+			if (modelObject != null) {
+				o = modelObject;
+			}
+		}
+		return o;
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/WSDLContentOutlinePage.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/WSDLContentOutlinePage.java
index 07d2fb6..ffa80ee 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/WSDLContentOutlinePage.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/outline/WSDLContentOutlinePage.java
@@ -31,7 +31,10 @@
 import org.eclipse.wst.wsdl.ui.internal.actions.WSDLMenuListener;
 import org.eclipse.wst.wsdl.ui.internal.util.OpenOnSelectionHelper;
 
-
+/**
+ * @deprecated Using SSE's ConfiguratbleContentOutlinePage 
+ * instead via WSDLContentOutlineCOnfiguration
+ */
 public class WSDLContentOutlinePage extends ContentOutlinePage 
 {                                                    
   protected WSDLEditor wsdlEditor;
@@ -105,7 +108,10 @@
     WSDLMenuListener menuListener = new WSDLMenuListener(wsdlEditor, wsdlEditor.getSelectionManager());//, (XSDTextEditor)fTextEditor);
     menuManager.addMenuListener(menuListener);
 
-    setSelectionManager(wsdlEditor.getSelectionManager());
+    setSelectionManager(wsdlEditor.getSelectionManager());    
+    
+    // enable popupMenus extension - Rich - this class is deprecated.  TODO - change this
+    getSite().registerContextMenu("org.eclipse.wst.wsdl.ui.popup.outline", menuManager, wsdlEditor.getSelectionManager());
 	}
 
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddBaseParameterCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddBaseParameterCommand.java
new file mode 100644
index 0000000..bbe0883
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddBaseParameterCommand.java
@@ -0,0 +1,265 @@
+/*
+ * 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
+ */
+package org.eclipse.wst.wsdl.ui.internal.parameters;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.Message;
+import org.eclipse.wst.wsdl.MessageReference;
+import org.eclipse.wst.wsdl.Operation;
+import org.eclipse.wst.wsdl.Part;
+import org.eclipse.wst.wsdl.ui.internal.commands.AddMessageCommand;
+import org.eclipse.wst.wsdl.ui.internal.commands.AddPartCommand;
+import org.eclipse.wst.wsdl.ui.internal.util.ComponentReferenceUtil;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
+import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDModelGroup;
+import org.eclipse.xsd.XSDNamedComponent;
+import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.XSDSimpleTypeDefinition;
+import org.eclipse.xsd.XSDTypeDefinition;
+
+public abstract class AddBaseParameterCommand {
+	public static int PART_ELEMENT_SEQ_ELEMENT     = 0;
+	public static int PART_ELEMENT                 = 1;
+	public static int PART_COMPLEXTYPE_SEQ_ELEMENT = 2;
+	public static int PART_COMPLEXTYPE             = 3;
+
+	protected int style = 0;
+	protected Operation operation;
+	protected XSDElementDeclaration newXSDElement;
+	
+	protected String newAnonymousXSDElementName;
+	protected String newXSDElementName;
+	protected String newWSDLMessageName;
+	protected String newWSDLPartName;
+	
+	public abstract void run();
+	
+	public AddBaseParameterCommand(Operation operation, int style) {
+		this.operation = operation;
+		this.style = style;
+	}
+	
+	public void setStyle(int style) {
+		this.style = style;
+	}
+	
+	public XSDElementDeclaration getXSDElementDeclaration() {
+		return newXSDElement;
+	}
+	
+	protected boolean isPartElementReference() {
+		if (style == PART_ELEMENT || style == PART_ELEMENT_SEQ_ELEMENT) {
+			return true;
+		}
+		
+		return false;
+	}
+	
+	protected XSDElementDeclaration createPartElementReferenceComponents(Part part) {
+		XSDElementDeclaration returnedXSDElement = null;
+		XSDElementDeclaration partElement = part.getElementDeclaration();
+		
+		if (style == PART_ELEMENT_SEQ_ELEMENT) {
+			XSDElementDeclaration originalElement = null;
+			XSDElementDeclaration anonXSDElement = null;
+			
+			// Create the XSDElement (anonymous) referenced by the Part if necessary
+			if (partElement == null || partElement.getAnonymousTypeDefinition() == null) {
+				anonXSDElement = XSDComponentHelper.createAnonymousXSDElementDefinition(getAnonymousXSDElementBaseName(), part);
+//				part.setElementDeclaration(anonXSDElement);
+				String prefixedName = getPrefixedComponentName(part.getEnclosingDefinition(), anonXSDElement);
+				ComponentReferenceUtil.setComponentReference(part, false, prefixedName);
+				part.setTypeDefinition(null);
+				
+				if (partElement != null) {
+					originalElement = partElement;
+					// Remove the 'original' XSDElement as a Global Element
+					partElement.getSchema().getContents().remove(partElement);
+				}
+			}
+			else {
+				anonXSDElement = partElement;
+			}
+			
+			// Create a new XSDElement
+			XSDModelGroup modelGroup = XSDComponentHelper.getXSDModelGroup(anonXSDElement, part.getEnclosingDefinition());
+			returnedXSDElement = XSDComponentHelper.createXSDElementDeclarationCommand(null, getNewXSDElementBaseName(), modelGroup);
+			
+			// Add the newly created XSDElement to the ModelGroup
+			XSDComponentHelper.addXSDElementToModelGroup(anonXSDElement, returnedXSDElement);
+			
+			// Add the 'original' XSDElement if it's type wasn't anonymous
+			if (originalElement != null) {
+				XSDComponentHelper.addXSDElementToModelGroup(anonXSDElement, originalElement);
+			}
+		}
+		else if (style == PART_ELEMENT) {
+			if (partElement == null) {
+				returnedXSDElement = XSDComponentHelper.createXSDElementDeclarationCommand(part.getEnclosingDefinition(), getNewXSDElementBaseName(), part);
+			}
+			else {
+				// TODO: What should we do here.....  We can default to the PART_ELEMENT_SEQ_ELEMENT style
+				// since it handles 'multiple' XSDElements.... OR ..... we can 'overwrite and set a new
+				// XSDElement
+			}
+			
+			if (returnedXSDElement != null && !returnedXSDElement.equals(part.getElementDeclaration())) {
+//				part.setElementDeclaration(returnedXSDElement);
+				String prefixedName = getPrefixedComponentName(part.getEnclosingDefinition(), returnedXSDElement);
+				ComponentReferenceUtil.setComponentReference(part, false, prefixedName);
+
+			}	
+		}
+		
+		return returnedXSDElement;
+	}
+	
+	protected XSDElementDeclaration createPartComplexTypeReference(Part part) {
+		XSDElementDeclaration returnedXSDElement = null;
+		
+		if (style == PART_COMPLEXTYPE_SEQ_ELEMENT) {
+			XSDTypeDefinition originalType = null;
+			XSDComplexTypeDefinition topLevelType = null;
+			
+			// Create the ComplexType referenced by the Part if necessary
+			if (part.getTypeDefinition() == null || part.getTypeDefinition() instanceof XSDSimpleTypeDefinition) {
+				XSDSchema schema = XSDComponentHelper.getXSDSchema(part.getEnclosingDefinition());
+				String topLevelName = WNameHelperUtil.getXSDComplexTypeName(part.getName(), schema);
+				topLevelType = XSDComponentHelper.createXSDComplexTypeDefiniion(topLevelName, part);
+				
+				if (part.getTypeDefinition() instanceof XSDSimpleTypeDefinition) {
+					originalType = part.getTypeDefinition();
+				}
+			}
+			else if (part.getTypeDefinition() instanceof XSDComplexTypeDefinition){
+				topLevelType = (XSDComplexTypeDefinition) part.getTypeDefinition();
+			}			
+			
+			// Create a new XSDElement
+			XSDModelGroup modelGroup = XSDComponentHelper.getXSDModelGroup(topLevelType);
+			returnedXSDElement = XSDComponentHelper.createXSDElementDeclarationCommand(null, getNewXSDElementBaseName(), modelGroup);
+			
+			// Add the 'original' XSDElement if it's type wasn't anonymous
+			if (originalType != null) {
+				// Create another new XSDElement to 'contain' the originally referenced XSDSimpleType
+				XSDElementDeclaration origXSDElement = XSDComponentHelper.createXSDElementDeclarationCommand(null, getNewXSDElementBaseName(), modelGroup);
+				origXSDElement.setTypeDefinition(originalType);
+			}
+			
+			// Change Part reference
+//			part.setTypeDefinition(topLevelType);
+			String prefixedName = getPrefixedComponentName(part.getEnclosingDefinition(), topLevelType);
+			ComponentReferenceUtil.setComponentReference(part, true, prefixedName);
+
+			
+		}
+		else if (style == PART_COMPLEXTYPE) {
+			XSDComplexTypeDefinition complexType = null;
+			if (part.getTypeDefinition() == null) {
+				// Create a new ComplexType
+				XSDSchema schema = XSDComponentHelper.getXSDSchema(part.getEnclosingDefinition());
+				String complexName = WNameHelperUtil.getXSDComplexTypeName(part.getName(), schema);
+				complexType = XSDComponentHelper.createXSDComplexTypeDefiniion(complexName, part);
+				
+				// Create an XSDElement for the ComplexType
+				XSDModelGroup xsdModelGroup = XSDComponentHelper.getXSDModelGroup(complexType);
+				returnedXSDElement = XSDComponentHelper.createXSDElementDeclarationCommand(null, getNewXSDElementBaseName(), xsdModelGroup);
+			}
+			else {
+				// TODO: What should we do here.....  We can default to the PART_ELEMENT_SEQ_ELEMENT style
+				// since it handles 'multiple' XSDElements.... OR ..... we can 'overwrite and set a new
+				// XSDElement
+			}
+			
+			if (complexType != null && !complexType.equals(part.getTypeDefinition())) {
+//				part.setTypeDefinition(complexType);
+				String prefixedName = getPrefixedComponentName(part.getEnclosingDefinition(), complexType);
+				ComponentReferenceUtil.setComponentReference(part, true, prefixedName);
+			}	
+		}
+		
+		return returnedXSDElement;
+	}	
+	/*
+	 * Create if necessary a Message and Part for the given MessageReference
+	 * and return it's Part
+	 */
+	protected Part createWSDLComponents(MessageReference messageRef) {
+		Message message = messageRef.getEMessage();
+		Part part = null;
+		
+		if (message == null) {
+			// Create Message
+			AddMessageCommand command = new AddMessageCommand(messageRef.getEnclosingDefinition(), getWSDLMessageName());
+			command.run();
+			message = (Message) command.getWSDLElement();
+			messageRef.setEMessage(message);
+		}
+		
+		if (message.getEParts().size() == 0) {
+			// Create Part
+			AddPartCommand command = new AddPartCommand(message, getWSDLPartName());
+			command.run();
+			part = (Part) command.getWSDLElement();
+		}
+		else {
+			part = (Part) message.getEParts().get(0);
+		}
+		
+		return part;
+	}
+	
+	protected XSDElementDeclaration createXSDObjects(Part part) {
+		XSDElementDeclaration returnedXSDElement = null;
+		if (isPartElementReference()) {
+			// Is a Part --> Element reference
+			returnedXSDElement = createPartElementReferenceComponents(part);
+		}
+		else {
+			// Is a Part --> Complex Type reference
+			returnedXSDElement = createPartComplexTypeReference(part);
+		}
+		
+		return returnedXSDElement;
+	}
+	
+    private String getPrefixedComponentName(Definition definition, XSDNamedComponent component) {
+    	String name = component.getName();
+    	String tns = component.getTargetNamespace();
+        List prefixes = getPrefixes(definition, tns);
+        if (prefixes.size() > 0) {
+            name = prefixes.get(0) + ":" + name;
+        }
+        
+        return name;
+    }
+    
+    private List getPrefixes(Definition definition, String namespace) {
+        List list = new ArrayList();
+        Map map = definition.getNamespaces();
+        for (Iterator i = map.keySet().iterator(); i.hasNext();) {
+            String prefix = (String) i.next();
+            String theNamespace = (String) map.get(prefix);
+            if (theNamespace != null && theNamespace.equals(namespace)) {
+                list.add(prefix);
+            }
+        }
+        return list;
+    }
+
+	protected abstract String getAnonymousXSDElementBaseName();
+	protected abstract String getNewXSDElementBaseName();
+	protected abstract String getWSDLMessageName();
+	protected abstract String getWSDLPartName();
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddFaultParameterCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddFaultParameterCommand.java
new file mode 100644
index 0000000..d6e986e
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddFaultParameterCommand.java
@@ -0,0 +1,84 @@
+/*
+ * 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
+ */
+package org.eclipse.wst.wsdl.ui.internal.parameters;
+
+import org.eclipse.wst.wsdl.Fault;
+import org.eclipse.wst.wsdl.Operation;
+import org.eclipse.wst.wsdl.Part;
+import org.eclipse.wst.wsdl.ui.internal.commands.AddFaultCommand;
+
+public class AddFaultParameterCommand extends AddBaseParameterCommand {
+	protected Fault fault;
+	private String faultName;
+	
+	public AddFaultParameterCommand(Operation operation, Fault fault) {
+		super(operation, AddBaseParameterCommand.PART_ELEMENT);
+		this.fault = fault;
+	}
+	
+	/*
+	 * 
+	 */
+	public void run() {
+		if (fault == null) {
+			AddFaultCommand command = new AddFaultCommand(operation, getFaultName());
+			command.run();
+			fault = (Fault) command.getWSDLElement();
+		}
+		
+		Part part = createWSDLComponents(fault);
+		
+		// Create necessary XSD Objects starting with the Part reference
+		newXSDElement = createXSDObjects(part);
+	}
+
+	protected String getAnonymousXSDElementBaseName() {
+		if (newAnonymousXSDElementName == null) {
+			newAnonymousXSDElementName = operation.getName() + "_" + getFaultName(); 
+		}
+		
+		return newAnonymousXSDElementName;
+	}
+	
+	protected String getNewXSDElementBaseName() {
+		if (newXSDElementName == null) {
+			newXSDElementName = operation.getName() + "_" + getFaultName();
+		}
+		
+		return newXSDElementName;
+	}
+	
+	protected String getWSDLMessageName() {
+		if (newWSDLMessageName == null) {
+			newWSDLMessageName = operation.getName() + "_" + getFaultName() + "Msg";
+		}
+		
+		return newWSDLMessageName;
+	}
+
+	protected String getWSDLPartName() {
+		if (newWSDLPartName == null) {
+			newWSDLPartName = getFaultName();
+		}
+		
+		return newWSDLPartName;
+	}
+	
+	private String getFaultName() {
+		if (faultName == null) {
+			if (fault != null) {
+				faultName = fault.getName();
+			}
+			else {
+				faultName = WNameHelperUtil.getFaultName(operation);
+			}
+		}
+
+		return faultName;
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddInputParameterCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddInputParameterCommand.java
new file mode 100644
index 0000000..3073f1c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddInputParameterCommand.java
@@ -0,0 +1,72 @@
+/*
+ * 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
+ */
+package org.eclipse.wst.wsdl.ui.internal.parameters;
+
+import org.eclipse.wst.wsdl.Input;
+import org.eclipse.wst.wsdl.Operation;
+import org.eclipse.wst.wsdl.Part;
+import org.eclipse.wst.wsdl.ui.internal.commands.AddInputCommand;
+
+public class AddInputParameterCommand extends AddBaseParameterCommand {	
+	public AddInputParameterCommand(Operation operation, int style) {
+		super(operation, style);
+	}
+	
+	/*
+	 * 
+	 */
+	public void run() {
+		Part part = null;
+		if (operation.getEInput() != null) {
+			part = createWSDLComponents(operation.getEInput());
+		}
+		else {
+			AddInputCommand command = new AddInputCommand(operation, null);
+			command.run();
+			Input input = (Input) command.getWSDLElement();
+			part = createWSDLComponents(input);
+		}
+		
+		// Create necessary XSD Objects starting with the Part reference
+		newXSDElement = createXSDObjects(part);
+	}
+	
+	protected String getAnonymousXSDElementBaseName() {
+		if (newAnonymousXSDElementName == null) {
+			newAnonymousXSDElementName = operation.getName() + "Request"; 
+		}
+		
+		return newAnonymousXSDElementName;
+	}
+	
+	protected String getNewXSDElementBaseName() {
+		if (newXSDElementName == null) {
+			newXSDElementName = "input";
+		}
+		
+		return newXSDElementName;
+	}
+	
+	protected String getWSDLMessageName() {
+		if (newWSDLMessageName == null) {
+			if (operation.getEInput() != null) {
+				newWSDLMessageName= WNameHelperUtil.getMessageName(operation.getEInput());
+			}
+		}
+		
+		return newWSDLMessageName;
+	}
+
+	protected String getWSDLPartName() {
+		if (newWSDLPartName == null) {
+			newWSDLPartName  = WNameHelperUtil.getPartName(operation.getEInput());			
+		}
+		
+		return newWSDLPartName;
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddOutputParameterCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddOutputParameterCommand.java
new file mode 100644
index 0000000..4771bd1
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/AddOutputParameterCommand.java
@@ -0,0 +1,72 @@
+/*
+ * 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
+ */
+package org.eclipse.wst.wsdl.ui.internal.parameters;
+
+import org.eclipse.wst.wsdl.Operation;
+import org.eclipse.wst.wsdl.Output;
+import org.eclipse.wst.wsdl.Part;
+import org.eclipse.wst.wsdl.ui.internal.commands.AddOutputCommand;
+
+public class AddOutputParameterCommand extends AddBaseParameterCommand {
+	public AddOutputParameterCommand(Operation operation, int style) {
+		super(operation, style);
+	}
+	
+	/*
+	 * 
+	 */
+	public void run() {
+		Part part = null;
+		if (operation.getEOutput() != null) {
+			part = createWSDLComponents(operation.getEOutput());
+		}
+		else {
+			AddOutputCommand command = new AddOutputCommand(operation, null);
+			command.run();
+			Output output = (Output) command.getWSDLElement();
+			part = createWSDLComponents(output);
+		}
+		
+		// Create necessary XSD Objects starting with the Part reference
+		newXSDElement = createXSDObjects(part);
+	}
+	
+	protected String getAnonymousXSDElementBaseName() {
+		if (newAnonymousXSDElementName == null) {
+			newAnonymousXSDElementName = operation.getName() + "Response"; 
+		}
+		
+		return newAnonymousXSDElementName;
+	}
+	
+	protected String getNewXSDElementBaseName() {
+		if (newXSDElementName == null) {
+			newXSDElementName = "output";
+		}
+		
+		return newXSDElementName;
+	}
+	
+	protected String getWSDLMessageName() {
+		if (newWSDLMessageName == null) {
+			if (operation.getEOutput() != null) {
+				newWSDLMessageName= WNameHelperUtil.getMessageName(operation.getEOutput());
+			}
+		}
+		
+		return newWSDLMessageName;
+	}
+
+	protected String getWSDLPartName() {
+		if (newWSDLPartName == null) {
+			newWSDLPartName  = WNameHelperUtil.getPartName(operation.getEOutput());			
+		}
+		
+		return newWSDLPartName;
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/WNameHelperUtil.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/WNameHelperUtil.java
new file mode 100644
index 0000000..593783f
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/WNameHelperUtil.java
@@ -0,0 +1,197 @@
+/*
+ * 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
+ */
+package org.eclipse.wst.wsdl.ui.internal.parameters;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.wst.wsdl.Fault;
+import org.eclipse.wst.wsdl.Input;
+import org.eclipse.wst.wsdl.Message;
+import org.eclipse.wst.wsdl.MessageReference;
+import org.eclipse.wst.wsdl.Operation;
+import org.eclipse.wst.wsdl.Output;
+import org.eclipse.wst.wsdl.Part;
+import org.eclipse.wst.wsdl.PortType;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
+import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDModelGroup;
+import org.eclipse.xsd.XSDParticle;
+import org.eclipse.xsd.XSDSchema;
+
+public class WNameHelperUtil {
+	public static String getMessageName(MessageReference messageRef) {	    
+		String messageName = "NewMessage";
+		List messageNames = new ArrayList();
+		Operation operation = (Operation) messageRef.getContainer();
+		Iterator messageIt = operation.getEnclosingDefinition().getEMessages().iterator();
+		while (messageIt.hasNext()) {
+			messageNames.add(((Message) messageIt.next()).getQName().getLocalPart());
+		}
+		
+		String requestResponseString = getRequestOrResponse(messageRef) + "Msg";
+		messageName = getUniqueName(operation.getName() + requestResponseString, messageNames);
+		
+		return messageName;
+	}
+	
+	public static String getPartName(MessageReference messageRef) {
+		String partName = "NewPart";
+		Message message = messageRef.getEMessage();
+		
+		Operation operation = (Operation) messageRef.getContainer();
+//		Operation operation = (Operation) ((WOperation) ownerMessage.getOwnerOperation()).getModel();
+		String operationName = operation.getName();
+		String appendString = "";    	  
+		if (messageRef instanceof Input) {
+			appendString = "Parameters";
+		}
+		else if (messageRef instanceof Output) {
+			appendString = "Result";
+		}
+		else if (messageRef instanceof Fault) {
+			appendString = "Fault";
+		}
+		partName = operationName + appendString;
+		
+		List usedPartNames = new ArrayList();
+		if (message != null) {
+			Iterator partIt = message.getEParts().iterator();
+			while (partIt.hasNext()) {
+				usedPartNames.add(((Part) partIt.next()).getName());
+			}
+		}
+		
+		partName = getUniqueName(partName, usedPartNames);
+		
+		return partName;
+	}
+	
+	public static String getOperationName(PortType portType) {
+		String operationName = "NewOperation";
+		Iterator operationIt = portType.getEOperations().iterator();
+		List usedNames = new ArrayList();
+		while (operationIt.hasNext()) {
+			usedNames.add(((Operation) operationIt.next()).getName());
+		}
+		
+		operationName = getUniqueName("NewOperation", usedNames);
+		
+		return operationName;
+	}
+	
+	public static String getRequestOrResponse(MessageReference messageRef) {
+		if (messageRef instanceof Input)
+		{
+			return "Request";
+		}
+		else if (messageRef instanceof Output)
+		{
+			return "Response";
+		}
+		else if (messageRef instanceof Fault)
+		{
+			return "_Fault";
+		}
+		
+		return "";
+	}
+	
+	public static String getFaultName(Operation operation) {
+		String faultName = "fault";
+		List nameList = new ArrayList();
+		Iterator faultIt = operation.getEFaults().iterator();
+		while (faultIt.hasNext()) {
+			nameList.add(((Fault) faultIt.next()).getName());
+		}
+		
+		faultName = getUniqueName(faultName, nameList);
+		
+		return faultName;
+	}
+	
+	public static String getXSDElementName(String baseName, Object parent) {
+		String elementName = "";
+		
+		if (parent instanceof XSDSchema) {
+			elementName = getUniqueName(baseName, getUsedElementNames((XSDSchema) parent));
+		}
+		else if (parent instanceof XSDModelGroup) {
+			List existingNames = new ArrayList();
+			XSDModelGroup modelGroup = (XSDModelGroup) parent;
+			Iterator modelGroupIt = modelGroup.getContents().iterator();
+			while (modelGroupIt.hasNext()) {
+				Object item = modelGroupIt.next();
+				if (item instanceof XSDParticle) {
+					XSDParticle existingParticle = (XSDParticle) item;
+					if (existingParticle.getContent() instanceof XSDElementDeclaration) {
+						existingNames.add(((XSDElementDeclaration) existingParticle.getContent()).getName());
+					}
+				}
+			}
+			
+			elementName = getUniqueName(baseName, existingNames);			
+		}
+		
+		return elementName;
+	}
+	
+	public static String getXSDComplexTypeName(String baseName, XSDSchema schema) {
+		String typeName = "";
+		List existingNames = new ArrayList();
+		
+		Iterator it = schema.getTypeDefinitions().iterator();
+		while (it.hasNext()) {
+			Object item = it.next();
+			if (item instanceof XSDComplexTypeDefinition) {
+				existingNames.add(((XSDComplexTypeDefinition) item).getName());
+			}
+		}
+		
+		typeName = getUniqueName(baseName, existingNames);
+		return typeName;
+	}
+	
+	private static List getUsedElementNames(XSDSchema xsdSchema) {
+		List usedNames = new ArrayList();
+		Iterator schemaIt = xsdSchema.getContents().iterator();
+		while (schemaIt.hasNext()) {
+			Object item = schemaIt.next();
+			if (item instanceof XSDElementDeclaration) {
+				usedNames.add(((XSDElementDeclaration) item).getName());
+			}
+		}
+		
+		return usedNames;
+	}
+	
+	private static String getUniqueName(String baseName, List existingNames) {
+		int count = 1;
+		
+		if (!existingNames.contains(baseName)) {
+			return baseName;
+		}
+		
+		Iterator namesIt = existingNames.iterator();
+		boolean foundMatch = true;
+		while (foundMatch) {
+			foundMatch = false;
+			while (namesIt.hasNext()) {
+				String name = (String) namesIt.next();
+				if (name.equals(baseName + String.valueOf(count))) {
+					count++;
+					foundMatch = true;
+					break;
+				}
+			}
+		}
+		
+		return baseName + String.valueOf(count);
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/XSDComponentHelper.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/XSDComponentHelper.java
new file mode 100644
index 0000000..7d9c87c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/parameters/XSDComponentHelper.java
@@ -0,0 +1,275 @@
+/*
+ * 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
+ */
+package org.eclipse.wst.wsdl.ui.internal.parameters;
+
+import java.util.Iterator;
+
+import org.eclipse.wst.wsdl.Definition;
+import org.eclipse.wst.wsdl.Part;
+import org.eclipse.wst.wsdl.Types;
+import org.eclipse.wst.wsdl.XSDSchemaExtensibilityElement;
+import org.eclipse.wst.wsdl.ui.internal.commands.AddXSDElementDeclarationCommand;
+import org.eclipse.wst.wsdl.ui.internal.commands.AddXSDSchemaCommand;
+import org.eclipse.wst.xsd.ui.internal.commands.AddElementDeclarationCommand;
+import org.eclipse.xsd.XSDComplexTypeDefinition;
+import org.eclipse.xsd.XSDComponent;
+import org.eclipse.xsd.XSDCompositor;
+import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDFactory;
+import org.eclipse.xsd.XSDModelGroup;
+import org.eclipse.xsd.XSDParticle;
+import org.eclipse.xsd.XSDSchema;
+import org.eclipse.xsd.XSDSimpleTypeDefinition;
+
+/**
+ * Input createInput(Operation operation, String style) --- create default message/part/etc.
+ * Object createInputParameter(Operation operation, Input input, Style style) --
+ * 
+ * Command getCreateInputParameterCommand(Operation operation, Input input, Style style)
+ * 
+ * Message/part/Element
+ * Message/part/Element/sequence/Element
+ * (x) Message/part
+ */
+public class XSDComponentHelper {
+	/*
+	 * Create an XSDElement with type anonymous.  Set the given part to reference the newly created
+	 * XSDElement.
+	 */
+	public static XSDElementDeclaration createAnonymousXSDElementDefinition(String baseName, Part part) {
+		XSDElementDeclaration anonElement = createXSDElementDeclarationCommand(part.getEnclosingDefinition(), baseName, part);
+		XSDComplexTypeDefinition newAnon = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
+		XSDParticle newXSDParticle = XSDFactory.eINSTANCE.createXSDParticle();
+		XSDModelGroup newXSDModelGroup = XSDFactory.eINSTANCE.createXSDModelGroup();
+		newXSDModelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);
+		
+		anonElement.setAnonymousTypeDefinition(newAnon);
+		newXSDParticle.setContent(newXSDModelGroup);
+		newAnon.setContent(newXSDParticle);
+		
+		return anonElement;
+	}
+	
+	public static XSDElementDeclaration createXSDElementDeclarationCommand(Definition definition, String baseName, Object context) {
+		XSDElementDeclaration xsdElement = null;
+		
+		if (context instanceof Part) {
+			AddXSDElementDeclarationCommand command = new AddXSDElementDeclarationCommand(definition, "");
+			
+			// Find a unique name
+			XSDSchema xsdSchema = command.getSchema();
+			String name = WNameHelperUtil.getXSDElementName(baseName, xsdSchema);
+			command.run(name);
+			// The 'workaround' below is causing me to hang.....  The latest WTP is needed.
+//			xsdElement = xsdSchema.resolveElementDeclaration(name);
+			xsdElement = command.getXSDElement();
+		}
+		else if (context instanceof XSDModelGroup) {
+			XSDModelGroup modelGroup = (XSDModelGroup) context;
+			XSDParticle newParticle = XSDFactory.eINSTANCE.createXSDParticle();
+			String name = WNameHelperUtil.getXSDElementName(baseName, modelGroup);
+			
+			AddElementDeclarationCommand command = new AddElementDeclarationCommand(modelGroup, name);
+			command.run();
+			xsdElement = (XSDElementDeclaration) command.getModelObject();
+			xsdElement.setTypeDefinition(getXSDStringType(modelGroup));
+			
+			newParticle.setContent(xsdElement);
+			modelGroup.getContents().add(newParticle);
+		}
+		else {
+			AddElementDeclarationCommand command = new AddElementDeclarationCommand(null, baseName);
+			command.run();
+			xsdElement = (XSDElementDeclaration) command.getModelObject();
+		}
+		
+		return xsdElement;
+	}
+	
+	public static void addXSDElementToModelGroup(XSDElementDeclaration parent, XSDElementDeclaration child) {
+		if (parent.getAnonymousTypeDefinition() instanceof XSDComplexTypeDefinition) {
+			XSDComplexTypeDefinition anonType = (XSDComplexTypeDefinition) parent.getAnonymousTypeDefinition();
+			if (anonType.getContent() instanceof XSDParticle) {
+				XSDParticle particle = (XSDParticle) anonType.getContent();
+				if (particle.getContent() instanceof XSDModelGroup) {
+					// Create XSDParticle
+					XSDModelGroup modelGroup = (XSDModelGroup) particle.getContent();
+					addXSDElementToModelGroup(modelGroup, child);
+				}
+				else {
+					// Create XSDModelGroup -- XSDParticle
+					addXSDElementToModelGroup(particle, child);
+				}				  
+			}
+			else {
+				// Create XSDParticle --> XSDModelGroup --> XSDParticle
+				XSDParticle newParticle = XSDFactory.eINSTANCE.createXSDParticle();
+				anonType.setContent(newParticle);
+				addXSDElementToModelGroup(newParticle, child);
+			}			  
+		}
+		else {
+			// Create Anonymous Type --> XSDParticle --> XSDModelGroup --> XSDParticle
+			XSDComplexTypeDefinition newAnonType = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
+			parent.setAnonymousTypeDefinition(newAnonType);
+			
+			XSDParticle newParticle = XSDFactory.eINSTANCE.createXSDParticle();
+			newAnonType.setContent(newParticle);
+			addXSDElementToModelGroup(newParticle, child);
+		}
+	}
+	
+	public static void addXSDElementToModelGroup(XSDParticle particle, XSDElementDeclaration child) {
+		XSDModelGroup newXSDModelGroup = XSDFactory.eINSTANCE.createXSDModelGroup();
+		newXSDModelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);					  
+		particle.setContent(newXSDModelGroup);
+		addXSDElementToModelGroup(newXSDModelGroup, child);
+	}
+	
+	public static void addXSDElementToModelGroup(XSDModelGroup modelGroup, XSDElementDeclaration child) {
+		// Create XSDParticle
+		XSDParticle newParticle = XSDFactory.eINSTANCE.createXSDParticle();
+		newParticle.setContent(child);
+		modelGroup.getContents().add(newParticle);
+	}
+	
+	/*
+	 * Return it's XSDModelGroup.  If one does not exist, create one
+	 */
+	public static XSDModelGroup getXSDModelGroup(XSDElementDeclaration xsdElement, Definition definition) {
+		XSDModelGroup modelGroup = null;
+		XSDComplexTypeDefinition anonType = null;
+		
+		if (xsdElement.getAnonymousTypeDefinition() instanceof XSDComplexTypeDefinition) {
+			anonType = (XSDComplexTypeDefinition) xsdElement.getAnonymousTypeDefinition();
+		}		  
+		else {
+			// Create Anonymous Type
+			anonType = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
+			anonType.setName("NewComplexTypeName");
+			getXSDSchema(definition).getContents().add(anonType);
+			xsdElement.setAnonymousTypeDefinition(anonType);
+		}
+		
+		if (anonType != null) {
+			modelGroup = getXSDModelGroup(anonType);
+		}
+		
+		return modelGroup;
+	}
+	
+	/*
+	 * Return it's XSDModelGroup.  If one does not exist, create one
+	 */
+	public static XSDModelGroup getXSDModelGroup(XSDComplexTypeDefinition xsdComplexType) {
+		XSDModelGroup modelGroup = null;
+		XSDParticle particle = null;
+		// Check for XSDParticle
+		if (xsdComplexType.getContent() instanceof XSDParticle) {
+			particle = (XSDParticle) xsdComplexType.getContent();
+		}
+		else {
+			particle = XSDFactory.eINSTANCE.createXSDParticle();
+			modelGroup = XSDFactory.eINSTANCE.createXSDModelGroup();
+			modelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);			  
+			particle.setContent(modelGroup);
+			xsdComplexType.setContent(particle);
+		}
+		
+		// Check for XSDModelGroup
+		if (particle.getContent() instanceof XSDModelGroup) {
+			modelGroup = (XSDModelGroup) particle.getContent();
+		}
+		else {
+			modelGroup = XSDFactory.eINSTANCE.createXSDModelGroup();
+			modelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);			  
+			particle.setContent(modelGroup);
+		}
+		
+		return modelGroup;
+	}
+	
+	/*
+	 * 
+	 */
+	public static XSDComplexTypeDefinition createXSDComplexTypeDefiniion(String complexTypeName, Part part) {
+		XSDComplexTypeDefinition newComplexType = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition();
+		XSDParticle newXSDParticle = XSDFactory.eINSTANCE.createXSDParticle();
+		XSDModelGroup newXSDModelGroup = XSDFactory.eINSTANCE.createXSDModelGroup();
+		newXSDModelGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL);
+		
+		newComplexType.setName(complexTypeName);
+		newComplexType.setContent(newXSDParticle);
+		newXSDParticle.setContent(newXSDModelGroup);
+		getXSDSchema(part.getEnclosingDefinition()).getContents().add(newComplexType);
+		
+		return newComplexType;
+	}
+	
+	public static void addXSDElementToModelGroup(XSDComplexTypeDefinition parent, XSDElementDeclaration child) {
+		if (parent.getContent() instanceof XSDParticle) {
+			XSDParticle particle = (XSDParticle) parent.getContent();
+			if (particle.getContent() instanceof XSDModelGroup) {
+				// Create XSDParticle
+				XSDModelGroup modelGroup = (XSDModelGroup) particle.getContent();
+				addXSDElementToModelGroup(modelGroup, child);
+			}
+			else {
+				// Create XSDModelGroup -- XSDParticle
+				addXSDElementToModelGroup(particle, child);
+			}				  
+		}
+		else {
+			// Create XSDParticle --> XSDModelGroup --> XSDParticle
+			XSDParticle newParticle = XSDFactory.eINSTANCE.createXSDParticle();
+			parent.setContent(newParticle);
+			addXSDElementToModelGroup(newParticle, child);
+		}
+	}
+	
+	/*
+	 * Return the inline XSDSchema associated with this WSDL.
+	 * Look for the inline XSDSchema with the same namespace as the WSDL.
+	 * If this inline XSDSchema does not exists, create it.
+	 */
+	public static XSDSchema getXSDSchema(Definition definition) {
+		XSDSchema schema = null;
+		String wsdlTargetNamespace = definition.getTargetNamespace();
+		
+		Types types = (Types) definition.getTypes();
+		if (types != null) {
+			
+			Iterator eeIt = types.getExtensibilityElements().iterator();
+			while (eeIt.hasNext()) {
+				Object eeElement = eeIt.next();
+				if (eeElement instanceof XSDSchemaExtensibilityElement) {
+					XSDSchemaExtensibilityElement ee = (XSDSchemaExtensibilityElement) eeElement;
+					if (ee.getSchema().getTargetNamespace().equals(wsdlTargetNamespace)) {
+						schema = ee.getSchema();
+						break;
+					}
+				}
+			}
+		}
+		
+		if (schema == null) {
+			// We need to create the schema
+			AddXSDSchemaCommand command = new AddXSDSchemaCommand(definition);
+			command.run();
+			XSDSchemaExtensibilityElement eeElement = (XSDSchemaExtensibilityElement) command.getWSDLElement();
+			schema = eeElement.getSchema();
+		}
+		
+		return schema;
+	}
+	
+	private static XSDSimpleTypeDefinition getXSDStringType(XSDComponent component) {
+		XSDSchema schema = component.getSchema();
+		return schema.getSchemaForSchema().resolveSimpleTypeDefinition("string");
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/AbstractSectionDescriptor.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/AbstractSectionDescriptor.java
index 1324736..f65456d 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/AbstractSectionDescriptor.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/AbstractSectionDescriptor.java
@@ -100,4 +100,9 @@
   {
     return "";
   }
+  
+  public int getEnablesFor()
+  {
+	return ENABLES_FOR_ANY;
+  }
 }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/ImportSection.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/ImportSection.java
index b9477a9..75c3d3b 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/ImportSection.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/ImportSection.java
@@ -14,7 +14,6 @@
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CLabel;
@@ -32,6 +31,7 @@
 import org.eclipse.wst.common.ui.properties.internal.provisional.TabbedPropertySheetWidgetFactory;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.Import;
+import org.eclipse.wst.wsdl.internal.impl.ImportImpl;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditor;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
 import org.eclipse.wst.wsdl.ui.internal.util.ComponentReferenceUtil;
@@ -179,7 +179,7 @@
 	    if (event.widget == prefixText && locationText.getText().length() > 0 && namespaceText.getText().length() > 0) {    	
 	    	Object input = getElement();
 	        Import importObj = (Import)input;
-	        org.w3c.dom.Element importElement = WSDLEditorUtil.getInstance().getElementForObject(importObj);
+//	        org.w3c.dom.Element importElement = WSDLEditorUtil.getInstance().getElementForObject(importObj);
 	        Map namespacesMap = importObj.getEnclosingDefinition().getNamespaces();
 
 	        if (namespacesMap.containsKey(prefixText.getText())) {
@@ -199,81 +199,78 @@
 	
   public void widgetSelected(SelectionEvent e)
   {
-    if (e.widget == button)
-    {
-        ResourceSet resourceSet = null;
-        
-        Object input = getElement();
-        
-           resourceSet = ((org.eclipse.emf.ecore.EObject)input).eResource().getResourceSet();
-
-           WSDLEditor editor = (WSDLEditor)editorPart;
-           IFile currentWSDLFile = ((IFileEditorInput)editor.getEditorInput()).getFile();
-           
-           SelectSingleFileDialog dialog = new SelectSingleFileDialog(WSDLEditorPlugin.getShell(), null, true);
-           String [] filters = { "xsd", "wsdl" }; //$NON-NLS-1$
-           IFile [] excludedFiles = { currentWSDLFile };
-           
-           dialog.addFilterExtensions(filters, excludedFiles);
-           dialog.create();
-           dialog.getShell().setText(WSDLEditorPlugin.getWSDLString("_UI_TITLE_SELECT")); //$NON-NLS-1$
-           dialog.setTitle(WSDLEditorPlugin.getWSDLString("_UI_TITLE_SELECT_FILE")); //$NON-NLS-1$
-           dialog.setMessage(WSDLEditorPlugin.getWSDLString("_UI_DESCRIPTION_SELECT_WSDL_OR_XSD")); //$NON-NLS-1$
-           int rc = dialog.open();
-           if (rc == IDialogConstants.OK_ID)
-           {
-             IFile selectedFile = dialog.getFile();
-                     
-             //if (selectedFile.getLocation().toOSString().equals(currentWSDLFile.getLocation().toOSString()))
-             //{
-             //  System.out.println("SAME FILE:" + currentWSDLFile.getLocation());
-             //}
-
-             String location = ComponentReferenceUtil.computeRelativeURI(selectedFile, currentWSDLFile, true);
-
-             Import importObj = (Import)input;
-             org.w3c.dom.Element importElement = WSDLEditorUtil.getInstance().getElementForObject(importObj);
-             Definition definition = importObj.getEnclosingDefinition();
-             org.w3c.dom.Element definitionElement = WSDLEditorUtil.getInstance().getElementForObject(definition);
-             
-             String importTargetNamespace = ""; //$NON-NLS-1$
-             String prefix = prefixText.getText();
-             String uniquePrefix = ""; //$NON-NLS-1$
-           
-     		URI uri = URI.createPlatformResourceURI(selectedFile.getFullPath().toString());      
-
-     		// note that the getTargetNamespaceURIForSchema works for both schema and wsdl files
-     		// I should change the name of this convenience method
-             importTargetNamespace =  XMLQuickScan.getTargetNamespaceURIForSchema(uri.toString());
-
-             if (prefix.trim().equals("")) //$NON-NLS-1$
-             {
-               uniquePrefix = getUniquePrefix(definition, uri.fileExtension());
-             }
-             else
-             {
-               uniquePrefix = prefix; 
-             }
-            
-             
-             if (importTargetNamespace == null ||
-                (importTargetNamespace != null && importTargetNamespace.trim().length() == 0))
-             {
-               return;  // what to do with no namespace docs?
-             }
-
-             importElement.setAttribute("location", location); //$NON-NLS-1$
-             importElement.setAttribute("namespace", importTargetNamespace); //$NON-NLS-1$
-
-             definitionElement.setAttribute("xmlns:" + uniquePrefix, importTargetNamespace); //$NON-NLS-1$
-
-             namespaceText.setText(importTargetNamespace);
-             locationText.setText(location);
-             prefixText.setText(uniquePrefix);
-           }
-
-        refresh();
-    }
+	  if (e.widget == button)
+	  {
+		  Object input = getElement();
+		  
+		  WSDLEditor editor = (WSDLEditor)editorPart;
+		  IFile currentWSDLFile = ((IFileEditorInput)editor.getEditorInput()).getFile();
+		  
+		  SelectSingleFileDialog dialog = new SelectSingleFileDialog(WSDLEditorPlugin.getShell(), null, true);
+		  String [] filters = { "xsd", "wsdl" }; //$NON-NLS-1$
+		  IFile [] excludedFiles = { currentWSDLFile };
+		  
+		  dialog.addFilterExtensions(filters, excludedFiles);
+		  dialog.create();
+		  dialog.getShell().setText(WSDLEditorPlugin.getWSDLString("_UI_TITLE_SELECT")); //$NON-NLS-1$
+		  dialog.setTitle(WSDLEditorPlugin.getWSDLString("_UI_TITLE_SELECT_FILE")); //$NON-NLS-1$
+		  dialog.setMessage(WSDLEditorPlugin.getWSDLString("_UI_DESCRIPTION_SELECT_WSDL_OR_XSD")); //$NON-NLS-1$
+		  int rc = dialog.open();
+		  if (rc == IDialogConstants.OK_ID)
+		  {
+			  IFile selectedFile = dialog.getFile();
+			  
+			  //if (selectedFile.getLocation().toOSString().equals(currentWSDLFile.getLocation().toOSString()))
+			  //{
+			  //  System.out.println("SAME FILE:" + currentWSDLFile.getLocation());
+			  //}
+			  
+			  String location = ComponentReferenceUtil.computeRelativeURI(selectedFile, currentWSDLFile, true);
+			  
+			  Import importObj = (Import)input;
+			  org.w3c.dom.Element importElement = WSDLEditorUtil.getInstance().getElementForObject(importObj);
+			  Definition definition = importObj.getEnclosingDefinition();
+			  org.w3c.dom.Element definitionElement = WSDLEditorUtil.getInstance().getElementForObject(definition);
+			  
+			  String importTargetNamespace = ""; //$NON-NLS-1$
+			  String prefix = prefixText.getText();
+			  String uniquePrefix = ""; //$NON-NLS-1$
+			  
+			  URI uri = URI.createPlatformResourceURI(selectedFile.getFullPath().toString());      
+			  
+			  // note that the getTargetNamespaceURIForSchema works for both schema and wsdl files
+			  // I should change the name of this convenience method
+			  importTargetNamespace =  XMLQuickScan.getTargetNamespaceURIForSchema(uri.toString());
+			  
+			  if (prefix.trim().equals("")) //$NON-NLS-1$
+			  {
+				  uniquePrefix = getUniquePrefix(definition, uri.fileExtension());
+			  }
+			  else
+			  {
+				  uniquePrefix = prefix; 
+			  }
+			  
+			  
+			  if (importTargetNamespace == null ||
+					  (importTargetNamespace != null && importTargetNamespace.trim().length() == 0))
+			  {
+				  return;  // what to do with no namespace docs?
+			  }
+			  
+			  importObj.setLocationURI(location);
+			  importObj.setNamespaceURI(importTargetNamespace);
+			  ((ImportImpl) importObj).importDefinitionOrSchema();
+			  
+			  definitionElement.setAttribute("xmlns:" + uniquePrefix, importTargetNamespace); //$NON-NLS-1$
+			  
+			  namespaceText.setText(importTargetNamespace);
+			  locationText.setText(location);
+			  prefixText.setText(uniquePrefix);
+		  }
+		  
+		  refresh();
+	  }
   }
 	
   
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLLabelProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLLabelProvider.java
index f5d9e5d..a5de0b6 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLLabelProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLLabelProvider.java
@@ -11,7 +11,6 @@
 package org.eclipse.wst.wsdl.ui.internal.properties.section;
 
 import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.util.Assert;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.swt.graphics.Image;
@@ -171,10 +170,10 @@
 	 * unequal selected elements in a IStructuredSelection.
 	 * @return the object to get labels for.
 	 */
-	private Object getObject(Object objects, boolean multiple[]) {
-		Assert.isNotNull(objects);
-		Object object = null;
-		return object;
-	}
+//	private Object getObject(Object objects, boolean multiple[]) {
+//		Assert.isNotNull(objects);
+//		Object object = null;
+//		return object;
+//	}
 
 }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLTabbedPropertySheetPage.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLTabbedPropertySheetPage.java
index ad924f7..9952f86 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLTabbedPropertySheetPage.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/properties/section/WSDLTabbedPropertySheetPage.java
@@ -28,10 +28,12 @@
 import org.eclipse.wst.wsdl.ui.internal.model.ModelAdapterListener;
 import org.eclipse.wst.wsdl.ui.internal.model.WSDLModelAdapterFactory;
 import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
+import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
+import org.eclipse.xsd.XSDComponent;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-public class WSDLTabbedPropertySheetPage extends TabbedPropertySheetPage implements ISelectionChangedListener, INodeSelectionListener, ModelAdapterListener
+public class WSDLTabbedPropertySheetPage extends TabbedPropertySheetPage implements ISelectionChangedListener, INodeSelectionListener, ModelAdapterListener, org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapterListener 
 {
   private WSDLSelectionManager fViewerSelectionManager;
   private WSDLEditor wsdlEditor;
@@ -125,6 +127,17 @@
     	adapter.addListener(this);
     	currentObject = object;
     }
+    else if (object instanceof XSDComponent && XSDModelAdapterFactory.getAdapter(object) != null) {
+    	// Maybe it's an XSD Object
+    	if (currentObject != null) {
+    		org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapter xsdAdapter = (org.eclipse.wst.xsd.ui.internal.graph.model.ModelAdapter)XSDModelAdapterFactory.getAdapter(currentObject);
+    	  if (xsdAdapter != null)
+    		xsdAdapter.removeListener(this);
+    	}
+   	
+    	XSDModelAdapterFactory.getAdapter(object).addListener(this);
+    	currentObject = object;
+    }
   } 
   
   protected void removeListener(Object object)
@@ -136,6 +149,11 @@
       adapter.removeListener(this);
       currentObject = null;
     }
+    else if (object instanceof XSDComponent && XSDModelAdapterFactory.getAdapter(object) != null) {
+    	// Maybe it's an XSD Object
+    	XSDModelAdapterFactory.getAdapter(object).removeListener(this);
+    	currentObject = null;
+    }
   }
 	public void dispose() {
 		// disconnect from the ViewerSelectionManager
@@ -147,7 +165,7 @@
 		if (currentObject != null) {
 			removeListener(currentObject);
 		}
-		
+
 		super.dispose();
 	}
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/reconciler/SEDDocumentAdapter.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/reconciler/SEDDocumentAdapter.java
index 67ba4c0..10c5dd5 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/reconciler/SEDDocumentAdapter.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/reconciler/SEDDocumentAdapter.java
@@ -125,10 +125,6 @@
         }
       }
     }
-   
-    private void removeAllContent(Definition definition)
-    {                                   
-    }
     
     protected void reconcileModelObjectForElement(Element element, int eventType, Object feature, Object oldValue, Object newValue, int index)
     {                                                                  
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelAdapter.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelAdapter.java
index e4ec0f3..07a802b 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelAdapter.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelAdapter.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal.text;
 
 import org.eclipse.emf.common.util.URI;
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelQueryExtension.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelQueryExtension.java
index e4d3fa9..ffc484c 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelQueryExtension.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelQueryExtension.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal.text;
 
 import java.util.ArrayList;
@@ -72,7 +82,7 @@
               // TODO.. we should investigate removing the  ExtensiblityElementFilter extension point
               // shouldn't this be a ModelQueryExtension defined on the extension languages?
               //
-              ExtensiblityElementFilter filter = (ExtensiblityElementFilter) WSDLEditorPlugin.getInstance().getExtensiblityElementFilterRegistry().get(namespace);
+              ExtensiblityElementFilter filter = (ExtensiblityElementFilter) WSDLEditorPlugin.getInstance().getExtensiblityElementFilterRegistry().getProperty(namespace, "");
               if (filter != null)
               {
                 result = filter.isValidContext(element, name);
@@ -92,8 +102,6 @@
       List list = new ArrayList();
       ComponentReferenceUtil util = new ComponentReferenceUtil(lookupOrCreateDefinition(element));
       String currentElementName = element.getLocalName();
-      Node parentNode = element.getParentNode();
-      String parentName = parentNode != null ? parentNode.getLocalName() : "";
       if (checkName(name, "message"))
       {
         list.addAll(util.getMessageNames());
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelReconcileAdapter.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelReconcileAdapter.java
index 0bdf1af..504f4db 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelReconcileAdapter.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/text/WSDLModelReconcileAdapter.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal.text;
 
 import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
@@ -103,11 +113,7 @@
       }
     }
   }
- 
-  private void removeAllContent(Definition definition)
-  {                                   
-  }
-  
+
   protected void reconcileModelObjectForElement(Element element, int eventType, Object feature, Object oldValue, Object newValue, int index)
   {                                                                  
     Object modelObject = WSDLEditorUtil.getInstance().findModelObjectForElement(definition, element);  
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/CreateWSDLElementHelper.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/CreateWSDLElementHelper.java
index 349d415..5e4eb02 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/CreateWSDLElementHelper.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/CreateWSDLElementHelper.java
@@ -80,7 +80,7 @@
 	    AddServiceCommand addService = new AddServiceCommand(definition, serviceName, false);
 	    addService.run();
 	    Service service = (Service) addService.getWSDLElement();
-	    Port port = CreateWSDLElementHelper.createPort(service);
+	    CreateWSDLElementHelper.createPort(service);
   		
 	    return service;
 	}
@@ -138,12 +138,11 @@
   		if (operationName == null || operationName.trim().equals(""))
   			operationName = NameUtil.buildUniqueOperationName(portType);
   		
-  		Definition def = portType.getEnclosingDefinition();	
 		AddOperationCommand action = new AddOperationCommand(portType, operationName);
 		action.run();
 		Operation operation = (Operation) action.getWSDLElement();
-  		Output output = CreateWSDLElementHelper.createOutput(portType, operation);
-		Input input = CreateWSDLElementHelper.createInput(portType, operation, null);
+  		CreateWSDLElementHelper.createOutput(portType, operation);
+		CreateWSDLElementHelper.createInput(portType, operation, null);
 
 //  		((PortTypeImpl) portType).updateElement(false);
    		return operation;
@@ -153,7 +152,6 @@
   		if (inputName == null || inputName.trim().equals(""))
   	  		inputName = NameUtil.buildUniqueInputName(portType, operation.getName(), "");
   		
-  		Definition def = operation.getEnclosingDefinition();
   		AddInputCommand action = new AddInputCommand(operation, inputName);
   		action.run();
   		Input input = (Input) action.getWSDLElement(); 
@@ -167,7 +165,6 @@
   		if (outputName == null || outputName.trim().equals(""))
   	  		outputName = NameUtil.buildUniqueOutputName(portType, operation.getName(), "");
   		
-  		Definition def = operation.getEnclosingDefinition();
   		AddOutputCommand action = new AddOutputCommand(operation, outputName);
   		action.run();
   		Output output = (Output) action.getWSDLElement();
@@ -181,7 +178,6 @@
   		if (faultName == null || faultName.trim().equals("")) 
 	  		faultName = NameUtil.buildUniqueFaultName(operation);
   		
-  		Definition def = operation.getEnclosingDefinition();
   		AddFaultCommand action = new AddFaultCommand(operation, faultName);
   		action.run();
   		Fault fault = (Fault) action.getWSDLElement();
@@ -200,7 +196,7 @@
   		AddMessageCommand action = new AddMessageCommand(def, messageName);
   		action.run();
   		Message message = (Message) action.getWSDLElement();
-  		Part part = CreateWSDLElementHelper.createPart(message);
+  		CreateWSDLElementHelper.createPart(message);
   		Element parentNode = message.getElement();
       if (parentNode instanceof IDOMNode) 
       {
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/OpenOnSelectionHelper.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/OpenOnSelectionHelper.java
index 8c062de..bfa7fd1 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/OpenOnSelectionHelper.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/OpenOnSelectionHelper.java
@@ -19,7 +19,6 @@
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.INavigationLocation;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.part.FileEditorInput;
@@ -86,7 +85,6 @@
         if (editorPart.getEditorInput() instanceof IFileEditorInput &&
            ((IFileEditorInput)editorPart.getEditorInput()).getFile().equals(file))
         {  
-			    INavigationLocation current = workbenchPage.getNavigationHistory().getCurrentLocation();
         	workbenchPage.getNavigationHistory().markLocation(editorPart);
         }
         else
@@ -258,19 +256,42 @@
 
   public Object caseImport(Import theImport)
   {
-    Object result = theImport.getEDefinition();
-    if (result == null)
-    {
-      result = theImport.getESchema();
-      if (result == null)
-      {
-        // Need to resolve imports because the model doesn't automatically
-        // do it for us
-        ((ImportImpl)theImport).importDefinitionOrSchema();
-        result = theImport.getESchema();
-      }
-    }
-    return result;
+		Object result = null;
+		
+		// For now, look at the file extension.  When bugzilla 118293 is fixed, look at
+		// the Import's eDefinition and eSchema instead.
+		Path importPath = new Path(theImport.getLocationURI());
+		String extension = importPath.getFileExtension();
+		if (extension.equalsIgnoreCase("xsd")) {
+			if (theImport.getESchema() == null) {
+				((ImportImpl)theImport).importDefinitionOrSchema();
+			}
+			
+			result = theImport.getESchema();
+		}
+		else if (extension.equalsIgnoreCase("wsdl")) {
+			if (theImport.getEDefinition() == null) {
+				((ImportImpl)theImport).importDefinitionOrSchema();
+			}
+			
+			result = theImport.getEDefinition();
+		}
+		
+		
+//		if (theImport.getESchema() != null) {
+//			result = theImport.getESchema();
+//		}
+//		else if (theImport.getEDefinition() != null) {
+//			result = theImport.getEDefinition();
+//		}
+//		else {
+//	        // Need to resolve imports because the model doesn't automatically
+//	        // do it for us
+//	        ((ImportImpl)theImport).importDefinitionOrSchema();
+//	        result = theImport.getESchema();
+//	    }
+		
+		return result;
   }
 
   public Object caseWSDLElement(WSDLElement wsdlElement)
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ReferenceManager.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ReferenceManager.java
index 96607ef..8f41539 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ReferenceManager.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ReferenceManager.java
@@ -212,8 +212,6 @@
   {                                                                                  
     public void notifyChanged(Notification msg)
     {                                
-      Definition definition = (Definition)getTarget();
-                                  
       if ((EStructuralFeature)msg.getFeature() == getPackage().getDefinition_EBindings())
       {                           
         Object newValue = msg.getNewValue();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ValidateHelper.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ValidateHelper.java
index 3d3c208..6779322 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ValidateHelper.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ValidateHelper.java
@@ -281,10 +281,10 @@
   /**
    * isXMLPrefixStart
    **/
-  private static boolean isXMLPrefixStart(char ch)
-  {
-    return (ch == '_' || Character.isLetter(ch) );
-  }
+//  private static boolean isXMLPrefixStart(char ch)
+//  {
+//    return (ch == '_' || Character.isLetter(ch) );
+//  }
 
   /**
    * isXMLPrefixChar
@@ -395,7 +395,7 @@
 
       if(!isXMLPrefixChar(character))
       {
-        return UIPlugin.getDefault().getString("_WARN_PREFIX_INVALID_CHAR", String.valueOf(character));
+        return UIPlugin.getString("_WARN_PREFIX_INVALID_CHAR", String.valueOf(character));
       }
     }
     return null;
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLEditorUtil.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLEditorUtil.java
index e821b95..5857951 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLEditorUtil.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLEditorUtil.java
@@ -34,6 +34,9 @@
   protected NodeAssociationManager nodeAssociationManager = new NodeAssociationManager();
 
   protected HashMap elementNameToTypeMap = new HashMap();
+  
+  public static final int ELEMENT = 14;
+  public static final int TYPE = 15;
 
   public static WSDLEditorUtil getInstance()
   {
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLNodeAssociationProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLNodeAssociationProvider.java
index 8c6b383..ddc3353 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLNodeAssociationProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/WSDLNodeAssociationProvider.java
@@ -52,7 +52,7 @@
   protected Object getModelObjectHelper(Object parentObject, Element elementNode)
   {          
 		Object result = null;
-		Collection childComponentList = ((WSDLElementImpl) parentObject).getModelObjects(parentObject);
+		Collection childComponentList = ((WSDLElementImpl) parentObject).getWSDLContents();
 		for (Iterator i = childComponentList.iterator(); i.hasNext();)
 		{
 			Object o = i.next();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageHeader.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageHeader.java
index af1ada4..b479354 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageHeader.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageHeader.java
@@ -45,7 +45,6 @@
 	private int textHMargin = 10;
 	private int textVMargin = 5;
 	private Font headerFont;
-	private int widthHint;
 
 	private List listeners;
 	private int buttonImageX;
@@ -128,7 +127,6 @@
 	// Compute size of the widget
 	public Point computeSize(int wHint, int hHint, boolean changed) 
   {
-		widthHint = wHint;
 		int width = getParent().getClientArea().width;
 		int height = 0;
 		if (backgroundImage != null) 
@@ -139,7 +137,6 @@
 		if (text != null) 
     {
 			GC gc = new GC(this);
-			int textWidth = getTextWidth(gc);
 			int textHeight = getTextHeight(gc);
 			gc.dispose();
 			height = Math.max(height, textHeight);
@@ -158,7 +155,6 @@
 	protected void paintControl(PaintEvent e) 
   {
 		GC gc = e.gc;
-		int height = getTextHeight(gc);
 		if (backgroundImage != null) 
     {
 			Rectangle imageBounds = backgroundImage.getBounds();
@@ -328,20 +324,20 @@
 		return Math.max(height, imageHeight);
 	}
 
-	private int getTextWidth(GC gc) 
-  {
-		int imageWidth = 0;
-		if (backgroundImage!= null && SWT.getPlatform().equals("motif")==false) 
-    {
-			imageWidth = backgroundImage.getBounds().width;
-		}
-		gc.setFont(headerFont);
-//		gc.setFont(getFont());
-		FontMetrics fm = gc.getFontMetrics();
-		int fontWidth = fm.getAverageCharWidth() + 5;
-		int width =  fontWidth * text.length() + textHMargin + textHMargin;
-		return Math.max(width, imageWidth);
-	}
+//	private int getTextWidth(GC gc) 
+//  {
+//		int imageWidth = 0;
+//		if (backgroundImage!= null && SWT.getPlatform().equals("motif")==false) 
+//    {
+//			imageWidth = backgroundImage.getBounds().width;
+//		}
+//		gc.setFont(headerFont);
+////		gc.setFont(getFont());
+//		FontMetrics fm = gc.getFontMetrics();
+//		int fontWidth = fm.getAverageCharWidth() + 5;
+//		int width =  fontWidth * text.length() + textHMargin + textHMargin;
+//		return Math.max(width, imageWidth);
+//	}
 	
 	public void handleEvent(Event e) 
   {
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageSection.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageSection.java
index a38c324..7ef2e6c 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageSection.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/FlatPageSection.java
@@ -189,7 +189,6 @@
 	section.setLayout(slayout);
 	section.setData(this);
 
-	GridData gd;
 	if (headerPainted) {
 		Color headerColor = factory.getColor(getHeaderColorKey());
 		header = factory.createHeadingLabel(section, getHeaderText(), headerColor, SWT.WRAP);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/ToggleControl.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/ToggleControl.java
index 672cf2a..3149fef 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/ToggleControl.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/ToggleControl.java
@@ -52,7 +52,6 @@
   private static final int DEFAULT_HEIGHT = 8;
   private static final int[] EXPANDED_POINTS = { 0, 2, 8, 2, 4, 6 }; 
   private static final int[] COLLAPSED_POINTS = { 2, 0, 2, 8, 6, 4 }; 
-  private int fMultiplier = 2;
   private int fHeight = DEFAULT_HEIGHT;  
 
   /* accessibility */
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/WidgetFactory.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/WidgetFactory.java
index 06bd604..c099982 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/WidgetFactory.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/flatui/WidgetFactory.java
@@ -22,7 +22,6 @@
 import org.eclipse.swt.custom.ScrolledComposite;
 import org.eclipse.swt.custom.TableTree;
 import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.PaintEvent;
 import org.eclipse.swt.events.PaintListener;
 import org.eclipse.swt.graphics.Color;
@@ -53,7 +52,6 @@
   private Hashtable colorRegistry = new Hashtable();
   private Color backgroundColor;
   private Color clientAreaColor;
-  private KeyListener deleteListener;
   private Color foregroundColor;
   private Color fReadOnlyColor;
   private Display fDisplay;
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/BaseDesignWindow.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/BaseDesignWindow.java
index 90c4a55..4d30cf1 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/BaseDesignWindow.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/BaseDesignWindow.java
@@ -15,7 +15,6 @@
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -29,8 +28,6 @@
 
 abstract public class BaseDesignWindow extends Viewer
 {
-  private Font font;
-
   protected ScrolledComposite mainUIComponent;
   protected Composite controlsContainer;
 
@@ -105,8 +102,6 @@
    */
   protected Control createDesignPane(Composite parent, int numColumns)
   {
-    GridData gd;
-
     // Create the main UI container
     mainUIComponent= new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL)
     {
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/FlatViewUtility.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/FlatViewUtility.java
index 7efa137..f0b9fb5 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/FlatViewUtility.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/util/ui/FlatViewUtility.java
@@ -58,7 +58,6 @@
   private Image headingImage = null;
   private Composite headerControl = null;
   private int TITLE_VMARGIN = 5;
-  private FlatPageHeader flatPageHeader = null;
 
   private KeyboardHandler keyboardHandler;
 
@@ -126,7 +125,6 @@
           || c instanceof List
           || c instanceof CCombo)
       {
-        Rectangle b = c.getParent().getBounds();
         GC gc = event.gc;
         gc.setForeground(backgroundColor);
 //      gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1, b.height + 1);
@@ -766,7 +764,7 @@
     {
       if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
         return new Point(wHint, hHint);
-      int x = 0;
+
       Control client = composite.getChildren()[0];
       Point csize = client.computeSize(SWT.DEFAULT, SWT.DEFAULT, flushCache);
       if (headingVisible) csize.y += getTitleHeight();
@@ -839,7 +837,6 @@
 
     private void scrollPage(ScrolledComposite scomp, boolean up)
     {
-      Point origin = scomp.getOrigin();
       Rectangle clientArea = scomp.getClientArea();
       int increment = up ? -clientArea.height : clientArea.height;
       scroll(scomp, 0, increment);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BaseViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BaseViewer.java
index 772f029..83a118b 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BaseViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BaseViewer.java
@@ -289,7 +289,6 @@
       list = parent.getChildNodes();
     }
    
-    String name = null;
     if (list != null)
     {
       // Performance issue perhaps?
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BindingViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BindingViewer.java
index 6a1fafe..79d8bce 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BindingViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/BindingViewer.java
@@ -16,7 +16,6 @@
 import org.eclipse.swt.custom.CCombo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
 import org.eclipse.wst.wsdl.ui.internal.util.ComponentReferenceUtil;
@@ -45,7 +44,7 @@
   {
     Composite composite = super.populatePrimaryDetailsSection(parent);
                    
-    Label portTypeLabel = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_PORTTYPE")); //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_PORTTYPE")); //$NON-NLS-1$
 
     componentNameCombo = flatViewUtility.createCComboBox(composite);
     componentNameCombo.addListener(SWT.Modify, this); 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/DefinitionViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/DefinitionViewer.java
index 0a3ece8..5384c1d 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/DefinitionViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/DefinitionViewer.java
@@ -14,7 +14,6 @@
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
@@ -34,22 +33,22 @@
     
   protected Composite populatePrimaryDetailsSection(Composite parent)
   {
-  	Composite composite = super.populatePrimaryDetailsSection(parent);
-	  Label label = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_NAMESPACES")); //$NON-NLS-1$
-  	Button button = flatViewUtility.createPushButton(composite, WSDLEditorPlugin.getWSDLString("_UI_EDIT_NAMESPACES"));
+	  Composite composite = super.populatePrimaryDetailsSection(parent);
+	  flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_NAMESPACES")); //$NON-NLS-1$
+	  Button button = flatViewUtility.createPushButton(composite, WSDLEditorPlugin.getWSDLString("_UI_EDIT_NAMESPACES"));
 	  SelectionListener listener = new SelectionListener()
-    {
-    	public void widgetDefaultSelected(SelectionEvent event)
-    	{    		
-    	}
-    	
-    	public void widgetSelected(SelectionEvent event)
-    	{
-		  EditNamespacesAction action = new EditNamespacesAction((Definition)getInput());					
-		  action.run();	
-    	}	
-    };
-    button.addSelectionListener(listener);
-  	return composite;	
+	  {
+		  public void widgetDefaultSelected(SelectionEvent event)
+		  {    		
+		  }
+		  
+		  public void widgetSelected(SelectionEvent event)
+		  {
+			  EditNamespacesAction action = new EditNamespacesAction((Definition)getInput());					
+			  action.run();	
+		  }	
+	  };
+	  button.addSelectionListener(listener);
+	  return composite;	
   }	    
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/ImportViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/ImportViewer.java
index b15bb69..1419425 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/ImportViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/ImportViewer.java
@@ -14,7 +14,6 @@
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
@@ -40,7 +39,6 @@
 import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
 import org.eclipse.wst.wsdl.ui.internal.util.XMLQuickScan;
 import org.w3c.dom.Element;
-import org.w3c.dom.Node;
 
 
 public class ImportViewer extends BaseViewer implements ModelAdapterListener
@@ -96,7 +94,7 @@
     layout2.marginHeight = 3;
     composite.setLayout(layout2);
 
-    Label namespaceLabel = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_NAMESPACE")); //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_NAMESPACE")); //$NON-NLS-1$
     namespaceText = flatViewUtility.createTextField(composite);
     namespaceText.setEnabled(false);
 
@@ -106,7 +104,7 @@
     gd.grabExcessHorizontalSpace = false;
     con.setLayoutData(gd);
 
-    Label prefixLabel = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_PREFIX")); //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_PREFIX")); //$NON-NLS-1$
     prefixText = flatViewUtility.createTextField(composite);
     prefixText.addListener(SWT.Modify,this);
     prefixText.setEnabled(false);    
@@ -117,7 +115,7 @@
     gd.grabExcessHorizontalSpace = false;
     con2.setLayoutData(gd);
 
-    Label locationLabel = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_LOCATION")); //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_LOCATION")); //$NON-NLS-1$
     locationText = flatViewUtility.createTextField(composite);
     locationText.setEnabled(false);
 
@@ -134,7 +132,7 @@
     setListenerEnabled(false);                          
     try
     {          
-      Node node = WSDLEditorUtil.getInstance().getNodeForObject(input);
+//      Node node = WSDLEditorUtil.getInstance().getNodeForObject(input);
       update();
     }
     finally
@@ -144,10 +142,10 @@
 
     if (oldInput != null)
     {
-      WSDLModelAdapterFactory.getWSDLModelAdapterFactory().removeModelAdapterListener(oldInput, this);
+      WSDLModelAdapterFactory.removeModelAdapterListener(oldInput, this);
     }
 
-    WSDLModelAdapterFactory.getWSDLModelAdapterFactory().addModelAdapterListener(input, this);
+    WSDLModelAdapterFactory.addModelAdapterListener(input, this);
     oldInput = input;
   }
 
@@ -231,10 +229,7 @@
   {
     if (e.widget == selectButton)
     {
-      ResourceSet resourceSet = null;
 // TODO: port check
-      resourceSet = ((org.eclipse.emf.ecore.EObject)input).eResource().getResourceSet();
-
       WSDLEditor editor = (WSDLEditor)editorPart;
       IFile currentWSDLFile = ((IFileEditorInput)editor.getEditorInput()).getFile();
       
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/InputOutputFaultViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/InputOutputFaultViewer.java
index de7f7a4..bcd529b 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/InputOutputFaultViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/InputOutputFaultViewer.java
@@ -16,7 +16,6 @@
 import org.eclipse.swt.custom.CCombo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.wst.wsdl.Fault;
 import org.eclipse.wst.wsdl.Input;
@@ -68,7 +67,7 @@
   {
     Composite composite = super.populatePrimaryDetailsSection(parent);
                    
-    Label messageLabel = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_MESSAGE")); //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_MESSAGE")); //$NON-NLS-1$
 
     componentNameCombo = flatViewUtility.createCComboBox(composite);
     componentNameCombo.addListener(SWT.Modify, this);      
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/NamedComponentViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/NamedComponentViewer.java
index d7302d0..80a5065 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/NamedComponentViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/NamedComponentViewer.java
@@ -18,7 +18,6 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.wst.wsdl.WSDLElement;
@@ -30,7 +29,6 @@
 import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
 import org.eclipse.wst.wsdl.util.WSDLConstants;
 import org.w3c.dom.Element;
-import org.w3c.dom.Node;
 
 public abstract class NamedComponentViewer extends BaseViewer implements ModelAdapterListener
 {                                    
@@ -70,7 +68,7 @@
     nameFieldComposite.setLayoutData(gd);
 
 
-    Label nameLabel = flatViewUtility.createLabel(nameFieldComposite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_NAME")); //$NON-NLS-1$
+    flatViewUtility.createLabel(nameFieldComposite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_NAME")); //$NON-NLS-1$
     nameField = flatViewUtility.createTextField(nameFieldComposite);  
     nameField.addListener(SWT.Modify, this);  
     
@@ -115,7 +113,7 @@
     setListenerEnabled(false);                          
     try
     {          
-      Node node = WSDLEditorUtil.getInstance().getNodeForObject(input);
+//      Node node = WSDLEditorUtil.getInstance().getNodeForObject(input);
       update();
     }
     finally
@@ -125,10 +123,10 @@
 
     if (oldInput != null)
     {
-      WSDLModelAdapterFactory.getWSDLModelAdapterFactory().removeModelAdapterListener(oldInput, this);
+      WSDLModelAdapterFactory.removeModelAdapterListener(oldInput, this);
     }
 
-    WSDLModelAdapterFactory.getWSDLModelAdapterFactory().addModelAdapterListener(input, this);
+    WSDLModelAdapterFactory.addModelAdapterListener(input, this);
     oldInput = input;
   }
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/OperationViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/OperationViewer.java
index 0b9ea56..c0c326e 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/OperationViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/OperationViewer.java
@@ -12,7 +12,6 @@
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
@@ -33,7 +32,7 @@
   {
     Composite composite = super.populatePrimaryDetailsSection(parent);
                    
-    Label parameterOrderLabel = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_PARAMETER_ORDER"));  //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_PARAMETER_ORDER"));  //$NON-NLS-1$
     Text parameterOrderField = flatViewUtility.createTextField(composite);  
     parameterOrderField.addListener(SWT.Modify, this);  
                               
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PartViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PartViewer.java
index 71890e2..f509a79 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PartViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PartViewer.java
@@ -55,14 +55,14 @@
   {
     Composite composite = super.populatePrimaryDetailsSection(parent);
      
-    Label componentTypeLabel = flatViewUtility.createLabel(composite, WSDLEditorPlugin.getWSDLString("_UI_LABEL_REFERENCE_KIND")); //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, WSDLEditorPlugin.getWSDLString("_UI_LABEL_REFERENCE_KIND")); //$NON-NLS-1$
     referenceKindCombo = flatViewUtility.createCComboBox(composite);
     referenceKindCombo.add("element");
     referenceKindCombo.add("type");
     referenceKindCombo.setText("type");
     referenceKindCombo.addListener(SWT.Modify, this);
 
-    Label ph = flatViewUtility.createLabel(composite, ""); 
+    flatViewUtility.createLabel(composite, ""); 
     
     componentNameLabel = flatViewUtility.createLabel(composite, WSDLEditorPlugin.getWSDLString("_UI_LABEL_ELEMENT"));   //$NON-NLS-1$
 
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PortViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PortViewer.java
index 6e8a83f..8e5f3d0 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PortViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/PortViewer.java
@@ -16,7 +16,6 @@
 import org.eclipse.swt.custom.CCombo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
 import org.eclipse.wst.wsdl.ui.internal.util.ComponentReferenceUtil;
@@ -45,7 +44,7 @@
   {
     Composite composite = super.populatePrimaryDetailsSection(parent);
                    
-    Label bindingLabel = flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_BINDING")); //$NON-NLS-1$
+    flatViewUtility.createLabel(composite, 0, WSDLEditorPlugin.getWSDLString("_UI_LABEL_BINDING")); //$NON-NLS-1$
 
     componentNameCombo = flatViewUtility.createCComboBox(composite);
     componentNameCombo.addListener(SWT.Modify, this);   
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/TabbedViewer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/TabbedViewer.java
index 98cf328..c44135e 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/TabbedViewer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/TabbedViewer.java
@@ -154,7 +154,6 @@
       targetName = childName;
     }  
    
-    String name = null;
     if (list != null)
     {
       // Performance issue perhaps?
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/AttributesTable.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/AttributesTable.java
index d86160b..26b04cc 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/AttributesTable.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/AttributesTable.java
@@ -148,8 +148,6 @@
 	cellEditors[0] = textCellEditor;
 	cellEditors[1] = textCellEditor;
 
-	Element element = (Element)getInput();
-      	 
 	IPropertyDescriptor[] propertyDescriptors = propertySource.getPropertyDescriptors();
 	int index = getTable().getSelectionIndex();
 	if (index >= 0 && index < propertyDescriptors.length)
@@ -242,8 +240,6 @@
 	{
 		IPropertyDescriptor p1 = (IPropertyDescriptor)e1;
 		IPropertyDescriptor p2 = (IPropertyDescriptor)e2;
-		String p1Name = p1.getDisplayName();
-		String p2Name = p2.getDisplayName();
 		return Collator.getInstance().compare(p1.getDisplayName(), p2.getDisplayName());
 	}  	
   }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/ExtensiblePropertySource.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/ExtensiblePropertySource.java
index 61e9dc2..b6e6f30 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/ExtensiblePropertySource.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/viewers/widgets/ExtensiblePropertySource.java
@@ -18,10 +18,10 @@
 import org.eclipse.wst.wsdl.ui.internal.properties.section.IPropertyDescriptorProvider;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.ui.internal.properties.XMLPropertySourceAdapter;
+import org.eclipse.wst.xml.ui.internal.properties.XMLPropertySource;
 import org.w3c.dom.Element;
 
-public class ExtensiblePropertySource extends XMLPropertySourceAdapter
+public class ExtensiblePropertySource extends XMLPropertySource
 {
 	protected IEditorPart editorPart;
 	private INodeNotifier nodeNotifier;
@@ -44,7 +44,7 @@
 			String namespaceURI = (String)cmDocument.getProperty("http://org.eclipse.wst/cm/properties/targetNamespaceURI");   
 			if (namespaceURI != null)
 			{
-				IPropertyDescriptorProvider provider = (IPropertyDescriptorProvider)WSDLEditorPlugin.getInstance().getPropertyDescriptorProviderRegistry().get(namespaceURI);
+				IPropertyDescriptorProvider provider = (IPropertyDescriptorProvider)WSDLEditorPlugin.getInstance().getPropertyDescriptorProviderRegistry().getProperty(namespaceURI, "");
 				if (provider != null)
 				{
 				  result = provider.getPropertyDescriptor(editorPart, (Element) nodeNotifier, namespaceURI, attrDecl.getNodeName());
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/MessageRenamer.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/MessageRenamer.java
index 030d22e..75cf21e 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/MessageRenamer.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/MessageRenamer.java
@@ -44,7 +44,6 @@
   public void visitOutput(Output output)
   {
     super.visitOutput(output);
-    Message message = output.getEMessage();
     if (globalComponent.equals(output))
     {
       Element element = WSDLEditorUtil.getInstance().getElementForObject(output);
@@ -55,7 +54,6 @@
   public void visitFault(Fault fault)
   {
     super.visitFault(fault);
-    Message message = fault.getEMessage();
     if (globalComponent.equals(fault))
     {
       Element element = WSDLEditorUtil.getInstance().getElementForObject(fault);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/WSDLVisitor.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/WSDLVisitor.java
index 4b6d79a..8100d4e 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/WSDLVisitor.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/visitor/WSDLVisitor.java
@@ -13,9 +13,7 @@
 import java.util.Iterator;
 
 import org.eclipse.wst.wsdl.Binding;
-import org.eclipse.wst.wsdl.BindingInput;
 import org.eclipse.wst.wsdl.BindingOperation;
-import org.eclipse.wst.wsdl.BindingOutput;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.Fault;
 import org.eclipse.wst.wsdl.Input;
@@ -26,7 +24,6 @@
 import org.eclipse.wst.wsdl.Port;
 import org.eclipse.wst.wsdl.PortType;
 import org.eclipse.wst.wsdl.Service;
-import org.eclipse.xsd.XSDTypeDefinition;
 
 public class WSDLVisitor
 {
@@ -109,8 +106,8 @@
 
   public void visitBindingOperation(BindingOperation bindingOperation)
   {
-    BindingInput bindingInput = bindingOperation.getEBindingInput();
-    BindingOutput bindingOutput = bindingOperation.getEBindingOutput();         
+//    BindingInput bindingInput = bindingOperation.getEBindingInput();
+//    BindingOutput bindingOutput = bindingOperation.getEBindingOutput();         
   }
 
   public void visitOperation(Operation operation)
@@ -140,7 +137,7 @@
 
   public void visitPart(Part part)
   {
-    XSDTypeDefinition type = part.getTypeDefinition();
+//    XSDTypeDefinition type = part.getTypeDefinition();
   }
 
   public void visitMessage(Message message)
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/NewComponentDialog.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/NewComponentDialog.java
index d9595b1..cbb04c3 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/NewComponentDialog.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/NewComponentDialog.java
@@ -78,14 +78,19 @@
     createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
   }
 
+  protected void createHeaderContent(Composite parent)
+  {
+  }
+  
   protected void createExtendedContent(Composite parent)
   {
-  }  
-
+  }
 
   protected Control createDialogArea(Composite parent) 
   {
     Composite dialogArea = (Composite)super.createDialogArea(parent);
+    
+    createHeaderContent(dialogArea);
 
     Composite composite = new Composite(dialogArea, SWT.NONE);
     GridLayout layout = new GridLayout();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/ProtocolComponentControl.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/ProtocolComponentControl.java
index c4adb18..53c9905 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/ProtocolComponentControl.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/widgets/ProtocolComponentControl.java
@@ -143,7 +143,7 @@
     emptySettingsPage = new Composite(pageBook, SWT.NONE);
     for (int i = 0; i < 6; i++)
     {
-      Label placeHolder = new Label(emptySettingsPage, SWT.NONE);
+      new Label(emptySettingsPage, SWT.NONE);
     }
   }
 
@@ -174,11 +174,11 @@
     return gd;
   }
 
-  private Control createPlaceHolder(Composite parent)
-  {
-    Label label = new Label(parent, SWT.NONE);
-    return label;
-  }
+//  private Control createPlaceHolder(Composite parent)
+//  {
+//    Label label = new Label(parent, SWT.NONE);
+//    return label;
+//  }
   public BaseGenerator getGenerator()
   {
     return generator;
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/BindingWizard.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/BindingWizard.java
index 4ff7dc3..087a051 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/BindingWizard.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/BindingWizard.java
@@ -12,8 +12,6 @@
 
 import java.util.List;
 
-import javax.xml.namespace.QName;
-
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Preferences;
@@ -86,7 +84,7 @@
 
   public void setBindingName(String bindingName)
   {
-    QName qname = new QName(definition.getTargetNamespace(), bindingName);
+//    QName qname = new QName(definition.getTargetNamespace(), bindingName);
     bindingGenerator.setName(bindingName);
 /*
  	// Binding binding = (Binding) definition.getBinding(qname);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/NewWSDLWizard.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/NewWSDLWizard.java
index 8258580..8c73cbe 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/NewWSDLWizard.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/NewWSDLWizard.java
@@ -69,7 +69,6 @@
 	private WSDLNewFilePage newFilePage;
 	private WSDLNewFileOptionsPage optionsPage;
 	private IStructuredSelection selection;
-	private IWorkbench workbench;
 
 	/**
 	 * Constructor for NewWSDLWizard.
@@ -218,7 +217,6 @@
 	 */
 	public void init(IWorkbench workbench, IStructuredSelection selection) {
 		this.selection = selection;
-		this.workbench = workbench;
 
 		// Need new icon
 		this.setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(WSDLEditor.class, "icons/new_wsdl_wiz.gif"));
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFileOptionsPage.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFileOptionsPage.java
index 8861ed9..ba906c0 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFileOptionsPage.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFileOptionsPage.java
@@ -22,7 +22,6 @@
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
@@ -354,7 +353,8 @@
     boolean test = true;
     try
     {
-      URI testURI = new URI(ns);
+    	new URI(ns);
+//      URI testURI = new URI(ns);
       //      if (!testURI.isGenericURI())
       //      {
       //        setErrorMessage(WSDLEditorPlugin.getInstance().getWSDLString("_UI_ERROR_NAMESPACE_INVALID")); //$NON-NLS-1$
@@ -535,17 +535,6 @@
   
   Label sepLabel;
   
-  private Text createTextField(Composite comp) {
-    Text textField = new Text(comp, SWT.SINGLE | SWT.BORDER);
-    GridData textData = new GridData();
-    textData.horizontalAlignment = GridData.FILL;
-    textData.grabExcessHorizontalSpace = true;
-    textData.widthHint = 10;
-    textField.setLayoutData(textData);
-
-  	return textField;
-  }
-  
   private Label createLabel(Composite comp, String labelString) {
     Label label = new Label(comp, SWT.LEFT);
     label.setText(labelString);
@@ -556,23 +545,6 @@
     return label;
   }
   
-  private Composite createComposite(Composite parent, int numColumns)
-  {
-    Composite composite = new Composite(parent, SWT.NONE);
-
-    composite.setFont(new Font(Display.getCurrent(), "ms sans serif", 8, SWT.NORMAL));
-
-    GridLayout layout = new GridLayout();
-    layout.numColumns = numColumns;
-    composite.setLayout(layout);
-
-    GridData data = new GridData();
-    data.verticalAlignment = GridData.FILL;
-    data.horizontalAlignment = GridData.FILL;
-    composite.setLayoutData(data);
-    return composite;
-  }
-  
   public Vector getNamespaceInfo() {
 		Vector namespaces = new Vector();
   		
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFilePage.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFilePage.java
index 1cd8e85..c506447 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFilePage.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/wizards/WSDLNewFilePage.java
@@ -58,7 +58,7 @@
     String sameName = existsFileAnyCase(fullFileName);
     if (sameName != null) 
     {
-       String qualifiedFileName = getContainerFullPath().toString() + '/' + fullFileName;
+//       String qualifiedFileName = getContainerFullPath().toString() + '/' + fullFileName;
        setErrorMessage(WSDLEditorPlugin.getWSDLString("_UI_ERROR_FILE_ALREADY_EXISTS",  sameName)); //$NON-NLS-1$
        return false;
     }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDLabelProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDLabelProvider.java
index c7b1120..66474aa 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDLabelProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDLabelProvider.java
@@ -28,7 +28,6 @@
 public class XSDLabelProvider extends LabelProvider
 {
   XSDAdapterFactoryLabelProvider adapterFactoryLabelProvider;
-  private static final Class ILabelProviderClass = ILabelProvider.class;
   
   /**
    * Constructor for XSDLabelProvider.
@@ -66,7 +65,7 @@
     	// We don't call "adapterFactoryLabelProvider.getText(element)" because it will return a object.toString() if
     	// there is no labelProvider....  but we don't want to display this 'garbage' info to the user.    	
     	AdapterFactory adapterFactory = adapterFactoryLabelProvider.getAdapterFactory();
-        ILabelProvider labelProvider = (ILabelProvider)adapterFactory.adapt(element, ILabelProviderClass);
+        ILabelProvider labelProvider = (ILabelProvider)adapterFactory.adapt(element, ILabelProvider.class);
         String text = "";
         if (labelProvider != null) {
         	text = labelProvider.getText(element);
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDMenuActionContributor.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDMenuActionContributor.java
index 70c2f5e..444acb5 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDMenuActionContributor.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDMenuActionContributor.java
@@ -11,6 +11,7 @@
 package org.eclipse.wst.wsdl.ui.internal.xsd;
                                       
 import java.util.ArrayList;
+import java.util.Iterator;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.gef.EditPart;
@@ -52,7 +53,7 @@
 {
   Element currElement;
   Document currDocument;
-  XSDSchema xsdSchema;
+//  XSDSchema xsdSchema;
 //  protected ISelectionProvider iSelectionProvider;
   WSDLEditor wsdlEditor;
 
@@ -73,7 +74,36 @@
     {
       super(selectionProvider);
     }
+    
+    protected boolean isSchemaReadOnly()
+    {
+    	Iterator eeIt = wsdlEditor.getDefinition().getETypes().getEExtensibilityElements().iterator();
+    	while (eeIt.hasNext()) {
+    		XSDSchemaExtensibilityElement ee = (XSDSchemaExtensibilityElement) eeIt.next();
+    		XSDSchema schema = ee.getSchema();
+    		if (schema == xsdSchema) {
+    			return false;
+    		}
+    	}
+    	
+    	
+    	return true;
+    }
 
+    /*
+     * TODO: For now, just return the first inline schema we have.
+     */
+    protected XSDSchema getCurrentSchemaInEditor()
+    {
+    	Iterator eeIt = wsdlEditor.getDefinition().getETypes().getEExtensibilityElements().iterator();
+    	while (eeIt.hasNext()) {
+    		XSDSchemaExtensibilityElement ee = (XSDSchemaExtensibilityElement) eeIt.next();
+    		return ee.getSchema();    		
+    	}
+    
+      return null;
+    }
+    
     public void contributeMenuActions(IMenuManager manager, Node node, Object object)
     {
       updateXSDSchema();
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDModelAdapterContentProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDModelAdapterContentProvider.java
index 5e330b5..4271d78 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDModelAdapterContentProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDModelAdapterContentProvider.java
@@ -10,9 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal.xsd;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.eclipse.wst.wsdl.XSDSchemaExtensibilityElement;
 import org.eclipse.wst.xsd.ui.internal.provider.XSDContentProvider;
 import org.eclipse.wst.xsd.ui.internal.provider.XSDModelAdapterFactoryImpl;
@@ -28,13 +25,10 @@
 
   public Object[] getChildren(Object parentObject)
   {                                     
-    List list = null;
-
     XSDConcreteComponent xsdComp = null;
     if (parentObject instanceof XSDSchemaExtensibilityElement)
     {
       XSDSchemaExtensibilityElement xsdSchemaExtensibilityElement = (XSDSchemaExtensibilityElement)parentObject;
-      list = new ArrayList();
       xsdComp = xsdSchemaExtensibilityElement.getSchema();
       return super.getChildren(xsdComp);
     }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDTypeSystemProvider.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDTypeSystemProvider.java
index d02825b..2d8fadf 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDTypeSystemProvider.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/XSDTypeSystemProvider.java
@@ -132,7 +132,6 @@
     
     public List getAvailableTypes(Definition definition, XSDSchema schema, int typeNameCategory)
     {
-        List list = new ArrayList();
         List keepTypes = new ArrayList();
         Iterator typeIterator = schema.getTypeDefinitions().iterator();
         // Filter out unwanted Types
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/actions/DeleteAction.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/actions/DeleteAction.java
index 5b4e480..b4e8fcf 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/actions/DeleteAction.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/xsd/actions/DeleteAction.java
@@ -19,7 +19,6 @@
 import org.eclipse.wst.wsdl.ui.internal.util.WSDLEditorUtil;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
-import org.eclipse.wst.xsd.ui.internal.refactor.delete.BaseGlobalCleanup;
 import org.eclipse.wst.xsd.ui.internal.util.TypesHelper;
 import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
 import org.eclipse.xsd.XSDComponent;
@@ -28,7 +27,6 @@
 import org.eclipse.xsd.XSDInclude;
 import org.eclipse.xsd.XSDRedefine;
 import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.XSDSchemaDirective;
 import org.eclipse.xsd.util.XSDConstants;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -146,7 +144,7 @@
         comp instanceof XSDImport ||
         comp instanceof XSDRedefine)
     {
-      XSDSchema resolvedSchema = ((XSDSchemaDirective)comp).getResolvedSchema();
+//      XSDSchema resolvedSchema = ((XSDSchemaDirective)comp).getResolvedSchema();
       XSDSchema referencedSchema = null;
       if (comp instanceof XSDInclude)
       {
@@ -179,7 +177,7 @@
     }
     else if (getSchema().equals(comp.getContainer()))
     {
-      BaseGlobalCleanup cleanHelper = null;
+//      BaseGlobalCleanup cleanHelper = null;
    //   Only need to clean up references if the component being deleted is global scoped
 //      if (comp instanceof XSDElementDeclaration)
 //      {
diff --git a/bundles/org.eclipse.wst.wsdl.validation/.classpath b/bundles/org.eclipse.wst.wsdl.validation/.classpath
index 908fab1..2114c10 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/.classpath
+++ b/bundles/org.eclipse.wst.wsdl.validation/.classpath
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src/wsdlvalidateui"/>
-	<classpathentry kind="src" path="src/wsdlvalidate"/>
+	<classpathentry excluding="wsdlvalidateui/|wsdlvalidate/" kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.wst.wsdl.validation/.cvsignore b/bundles/org.eclipse.wst.wsdl.validation/.cvsignore
index 02b1ce4..c171d6b 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/.cvsignore
+++ b/bundles/org.eclipse.wst.wsdl.validation/.cvsignore
@@ -3,3 +3,7 @@
 temp.folder
 wsdlvalidate.jar
 wsdlvalidateui.jar
+wsdlvalidatesrc.zip
+wsdlvalidateuisrc.zip
+@dot
+src.zip
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 c115add..dbf5fb8 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
@@ -2,19 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsdl.validation; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: wsdlvalidateui.jar,
- wsdlvalidate.jar
-Bundle-Activator: org.eclipse.wst.wsdl.validation.internal.ui.eclipse.ValidateWSDLPlugin
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.wst.wsdl.validation.internal.eclipse.ValidateWSDLPlugin
 Bundle-Vendor: %_PROVIDER_NAME
 Bundle-Localization: plugin
 Export-Package: .,
  org.eclipse.wst.wsdl.validation.internal,
+ org.eclipse.wst.wsdl.validation.internal.eclipse,
  org.eclipse.wst.wsdl.validation.internal.exception,
  org.eclipse.wst.wsdl.validation.internal.resolver,
- org.eclipse.wst.wsdl.validation.internal.ui,
  org.eclipse.wst.wsdl.validation.internal.ui.ant,
- org.eclipse.wst.wsdl.validation.internal.ui.eclipse,
  org.eclipse.wst.wsdl.validation.internal.ui.text,
  org.eclipse.wst.wsdl.validation.internal.util,
  org.eclipse.wst.wsdl.validation.internal.wsdl11,
@@ -25,14 +22,10 @@
  org.eclipse.wst.wsdl.validation.internal.wsdl20,
  org.eclipse.wst.wsdl.validation.internal.xml
 Require-Bundle: org.eclipse.core.resources,
- org.eclipse.ui,
  org.apache.ant,
  org.eclipse.wst.common.uriresolver,
  org.eclipse.wst.validation,
  org.wsdl4j,
  org.apache.xerces;visibility:=reexport,
- org.eclipse.core.runtime,
- org.eclipse.wst.xml.core,
- org.eclipse.wst.xml.ui
+ org.eclipse.core.runtime
 Eclipse-AutoStart: true
-Plugin-Class: org.eclipse.wst.wsdl.validation.internal.ui.eclipse.ValidateWSDLPlugin
diff --git a/bundles/org.eclipse.wst.wsdl.validation/build.properties b/bundles/org.eclipse.wst.wsdl.validation/build.properties
index 1a9437c..4a6d5c5 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/build.properties
+++ b/bundles/org.eclipse.wst.wsdl.validation/build.properties
@@ -1,12 +1,9 @@
+source.. = src/
+output.. = bin/
 bin.includes = META-INF/,\
                plugin.properties,\
                plugin.xml,\
-               wsdlvalidateui.jar,\
-               wsdlvalidate.jar,\
+               .,\
                about.html
 src.includes = exsd/,\
                build.properties
-source.wsdlvalidateui.jar = src/wsdlvalidateui/
-jars.compile.order = wsdlvalidate.jar,\
-                     wsdlvalidateui.jar
-source.wsdlvalidate.jar = src/wsdlvalidate/
diff --git a/bundles/org.eclipse.wst.wsdl.validation/exsd/extvalidator.exsd b/bundles/org.eclipse.wst.wsdl.validation/exsd/extvalidator.exsd
index 75dd048..13ab558 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/exsd/extvalidator.exsd
+++ b/bundles/org.eclipse.wst.wsdl.validation/exsd/extvalidator.exsd
@@ -6,7 +6,7 @@
          <meta.schema plugin="org.eclipse.wst.wsdl.validation" id="extvalidator" name="WSDL Extension Validator"/>
       </appInfo>
       <documentation>
-         An extension point to allow pluggin in extension validators to run post WSDL validation.
+         The WSDL Extension Validator extension point allows clients to contribute a validator that provides custom validation logic for WSDL 1.1 documents.
       </documentation>
    </annotation>
 
@@ -18,21 +18,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
                </documentation>
             </annotation>
          </attribute>
          <attribute name="name" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -44,21 +44,21 @@
          <attribute name="namespace" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  The WSDL namespace for which this validator should run. Currently the only accepted value is http://schemas.xmlsoap.org/wsdl/.
                </documentation>
             </annotation>
          </attribute>
          <attribute name="class" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  The class that implements &lt;code&gt;org.eclipse.wst.wsdl.validation.internal.IWSDLValidator&lt;/code&gt;.
                </documentation>
             </annotation>
          </attribute>
          <attribute name="resourcebundle" type="string">
             <annotation>
                <documentation>
-                  
+                  An optional resource bundle that contains messages to be used by the extension validator.
                </documentation>
             </annotation>
          </attribute>
@@ -70,7 +70,7 @@
          <meta.section type="since"/>
       </appInfo>
       <documentation>
-         [Enter the first release in which this extension point appears.]
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
       </documentation>
    </annotation>
 
@@ -79,7 +79,19 @@
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
-         [Enter extension point usage example here.]
+         The following is an example of a WSDL Extension Validator contribution:
+&lt;pre&gt;
+   &lt;extension
+         id=&quot;wsdlWSIValidator&quot;
+         name=&quot;WSDL WS-I Validator&quot;
+         point=&quot;org.eclipse.wst.wsdl.validation.extvalidator&quot;&gt;
+      &lt;extvalidator
+            namespace=&quot;http://schemas.xmlsoap.org/wsdl/&quot;
+            class=&quot;org.eclipse.wst.wsi.internal.validate.wsdl.WSDLValidator&quot;
+            resourcebundle=&quot;wsivalidate&quot;&gt;
+      &lt;/extvalidator&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
       </documentation>
    </annotation>
 
@@ -88,7 +100,7 @@
          <meta.section type="apiInfo"/>
       </appInfo>
       <documentation>
-         [Enter API information here.]
+         The supplied class must implement &lt;code&gt;org.eclipse.wst.wsdl.validation.internal.IWSDLValidator&lt;/code&gt;.
       </documentation>
    </annotation>
 
@@ -97,7 +109,10 @@
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
-         [Enter information about supplied implementation of this extension point.]
+         &lt;code&gt;
+org.eclipse.wst.wsi.internal.validate.wsdl.WSDLValidator
+&lt;/code&gt;
+Contributes WS-I validation logic for the namespace http://schemas.xmlsoap.org/wsdl/.
       </documentation>
    </annotation>
 
@@ -106,7 +121,11 @@
          <meta.section type="copyright"/>
       </appInfo>
       <documentation>
-         
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
       </documentation>
    </annotation>
 
diff --git a/bundles/org.eclipse.wst.wsdl.validation/exsd/uriresolver.exsd b/bundles/org.eclipse.wst.wsdl.validation/exsd/uriresolver.exsd
deleted file mode 100644
index 5b864dc..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/exsd/uriresolver.exsd
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.wsdl.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.wsdl.validation" id="uriresolver" name="WSDL URI Resolver"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="uriresolver"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="uriresolver">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.wst.wsdl.validation/exsd/wsdl11validator.exsd b/bundles/org.eclipse.wst.wsdl.validation/exsd/wsdl11validator.exsd
index 337bb8c..be440af 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/exsd/wsdl11validator.exsd
+++ b/bundles/org.eclipse.wst.wsdl.validation/exsd/wsdl11validator.exsd
@@ -6,7 +6,7 @@
          <meta.schema plugin="org.eclipse.wst.wsdl.validation" id="wsdl11validator" name="WSDL 1.1 Extension Validator"/>
       </appInfo>
       <documentation>
-         [Enter description of this extension point.]
+         The WSDL 1.1 Extension Validator extension point allows clients to contribute a validator for a specific namespace to WSDL 1.1 validation.
       </documentation>
    </annotation>
 
@@ -18,21 +18,21 @@
          <attribute name="point" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  a fully qualified identifier of the target extension point
                </documentation>
             </annotation>
          </attribute>
          <attribute name="id" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional identifier of the extension instance
                </documentation>
             </annotation>
          </attribute>
          <attribute name="name" type="string">
             <annotation>
                <documentation>
-                  
+                  an optional name of the extension instance
                </documentation>
             </annotation>
          </attribute>
@@ -44,21 +44,21 @@
          <attribute name="class" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  The class that implements &lt;code&gt;org.eclipse.wst.wsdl.validation.internal.wsdl11.IWSDL11Validator&lt;/code&gt;.
                </documentation>
             </annotation>
          </attribute>
          <attribute name="namespace" type="string" use="required">
             <annotation>
                <documentation>
-                  
+                  The namespace this validator will validate.
                </documentation>
             </annotation>
          </attribute>
          <attribute name="resourcebundle" type="string">
             <annotation>
                <documentation>
-                  
+                  An optional resource bundle that contains messages to be used by the extension validator.
                </documentation>
             </annotation>
          </attribute>
@@ -70,7 +70,7 @@
          <meta.section type="since"/>
       </appInfo>
       <documentation>
-         [Enter the first release in which this extension point appears.]
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
       </documentation>
    </annotation>
 
@@ -79,7 +79,16 @@
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
-         [Enter extension point usage example here.]
+         The following is an example of a WSDL 1.1 Extension Validator contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.wsdl.validation.wsdl11validator&quot;&gt;
+      &lt;wsdl11validator
+            class=&quot;org.eclipse.wst.wsdl.validation.internal.wsdl11.http.HTTPValidator&quot;
+            namespace=&quot;http://schemas.xmlsoap.org/wsdl/http/&quot;
+            resourcebundle=&quot;validatewsdlhttp&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
       </documentation>
    </annotation>
 
@@ -88,7 +97,7 @@
          <meta.section type="apiInfo"/>
       </appInfo>
       <documentation>
-         [Enter API information here.]
+         The supplied class must implement &lt;code&gt;org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDL11Validator&lt;/code&gt;.
       </documentation>
    </annotation>
 
@@ -97,7 +106,18 @@
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
-         [Enter information about supplied implementation of this extension point.]
+         &lt;code&gt;
+org.eclipse.wst.wsdl.validation.internal.wsdl11.http.HTTPValdiator
+&lt;/code&gt;
+Contributes validation logic for the namespace http://schemas.xmlsoap.org/wsdl/http/.
+&lt;code&gt;
+org.eclipse.wst.wsdl.validation.internal.wsdl11.mime.MIMEValdiator
+&lt;/code&gt;
+Contributes validation logic for the namespace http://schemas.xmlsoap.org/wsdl/mime/.
+&lt;code&gt;
+org.eclipse.wst.wsdl.validation.internal.wsdl11.soap.SOAPValdiator
+&lt;/code&gt;
+Contributes validation logic for the namespace http://schemas.xmlsoap.org/wsdl/soap/.
       </documentation>
    </annotation>
 
@@ -106,7 +126,11 @@
          <meta.section type="copyright"/>
       </appInfo>
       <documentation>
-         
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
       </documentation>
    </annotation>
 
diff --git a/bundles/org.eclipse.wst.wsdl.validation/exsd/xmlcatalog.exsd b/bundles/org.eclipse.wst.wsdl.validation/exsd/xmlcatalog.exsd
deleted file mode 100644
index 5ce49b3..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/exsd/xmlcatalog.exsd
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.wsdl.validation">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.wsdl.validation" id="xmlcatalog" name="WSDL XML Catalog"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <choice>
-               <element ref="entity"/>
-               <element ref="schemadir"/>
-            </choice>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="entity">
-      <complexType>
-         <attribute name="publicId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="location" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="schemadir">
-      <complexType>
-         <attribute name="location" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.wst.wsdl.validation/plugin.properties b/bundles/org.eclipse.wst.wsdl.validation/plugin.properties
index 383ed8a..7750fd9 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/plugin.properties
+++ b/bundles/org.eclipse.wst.wsdl.validation/plugin.properties
@@ -11,10 +11,5 @@
 !-- properties file for org.eclipse.wst.wsdl.validation
 !-- Tool Name
 
-_PLUGIN_NAME                               = WSDL Validator
-_PROVIDER_NAME                             = Eclipse.org
-
-!-- UI Menu Item
-_UI_MENU_VALIDATE_WSDL                     = Validate WSDL File
-_UI_WSDL_VALIDATOR                         = WSDL Validator
-
+_PLUGIN_NAME    = WSDL Validator
+_PROVIDER_NAME  = Eclipse.org
diff --git a/bundles/org.eclipse.wst.wsdl.validation/plugin.xml b/bundles/org.eclipse.wst.wsdl.validation/plugin.xml
index dbdd0c5..3406457 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/plugin.xml
+++ b/bundles/org.eclipse.wst.wsdl.validation/plugin.xml
@@ -2,104 +2,8 @@
 <?eclipse version="3.0"?>
 <plugin>
 
-     <!-- WSDL extension validator. This is an extension that will run
-        after WSDL validation if WSDL validation is successful.  -->
    <extension-point id="extvalidator" name="WSDL Extension Validator" schema="exsd/extvalidator.exsd"/>
    
-   <!-- WSDL 1.1 validator extension. To provide a namespace specific WSDL 1.1
-        validator. -->
    <extension-point id="wsdl11validator" name="WSDL 1.1 Extension Validator" schema="exsd/wsdl11validator.exsd"/>
-   
-   <!-- An extension to add XML catalog entries to the WSDL validator.
-        Many entires can be added as seen below. -->
-   <extension-point name="WSDL XML Catalog" id="xmlcatalog" schema="exsd/xmlcatalog.exsd"/>
 
-   <!-- An extension to add a URI resolver to the WSDL validator. URI resolvers
-        are used to resolve the location of imported documents such as WSDL and
-        XSD through the WSDL and schema import mechanisms. 
-        This is how this extension point is used.
-        <extension point="org.eclipse.wsdl.validate.uriresolver">
-          <uriresolver class="full name of your class"/>
-        </extension>                                                             -->
-   <extension-point name="WSDL URI Resolver" id="uriresolver" schema="exsd/uriresolver.exsd"/>
-
-   <!-- ====================================================== -->
-   <!-- Set the Validate WSDL File context menu item. This     -->
-   <!-- menu item should be removed once the validation        -->
-   <!-- framework is modified to create the item.              -->
-   <!-- ====================================================== -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.wsdl"
-            id="org.eclipse.wst.wsdl.validation.wsdlaction">
-         <action
-               label="%_UI_MENU_VALIDATE_WSDL"
-               class="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.ValidateWSDLActionDelegate"
-               enablesFor="1"
-               id="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.ValidateWSDLActionDelegate">
-         </action>
-      </objectContribution>
-   </extension>
-   
-   <!-- ====================================================== -->
-   <!-- Set the XML Catalog entries.                           -->
-   <!-- These entries are commented out until such time as     -->
-   <!-- permission is granted to include them in this plugin.  -->
-   <!-- ====================================================== -->
-   <!--extension point="org.eclipse.wst.wsdl.validation.xmlcatalog"-->
-     <!--entity
-       publicId="http://schemas.xmlsoap.org/wsdl/" 
-       location="xsd/wsdl.xsd" /-->
-     <!--entity
-       publicId="http://schemas.xmlsoap.org/wsdl/http/" 
-       location="xsd/http.xsd" /-->
-     <!--entity
-       publicId="http://schemas.xmlsoap.org/wsdl/soap/" 
-       location="xsd/soap.xsd" /-->
-     <!--entity
-       publicId="http://schemas.xmlsoap.org/wsdl/mime/" 
-       location="xsd/wsdl-mime.xsd" /-->
-     <!--entity 
-       publicId="http://schemas.xmlsoap.org/soap/encoding/" 
-       location="xsd/soapenc.xsd" /-->
-     <!-- The xml-soap does not exist but is used in certain documents.
-          It is included here so the validator will recognize it. -->
-     <!--entity
-       publicId="http://xml.apache.org/xml-soap" 
-       location="xsd/xml-soap.xsd" /-->
-   <!--/extension-->
-   
-   <!-- ====================================================== -->
-   <!-- An extension for adding the URI resolver from          -->
-   <!-- org.eclipse.wst.common.uriresolver to the WSDL         -->
-   <!-- validator.											   -->
-   <!-- ====================================================== -->
-   <extension point="org.eclipse.wst.wsdl.validation.uriresolver">
-     <uriresolver class="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.URIResolverWrapper"/>
-   </extension>
-   
-   <!-- ====================================================== -->
-   <!-- An extension for adding the WSDL validator to the      -->
-   <!-- validation framework. 						           -->										   -->
-   <!-- ====================================================== -->
-   <extension
-         id="wsdlValidator"
-         name="%_UI_WSDL_VALIDATOR"
-         point="org.eclipse.wst.validation.validator">
-      <validator>
-         <filter
-               objectClass="org.eclipse.core.resources.IFile"
-               caseSensitive="false"
-               nameFilter="*.wsdl">
-         </filter>
-         <helper
-               class="org.eclipse.wst.xml.core.internal.validation.core.Helper">
-         </helper>
-         <run
-               class="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.Validator">
-         </run>
-      </validator>
-   </extension>
 </plugin>
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/Constants.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/Constants.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/Constants.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/Constants.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ControllerValidationInfo.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ControllerValidationInfo.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ControllerValidationInfo.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ControllerValidationInfo.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IValidationInfo.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IValidationInfo.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IValidationInfo.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IValidationInfo.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IValidationMessage.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IValidationMessage.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IValidationMessage.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IValidationMessage.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IValidationReport.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IValidationReport.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IValidationReport.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IValidationReport.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IWSDLValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IWSDLValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/IWSDLValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/IWSDLValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidationController.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationController.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidationController.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationController.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationInfoImpl.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationInfoImpl.java
new file mode 100644
index 0000000..6a554cd
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationInfoImpl.java
@@ -0,0 +1,299 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolver;
+import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
+
+/**
+ * An implementation of the validation info interface.
+ */
+public class ValidationInfoImpl implements IValidationReport, ControllerValidationInfo
+{
+  private boolean WRAPPER_ERROR_SUPPORT_ENABLED = true;
+  private final String _WARN_NO_VALDIATOR = "_WARN_NO_VALDIATOR";
+  private final String _REF_FILE_ERROR_MESSAGE = "_REF_FILE_ERROR_MESSAGE";
+  private String validating_file_uri = null;
+  private URL validating_file_url = null;
+  private boolean wsdlValid = false;
+  private List messages = new Vector();
+  private List schemas = new Vector();
+  private List nsNoVals = new Vector();
+  private MessageGenerator messagegenerator = null;
+  private boolean haserrors = false;
+  private HashMap nestedMessages = new HashMap();
+  private URIResolver uriResolver = null;
+  private Hashtable attributes = new Hashtable();
+
+  /**
+   * Constructor.
+   * 
+   * @param uri
+   *            The URI of the file for the validation.
+   */
+  public ValidationInfoImpl(String uri, MessageGenerator messagegenerator)
+  {
+    this.validating_file_uri = uri;
+    if(uri != null)
+    {
+      uri = uri.replaceAll("%20"," ");
+      this.validating_file_uri = uri;
+      try
+      {
+        this.validating_file_url = new URL(uri);
+      } catch (MalformedURLException e)
+      {
+      }
+    }
+    this.messagegenerator = messagegenerator;
+  }
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#getFileURI()
+   */
+  public String getFileURI()
+  {
+    return validating_file_uri;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#isWSDLValid()
+   */
+  public boolean isWSDLValid()
+  {
+    return wsdlValid;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addError(java.lang.String,
+   *      int, int)
+   */
+  public void addError(String message, int line, int column)
+  {
+    addError(message, line, column, validating_file_uri);
+  }
+  
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addError(java.lang.String,
+   *      int, int)
+   */
+  public void addError(String message, int line, int column, String uri)
+  {
+    if(addMessage(message, line, column, uri, ValidationMessageImpl.SEV_ERROR))
+    {
+      haserrors = true;
+    }
+  }
+
+  public void addError(String message, int line, int column, String uri, String errorKey, Object[] messageArguments)
+  {
+    if(addMessage(message, line, column, uri, ValidationMessageImpl.SEV_ERROR, errorKey, messageArguments))
+    {
+      haserrors = true;
+    }
+  }
+  
+  
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addWarning(java.lang.String,
+   *      int, int)
+   */
+  public void addWarning(String message, int line, int column)
+  {
+    addWarning(message, line, column, validating_file_uri);
+  }
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addWarning(java.lang.String,
+   *      int, int)
+   */
+  public void addWarning(String message, int line, int column, String uri)
+  {
+    addMessage(message, line, column, uri, ValidationMessageImpl.SEV_WARNING);
+  }
+  
+  /**
+   * Add a message to the list. A message may not be added to the list in 
+   * certain circumstances such as when the URI is invalid or the message 
+   * is null.
+   * 
+   * @param message The message to add.
+   * @param line The line location of the message.
+   * @param column The column location of the message.
+   * @param uri The URI of the file that contains the message.
+   * @param severity The severity of the message.
+   * @return True if the message was able to be added, false otherwise.
+   */
+  private boolean addMessage(String message, int line, int column, String uri, int severity)
+  {
+      return this.addMessage(message, line, column, uri, severity, null, null);
+  }
+  
+  /**
+   * Add a message to the list. A message may not be added to the list in 
+   * certain circumstances such as when the URI is invalid or the message 
+   * is null.
+   * 
+   * @param message The message to add.
+   * @param line The line location of the message.
+   * @param column The column location of the message.
+   * @param uri The URI of the file that contains the message.
+   * @param severity The severity of the message.
+   * @param errorKey The Xerces Error Key
+   * @param messageArguments The Xerces arguments used to create the error message
+   * @return True if the message was able to be added, false otherwise.
+   */
+  private boolean addMessage(String message, int line, int column, String uri, int severity, String errorKey, Object[] messageArguments)
+  {
+    boolean successfullyAdded = false;
+    // If the message is null there is nothing to report.
+    if(message == null)
+    {
+      return successfullyAdded;
+    }
+    String errorURI = uri;
+    URL errorURL = null;
+    if (errorURI != null)
+    {
+      try
+      {
+        errorURI = errorURI.replaceAll("%20", " ");
+        errorURL = new URL(errorURI);
+      } catch (MalformedURLException e)
+      {
+      }
+      //errorURI = normalizeURI(errorURI);
+    }
+//    else
+//    {
+//      errorURI = validating_file_uri;
+//      errorURL = validating_file_url;
+//    }
+    //boolean doDialog = true;
+    if (errorURL != null)
+    {
+      successfullyAdded = true;
+      // Add to the appropriate list if nested error support is off or
+      // this message is for the current file.
+      if (!WRAPPER_ERROR_SUPPORT_ENABLED || validating_file_url.sameFile(errorURL))
+      {
+
+        ValidationMessageImpl valmes = new ValidationMessageImpl(message, line,
+            column, severity, uri, errorKey, messageArguments);
+        messages.add(valmes);
+      }
+      // If nested error support is enabled create a nested error.
+      else if (WRAPPER_ERROR_SUPPORT_ENABLED)
+      {
+        String nesteduri = errorURL.toExternalForm();
+        ValidationMessageImpl nestedmess = new ValidationMessageImpl(message, line,
+            column, severity, nesteduri);
+
+        ValidationMessageImpl container = (ValidationMessageImpl) nestedMessages.get(nesteduri);
+        if(container == null)
+        {
+          // Initially set the nested error to a warning. This will automatically be changed
+          // to an error if a nested message has a severity of error.
+          container = new ValidationMessageImpl(messagegenerator.getString(_REF_FILE_ERROR_MESSAGE, nesteduri), 1, 0, IValidationMessage.SEV_WARNING, nesteduri);
+          nestedMessages.put(nesteduri, container);
+          messages.add(container);
+        }
+        container.addNestedMessage(nestedmess);
+      }
+    }
+
+    return successfullyAdded;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#getValidationMessages()
+   */
+  public IValidationMessage[] getValidationMessages()
+  {
+    return (IValidationMessage[])messages.toArray(new IValidationMessage[messages.size()]);
+  }
+
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addNamespaceWithNoValidator(java.lang.String)
+   */
+  public void addNamespaceWithNoValidator(String namespace)
+  {
+    // If the list doesn't already contain this namespace, add it to the list
+    // and create a warning message.
+    if (!nsNoVals.contains(namespace))
+    {
+      nsNoVals.add(namespace);
+      addWarning(messagegenerator.getString(_WARN_NO_VALDIATOR, namespace), 1, 0);
+
+    }
+
+  }
+
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.ControllerValidationInfo#completeWSDLValidation()
+   */
+  public void completeWSDLValidation()
+  {
+    if (haserrors)
+    {
+      wsdlValid = false;
+    }
+    else
+    {
+      wsdlValid = true;
+    }
+  }
+
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#hasErrors()
+   */
+  public boolean hasErrors()
+  {
+    return haserrors;
+  }
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.wsdl.validate.ValidationReport#getNestedMessages()
+   */
+  public HashMap getNestedMessages()
+  {
+    return nestedMessages;
+  }
+  
+  public void setURIResolver(URIResolver uriResolver)
+  {
+  	this.uriResolver = uriResolver;
+  }
+  
+  public URIResolver getURIResolver()
+  {
+  	return uriResolver;
+  }
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wsdl.validate.ValidationInfo#getAttribute(java.lang.String)
+	 */
+	public Object getAttribute(String name) 
+	{
+		return attributes.get(name);
+	}
+	
+	public void setAttributes(Hashtable attributes)
+	{
+		this.attributes.putAll(attributes);
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidationMessageImpl.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationMessageImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidationMessageImpl.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationMessageImpl.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidatorRegistry.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidatorRegistry.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidatorRegistry.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidatorRegistry.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/WSDLValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/WSDLValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/WSDLValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/WSDLValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/WSDLValidatorDelegate.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/WSDLValidatorDelegate.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/WSDLValidatorDelegate.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/WSDLValidatorDelegate.java
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
new file mode 100644
index 0000000..c6b4830
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/URIResolverWrapper.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.eclipse;
+
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
+import org.eclipse.wst.wsdl.validation.internal.resolver.IExtensibleURIResolver;
+import org.eclipse.wst.wsdl.validation.internal.resolver.IURIResolutionResult;
+
+/**
+ * An wrapper URI resolver that wraps the Web Standard Tools URI resolver
+ * in a WSDL validator URI resolver.
+ */
+public class URIResolverWrapper implements IExtensibleURIResolver
+{
+  /**
+   * Constructor.
+   */
+  public URIResolverWrapper()
+  {
+  }
+
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.resolver.IExtensibleURIResolver#resolve(java.lang.String, java.lang.String, java.lang.String, org.eclipse.wst.wsdl.validation.internal.resolver.IURIResolutionResult)
+   */
+  public void resolve(String baseLocation, String publicId, String systemId, IURIResolutionResult result)
+  {
+    URIResolver resolver = URIResolverPlugin.createResolver();
+    String location = null;
+    if (publicId != null || systemId != null)
+    {  
+      location = resolver.resolve(baseLocation, publicId, systemId);
+    }  
+    
+    if (location != null)
+    {       
+      result.setLogicalLocation(location);
+      String physical = resolver.resolvePhysicalLocation(baseLocation, publicId, location);
+      if(physical != null)
+      {
+        result.setPhysicalLocation(physical);
+      }
+      else
+      {
+        result.setPhysicalLocation(location);
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/ValidateWSDLPlugin.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/ValidateWSDLPlugin.java
new file mode 100644
index 0000000..c170ad1
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/ValidateWSDLPlugin.java
@@ -0,0 +1,366 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.eclipse;
+
+import java.io.IOException;
+import java.util.ResourceBundle;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.wst.wsdl.validation.internal.Constants;
+import org.eclipse.wst.wsdl.validation.internal.WSDLValidatorDelegate;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDL11ValidatorDelegate;
+import org.eclipse.wst.wsdl.validation.internal.xml.XMLCatalog;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plugin class required for eclipse.
+ */
+public class ValidateWSDLPlugin extends Plugin
+{
+  protected final String PROPERTIES_FILE = "validatewsdlui";
+  protected static ValidateWSDLPlugin instance;
+  protected ResourceBundle resourcebundle = null;
+  protected ResourceBundle wsdlValidatorResourceBundle = null;
+
+  /**
+   * Constructor.
+   */
+  public ValidateWSDLPlugin()
+  {
+    super();
+  }
+
+  /* (non-Javadoc)
+   * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+   */
+  public void start(BundleContext context) throws Exception
+  {
+    super.start(context);
+    instance = this;
+    wsdlValidatorResourceBundle = ResourceBundle.getBundle(Constants.WSDL_VALIDATOR_PROPERTIES_FILE);
+    resourcebundle = ResourceBundle.getBundle(PROPERTIES_FILE);
+
+    new WSDLValidatorPluginRegistryReader(
+      "extvalidator",
+      "extvalidator",
+      WSDLValidatorPluginRegistryReader.EXT_VALIDATOR)
+      .readRegistry();
+
+    // register any WSDL 1.1 validators defined
+    new WSDL11ValidatorPluginRegistryReader("wsdl11validator", "validator").readRegistry();
+  }
+  /* (non-Javadoc)
+   * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+   */
+  public void stop(BundleContext context) throws Exception
+  {
+    super.stop(context);
+    XMLCatalog.reset();
+  }
+  
+  /**
+   * Return the instance of this plugin object.
+   * 
+   * @return the instance of this plugin object
+   */
+  public static ValidateWSDLPlugin getInstance()
+  {
+    return instance;
+  }
+
+  /**
+   * Get the install URL of this plugin.
+   * 
+   * @return the install url of this plugin
+   */
+  public String getInstallURL()
+  {
+    try
+    {
+      return Platform.resolve(getBundle().getEntry("/")).getFile();
+    }
+    catch (IOException e)
+    {
+      return null;
+    }
+  }
+
+  /*************************************************************
+   * ResourceBundle helper methods
+   * 
+   *************************************************************/
+  /**
+   * Returns the resource bundle for this plugin.
+   * 
+   * @return the resource bundle for this plugin
+   */
+  public ResourceBundle getResourceBundle()
+  {
+    return resourcebundle;
+  }
+
+  /**
+   * Returns the resource bundle for the WSDL validator.
+   * 
+   * @return the resource bundle for the WSDL validator
+   */
+  public ResourceBundle getWSDLValidatorResourceBundle()
+  {
+    return wsdlValidatorResourceBundle;
+  }
+
+  /**
+   * Returns the string for the given id.
+   * 
+   * @param stringID - the id for the string
+   * @return the string for the given id
+   */
+  public String getString(String stringID)
+  {
+    return getResourceBundle().getString(stringID);
+  }
+}
+
+/**
+ * This class reads the plugin manifests and registers each WSDLExtensionValidator
+ */
+class WSDLValidatorPluginRegistryReader
+{
+  protected static final String PLUGIN_ID = "org.eclipse.wst.wsdl.validation";
+  protected static final String ATT_CLASS = "class";
+  protected static final String ATT_NAMESPACE = "namespace";
+  protected static final String ATT_RESOURCEBUNDLE = "resourcebundle";
+  protected static final int WSDL_VALIDATOR = 0;
+  protected static final int EXT_VALIDATOR = 1;
+  protected String extensionPointId;
+  protected String tagName;
+  protected int validatorType;
+
+  /**
+   * 
+   */
+  public WSDLValidatorPluginRegistryReader(String extensionPointId, String tagName, int validatorType)
+  {
+    this.extensionPointId = extensionPointId;
+    this.tagName = tagName;
+    this.validatorType = validatorType;
+  }
+
+  /**
+   * read from plugin registry and parse it.
+   */
+  public void readRegistry()
+  {
+    IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
+    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, extensionPointId);
+    if (point != null)
+    {
+      IConfigurationElement[] elements = point.getConfigurationElements();
+      for (int i = 0; i < elements.length; i++)
+      {
+        readElement(elements[i]);
+      }
+    }
+  }
+
+  /**
+   * readElement() - parse and deal with an extension like:
+   *
+   * <extension point="org.eclipse.validate.wsdl.WSDLExtensionValidator"
+   *            id="soapValidator"
+   *            name="SOAP Validator">>
+   *   <validator>
+   *        <run class=" org.eclipse.validate.wsdl.soap.SOAPValidator"/>
+   *   </validator>
+   *   <attribute name="namespace" value="http://schemas.xmlsoap.org/wsdl/soap/"/>
+   * </extension>
+   */
+  protected void readElement(IConfigurationElement element)
+  {
+    if (element.getName().equals(tagName))
+    {
+      String validatorClass = element.getAttribute(ATT_CLASS);
+      String namespace = element.getAttribute(ATT_NAMESPACE);
+      String resourceBundle = element.getAttribute(ATT_RESOURCEBUNDLE);
+
+      if (validatorClass != null)
+      {
+        try
+        {
+          //          ClassLoader pluginLoader =
+          //            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPlugin().getClass().getClassLoader();
+          //				modified to resolve certain situations where the plugin has not been initialized
+
+          ClassLoader pluginLoader =
+            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader();
+          
+//          if (validatorType == WSDL_VALIDATOR)
+//           {
+//            WSDL11ValidatorDelegate delegate = new WSDL11ValidatorDelegate(validatorClass, resourceBundle, pluginLoader);
+//            WSDLValidator.getInstance().registerWSDL11Validator(namespace, delegate);
+//          }
+          if (validatorType == EXT_VALIDATOR)
+           {
+            WSDLValidatorDelegate delegate = new WSDLValidatorDelegate(validatorClass, resourceBundle, pluginLoader);
+            WSDLValidator.getInstance().registerWSDLExtensionValidator(namespace, delegate);
+          }
+//          registerWSDLValidatorPluginExtensionWithClassName(
+//            pluginLoader,
+//            WSDLValidatorExtensionClass,
+//            WSDLValidatorExtensionNamespace);
+        }
+        catch (Exception e)
+        {
+        }
+      }
+    }
+  }
+
+  /**
+   * Register the extension validator with the given class name and namespaces.
+   * 
+   * @param classLoader - the class loader to create the validator
+   * @param className - the name of the extension validator
+   * @param namespace - the namespace of the extension validator
+   * @throws Exception
+   */
+//  protected void registerWSDLValidatorPluginExtensionWithClassName(
+//    ClassLoader classLoader,
+//    String className,
+//    String namespace)
+//    throws Exception
+//  {
+//    try
+//    {
+//      Class validatorExtensionClass = classLoader != null ? classLoader.loadClass(className) : Class.forName(className);
+//
+//      
+//      //IValidatorExtensionPlugin validatorHandler = (IValidatorExtensionPlugin)validatorExtensionClass.newInstance();
+//      //add(namespace, validatorHandler.getValidator());
+//    }
+//    catch (Exception e)
+//    {
+//      //System.out.println(e.getMessage());
+//      //TODO: write the error message to the log file - use custom log writer class
+//      //ValidateWSDLPlugin.getInstance().getMsgLogger().write("WSDL Validator could not register the extension validator." + e.getMessage());	
+//    }
+//  }
+
+  /**
+   * Register the loaded validator.
+   * 
+   * @param namespace - the namespace of the validator
+   * @param validatorExtension - the extension validator
+   */
+//  protected void add(String namespace, IWSDLValidator validatorExtension)
+//  {
+//    if (validatorType == WSDL_VALIDATOR)
+//    {
+//      WSDLConfigurator.registerWSDLValidator(namespace, validatorExtension);
+//    }
+//    else if (validatorType == WSI_VALIDATOR)
+//    {
+//      WSDLConfigurator.registerWSIValidator(namespace, validatorExtension);
+//    }
+//  }
+}
+
+/**
+ * Read WSDl 1.1 extension validators.
+ * 
+ *  <extension
+ *     point="com.ibm.etools.validation.validator"
+ *     id="wsdlValidator"
+ *     name="%_UI_WSDL_VALIDATOR">
+ *    <wsdl11validator
+ *       namespace="http://schemas.xmlsoap.org/wsdl/soap/"
+ *       class="org.eclipse.wsdl.validate.soap.wsdl11.SOAPValidator"
+ *       resourcebundle="validatewsdlsoap"/>
+ *   </extension>
+ *  
+ */
+class WSDL11ValidatorPluginRegistryReader
+{
+  protected static final String PLUGIN_ID = "org.eclipse.wst.wsdl.validation";
+  protected static final String ATT_CLASS = "class";
+  protected static final String ATT_NAMESPACE = "namespace";
+  protected static final String ATT_RESOURCEBUNDLE = "resourcebundle";
+  protected String extensionPointId;
+  protected String tagName;
+
+  /**
+   * Constructor.
+   * 
+   * @param extensionPointId - the id of the extension point
+   * @param tagName - the tag name of the extension point
+   */
+  public WSDL11ValidatorPluginRegistryReader(String extensionPointId, String tagName)
+  {
+    this.extensionPointId = extensionPointId;
+    this.tagName = tagName;
+  }
+
+  /**
+   * Read from plugin registry and handle the configuration elements that match
+   * the spedified elements.
+   */
+  public void readRegistry()
+  {
+    IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
+    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, extensionPointId);
+    if (point != null)
+    {
+      IConfigurationElement[] elements = point.getConfigurationElements();
+      for (int i = 0; i < elements.length; i++)
+      {
+        readElement(elements[i]);
+      }
+    }
+  }
+
+  /**
+   * Parse and deal with the extension points.
+   * 
+   * @param element The extension point element.
+   */
+  protected void readElement(IConfigurationElement element)
+  {
+    if (element.getName().equals(tagName))
+    {
+      String validatorClass = element.getAttribute(ATT_CLASS);
+      String namespace = element.getAttribute(ATT_NAMESPACE);
+      String resourceBundle = element.getAttribute(ATT_RESOURCEBUNDLE);
+
+      if (validatorClass != null && namespace != null)
+      {
+        try
+        {
+          ClassLoader pluginLoader =
+            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader();
+          WSDL11ValidatorDelegate delegate = new WSDL11ValidatorDelegate(validatorClass, resourceBundle, pluginLoader);
+          WSDLValidator.getInstance().registerWSDL11Validator(namespace, delegate);
+        }
+        catch (Exception e)
+        {
+        }
+      }
+    }
+  }
+}
+
+
+
+
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/WSDLValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/WSDLValidator.java
new file mode 100644
index 0000000..4c4003b
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/WSDLValidator.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.eclipse;
+
+import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolverDelegate;
+
+/**
+ * An Eclipse WSDL validator. This validator is the default validator
+ * used in the validation framework. There is only a single instance of
+ * this validator. When created, this validator registers all extension
+ * URI resolvers.
+ */
+public class WSDLValidator extends org.eclipse.wst.wsdl.validation.internal.WSDLValidator
+{
+	private static WSDLValidator instance = null;
+
+	/**
+	 * The constructor registers all of the URI resolvers defined via the
+	 * WSDL URI resolver extension point with the WSDL validator. 
+	 * 
+	 */
+	private WSDLValidator()
+	{
+      super();
+      URIResolverDelegate resolver = new URIResolverDelegate("org.eclipse.wst.wsdl.validation.internal.eclipse.URIResolverWrapper", ValidateWSDLPlugin.getInstance().getDescriptor().getPluginClassLoader());
+	}
+	
+	/**
+	 * Get the one and only instance of this Eclipse WSDL validator.
+	 * 
+	 * @return The one and only instance of this Eclipse WSDL validator.
+	 */
+	public static WSDLValidator getInstance()
+	{
+		if(instance == null)
+		{
+			instance = new WSDLValidator();
+		}
+		return instance;
+	}
+	
+//	/**
+//	 * Validate the specified WSDL file.
+//	 * 
+//	 * @param fileURI The URI of the WSDL file.
+//	 * @return A validation report with the validation results.
+//	 */
+//	public IValidationReport validate(String fileURI)
+//	{
+//		return wsdlValidator.validate(fileURI);
+//	}
+//  /**
+//	 * Validate the given WSDL InputStream
+//	 * 
+//	 * @param fileURI The URI of the WSDL file.
+//	 * @param inputStream the InputStream to validate
+//	 * @return A validation report with the validation results.
+//	 */
+//	public IValidationReport validate(String fileURI, InputStream inputStream)
+//  {
+//    return wsdlValidator.validate(fileURI, inputStream);
+//  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/exception/ValidateWSDLException.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/exception/ValidateWSDLException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/exception/ValidateWSDLException.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/exception/ValidateWSDLException.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/IExtensibleURIResolver.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/IExtensibleURIResolver.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/IExtensibleURIResolver.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/IExtensibleURIResolver.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/IURIResolutionResult.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/IURIResolutionResult.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/IURIResolutionResult.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/IURIResolutionResult.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolutionResult.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolutionResult.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolutionResult.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolutionResult.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolver.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolver.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolver.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolver.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolverDelegate.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolverDelegate.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolverDelegate.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/resolver/URIResolverDelegate.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/ExtensionValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/ExtensionValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/ExtensionValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/ExtensionValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/URIResolver.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/URIResolver.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/URIResolver.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/URIResolver.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/WSDLValidate.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/WSDLValidate.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/WSDLValidate.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/WSDLValidate.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/XMLCatalogImpl.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/XMLCatalogImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/ant/XMLCatalogImpl.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/ant/XMLCatalogImpl.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/text/WSDLValidate.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/text/WSDLValidate.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/text/WSDLValidate.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ui/text/WSDLValidate.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/util/ErrorMessage.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/util/ErrorMessage.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/util/ErrorMessage.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/util/ErrorMessage.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/util/LazyURLInputStream.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/util/LazyURLInputStream.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/util/LazyURLInputStream.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/util/LazyURLInputStream.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/util/MessageGenerator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/util/MessageGenerator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/util/MessageGenerator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/util/MessageGenerator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11ValidationInfo.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11ValidationInfo.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11ValidationInfo.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11ValidationInfo.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11Validator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11Validator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11Validator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/IWSDL11Validator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/ImportHolder.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/ImportHolder.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/ImportHolder.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/ImportHolder.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/LocationHolder.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/LocationHolder.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/LocationHolder.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/LocationHolder.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/ReaderError.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/ReaderError.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/ReaderError.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/ReaderError.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/ValidatorRegistry.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/ValidatorRegistry.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/ValidatorRegistry.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/ValidatorRegistry.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11BasicValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidationInfoImpl.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidationInfoImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidationInfoImpl.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidationInfoImpl.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorController.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorController.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorController.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorController.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorDelegate.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorDelegate.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorDelegate.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDL11ValidatorDelegate.java
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
new file mode 100644
index 0000000..2ae35bb
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java
@@ -0,0 +1,2005 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.wsdl11;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingFault;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Input;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.OperationType;
+import javax.wsdl.Output;
+import javax.wsdl.Part;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.Types;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.ExtensionDeserializer;
+import javax.wsdl.extensions.ExtensionRegistry;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.wsdl.factory.WSDLFactory;
+import javax.xml.namespace.QName;
+
+import org.apache.xerces.dom.ElementImpl;
+import org.apache.xerces.dom.ElementNSImpl;
+import org.apache.xerces.xs.XSModel;
+import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaValidator;
+import org.eclipse.wst.wsdl.validation.internal.xml.ElementLocation;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import com.ibm.wsdl.Constants;
+import com.ibm.wsdl.util.StringUtils;
+import com.ibm.wsdl.util.xml.DOMUtils;
+import com.ibm.wsdl.util.xml.QNameUtils;
+import com.ibm.wsdl.util.xml.XPathUtils;
+
+/**
+ * A WSDL document that knows how to parse itself.
+ */
+public class WSDLDocument
+{
+  private static final List STYLE_ONE_WAY = Arrays.asList(new String[] { Constants.ELEM_INPUT });
+  private static final List STYLE_REQUEST_RESPONSE =
+    Arrays.asList(new String[] { Constants.ELEM_INPUT, Constants.ELEM_OUTPUT });
+  private static final List STYLE_SOLICIT_RESPONSE =
+    Arrays.asList(new String[] { Constants.ELEM_OUTPUT, Constants.ELEM_INPUT });
+  private static final List STYLE_NOTIFICATION = Arrays.asList(new String[] { Constants.ELEM_OUTPUT });
+  
+  private static final String _ERROR_MULTIPLE_TYPES_DEFINED = "_ERROR_MULTIPLE_TYPES_DEFINED";
+  private static final String _UNABLE_TO_IMPORT_NO_LOCATION = "_UNABLE_TO_IMPORT_NO_LOCATION";
+
+  protected ExtensionRegistry extReg = null;
+  protected String factoryImplName = null;
+
+  // store the element locations within the file - line and column numbers
+  // the location info is stored as an int array of length 2 {linenumber, colnumber}
+  protected Hashtable elementLocations = new Hashtable();
+  
+  // hold the reader errors
+  protected List readerErrors = new ArrayList();
+  protected List readerWarnings = new ArrayList();
+  protected MessageGenerator messagegenerator;
+  
+  private Definition def = null;
+  private Set importedDefs = new TreeSet();
+  private Element typesEl = null;
+  private List messages = new ArrayList();
+  private List porttypes = new ArrayList();
+  private List bindings = new ArrayList();
+  private List services = new ArrayList();
+  private List extelements = new ArrayList();
+  private int depth;
+  // Hold the schemas that are imported or declared inline in this wsdl document.
+  private List schemas = new ArrayList();
+  private IWSDL11ValidationInfo valinfo;
+  
+  /**
+   * Constructor. Performs a preparse of the document and handles imports and types.
+   * 
+   * @param documentBaseURI The URI of this WSDL document.
+   * @param defEl The definitions element.
+   * @param depth The depth of this document in a document tree.
+   * @param messagegenerator A messagegenerator used for retrieving strings.
+   * @param valinfo A WSDL11ValidationInfo object for reporting messages.
+   * @throws WSDLException
+   */
+  public WSDLDocument(String documentBaseURI, Element defEl, int depth, MessageGenerator messagegenerator, IWSDL11ValidationInfo valinfo) throws WSDLException
+  {
+    this.messagegenerator = messagegenerator;
+    this.valinfo = valinfo;
+    this.depth = depth;
+    
+    checkElementName(defEl, Constants.Q_ELEM_DEFINITIONS);
+    
+    WSDLFactory factory =
+      (factoryImplName != null) ? WSDLFactory.newInstance(factoryImplName) : WSDLFactory.newInstance();
+    def = factory.newDefinition();
+    // Fix for WSDL4J adding default WSDL namespace when no default
+    // namespace has been declared.
+    // TODO: Remove this fix once fixed in WSDL4J.
+    if(def.getNamespace("") != null)
+    	def.getNamespaces().remove("");
+
+    if (extReg != null)
+    {
+      def.setExtensionRegistry(extReg);
+    }
+
+    String name = DOMUtils.getAttribute(defEl, Constants.ATTR_NAME);
+    String targetNamespace = DOMUtils.getAttribute(defEl, Constants.ATTR_TARGET_NAMESPACE);
+    NamedNodeMap attrs = defEl.getAttributes();
+
+    if (documentBaseURI != null)
+    {
+      def.setDocumentBaseURI(documentBaseURI);
+    }
+
+    if (name != null)
+    {
+      def.setQName(new QName(targetNamespace, name));
+    }
+
+    if (targetNamespace != null)
+    {
+      def.setTargetNamespace(targetNamespace);
+    }
+
+    int size = attrs.getLength();
+
+    for (int i = 0; i < size; i++)
+    {
+      Attr attr = (Attr)attrs.item(i);
+      String namespaceURI = attr.getNamespaceURI();
+      String localPart = attr.getLocalName();
+      String value = attr.getValue();
+
+      if (namespaceURI != null && namespaceURI.equals(Constants.NS_URI_XMLNS))
+      {
+        if (localPart != null && !localPart.equals(Constants.ATTR_XMLNS))
+        {
+          def.addNamespace(localPart, value);
+        }
+        else
+        {
+          def.addNamespace(null, value);
+        }
+      }
+    }
+
+    // There are problems when the model is created and the order of elements is not
+    // Import - Types - Message - PortType - Binding - Service so we need to read them
+    // into the model in that order
+    // Performance wise this should be modified as we have to make 5 extra loops through
+    // all of the elements as a result
+
+    // take care of Imports, Types, Documentation and extensibleelements together - saves a pass for Documentation 
+    // later and Docs don't effect anything else - Imports and Types are essentially the same thing
+    // no preconceived ideas about extensible elements
+    Element tempEl = DOMUtils.getFirstChildElement(defEl);
+
+    while (tempEl != null)
+    {
+
+      if (QNameUtils.matches(Constants.Q_ELEM_IMPORT, tempEl))
+      {
+        String namespaceURI = DOMUtils.getAttribute(tempEl, Constants.ATTR_NAMESPACE);
+        String locationURI = DOMUtils.getAttribute(tempEl, Constants.ATTR_LOCATION);
+        if(locationURI == null || locationURI.equals(""))
+        {
+          addReaderError(def, tempEl, messagegenerator.getString(_UNABLE_TO_IMPORT_NO_LOCATION));
+        }
+        else
+        {
+          ImportHolder ih = new ImportHolder(namespaceURI, locationURI, def.getDocumentBaseURI(), this, depth+1, tempEl, messagegenerator, valinfo);
+          importedDefs.add(ih);
+        }
+        setLocation(tempEl, tempEl);
+//        if (importedDefs == null)
+//        {
+//          importedDefs = new Hashtable();
+//        }
+//        if (documentBaseURI != null)
+//        {
+//          importedDefs.put(documentBaseURI, def);
+//        }
+//        def.addImport(parseImport(tempEl, def, importedDefs));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        def.setDocumentationElement(tempEl);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_TYPES, tempEl))
+      {
+        if(typesEl != null)
+        {
+          setLocation(tempEl, tempEl);
+          addReaderError(def, tempEl, messagegenerator.getString(_ERROR_MULTIPLE_TYPES_DEFINED));
+        }
+        else
+        {
+          typesEl = tempEl;
+          parseTypes();
+        }
+//        def.setTypes(parseTypes(tempEl, def));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_MESSAGE, tempEl))
+      {
+        messages.add(tempEl);
+        //def.addMessage(parseMessage(tempEl, def));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_PORT_TYPE, tempEl))
+      {
+        porttypes.add(tempEl);
+        //             PortType pt = parsePortType(tempEl, def);
+        //             if(pt != null)
+        //             {
+        //          def.addPortType(pt);
+        //             }
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_BINDING, tempEl))
+      {
+        bindings.add(tempEl);
+        //def.addBinding(parseBinding(tempEl, def));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_SERVICE, tempEl))
+      {
+        services.add(tempEl);
+        //def.addService(parseService(tempEl, def));
+      }
+      else
+      {
+        extelements.add(tempEl);
+        //        def.addExtensibilityElement(
+        //          parseExtensibilityElement(Definition.class, tempEl, def));
+      }
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+  }
+  
+  /**
+   * Get the definitions element for this document.
+   * 
+   * @return The definitions element for this document.
+   */
+  public Definition getDefinition()
+  {
+    return def;
+  }
+  
+  /**
+   * Get a set of the imports in this document.
+   * 
+   * @return A set of the imports in this document.
+   */
+  public Set getImports()
+  {
+    return importedDefs;
+  }
+  
+  /**
+   * 
+   * @param def
+   * @param doc
+   * @param namespace
+   * @param location
+   */
+//  public void setImport(Definition def, Element doc, String namespace, String location)
+//  {
+//    if(location == null || location.equals(""))
+//    {
+//      valinfo.addError()_UNABLE_TO_IMPORT_NO_LOCATION 
+//    }
+//    Import imp = def.createImport();
+//    imp.setDefinition(def);
+//    imp.setDocumentationElement(doc);
+//    imp.setNamespaceURI(namespace);
+//    imp.setLocationURI(location);
+//    def.addImport(imp);
+//  }
+  
+  /**
+   * Parse the types in the WSDL document. Handles documentation, import and schema
+   * elements.
+   */
+  public void parseTypes()
+  {
+    Types types = def.createTypes();
+
+    Element tempEl = DOMUtils.getFirstChildElement(typesEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        types.setDocumentationElement(tempEl);
+      }
+      else if (tempEl.getLocalName().equalsIgnoreCase("import"))
+        //else if (QNameUtils.matches(Constants.Q_ELEM_IMPORT, tempEl))
+      {
+        // this shouldn't really be used here but a little hack will make
+        // life easier
+        //parseImport(tempEl, def, (Map)new Hashtable());
+        String namespaceURI = DOMUtils.getAttribute(tempEl, Constants.ATTR_NAMESPACE);
+        String locationURI = DOMUtils.getAttribute(tempEl, "schemaLocation");
+        importedDefs.add(new ImportHolder(namespaceURI, locationURI, def.getDocumentBaseURI(), this, depth+1, tempEl, messagegenerator, valinfo));
+        try
+        {
+          types.addExtensibilityElement(parseExtensibilityElement(Types.class, tempEl, def));
+        }
+        catch(WSDLException e)
+        {
+          
+        }
+      }
+      else
+      {
+        try
+        {
+          ExtensibilityElement extElem = parseExtensibilityElement(Types.class, tempEl, def);
+          types.addExtensibilityElement(extElem);
+        }
+        catch(WSDLException e)
+        {
+          
+        }
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+    def.setTypes(types);
+    
+    valinfo.setElementLocations(elementLocations);
+    List typesElems = types.getExtensibilityElements();
+    if(typesElems != null)
+    {
+      Iterator typesElemsIter = typesElems.iterator();
+      while(typesElemsIter.hasNext())
+      {
+        ExtensibilityElement typeElement = (ExtensibilityElement)typesElemsIter.next();
+        
+        InlineSchemaValidator xsdVal = new InlineSchemaValidator();
+        xsdVal.setMessageGenerator(messagegenerator);
+    
+        List parents = new ArrayList();
+        parents.add(def);
+        parents.add(0,types);
+        xsdVal.validate(typeElement, parents,valinfo);
+        XSModel[] typesSchemas = valinfo.getSchemas();
+        List typesSchemaList = new ArrayList();
+        for(int i = 0; i < typesSchemas.length; i++)
+        {  
+          typesSchemaList.add(typesSchemas[i]);
+        }
+        schemas.addAll(typesSchemaList);
+        valinfo.clearSchemas();
+      }
+    }
+    valinfo.setElementLocations(null);
+  }
+  
+  /**
+   * Parse the messages in this document.
+   */
+  public void parseMessages()
+  {
+    for (int i = 0; i < messages.size(); i++)
+    {
+      try
+      {
+        def.addMessage(parseMessage((Element)messages.get(i), def));
+      }
+      catch(WSDLException e)
+      {}
+    }
+  }
+  
+  /**
+   * Parse the portTypes in this document.
+   */
+  public void parsePorttypes()
+  {
+    for (int i = 0; i < porttypes.size(); i++)
+    {
+      try
+      {
+        PortType pt = parsePortType((Element)porttypes.get(i), def);
+        if (pt != null)
+        {
+          def.addPortType(pt);
+        }
+      }
+      catch(WSDLException e)
+      {}
+    }
+  }
+  
+  /**
+   * Parse the bindings in this document.
+   */
+  public void parseBindings()
+  {
+    for (int i = 0; i < bindings.size(); i++)
+    {
+      try
+      {
+        def.addBinding(parseBinding((Element)bindings.get(i), def));
+      }
+      catch(WSDLException e)
+      {}
+    }
+  }
+  
+  /**
+   * Parse the services in this document.
+   */
+  public void parseServices()
+  {
+    for (int i = 0; i < services.size(); i++)
+    {
+      try
+      {
+        def.addService(parseService((Element)services.get(i), def));
+      }
+      catch(WSDLException e)
+      {}
+    }
+  }
+  
+  /**
+   * Parse the extensibility elements in this document.
+   */
+  public void parseExtensibilityElements()
+  {
+    for (int i = 0; i < extelements.size(); i++)
+    {
+      try
+      {
+        def.addExtensibilityElement(parseExtensibilityElement(Definition.class, (Element)extelements.get(i), def));
+      }
+      catch(WSDLException e)
+      {}
+    }
+  }
+  
+  /**
+   * Add the given list of schemas to the schemas for this document.
+   * 
+   * @param schemas The list of schemas to add to this document's schemas.
+   */
+  public void addSchemas(List schemas)
+  {
+    this.schemas.addAll(schemas);
+  }
+  
+  /**
+   * Get the schemas associated with this document.
+   * 
+   * @return The schemas associated with this document.
+   */
+  public List getSchemas()
+  {
+    return schemas;
+  }
+  
+  /**
+   * Parse the specified binding.
+   * 
+   * @param bindingEl The binding element.
+   * @param def The definitions element.
+   * @return A WSDL binding element.
+   * @throws WSDLException
+   */
+  protected Binding parseBinding(Element bindingEl, Definition def) throws WSDLException
+  {
+    Binding binding = null;
+    String name = DOMUtils.getAttribute(bindingEl, Constants.ATTR_NAME);
+    QName portTypeName;
+    try
+    {
+      portTypeName = DOMUtils.getQualifiedAttributeValue(bindingEl, Constants.ATTR_TYPE, Constants.ELEM_BINDING, false);
+    }
+    catch (Exception e)
+    {
+      //the call above fails if there is no qualified namespace for the message name
+      portTypeName = new QName(null, DOMUtils.getAttribute(bindingEl, "type"));
+    }
+
+    PortType portType = null;
+
+    if (name != null)
+    {
+      QName bindingName = new QName(def.getTargetNamespace(), name);
+
+      binding = def.getBinding(bindingName);
+
+      if (binding == null)
+      {
+        binding = def.createBinding();
+        binding.setQName(bindingName);
+      }
+      // report an error if a binding with this name has already been defined
+      else if (!binding.isUndefined())
+      {
+        //addReaderError(def,bindingEl, "_BINDING_NAME_ALREADY_DEFINED");       
+        addReaderError(
+          def,
+          bindingEl,
+          messagegenerator.getString("_BINDING_NAME_ALREADY_DEFINED", "'" + binding.getQName().getLocalPart() + "'"));
+      }
+    }
+    else
+    {
+      binding = def.createBinding();
+    }
+
+    // Whether it was retrieved or created, the definition has been found.
+    binding.setUndefined(false);
+
+    if (portTypeName != null)
+    {
+      portType = def.getPortType(portTypeName);
+
+      if (portType == null)
+      {
+        portType = def.createPortType();
+        portType.setQName(portTypeName);
+        def.addPortType(portType);
+      }
+
+      binding.setPortType(portType);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(bindingEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        binding.setDocumentationElement(tempEl);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_OPERATION, tempEl))
+      {
+        binding.addBindingOperation(parseBindingOperation(tempEl, portType, def));
+      }
+      else
+      {
+        binding.addExtensibilityElement(parseExtensibilityElement(Binding.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(binding, bindingEl);
+
+    return binding;
+  }
+
+  /**
+   * Parse a specific binding operation.
+   * 
+   * @param bindingOperationEl The binding operation element.
+   * @param portType The portType the binding references.
+   * @param def The definitions element.
+   * @return A WSDL binding operation element.
+   * @throws WSDLException
+   */
+  protected BindingOperation parseBindingOperation(Element bindingOperationEl, PortType portType, Definition def)
+    throws WSDLException
+  {
+    BindingOperation bindingOperation = def.createBindingOperation();
+    String name = DOMUtils.getAttribute(bindingOperationEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      bindingOperation.setName(name);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(bindingOperationEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        bindingOperation.setDocumentationElement(tempEl);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))
+      {
+        bindingOperation.setBindingInput(parseBindingInput(tempEl, def));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))
+      {
+        bindingOperation.setBindingOutput(parseBindingOutput(tempEl, def));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_FAULT, tempEl))
+      {
+        bindingOperation.addBindingFault(parseBindingFault(tempEl, def));
+      }
+      else
+      {
+        bindingOperation.addExtensibilityElement(parseExtensibilityElement(BindingOperation.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    if (portType != null)
+    {
+      BindingInput bindingInput = bindingOperation.getBindingInput();
+      BindingOutput bindingOutput = bindingOperation.getBindingOutput();
+      String inputName = (bindingInput != null ? bindingInput.getName() : null);
+      String outputName = (bindingOutput != null ? bindingOutput.getName() : null);
+
+      // hack code to get at operations that are defined with the same name but different
+      // inputs and outputs 
+      Operation op = null;
+      List operations = portType.getOperations();
+      // get a list of all operations with matching names
+      List matchingOperations = new Vector();
+      Iterator iOperations = operations.iterator();
+      while (iOperations.hasNext())
+      {
+        Operation oper = (Operation)iOperations.next();
+        if (oper.getName().equalsIgnoreCase(bindingOperation.getName()))
+        {
+          matchingOperations.add(oper);
+        }
+      }
+
+      if (matchingOperations != null)
+      {
+        // If there's only one matching operation this is what we're referring to.
+        // Only matching if binding operation input name and output name are
+        // both null or the same as the portType operation input and output names.
+        // the portType operation name
+        if (matchingOperations.size() == 1)
+        {
+          // only say the single operation is the one we're looking for if the names
+          // of the binding input and output are not specified
+          Operation tempOp = (Operation)matchingOperations.get(0);
+          boolean inputOK = false;
+          boolean outputOK = false;
+          Input tempInput = tempOp.getInput();
+          Output tempOutput = tempOp.getOutput();
+
+          // order is important in these conditions. condition 2 must fail for 3 to work
+          // check the input
+          if (tempInput == null && bindingInput == null)
+          {
+            inputOK = true;
+          }
+          else if (bindingInput == null || bindingInput.getName() == null)
+          {
+            inputOK = true;
+          }
+          else if (tempInput != null && bindingInput.getName().equals(tempInput.getName()))
+          {
+            inputOK = true;
+          }
+          // check the output
+          if (tempOutput == null && bindingOutput == null)
+          {
+            outputOK = true;
+          }
+          else if (bindingOutput == null || bindingOutput.getName() == null)
+          {
+            outputOK = true;
+          }
+          else if (tempOutput != null && bindingOutput.getName().equals(tempOutput.getName()))
+          {
+            outputOK = true;
+          }
+          if (inputOK && outputOK)
+          {
+            op = tempOp;
+          }
+          //          op = (Operation) matchingOperations.get(0);
+        }
+        // otherwise find the operation with the same name, inputname, outputname signature
+        if (matchingOperations != null && op == null)
+        {
+          Iterator iMatchingOperations = matchingOperations.iterator();
+          while (iMatchingOperations.hasNext())
+          {
+
+            boolean inputNamesEqual = false;
+            boolean outputNamesEqual = false;
+            Operation oper = (Operation)iMatchingOperations.next();
+            //          if (oper.getName().equalsIgnoreCase(bindingOperation.getName()))
+            //          {
+            Input opInput = oper.getInput();
+            if (opInput != null && bindingInput != null)
+            {
+              String opInputName = opInput.getName();
+              String bindingInputName = bindingInput.getName();
+              if (opInputName != null && opInputName.equalsIgnoreCase(bindingInputName))
+              {
+                inputNamesEqual = true;
+              }
+              else if (opInputName == null && bindingInputName == null)
+              {
+                inputNamesEqual = true;
+              }
+            }
+            else if (opInput == null && bindingInput == null)
+            {
+              inputNamesEqual = true;
+            }
+            Output opOutput = oper.getOutput();
+            if (opOutput != null && bindingOutput != null)
+            {
+              String opOutputName = opOutput.getName();
+              String bindingOutputName = bindingOutput.getName();
+              if (opOutputName != null && opOutputName.equalsIgnoreCase(bindingOutputName))
+              {
+                outputNamesEqual = true;
+              }
+              else if (opOutputName == null && bindingOutputName == null)
+              {
+                outputNamesEqual = true;
+              }
+            }
+            else if (opOutput == null && bindingOutput == null)
+            {
+              outputNamesEqual = true;
+            }
+            if (inputNamesEqual && outputNamesEqual)
+            {
+              op = oper;
+              break;
+            }
+            //}
+          }
+        }
+      }
+      //Operation op = portType.getOperation(name, inputName, outputName);
+
+      if (op == null)
+      {
+        op = def.createOperation();
+        op.setName(name);
+        portType.addOperation(op);
+      }
+
+      bindingOperation.setOperation(op);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(bindingOperation, bindingOperationEl);
+
+    return bindingOperation;
+  }
+  
+  /**
+   * Parse a specific binding input element.
+   * 
+   * @param bindingInputEl The binding input element.
+   * @param def The definitions element.
+   * @return A WSDL binding input element.
+   * @throws WSDLException
+   */
+  protected BindingInput parseBindingInput(Element bindingInputEl, Definition def) throws WSDLException
+  {
+    BindingInput bindingInput = def.createBindingInput();
+    String name = DOMUtils.getAttribute(bindingInputEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      bindingInput.setName(name);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(bindingInputEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        bindingInput.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        bindingInput.addExtensibilityElement(parseExtensibilityElement(BindingInput.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(bindingInput, bindingInputEl);
+
+    return bindingInput;
+  }
+
+  /**
+   * Parse a specific binding output element.
+   * 
+   * @param bindingOutputEl The binding output element.
+   * @param def The definitions element.
+   * @return A WSDL binding output element.
+   * @throws WSDLException
+   */
+  protected BindingOutput parseBindingOutput(Element bindingOutputEl, Definition def) throws WSDLException
+  {
+    BindingOutput bindingOutput = def.createBindingOutput();
+    String name = DOMUtils.getAttribute(bindingOutputEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      bindingOutput.setName(name);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(bindingOutputEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        bindingOutput.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        bindingOutput.addExtensibilityElement(parseExtensibilityElement(BindingOutput.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(bindingOutput, bindingOutputEl);
+
+    return bindingOutput;
+  }
+
+  /**
+   * Parse a specific binding fault element.
+   * 
+   * @param bindingFaultEl The binding fault element.
+   * @param def The definitions element.
+   * @return A WSDL binding fault element.
+   * @throws WSDLException
+   */
+  protected BindingFault parseBindingFault(Element bindingFaultEl, Definition def) throws WSDLException
+  {
+    BindingFault bindingFault = def.createBindingFault();
+    String name = DOMUtils.getAttribute(bindingFaultEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      bindingFault.setName(name);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(bindingFaultEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        bindingFault.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        bindingFault.addExtensibilityElement(parseExtensibilityElement(BindingFault.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(bindingFault, bindingFaultEl);
+
+    return bindingFault;
+  }
+
+  /**
+   * Parse a specific message element.
+   * 
+   * @param msgEl The message element.
+   * @param def The definitions element.
+   * @return A WSDL message element.
+   * @throws WSDLException
+   */
+  protected Message parseMessage(Element msgEl, Definition def) throws WSDLException
+  {
+    Message msg = null;
+    String name = DOMUtils.getAttribute(msgEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      QName messageName = new QName(def.getTargetNamespace(), name);
+
+      msg = def.getMessage(messageName);
+
+      if (msg == null)
+      {
+        msg = def.createMessage();
+        msg.setQName(messageName);
+      }
+      else if (!msg.isUndefined())
+      {
+        // produce an error message as a message with this name has already been defined
+        addReaderError(
+          def,
+          msgEl,
+          messagegenerator.getString("_MESSAGE_NAME_ALREADY_DEFINED", "'" + msg.getQName().getLocalPart() + "'"));
+      }
+    }
+    else
+    {
+      msg = def.createMessage();
+    }
+
+    // Whether it was retrieved or created, the definition has been found.
+    msg.setUndefined(false);
+
+    Element tempEl = DOMUtils.getFirstChildElement(msgEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        msg.setDocumentationElement(tempEl);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_PART, tempEl))
+      {
+        msg.addPart(parsePart(tempEl, def));
+      }
+      else
+      {
+        // XML Validation will catch this
+        DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(msg, msgEl);
+
+    return msg;
+  }
+
+  /**
+   * Parse a specific part element.
+   * 
+   * @param partEl The part element.
+   * @param def The definitions element.
+   * @return A WSDL part element.
+   * @throws WSDLException
+   */
+  protected Part parsePart(Element partEl, Definition def) throws WSDLException
+  {
+    Part part = def.createPart();
+    String name = DOMUtils.getAttribute(partEl, Constants.ATTR_NAME);
+
+    QName elementName;
+    try
+    {
+      elementName = DOMUtils.getQualifiedAttributeValue(partEl, Constants.ATTR_ELEMENT, Constants.ELEM_MESSAGE, false);
+    }
+    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"));
+    }
+
+    QName typeName;
+    try
+    {
+      typeName = DOMUtils.getQualifiedAttributeValue(partEl, Constants.ATTR_TYPE,
+        // Corrected - was ATTR_ELEMENT
+  Constants.ELEM_MESSAGE, false);
+    }
+    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"));
+    }
+
+    if (name != null)
+    {
+      part.setName(name);
+    }
+
+    if (elementName != null)
+    {
+      part.setElementName(elementName);
+    }
+
+    if (typeName != null)
+    {
+      part.setTypeName(typeName);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(partEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        part.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        // XML Validation will catch this
+        DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    Map extensionAttributes = part.getExtensionAttributes();
+
+    extensionAttributes.putAll(getPartAttributes(partEl, def));
+
+    // Need to do something here to locate part definition.
+
+    // add the location of this element to elementLocations 
+    setLocation(part, partEl);
+
+    return part;
+  }
+
+  /**
+   * Get a map of the part attributes.
+   * 
+   * @param el The part attributes element.
+   * @param def The defintions element.
+   * @return A map containing the part attributes.
+   * @throws WSDLException
+   */
+  protected Map getPartAttributes(Element el, Definition def) throws WSDLException
+  {
+    Map attributes = new HashMap();
+    NamedNodeMap nodeMap = el.getAttributes();
+    int atts = nodeMap.getLength();
+
+    for (int a = 0; a < atts; a++)
+    {
+      Attr attribute = (Attr)nodeMap.item(a);
+      String lName = attribute.getLocalName();
+      String nSpace = attribute.getNamespaceURI();
+      String prefix = attribute.getPrefix();
+      QName name = new QName(nSpace, lName);
+
+      if (nSpace != null && !nSpace.equals(Constants.NS_URI_WSDL))
+      {
+        if (!nSpace.equals(Constants.NS_URI_XMLNS))
+        {
+          String strValue = attribute.getValue();
+          QName qValue = null;
+
+          try
+          {
+            qValue = DOMUtils.getQName(strValue, el);
+          }
+          catch (WSDLException e)
+          {
+            qValue = new QName(strValue);
+          }
+
+          attributes.put(name, qValue);
+
+          String tempNSUri = def.getNamespace(prefix);
+
+          while (tempNSUri != null && !tempNSUri.equals(nSpace))
+          {
+            prefix += "_";
+            tempNSUri = def.getNamespace(prefix);
+          }
+
+          def.addNamespace(prefix, nSpace);
+        }
+      }
+      else if (
+        !lName.equals(Constants.ATTR_NAME)
+          && !lName.equals(Constants.ATTR_ELEMENT)
+          && !lName.equals(Constants.ATTR_TYPE))
+      {
+        WSDLException wsdlExc =
+          new WSDLException(
+            WSDLException.INVALID_WSDL,
+            "Encountered illegal "
+              + "part extension "
+              + "attribute '"
+              + name
+              + "'. Extension "
+              + "attributes must be in "
+              + "a namespace other than "
+              + "WSDL's.");
+
+        wsdlExc.setLocation(XPathUtils.getXPathExprFromNode(el));
+        //throw wsdlExc;
+      }
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(attributes, el);
+
+    return attributes;
+  }
+
+  /**
+   * Parse a specific portType element.
+   * 
+   * @param portTypeEl The portType element.
+   * @param def The defintions element.
+   * @return A WSDL portType element.
+   * @throws WSDLException
+   */
+  protected PortType parsePortType(Element portTypeEl, Definition def) throws WSDLException
+  {
+
+    PortType portType = null;
+    String name = DOMUtils.getAttribute(portTypeEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      QName portTypeName = new QName(def.getTargetNamespace(), name);
+
+      portType = def.getPortType(portTypeName);
+
+      if (portType == null)
+      {
+        portType = def.createPortType();
+        portType.setQName(portTypeName);
+      }
+      else if (!portType.isUndefined())
+      {
+        // if the PortType has already been defined produce an error and return null
+        addReaderError(
+          def,
+          portTypeEl,
+          messagegenerator.getString("_PORTTYPE_NAME_ALREADY_DEFINED", "'" + portType.getQName().getLocalPart() + "'"));
+        return null;
+      }
+    }
+    else
+    {
+      portType = def.createPortType();
+    }
+
+    // Whether it was retrieved or created, the definition has been found.
+    portType.setUndefined(false);
+
+    Element tempEl = DOMUtils.getFirstChildElement(portTypeEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        portType.setDocumentationElement(tempEl);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_OPERATION, tempEl))
+      {
+        // modified so duplicate operations will not be added to porttype 
+        Operation op = parseOperation(tempEl, portType, def);
+        if (op != null)
+        {
+          portType.addOperation(op);
+        }
+        //portType.addOperation(parseOperation(tempEl, portType, def));
+      }
+      else
+      {
+        // something else that shouldn't be here
+        // NEED TO ADD TO ERROR LIST
+        //DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(portType, portTypeEl);
+
+    return portType;
+  }
+
+  /**
+   * Parse a specific operation element.
+   * 
+   * @param opEl The operation element.
+   * @param portType The portType element.
+   * @param def The definitions element.
+   * @return A WSDL operation element.
+   * @throws WSDLException
+   */
+  protected Operation parseOperation(Element opEl, PortType portType, Definition def) throws WSDLException
+  {
+    Operation op = null;
+    String name = DOMUtils.getAttribute(opEl, Constants.ATTR_NAME);
+    String parameterOrderStr = DOMUtils.getAttribute(opEl, Constants.ATTR_PARAMETER_ORDER);
+    Element tempEl = DOMUtils.getFirstChildElement(opEl);
+    List messageOrder = new Vector();
+    Element docEl = null;
+    Input input = null;
+    Output output = null;
+    List faults = new Vector();
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        docEl = tempEl;
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))
+      {
+        input = parseInput(tempEl, def);
+        messageOrder.add(Constants.ELEM_INPUT);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))
+      {
+        output = parseOutput(tempEl, def);
+        messageOrder.add(Constants.ELEM_OUTPUT);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_FAULT, tempEl))
+      {
+        faults.add(parseFault(tempEl, def));
+      }
+      else
+      {
+        // invalid element in the operation
+        // XML check will catch this
+        DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    if (name != null)
+    {
+      String inputName = (input != null ? input.getName() : null);
+      String outputName = (output != null ? output.getName() : null);
+
+      boolean opDefined = false;
+
+      try
+      {
+
+        //op = portType.getOperation(name, inputName, outputName);
+
+        //Operation op = null;
+        List operations = portType.getOperations();
+        if (operations != null)
+        {
+
+          Iterator iOperations = operations.iterator();
+          while (iOperations.hasNext())
+          {
+            boolean inputNamesEqual = false;
+            boolean outputNamesEqual = false;
+            Operation oper = (Operation)iOperations.next();
+            if (oper.getName().equals(name))
+            {
+              Input opInput = oper.getInput();
+              if (opInput != null && input != null)
+              {
+                String opInputName = opInput.getName();
+                if (opInputName != null && inputName != null && opInputName.equals(inputName))
+                {
+                  inputNamesEqual = true;
+                }
+                else if (opInputName == null && inputName == null)
+                {
+                  inputNamesEqual = true;
+                }
+              }
+              else if (opInput == null && input == null)
+              {
+                inputNamesEqual = true;
+              }
+              Output opOutput = oper.getOutput();
+              if (opOutput != null && output != null)
+              {
+                String opOutputName = opOutput.getName();
+                if (opOutputName != null && outputName != null && opOutputName.equals(outputName))
+                {
+                  outputNamesEqual = true;
+                }
+                else if (opOutputName == null && outputName == null)
+                {
+                  outputNamesEqual = true;
+                }
+              }
+              else if (opOutput == null && output == null)
+              {
+                outputNamesEqual = true;
+              }
+              if (inputNamesEqual && outputNamesEqual)
+              {
+                op = oper;
+                break;
+              }
+            }
+          }
+        }
+      }
+      catch (Exception e)
+      {
+        opDefined = true;
+      }
+
+      if (op != null /*&& !op.isUndefined()*/
+        )
+      {
+        //op = null;
+        opDefined = true;
+
+      }
+
+      if (op != null && !opDefined)
+      {
+        if (inputName == null)
+        {
+          Input tempIn = op.getInput();
+
+          if (tempIn != null)
+          {
+            if (tempIn.getName() != null)
+            {
+              //op = null;
+              opDefined = true;
+            }
+          }
+        }
+      }
+
+      if (op != null && !opDefined)
+      {
+        if (outputName == null)
+        {
+          Output tempOut = op.getOutput();
+
+          if (tempOut != null)
+          {
+            if (tempOut.getName() != null)
+            {
+              //op = null;
+              opDefined = true;
+            }
+          }
+        }
+      }
+
+      if (opDefined)
+      {
+        // instead of creating a new one with the same name we're going to return null.
+        // According to the WSDL 1.2 working draft operation overloading is no longer allowed.
+        // Going to use that here to save a lot of work
+        setLocation(op, opEl);
+        addReaderError(
+          portType,
+          op,
+          messagegenerator.getString(
+            "_DUPLICATE_OPERATION_FOR_PORTTYPE",
+            "'" + op.getName() + "'",
+            "'" + portType.getQName().getLocalPart() + "'"));
+        return null;
+      }
+      if (op == null)
+      {
+        op = def.createOperation();
+        op.setName(name);
+
+      }
+    }
+    else
+    {
+      op = def.createOperation();
+    }
+
+    // Whether it was retrieved or created, the definition has been found.
+    op.setUndefined(false);
+
+    if (parameterOrderStr != null)
+    {
+      op.setParameterOrdering(StringUtils.parseNMTokens(parameterOrderStr));
+    }
+
+    if (docEl != null)
+    {
+      op.setDocumentationElement(docEl);
+    }
+
+    if (input != null)
+    {
+      op.setInput(input);
+    }
+
+    if (output != null)
+    {
+      op.setOutput(output);
+    }
+
+    if (faults.size() > 0)
+    {
+      Iterator faultIterator = faults.iterator();
+
+      while (faultIterator.hasNext())
+      {
+        Fault f = (Fault)faultIterator.next();
+        // if the fault isn't defined yet
+        if (op.getFault(f.getName()) == null)
+        {
+          op.addFault(f);
+        }
+        else
+        {
+          addReaderError(
+            op,
+            f,
+            messagegenerator.getString("_DUPLICATE_FAULT_NAME", "'" + f.getName() + "'", "'" + op.getName() + "'"));
+          //faultErrors.add(new Object[]{f,"Duplicate Name",op});
+        }
+      }
+    }
+
+    OperationType style = null;
+
+    if (messageOrder.equals(STYLE_ONE_WAY))
+    {
+      style = OperationType.ONE_WAY;
+    }
+    else if (messageOrder.equals(STYLE_REQUEST_RESPONSE))
+    {
+      style = OperationType.REQUEST_RESPONSE;
+    }
+    else if (messageOrder.equals(STYLE_SOLICIT_RESPONSE))
+    {
+      style = OperationType.SOLICIT_RESPONSE;
+    }
+    else if (messageOrder.equals(STYLE_NOTIFICATION))
+    {
+      style = OperationType.NOTIFICATION;
+    }
+
+    if (style != null)
+    {
+      op.setStyle(style);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(op, opEl);
+
+    // modified to remove duplicate operations
+    //    if(opDefined)
+    //    {
+    //      addReaderError(portType,op,ValidateWSDLPlugin.getInstance().getString("_DUPLICATE_OPERATION_FOR_PORTTYPE","'"+op.getName()+"'","'"+portType.getQName().getLocalPart()+"'"));
+    //      return null;
+    //    }
+    return op;
+  }
+
+  /**
+   * Parse a specific service element.
+   * 
+   * @param serviceEl The service element.
+   * @param def The defintions element.
+   * @return A WSDL service element.
+   * @throws WSDLException
+   */
+  protected Service parseService(Element serviceEl, Definition def) throws WSDLException
+  {
+    Service service = def.createService();
+    String name = DOMUtils.getAttribute(serviceEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      service.setQName(new QName(def.getTargetNamespace(), name));
+    }
+    Service s;
+    // a service with this name has already been defined
+    if ((s = def.getService(service.getQName())) != null)
+    {
+      addReaderError(
+        def,
+        serviceEl,
+        messagegenerator.getString("_SERVICE_NAME_ALREADY_DEFINED", "'" + s.getQName().getLocalPart() + "'"));
+      return s;
+    }
+    Element tempEl = DOMUtils.getFirstChildElement(serviceEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        service.setDocumentationElement(tempEl);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_PORT, tempEl))
+      {
+        service.addPort(parsePort(tempEl, def));
+      }
+      else
+      {
+        service.addExtensibilityElement(parseExtensibilityElement(Service.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(service, serviceEl);
+
+    return service;
+  }
+  
+  /**
+   * Parse a specific port element.
+   * 
+   * @param portEl The port element.
+   * @param def The definitions element.
+   * @return A WSDL port element.
+   * @throws WSDLException
+   */
+  protected Port parsePort(Element portEl, Definition def) throws WSDLException
+  {
+    Port port = def.createPort();
+    String name = DOMUtils.getAttribute(portEl, Constants.ATTR_NAME);
+    QName bindingStr;
+    try
+    {
+      bindingStr = DOMUtils.getQualifiedAttributeValue(portEl, Constants.ATTR_BINDING, Constants.ELEM_PORT, false);
+    }
+    catch (Exception e)
+    {
+      //the call above fails if there is no qualified namespace for the message name
+      bindingStr = new QName(null, DOMUtils.getAttribute(portEl, "binding"));
+    }
+
+    if (name != null)
+    {
+      port.setName(name);
+    }
+
+    if (bindingStr != null)
+    {
+      Binding binding = def.getBinding(bindingStr);
+
+      if (binding == null)
+      {
+        binding = def.createBinding();
+        binding.setQName(bindingStr);
+        def.addBinding(binding);
+      }
+
+      port.setBinding(binding);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(portEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        port.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        port.addExtensibilityElement(parseExtensibilityElement(Port.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(port, portEl);
+
+    return port;
+  }
+
+  /**
+   * Parse a specific extensibility element.
+   * 
+   * @param parentType The parent type of the extensibility element.
+   * @param el The extensibility element.
+   * @param def The definitions element.
+   * @return A WSDL extensibility element.
+   * @throws WSDLException
+   */
+  protected ExtensibilityElement parseExtensibilityElement(Class parentType, Element el, Definition def)
+    throws WSDLException
+  {
+    QName elementType = QNameUtils.newQName(el);
+
+    try
+    {
+      ExtensionRegistry extReg = def.getExtensionRegistry();
+
+      if (extReg == null)
+      {
+        throw new WSDLException(
+          WSDLException.CONFIGURATION_ERROR,
+          "No ExtensionRegistry set for this "
+            + "Definition, so unable to deserialize "
+            + "a '"
+            + elementType
+            + "' element in the "
+            + "context of a '"
+            + parentType.getName()
+            + "'.");
+      }
+
+      ExtensionDeserializer extDS = extReg.queryDeserializer(parentType, elementType);
+
+      // asign the ExtensibilityElement to a var so we can add it to the locations
+      ExtensibilityElement extElem = extDS.unmarshall(parentType, elementType, el, def, extReg);
+      // add the location of this element to elementLocations 
+      // this might not work properly
+      setLocation(extElem, el);
+
+      // register all of the child Elements so we can find them later
+      // used for inline schema validation
+      registerChildElements(extElem);
+
+      return extElem;
+    }
+    catch (WSDLException e)
+    {
+      if (e.getLocation() == null)
+      {
+        e.setLocation(XPathUtils.getXPathExprFromNode(el));
+      }
+      throw e;
+    }
+  }
+
+  /**
+   * Parse a specific input element.
+   * 
+   * @param inputEl The input element.
+   * @param def The defintions element.
+   * @return A WSDL input element.
+   * @throws WSDLException
+   */
+  protected Input parseInput(Element inputEl, Definition def) throws WSDLException
+  {
+
+    Input input = def.createInput();
+    String name = DOMUtils.getAttribute(inputEl, Constants.ATTR_NAME);
+    QName messageName = null;
+    try
+    {
+      messageName = DOMUtils.getQualifiedAttributeValue(inputEl, Constants.ATTR_MESSAGE, Constants.ELEM_INPUT, false);
+    }
+    catch (Exception e)
+    {
+      //the call above fails if there is no qualified namespace for the message name
+      messageName = new QName(null, DOMUtils.getAttribute(inputEl, "message"));
+    }
+
+    if (name != null)
+    {
+      input.setName(name);
+    }
+
+    if (messageName != null)
+    {
+      Message message = def.getMessage(messageName);
+
+      if (message == null)
+      {
+        message = def.createMessage();
+        message.setQName(messageName);
+        def.addMessage(message);
+      }
+
+      input.setMessage(message);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(inputEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        input.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        // XML Validation will catch this
+        DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(input, inputEl);
+
+    return input;
+  }
+
+  /**
+   * Parse a specific output element.
+   * 
+   * @param outputEl The output element.
+   * @param def The defintions element.
+   * @return A WSDL output element.
+   * @throws WSDLException
+   */
+  protected Output parseOutput(Element outputEl, Definition def) throws WSDLException
+  {
+    Output output = def.createOutput();
+    String name = DOMUtils.getAttribute(outputEl, Constants.ATTR_NAME);
+    QName messageName = null;
+    try
+    {
+      messageName = DOMUtils.getQualifiedAttributeValue(outputEl, Constants.ATTR_MESSAGE, Constants.ELEM_OUTPUT, false);
+    }
+    catch (Exception e)
+    {
+      //the call above fails if there is no qualified namespace for the message name
+      messageName = new QName(null, DOMUtils.getAttribute(outputEl, "message"));
+    }
+
+    if (name != null)
+    {
+      output.setName(name);
+    }
+
+    if (messageName != null)
+    {
+      Message message = def.getMessage(messageName);
+
+      if (message == null)
+      {
+        message = def.createMessage();
+        message.setQName(messageName);
+        def.addMessage(message);
+      }
+
+      output.setMessage(message);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(outputEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        output.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        // XML Validation will catch this
+        DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(output, outputEl);
+
+    return output;
+  }
+
+  /**
+   * Parse a specific fault element.
+   * 
+   * @param faultEl The fault element to parse.
+   * @param def The definitions element.
+   * @return A WSDL fault element.
+   * @throws WSDLException
+   */
+  protected Fault parseFault(Element faultEl, Definition def) throws WSDLException
+  {
+    Fault fault = def.createFault();
+    String name = DOMUtils.getAttribute(faultEl, Constants.ATTR_NAME);
+    QName messageName = null;
+    try
+    {
+      messageName = DOMUtils.getQualifiedAttributeValue(faultEl, Constants.ATTR_MESSAGE, Constants.ELEM_INPUT, false);
+    }
+    catch (Exception e)
+    {
+      //the call above fails if there is no qualified namespace for the message name
+      messageName = new QName(null, DOMUtils.getAttribute(faultEl, "message"));
+    }
+
+    if (name != null)
+    {
+      fault.setName(name);
+    }
+
+    if (messageName != null)
+    {
+      Message message = def.getMessage(messageName);
+
+      if (message == null)
+      {
+        message = def.createMessage();
+        message.setQName(messageName);
+        def.addMessage(message);
+      }
+
+      fault.setMessage(message);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(faultEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        fault.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        // XML Validation will catch this
+        DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    // add the location of this element to elementLocations 
+    setLocation(fault, faultEl);
+
+    return fault;
+  }
+  
+  /**
+   * Set the messagegenerator for the reader.
+   * 
+   * @param mg The message generator to set.
+   */
+  public void setMessageGenerator(MessageGenerator mg)
+  {
+    messagegenerator = mg;
+  }
+
+  /**
+   * Add the refObject to the elementLocation hashtable with the location defined in element.
+   * 
+   * @param refObject The object to add.
+   * @param element The element that contains the location information.
+   */
+  protected void setLocation(Object refObject, Element element)
+  {
+    try
+    {
+      ElementImpl elementImpl = (ElementImpl)element;
+      ElementLocation elementLocation = (ElementLocation)elementImpl.getUserData();
+      if (elementLocation != null)
+      {
+
+        elementLocations.put(
+          refObject,
+          new LocationHolder(elementLocation.getLineNumber(), elementLocation.getColumnNumber(), def.getDocumentBaseURI()));
+      }
+    }
+    catch (ClassCastException e)
+    {
+    }
+  }
+  /**
+   * Add a reader error to the list.
+   * 
+   * @param parentobject The parent object of the object with the error.
+   * @param object The object with the error.
+   * @param error The error message.
+   */
+  protected void addReaderError(Object parentobject, Object object, String error)
+  {
+    readerErrors.add(new ReaderError(parentobject, object, error));
+  }
+  
+  /**
+   * Add a reader warning to the list.
+   * 
+   * @param parentobject The parent object of the object with the error.
+   * @param object The object with the error.
+   * @param warning The warning message.
+   */
+  protected void addReaderWarning(Object parentobject, Object object, String warning)
+  {
+    readerWarnings.add(new ReaderError(parentobject, object, warning));
+  }
+  
+  /**
+   * Register all of the locations of the child elements of the extensibility
+   * element given.
+   * 
+   * @param extElem The extensibility element whose child elements will be registered.
+   */
+
+  protected void registerChildElements(ExtensibilityElement extElem)
+  {
+    // only add those that are of type unknown. if they're known they 
+    // will take care of themselves
+    if (extElem instanceof UnknownExtensibilityElement)
+    {
+      Element elem = ((UnknownExtensibilityElement)extElem).getElement();
+      registerChildElementsRecursively(elem);
+    }
+  }
+
+  /**
+   * Register the location of all of the child elements of elem.
+   * 
+   * @param elem The element whose child elements will be registered.
+   */
+  protected void registerChildElementsRecursively(Element elem)
+  {
+    if (elem instanceof ElementNSImpl)
+    {
+      setLocation(elem, elem);
+
+      // call the method recursively for each child element
+      NodeList childNodes = elem.getChildNodes();
+
+      for (int i = 0; i < childNodes.getLength() || i < 5; i++)
+      {
+        Node n = childNodes.item(i);
+        // we only want nodes that are Elements
+        if (n instanceof Element)
+        {
+          Element child = (Element)n;
+          registerChildElementsRecursively(child);
+        }
+      }
+    }
+  }
+  /**
+   * Check that an element name matches the expected name.
+   * 
+   * @param el The element with the name to check.
+   * @param qname The name to check against.
+   * @throws WSDLException
+   */
+  private static void checkElementName(Element el, QName qname) throws WSDLException
+  {
+    if (!QNameUtils.matches(qname, el))
+    {
+      WSDLException wsdlExc = new WSDLException(WSDLException.INVALID_WSDL, "Expected element '" + qname + "'.");
+
+      wsdlExc.setLocation(XPathUtils.getXPathExprFromNode(el));
+
+      throw wsdlExc;
+    }
+  }
+  
+  /**
+   * Get the element locations hashtable.
+   * 
+   * @return The element locations hashtable.
+   */
+  public Hashtable getElementLocations()
+  {
+    return elementLocations;
+  }
+  
+  /**
+   * Get the reader errors.
+   * 
+   * @return The reader errors.
+   */
+  public List getReaderErrors()
+  {
+    return readerErrors;
+  }
+  
+  /**
+   * Get reader warnings.
+   * 
+   * @return The reader warnings.
+   */
+  public List getReaderWarnings()
+  {
+    return readerWarnings;
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLReaderImpl.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/http/HTTPValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/http/HTTPValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/http/HTTPValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/http/HTTPValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/mime/MIMEValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/mime/MIMEValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/mime/MIMEValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/mime/MIMEValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/soap/SOAPValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/soap/SOAPValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/soap/SOAPValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/soap/SOAPValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/DOMError.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/DOMError.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/DOMError.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/DOMError.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/FileEntityResolver.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/FileEntityResolver.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/FileEntityResolver.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/FileEntityResolver.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGenerator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGenerator.java
new file mode 100644
index 0000000..3b75c3e
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGenerator.java
@@ -0,0 +1,688 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
+
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.Vector;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import com.ibm.wsdl.Constants;
+
+/**
+ * Generate a String representation of a schema for an inline schema. Will add imports for unresolved
+ * namespaces.
+ */
+public class InlineSchemaGenerator
+{
+  /**
+   * Generating import statements for inline schema references is 
+   * invalid according to the WSDL spec. As some older clients (WSVT) may
+   * depend on this functionality the option to allow this is left
+   * in. This should be removed post 1.5.
+   * TODO: Review removing this preference.
+   */
+  protected static boolean GENERATE_INLINE_IMPORTS = false;
+  
+  protected static final String SOAP_ENCODING_URI = "http://schemas.xmlsoap.org/soap/encoding/";
+  protected static final String FILE_PREFIX = "file:///";
+  protected static final String XMLNS = "xmlns";
+  protected static final String TARGETNAMESPACE = "targetNamespace";
+  protected static final String NAMESPACE = "namespace";
+  protected static final String IMPORT = "import";
+  protected static final String INCLUDE = "include";
+  protected static final String SCHEMA = "schema";
+  protected static final String SCHEMALOCATION = "schemaLocation";
+  protected static final String TYPE = "type";
+  protected static final String NAME = "name";
+  protected static final String[] ignoreNamespaces =
+    { Constants.NS_URI_XSD_1999, Constants.NS_URI_XSD_2000, Constants.NS_URI_XSD_2001 };
+
+  protected static InlineSchemaGenerator instance = null;
+
+  /**
+   * Constructor.
+   */
+  protected InlineSchemaGenerator()
+  {
+	String genInlineImports = System.getProperty("wsdl.require.inline.imports");
+	if(genInlineImports != null && genInlineImports.equals("false"))
+	{
+	  GENERATE_INLINE_IMPORTS = true;
+	}
+  }
+
+  /**
+   * Get the instance of the InlineSchemaGenerator.
+   * 
+   * @return The instance of the inline schema generator.
+   */
+  protected static InlineSchemaGenerator getInstance()
+  {
+    if (instance == null)
+    {
+      instance = new InlineSchemaGenerator();
+    }
+    return instance;
+  }
+  
+  /**
+   * Create a string representation of a schema from the element provided.
+   * 
+   * @param element The root element of the schema.
+   * @param elements A list of the elements in the schema in order.
+   * @param filelocation The URI of the file that contains the schema.
+   * @param validImportNSs A set of namespaces for which it's valid to create import statements.
+   * @return A string representation of a schema.
+   */
+  public static String createXSDString(Element element, List elements, String filelocation, Set validImportNSs)
+  {
+	  return InlineSchemaGenerator.createXSDString(element, elements, filelocation, new Hashtable(), validImportNSs);
+  }
+  
+  /**
+  	* Creates a String representing the schema model with the root element of
+  	* extElem. Calls createXSDStringRecursively to take care of building the String
+  	* after it obtains the Element from the UnknownExtensibilityElement.
+  	* 
+  	* @param element The root element of the schema.
+  	* @param elements A list to contain the elements in the schema in order.
+  	* @param filelocation The location of the file the schema is located in.
+  	* @param parentNSs A hashtable of parent namespaces to used to resolve prefixes.
+  	* @param validImportNSs A set of namespaces for which it's valid to create import statements.
+  	* @return A string representation of the schema with the root element 'element'.
+  	*/
+  public static String createXSDString(Element element, List elements, String filelocation, Hashtable parentNSs, Set validImportNSs)
+  {
+	Set importNSs = new TreeSet(); 
+    importNSs.addAll(validImportNSs); 
+    importNSs.add(SOAP_ENCODING_URI); 
+
+    InlineSchemaGenerator schemaGenerator = InlineSchemaGenerator.getInstance();
+    Hashtable nsResolver = schemaGenerator.getNSResolver(element);
+    List reqns = schemaGenerator.getNamespacePrefixes(element);
+    Hashtable reqNSDecl = schemaGenerator.resolveNamespaces(reqns, nsResolver, parentNSs);
+    //Hashtable reqNSDecl = schemaGenerator.getRequiredNSDeclarations(reqns, nsResolver, parentNSs);
+    if(GENERATE_INLINE_IMPORTS)
+    {
+      List importNS = schemaGenerator.getImportNamespaces(element);
+      reqns = schemaGenerator.removeImports(reqns, importNS);
+      reqns = schemaGenerator.removeLocalNamespaces(reqns, element);
+	  reqns = schemaGenerator.restrictImports(reqns, validImportNSs);
+    }
+    else
+    {
+      reqns.clear();
+    }
+    return schemaGenerator.createXSDStringRecursively(element, elements, reqns, reqNSDecl, filelocation);
+  }
+  /**
+   * Returns true if the SOAP encoding namespace is required but not imported.
+   * 
+   * @param element The root element of the schema.
+   * @param filelocation The location of the file containing the schema.
+   * @param parentNSs A hashtable of the parent namespaces.
+   * @return True if the soap encoding namespace is required but not imported, false otherwise.
+   */
+  public static boolean soapEncodingRequiredNotImported(Element element, String filelocation, Hashtable parentNSs)
+  {
+    InlineSchemaGenerator schemaGenerator = InlineSchemaGenerator.getInstance();
+    Hashtable nsResolver = schemaGenerator.getNSResolver(element);
+    List reqns = null;
+
+    reqns = schemaGenerator.getNamespacePrefixes(element);
+    schemaGenerator.resolveNamespaces(reqns, nsResolver, parentNSs);
+    //schemaGenerator.resolveUndeclaredNamespaces(reqns, parentNSs);
+    List importNS = schemaGenerator.getImportNamespaces(element);
+    reqns = schemaGenerator.removeImports(reqns, importNS);
+    reqns = schemaGenerator.removeLocalNamespaces(reqns, element);
+    return schemaGenerator.checkSOAPEncodingRequired(reqns);
+  }
+  /**
+   * Resolve the undeclared namespaces.
+   * 
+   * @param unresolvedNSs A list of unresolved namespaces.
+   * @param nsResolver The namespace resolver to use.
+   * @return A hashtable of prefixes and namespaces.
+   */
+//  protected Hashtable resolveUndeclaredNamespaces(List unresolvedNSs, Hashtable nsResolver)
+//  {
+//    Hashtable namespaces = new Hashtable();
+//    if (unresolvedNSs != null && !unresolvedNSs.isEmpty() && nsResolver != null)
+//    {
+//      for (int i = unresolvedNSs.size() - 1; i >= 0; i--)
+//      {
+//        String ns = (String)unresolvedNSs.get(i);
+//        if (ns.equals(""))
+//        {
+//          ns = XMLNS;
+//        }
+//        else
+//        {
+//          ns = XMLNS + ":" + ns;
+//        }
+//        if (nsResolver.containsKey(ns))
+//        {
+//          //namespaces.remove(i);
+//          //namespaces.add(i, nsResolver.get(ns));
+//          namespaces.put(ns, nsResolver.get(ns));
+//          unresolvedNSs.remove(i);
+//          unresolvedNSs.add(i, nsResolver.get(ns));
+//        }
+//      }
+//    }
+//    return namespaces;
+//  }
+
+  /**
+   * This recursive method creates the schema String from the root Element.
+   * 
+   * @param elem The root element of the schema.
+   * @param elements A list to be created of the elements in the schema in order.
+   * @param requiredNamespaces A list of required namespaces.
+   * @param reqNSDecl A hashtable of required namespace declarations.
+   * @param filelocation The uri of the file that contains this schema.
+   * @return A string representation of this schema.
+   */
+  protected String createXSDStringRecursively(
+    Element elem,
+    List elements,
+    List requiredNamespaces,
+    Hashtable reqNSDecl,
+    String filelocation)
+  {
+    if (elem == null)
+      return ""; // just in case
+
+    elements.add(elem);
+
+    StringBuffer xsdString = new StringBuffer();
+    String elementName = elem.getTagName();
+    xsdString.append("<").append(elementName);
+
+    boolean foundSchemaLocation = false; // flag if schemalocation is defined
+    String namespace = ""; // the namespace if we're checking an import or include
+    String namePrefix = ""; // the xmlns prefix used for the elements
+    // Get all of the attributes for this element and append them to the xsdString
+    NamedNodeMap atts = elem.getAttributes();
+    for (int i = 0; i < atts.getLength(); i++)
+    {
+      Node n = atts.item(i);
+      xsdString.append(" ").append(n.getNodeName()).append("=\"");
+      String nodeName = n.getNodeName();
+      if (nodeName.equalsIgnoreCase(SCHEMALOCATION) && filelocation != null)
+      {
+        foundSchemaLocation = true;
+        String relativePath = n.getNodeValue();
+        xsdString.append(relativePath).append("\"");   
+      }
+      else
+      {
+        String nodeValue = n.getNodeValue();
+        if (nodeName.equalsIgnoreCase(NAMESPACE))
+        {
+          namespace = nodeValue;
+        }
+        // get the name prefix for this schema to use in generating import statements
+        else if (nodeName.indexOf(XMLNS) != -1)
+        {
+
+          if (nodeValue.equalsIgnoreCase(elem.getNamespaceURI()))
+          {
+            namePrefix = nodeName;
+            if (namePrefix.equalsIgnoreCase(XMLNS))
+            {
+              namePrefix = "";
+            }
+            else
+            {
+              namePrefix = namePrefix.substring(6) + ":";
+            }
+          }
+        }
+        // Replace old schema namespaces with the new schema namespace.
+        if(nodeValue.equals(Constants.NS_URI_XSD_1999) || nodeValue.equals(Constants.NS_URI_XSD_2000))
+         {
+          nodeValue = Constants.NS_URI_XSD_2001;
+        }
+        xsdString.append(nodeValue).append("\"");
+      }
+    }
+    if (elementName.equalsIgnoreCase("import") && !foundSchemaLocation)
+    {
+      xsdString.append(" ").append(SCHEMALOCATION).append("=\"").append(namespace).append("\"");
+    }
+    // add in any required NS declarations from parent elements
+    if (reqNSDecl != null)
+    {
+      Enumeration keys = reqNSDecl.keys();
+      while (keys.hasMoreElements())
+      {
+        String key = (String)keys.nextElement();
+        String declNS = (String)reqNSDecl.get(key);
+        if(declNS.equals(Constants.NS_URI_XSD_1999) || declNS.equals(Constants.NS_URI_XSD_2000))
+         {
+          declNS = Constants.NS_URI_XSD_2001;
+        }
+        xsdString.append(" ").append(key).append("=\"").append(declNS).append("\"");
+      }
+
+    }
+    xsdString.append(">");
+    if (requiredNamespaces != null)
+    {
+      Iterator iRequiredNamespaces = requiredNamespaces.iterator();
+      while (iRequiredNamespaces.hasNext())
+      {
+        String ns = (String)iRequiredNamespaces.next();
+
+        xsdString
+          .append("<")
+          .append(namePrefix)
+          .append(IMPORT)
+          .append(" ")
+          .append(NAMESPACE)
+          .append("=\"")
+          .append(ns)
+          .append("\" ")
+          .append(SCHEMALOCATION)
+          .append("=\"")
+          .append(ns)
+          .append("\"/>");
+      }
+
+    }
+    xsdString.append("\n");
+
+    // call the method recursively for each child element
+    NodeList childNodes = elem.getChildNodes();
+
+    for (int i = 0; i < childNodes.getLength() || i < 5; i++)
+    {
+      Node n = childNodes.item(i);
+      // we only want nodes that are Elements
+      if (n instanceof Element)
+      {
+        Element child = (Element)n;
+        xsdString.append(createXSDStringRecursively(child, elements, null, null, filelocation));
+      }
+    }
+
+    xsdString.append("</").append(elem.getTagName()).append(">");
+
+    return xsdString.toString();
+
+  }
+  /**
+   * Get a list of all the namespace prefixes that are used for elements or types in the schema.
+   *  
+   * @param elem The root element of the schema to check for namespace prefixes.
+   * @return A list of namespace prefixes for the element and all its children.
+   */
+  protected List getNamespacePrefixes(Element elem)
+  {
+    List namespace = new ArrayList();
+
+    // call the method recursively for each child element
+    // register all the child types first
+    NodeList childNodes = elem.getChildNodes();
+    int numChildren = childNodes.getLength();
+    for (int i = 0; i < numChildren; i++)
+    {
+      Node n = childNodes.item(i);
+      // we only want nodes that are Elements
+      if (n instanceof Element)
+      {
+        Element child = (Element)n;
+        List childns = getNamespacePrefixes(child);
+        for (int j = childns.size() - 1; j >= 0; j--)
+        {
+          String ns = (String)childns.get(j);
+          
+          if (!namespace.contains(ns))
+          {
+            namespace.add(ns);
+          }
+        }
+      }
+    }
+    // Add the namespace of the current element
+    String elemNS = elem.getPrefix();
+    // if there is no namespace prefix set it to the empty prefix.
+    if(elemNS == null)
+    {
+      elemNS = "";
+    }
+    if (!namespace.contains(elemNS))
+     {
+      namespace.add(elemNS);
+    }
+    // now add all of the current element's namespaces
+    // don't include import and schema elements
+    String localname = elem.getLocalName();
+    if (!localname.equals(IMPORT) && !localname.equals(INCLUDE) && !localname.equals(SCHEMA))
+    {
+      NamedNodeMap atts = elem.getAttributes();
+      for (int i = 0; i < atts.getLength(); i++)
+      {
+        Node n = atts.item(i);
+
+        String nodeName = n.getNodeName();
+        // removed restriction that we're only looking at types
+        //		if (nodeName.equalsIgnoreCase(TYPE))
+        //		{
+        // don't take namespace info from attributes defining namespaces.
+        // that includes xmlns, targetNamespace
+        if (nodeName.indexOf(XMLNS) != -1 || nodeName.equals(TARGETNAMESPACE) || nodeName.equals(NAME))
+        {
+          continue;
+        }
+        // Grab namespace prefixes from attributes.
+        else
+        {
+          int colonIndex = nodeName.indexOf(":");
+          if(colonIndex != -1 && (colonIndex + 1 < nodeName.length() && nodeName.charAt(colonIndex + 1) != '/'))
+          {
+            String prefix = nodeName.substring(0, colonIndex);
+            if (!namespace.contains(prefix))
+            {
+
+              namespace.add(prefix);
+            }
+          }
+        }
+        String nodeValue = n.getNodeValue();
+        
+        
+        int colonIndex = nodeValue.indexOf(":");
+        // Don't take namespace info from attributes with the default namespace, that is attributes
+        // that are not prefixed. (colonIndex == -1)
+        // If the colonIndex is followed by a / then it is a URI and not
+        // namespace qualified.
+		if (colonIndex == -1 || (colonIndex + 1 < nodeValue.length() && nodeValue.charAt(colonIndex + 1) == '/'))
+        {
+          continue;
+        }
+        // here we have found a colon delimiter so we need the namespace defined here
+        else
+        {
+          nodeValue = nodeValue.substring(0, colonIndex);
+        }
+        if (!namespace.contains(nodeValue))
+        {
+
+          namespace.add(nodeValue);
+        }
+      }
+    }
+
+    return namespace;
+
+  }
+
+  /**
+   * Get a list of all the namespaces that have an import statement.
+   * 
+   * @param elem The root element of the schema.
+   * @return A list of all the namespaces that are imported.
+   */
+  protected List getImportNamespaces(Element elem)
+  {
+    List namespace = new Vector();
+
+    // call the method recursively for each child element
+    // register all the child types first
+    NodeList childNodes = elem.getChildNodes();
+
+    for (int i = 0; i < childNodes.getLength() || i < 5; i++)
+    {
+      Node n = childNodes.item(i);
+      // we only want nodes that are Elements
+      if (n instanceof Element)
+      {
+        Element child = (Element)n;
+        List childns = getImportNamespaces(child);
+        for (int j = childns.size() - 1; j >= 0; j--)
+        {
+          String ns = (String)childns.get(j);
+          if (!namespace.contains(ns))
+          {
+            namespace.add(ns);
+          }
+        }
+      }
+    }
+    // if this is an import element get the namespace and add it to the list
+    if (elem.getLocalName().equalsIgnoreCase(IMPORT))
+    {
+      NamedNodeMap atts = elem.getAttributes();
+      for (int i = 0; i < atts.getLength(); i++)
+      {
+        Node n = atts.item(i);
+
+        String nodeName = n.getNodeName();
+        if (nodeName.equalsIgnoreCase(NAMESPACE))
+        {
+          String nodeValue = n.getNodeValue();
+          if (!namespace.contains(nodeValue))
+          {
+
+            namespace.add(nodeValue);
+          }
+        }
+      }
+    }
+
+    return namespace;
+
+  }
+
+  /**
+   * Return a Hashtable with namespace prefixes as keys from the given element.
+   * 
+   * @param elem The root element of the schema.
+   * @return A hashtable with namespace prefixes mapped to namespaces.
+   */
+  protected Hashtable getNSResolver(Element elem)
+  {
+    Hashtable nsResolver = new Hashtable();
+
+    NamedNodeMap atts = elem.getAttributes();
+    for (int i = 0; i < atts.getLength(); i++)
+    {
+      Node n = atts.item(i);
+
+      String nodeName = n.getNodeName();
+      if (nodeName.indexOf(XMLNS) != -1)
+      {
+        String nodeValue = n.getNodeValue();
+        String namePrefix = nodeName;
+
+        if (namePrefix.equalsIgnoreCase(XMLNS))
+        {
+          namePrefix = "";
+        }
+        else
+        {
+          namePrefix = namePrefix.substring(6);
+        }
+        nsResolver.put(namePrefix, nodeValue);
+
+      }
+    }
+    return nsResolver;
+
+  }
+
+  /**
+   * Resolve the namespaces in the given namespaces list with the two namespace
+   * resolver hashtables provided. Return a list of all the namespace that need
+   * to be declared.
+   * First resolve against the local namespaces with nsResolver.
+   * Next resolve against the parent namespace with parentNSResolver.
+   * A side affect of this method is the namespaces list is left with only those 
+   * namespaces that are resolved and the resolved entities are placed in the 
+   * list instead of the original entries.
+   * For ex. If you provide a list such as {xsd, intf} and only xsd can be resolved
+   * you will end up with the list {http://www.w3.org/2001/XMLSchema}
+   * 
+   * @param namespaces The list of namespaces to resolve.
+   * @param nsResolver The hashtable to be used as the local resolver.
+   * @param parentNSResolver The hashtable to be used as the parent namespace resolver.
+   * @return A Hashtable of namespaces that must be declared.
+   */
+  protected Hashtable resolveNamespaces(List namespaces, Hashtable nsResolver, Hashtable parentNSResolver)
+  {
+  	Hashtable reqNSDecl = new Hashtable();
+    if (namespaces != null && !namespaces.isEmpty() && nsResolver != null)
+    {
+      for (int i = namespaces.size() - 1; i >= 0; i--)
+      {
+        String ns = (String)namespaces.get(i);
+        // Remove the namespace from the list.
+        namespaces.remove(i);
+        // First try to resolve against the local namespace resolver.
+        if (nsResolver.containsKey(ns))
+        {
+          Object resolvedNS = nsResolver.get(ns);
+          // Only add the namespace if it's not already in the list.
+          if(!namespaces.contains(resolvedNS))
+          {
+            namespaces.add(i, nsResolver.get(ns));
+          }
+        }
+        // Next try to resolve against the parent namespace resolver.
+        else
+        {
+        	if (ns.equals(""))
+            {
+              ns = XMLNS;
+            }
+            else
+            {
+              ns = XMLNS + ":" + ns;
+            }
+            if (parentNSResolver.containsKey(ns))
+            {
+              Object resolvedNS = parentNSResolver.get(ns);
+              // Only add the namespace if it's not already in the list.
+              if(!namespaces.contains(resolvedNS))
+              {
+                namespaces.add(i, resolvedNS);
+              }
+              // Still need to declare the namespace though.
+              reqNSDecl.put(ns, resolvedNS);
+            }
+        }
+
+      }
+    }
+    return reqNSDecl;
+  }
+
+  /**
+   * Remove any namespace from the namespaces list if it is in the import list.
+   * 
+   * @param namespaces The namespaces list.
+   * @param importedNamespaces A list of imported namespaces.
+   * @return The list of namespaces without the imported namespaces.
+   */
+  protected List removeImports(List namespaces, List importedNamespaces)
+  {
+    if (namespaces != null && importedNamespaces != null && !importedNamespaces.isEmpty())
+    {
+      Iterator iImportedNS = importedNamespaces.iterator();
+      while (iImportedNS.hasNext())
+      {
+        String iNS = (String)iImportedNS.next();
+
+        namespaces.remove(iNS);
+      }
+    }
+    return namespaces;
+  }
+
+  /**
+   * Remove the local namespace for the schema and the namespaces listed in the ignoreNamespaces
+   * list from the namespaces list provided.
+   * 
+   * @param namespaces The list of local namespaces.
+   * @param elem The root element of the schema.
+   * @return The list of namespaces with the local namespaces removed.
+   */
+  protected List removeLocalNamespaces(List namespaces, Element elem)
+  {
+    if (namespaces != null && elem != null)
+    {
+      String ns = elem.getAttribute(TARGETNAMESPACE);
+      namespaces.remove(ns);
+
+      for (int i = ignoreNamespaces.length - 1; i >= 0; i--)
+      {
+        // keep removing the namespace until it is not in the list
+        if (namespaces.remove(ignoreNamespaces[i]))
+        {
+          i++;
+        }
+      }
+    }
+    return namespaces;
+  }
+  
+  /** 
+   * Remove all the namespaces in the namespaces list that aren't contained in the 
+   * validImportNSs set. 
+   * 
+   * @param namespaces A list of namespaces. 
+   * @param validImportNSs A set of valid namespaces. 
+   * @return A list of namespaces that does not contain any members which aren't in the validImportNSs set. 
+   */ 
+  protected List restrictImports(List namespaces, Set validImportNSs) 
+  { 
+        Iterator nsIter = namespaces.iterator(); 
+        while(nsIter.hasNext()) 
+        { 
+          String ns = (String)nsIter.next(); 
+          if(!validImportNSs.contains(ns)) 
+          { 
+                namespaces.remove(ns); 
+				nsIter = namespaces.iterator();
+          } 
+        } 
+        return namespaces; 
+  } 
+
+  /**
+   * Returns true if the SOAP encoding namespace is in the list of required namespaces,
+   * false otherwise.
+   * 
+   * @param reqns The list of namespaces to check for the SOAP encoding namespace.
+   * @return True if the SOAP encoding namespaces is in the list, false otherwise.
+   */
+  protected boolean checkSOAPEncodingRequired(List reqns)
+  {
+    if (reqns.contains(SOAP_ENCODING_URI))
+    {
+      return true;
+    }
+    return false;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaValidator.java
new file mode 100644
index 0000000..c1dcb65
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaValidator.java
@@ -0,0 +1,315 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ResourceBundle;
+import java.util.Set;
+import java.util.TreeSet;
+
+import javax.wsdl.Definition;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+
+import org.apache.xerces.xni.parser.XMLEntityResolver;
+import org.apache.xerces.xs.XSModel;
+import org.eclipse.wst.wsdl.validation.internal.util.ErrorMessage;
+import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.IWSDL11Validator;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.IWSDL11ValidationInfo;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+import com.ibm.wsdl.Constants;
+
+/**
+ * Plugin validator for the WSDL Validation framework. Validates inline schema found in a WSDL document.
+ */
+public class InlineSchemaValidator implements IWSDL11Validator
+{
+  /**
+   * Property to allow the WSDL validator to use the target namespace
+   * defined on the WSDL document for schemas with no target namespace.
+   * This property will allow clients who depend on this functionality
+   * to continue to use it and should be removed post 1.5.
+   */
+  private boolean USE_WSDL_TARGETNAMESPACE = false;
+  
+  private final String _WARN_OLD_SCHEMA_NAMESPACE = "_WARN_OLD_SCHEMA_NAMESPACE";
+  private final String _WARN_SOAPENC_IMPORTED_SCHEMA = "_WARN_SOAPENC_IMPORTED_SCHEMA";
+  private final String EMPTY_STRING = "";
+  private final String QUOTE = "'";
+  MessageGenerator messagegenerator = null;
+  
+  public InlineSchemaValidator()
+  {
+	String useNS = System.getProperty("use.wsdl.targetnamespace");
+	if(useNS != null && useNS.equals("true"))
+	{
+	  USE_WSDL_TARGETNAMESPACE = true;
+	}
+  }
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.IWSDL11Validator#validate(java.lang.Object, java.util.List, org.eclipse.wsdl.validate.wsdl11.WSDL11ValidationInfo)
+   */
+  public void validate(Object element, List parents, IWSDL11ValidationInfo valInfo)
+  {
+  	List elements = new ArrayList();
+    UnknownExtensibilityElement elem = (UnknownExtensibilityElement) element;
+    Definition wsdlDefinition = (Definition) parents.get(parents.size() - 1);
+    String baseLocation = wsdlDefinition.getDocumentBaseURI();
+    // Add in the namespaces defined in the doc already that aren't defined locally in this schema.
+    // There is no need to check for namespaces other then in the defintions and types elements as
+    // inline schema can not have any other parents and must have there two parents.
+    // First take care of the definitions element
+    
+    // create the inline schema string
+	Element w3celement = elem.getElement();
+	Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,w3celement);
+	String targetNamespace = w3celement.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
+	// if the targetNamespace hasn't been defined for the schema use the 
+	// targetNamespace of the definitions element
+	if(USE_WSDL_TARGETNAMESPACE && (targetNamespace == null || targetNamespace.equals(EMPTY_STRING)))
+	 {
+	  targetNamespace = wsdlDefinition.getTargetNamespace();
+	  w3celement.setAttribute(Constants.ATTR_TARGET_NAMESPACE,targetNamespace);
+	}
+	
+    // If the namespace given is one of the old schema namespaces produce a warning.
+	String namespace = w3celement.getNamespaceURI();
+	if(namespace.equals(Constants.NS_URI_XSD_1999) || namespace.equals(Constants.NS_URI_XSD_2000))
+	 {
+	  valInfo.addWarning(
+	      messagegenerator.getString(_WARN_OLD_SCHEMA_NAMESPACE, QUOTE + Constants.NS_URI_XSD_2001 + QUOTE), element);
+	}
+	
+    // now create and call the validator for the inline schema
+    XSDValidator schemav = new XSDValidator();
+    
+    //String fileLocation = new URL(validatormanager.getFilename()).getPath();
+    InlineXSDResolver inlineEntityResolver =
+      getEntityResolver(wsdlDefinition, (Types) parents.get(0), baseLocation, targetNamespace);
+    //	add in the external XSD Catalog to resolve schemas offline
+    XMLEntityResolverChain entityResolverChain = new XMLEntityResolverChain();
+    entityResolverChain.addEntityResolver(inlineEntityResolver);
+    entityResolverChain.addEntityResolver((XMLEntityResolver)valInfo.getURIResolver());
+    //entityResolverChain.addEntityResolver(XMLCatalogResolver.getInstance());
+    entityResolverChain.addEntityResolver(new FileEntityResolver());
+	
+    //	 Create the string representation of the inline schema. 
+    String xsd = InlineSchemaGenerator.createXSDString(w3celement, elements, baseLocation, parentnamespaces, inlineEntityResolver.getInlineSchemaNSs()); 
+
+	
+    schemav.validateInlineSchema(xsd, targetNamespace, baseLocation, entityResolverChain, inlineEntityResolver);
+    
+//	check if the SOAP Encoding namespace is required but not imported
+		 if (InlineSchemaGenerator.soapEncodingRequiredNotImported(elem.getElement(), baseLocation, parentnamespaces))
+		 {
+		   valInfo.addWarning(messagegenerator.getString(_WARN_SOAPENC_IMPORTED_SCHEMA), element);
+		 }
+
+    // If the schema isn't valid add the error messages produced to valinfo.
+    // Don't add the errors if they are located on another inline schema. These
+	// will be reported when the other schema is validated.
+		 
+    if (!schemav.isValid())
+    {
+      Iterator errors = schemav.getErrors().iterator();
+      while (errors.hasNext())
+      {
+        ErrorMessage err = (ErrorMessage) errors.next();
+        String uri = err.getURI();
+        int line = err.getErrorLine();
+        String errmess = err.getErrorMessage();
+        errmess = replaceNamespace(errmess, namespace);
+        if(line > 0)
+        {
+          if(uri == null || uri.equals(valInfo.getFileURI()))
+          {
+			valInfo.addError(errmess, getObjectAtLine(line - 1, elements));
+          }
+		  else if(!inlineEntityResolver.isInlineSchema(uri) && !uri.equals(valInfo.getFileURI() + InlineXSDResolver.INLINE_SCHEMA_ID))
+          {
+            valInfo.addError(errmess, line, err.getErrorColumn(), uri);
+          }
+        }
+		else if(uri != null && !inlineEntityResolver.isInlineSchema(uri) && !uri.equals(valInfo.getFileURI() + InlineXSDResolver.INLINE_SCHEMA_ID))
+        {
+	      valInfo.addError(errmess, 0,0, uri);
+        }
+      }
+    }
+    // if the schema is valid, assign the model to the validatormanager
+    else
+    {
+      XSModel xsModel = schemav.getXSModel();
+      valInfo.addSchema(xsModel);
+    }
+  }
+
+  /**
+   * Get an entity resolver that will resolve inline schemas.  Every inline schema is preregistered with
+   * the resolver.
+   * 
+   * @param wsdlDefinition The WSDL definitions element.
+   * @param types The types element.
+   * @param referenceLocation The location of the file that contains this schema.
+   * @param targetNamespace The targetNamespace of the schema.
+   * @return An entity resolver that can resolve inline schemas.
+   */
+  protected InlineXSDResolver getEntityResolver(Definition wsdlDefinition, Types types, String referenceLocation, String targetNamespace)
+  {
+    InlineXSDResolver entityResolver = new InlineXSDResolver();
+//    entityResolver.setReferenceLocation(referenceLocation);
+    List schemas = types.getExtensibilityElements();
+    if (schemas != null)
+    {
+      Iterator iSchemas = schemas.iterator();
+	  Set namespaces = new TreeSet(); 
+      while (iSchemas.hasNext()) 
+      { 
+        UnknownExtensibilityElement extElem = (UnknownExtensibilityElement) iSchemas.next(); 
+        String thisNamespace = extElem.getElement().getAttribute(Constants.ATTR_TARGET_NAMESPACE); 
+        if(thisNamespace != null) 
+        { 
+                namespaces.add(thisNamespace); 
+        } 
+      } 
+      iSchemas = schemas.iterator(); 
+
+      while (iSchemas.hasNext())
+      {
+        UnknownExtensibilityElement extElem = (UnknownExtensibilityElement) iSchemas.next();
+        String thisNamespace = extElem.getElement().getAttribute(Constants.ATTR_TARGET_NAMESPACE);
+        if (thisNamespace != null && !thisNamespace.equalsIgnoreCase(targetNamespace))
+        {
+        	
+        	Element element = extElem.getElement();
+			
+//			create the inline schema string
+			 //Element w3celement = elem.getElement();
+			 Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,element);
+			 String xsd = InlineSchemaGenerator.createXSDString(element, new ArrayList(), referenceLocation, parentnamespaces, namespaces);
+        	//addNamespaceDeclarationsFromParents(wsdlDefinition,element);
+          entityResolver.add(thisNamespace, xsd);
+        }
+
+      }
+    }
+    return entityResolver;
+  }
+  
+  /**
+   * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.validator.IWSDL11Validator#setResourceBundle(java.util.ResourceBundle)
+   */
+  public void setResourceBundle(ResourceBundle rb)
+  {
+  	messagegenerator = new MessageGenerator(rb);
+  }
+  
+  public void setMessageGenerator(MessageGenerator messgen)
+  {
+    messagegenerator = messgen;
+  }
+
+  /**
+   * Get the namespace declarations as in the form 
+   * xmlns="somenamespace"
+   * from the definitions and types elements and add them to the schema element so the schema 
+   * validator will have access to them.
+   * 
+   * @param wsdlDefinition The WSDL definitions element.
+   * @param element The types element.
+   * @return A hashtable with the namespace elements from the elements provided.
+   */
+  protected Hashtable getNamespaceDeclarationsFromParents(Definition wsdlDefinition, Element element)
+  {
+  	Hashtable nss = new Hashtable();
+    Iterator nameSpaces = wsdlDefinition.getNamespaces().keySet().iterator();
+
+    String XMLNS = Constants.ATTR_XMLNS;
+    
+    while (nameSpaces.hasNext())
+    {
+      String nsprefix = XMLNS;
+      String ns = (String) nameSpaces.next();
+      if (!ns.equalsIgnoreCase(""))
+      {
+        nsprefix += ":";
+      }
+      if (!element.hasAttribute(nsprefix + ns))
+      {
+      	nss.put(nsprefix + ns, wsdlDefinition.getNamespace(ns));
+//        element.setAttribute(nsprefix + ns, wsdlDefinition.getNamespace(ns));
+      }
+
+    }
+    // Next handle the parent types element
+    NamedNodeMap atts = element.getParentNode().getAttributes();
+    int attslength = atts.getLength();
+    for (int i = 0; i < attslength; i++)
+    {
+      Node tempnode = atts.item(i);
+      String nodename = tempnode.getNodeName();
+      // if this is a namespace attribute
+      if (nodename.indexOf(XMLNS) != -1)
+      {
+		nss.put(nodename,  tempnode.getNodeValue());
+        //element.setAttribute(nodename, tempnode.getNodeValue());
+      }
+    }
+    return nss;
+  }
+  
+  /**
+   * Given a line number for the schema returns the element found on that line. 
+   * Useful for obtaining elements from schema Strings.
+   * 
+   * @param line The line number for the schema.
+   * @param elements The list of elements to check.
+   * @return The object located at the line or at line 0 if the line is invalid.
+   */
+   protected Object getObjectAtLine(int line, List elements)
+   {
+   	if(line < 0 || line >= elements.size())
+   	{
+   	  line = 0;
+   	}
+	return elements.get(line);
+   }
+   
+  /**
+   * Replace any instance of the 2001 schema namespace in the given message with
+   * the given namespace.
+   * 
+   * @param message The message to replace the namespace in.
+   * @param namespace The namespace used for replacement.
+   * @return The message with the 2001 schema namespace replaced by the given namespace.
+   */
+  private String replaceNamespace(String message, String namespace)
+   {
+     String xsd2001 = Constants.NS_URI_XSD_2001;
+     int start = message.indexOf(xsd2001);
+     int end = start + xsd2001.length();
+     if(start < 0)
+     {
+       return message;
+     }
+     String startString = message.substring(0,start);
+     String endString = message.substring(end,message.length());
+     return startString + namespace + endString;
+   }
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineXSDResolver.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineXSDResolver.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineXSDResolver.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineXSDResolver.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/SchemaAttributeTable.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/SchemaAttributeTable.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/SchemaAttributeTable.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/SchemaAttributeTable.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/ValidateErrorHandler.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/ValidateErrorHandler.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/ValidateErrorHandler.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/ValidateErrorHandler.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XMLEntityResolverChain.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XMLEntityResolverChain.java
new file mode 100644
index 0000000..85720c6
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XMLEntityResolverChain.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.apache.xerces.xni.XMLResourceIdentifier;
+import org.apache.xerces.xni.XNIException;
+import org.apache.xerces.xni.parser.XMLEntityResolver;
+import org.apache.xerces.xni.parser.XMLInputSource;
+
+/**
+ * Handle a chain of entity resolvers.
+ */
+public class XMLEntityResolverChain implements XMLEntityResolver
+{
+  private List entityResolvers = new Vector();
+  
+  /**
+   * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
+   */
+  public XMLInputSource resolveEntity(XMLResourceIdentifier xmlResourceIdentifier) throws XNIException, IOException
+  {
+    XMLInputSource is = null;
+    
+    // TODO: This fix should be removed once this problem is fixed in Xerces.
+    // Xerces currently (version 2.7) has a problem when the honour all schema locations
+    // property is set and the same schema is imported by two different files and one
+    // of the imports uses \ and another uses / in part of the location.
+    if(xmlResourceIdentifier.getLiteralSystemId() != null)
+    	xmlResourceIdentifier.setLiteralSystemId(xmlResourceIdentifier.getLiteralSystemId().replace('\\','/'));
+    
+    Iterator entityResolverIter = entityResolvers.iterator();
+    while (entityResolverIter.hasNext())
+    {
+      XMLEntityResolver entityResolver = (XMLEntityResolver)entityResolverIter.next();
+      try
+      {
+        is = entityResolver.resolveEntity(xmlResourceIdentifier);
+      }
+      catch (XNIException e)
+      {
+      }
+      catch (IOException e)
+      {
+      }
+      if (is != null)
+      {
+        break;
+      }
+    }
+    // Throw and IOException if the file isn't found
+    if (is == null)
+    {
+      throw new IOException("Unable to locate file");
+    }
+    return is;
+  }
+
+  /**
+   * Add an entity resolver to this chain.
+   * 
+   * @param entityResolver The resolver to add to the chain.
+   */
+  public void addEntityResolver(XMLEntityResolver entityResolver)
+  {
+    entityResolvers.add(entityResolver);
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XSDValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XSDValidator.java
new file mode 100644
index 0000000..e9730e3
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XSDValidator.java
@@ -0,0 +1,216 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
+
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.List;
+
+import org.apache.xerces.parsers.XMLGrammarPreparser;
+import org.apache.xerces.util.XMLGrammarPoolImpl;
+import org.apache.xerces.xni.grammars.XMLGrammarDescription;
+import org.apache.xerces.xni.grammars.XMLGrammarLoader;
+import org.apache.xerces.xni.grammars.XMLGrammarPool;
+import org.apache.xerces.xni.grammars.XSGrammar;
+import org.apache.xerces.xni.parser.XMLEntityResolver;
+import org.apache.xerces.xni.parser.XMLInputSource;
+import org.apache.xerces.xs.XSModel;
+
+
+/**
+ * Validate schemas from files or String.
+ */
+public class XSDValidator
+{
+  protected final String NAMESPACES_FEATURE_ID = "http://xml.org/sax/features/namespaces";
+  protected final String VALIDATION_FEATURE_ID = "http://xml.org/sax/features/validation";
+  protected final String SCHEMA_VALIDATION_FEATURE_ID = "http://apache.org/xml/features/validation/schema";
+  protected final String SCHEMA_FULL_CHECKING_FEATURE_ID =
+    "http://apache.org/xml/features/validation/schema-full-checking";
+  protected final String CONTINUE_AFTER_FATAL_ERROR_ID = "http://apache.org/xml/features/continue-after-fatal-error";
+  protected final String HONOUR_ALL_SCHEMA_LOCATIONS_FEATURE_ID = "http://apache.org/xml/features/honour-all-schemaLocations";
+  protected final String FILE_PREFIX = "file:";
+  protected final String XMLNS = "xmlns";
+  protected final String TARGETNAMESPACE = "targetNamespace";
+  protected final String NAMESPACE = "namespace";
+  protected final String IMPORT = "import";
+  protected final String SCHEMALOCATION = "schemaLocation";
+  protected final String TYPE = "type";
+  protected final String[] ignoreNamespaces =
+    { "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/1999/XMLSchema" };
+
+  protected XSModel xsModel;
+  protected boolean isValidXSD;
+  protected List errors;
+  protected String filelocation;
+
+  /**
+   * Constructor.
+   */
+  public XSDValidator()
+  {
+    xsModel = null;
+    isValidXSD = false;
+    errors = null;
+  }
+  /**
+   * Validate an inline schema.
+   * 
+   * @param schema A schema represented as a string.
+   * @param targetNamespace The target namespace of the schema.
+   * @param fileloc The uri of the file that contains the schema.
+   */
+  public void validateInlineSchema(String schema, String targetNamespace, String fileloc)
+  {
+    validateInlineSchema(schema, targetNamespace, fileloc, null, null);
+  }
+  
+  /**
+   * Validate an inline schema and specify an entity resolver.
+   * 
+   * @param schema This schema represented as a string.
+   * @param targetNamespace The target namespace of the schema.
+   * @param fileloc The uri of the file that contains this schema.
+   * @param entityResolverChain The entity resolver chain.
+   * @param inlineSchemaEntityResolver An inline schema resolver for this schema.
+   */
+  public void validateInlineSchema(
+    String schema,
+    String targetNamespace,
+    String fileloc,
+    XMLEntityResolver entityResolverChain,
+    XMLEntityResolver inlineSchemaEntityResolver)
+  {
+    filelocation = fileloc;
+    
+    validateXSD(schema, true, entityResolverChain,targetNamespace, inlineSchemaEntityResolver);
+  }
+
+  /**
+   * Validate the file located at the uri specified with the given entity resolver.
+   * 
+   * @param uri An absolute uri for the schema location.
+   * @param entityResolver An entity resolver to be used.
+   */
+  public void validate(String uri, XMLEntityResolver entityResolver)
+  {
+    validateXSD(uri, false, entityResolver, null, null);
+  }
+  
+  /**
+   * Validate the schema.
+   * 
+   * @param schema The schema or it's location.
+   * @param inlineXSD True if an inline schema, false otherwise.
+   * @param entityResolver An entity resolver to use.
+   * @param targetNamespace The target namespace of the schema being validated.
+   * @param inlineSchemaEntityResolver An inline schema entity resolver.
+   */
+  protected void validateXSD(String schema, boolean inlineXSD, XMLEntityResolver entityResolver, String targetNamespace, XMLEntityResolver inlineSchemaEntityResolver)
+  {
+    ValidateErrorHandler errorHandler = new ValidateErrorHandler();
+    errorHandler.getErrorMessages().clear();
+    try
+    {
+		XMLGrammarPreparser grammarPreparser = new XMLGrammarPreparser();
+		grammarPreparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA,null/*schemaLoader*/);
+		// TODO: Reenable through preference.
+//	    try
+//	  	{
+//	  	  grammarPreparser.setFeature(HONOUR_ALL_SCHEMA_LOCATIONS_FEATURE_ID, true);
+//	  	}
+//	    catch (Exception e)
+//	  	{
+//	       // Catch the exception and ignore if the property cannot be set.
+//	  	}
+		XMLGrammarPool grammarPool = new XMLGrammarPoolImpl();
+		grammarPreparser.setGrammarPool(grammarPool);
+	 
+      grammarPreparser.setErrorHandler(errorHandler);
+      if (entityResolver != null)
+      {
+		grammarPreparser.setEntityResolver(entityResolver);
+      }
+
+      try
+      {
+		XMLInputSource is = null;
+        // this allows support for the inline schema in WSDL documents
+        if (inlineXSD)
+        {
+        	
+        	Reader reader = new StringReader(schema);
+			is = new XMLInputSource(null,filelocation,filelocation,reader,null);
+			
+			((InlineXSDResolver)inlineSchemaEntityResolver).addReferringSchema(is,targetNamespace);
+
+        }
+        // get the input source for an external schema file
+        else
+        {
+          is = new XMLInputSource(null,schema,schema);
+        }
+        
+        XMLGrammarLoader schemaLoader = grammarPreparser.getLoader(XMLGrammarDescription.XML_SCHEMA);
+
+		XSGrammar grammar = (XSGrammar)grammarPreparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,is);
+		xsModel = grammar.toXSModel();
+      }
+      catch (Exception e)
+      {
+        //parser will return null pointer exception if the document is structurally invalid
+        //TODO: log error message
+        System.out.println(e);
+      }
+
+      errors = errorHandler.getErrorMessages();
+    }
+    catch (Exception e)
+    {
+    	System.out.println(e);
+    }
+    if (errors.isEmpty())
+    {
+      isValidXSD = true;
+    }
+  }
+
+  /**
+   * Returns the XSModel created.
+   * 
+   * @return The XSModel created.
+   */
+
+  public XSModel getXSModel()
+  {
+  	return xsModel;
+  }
+  /**
+   * Returns true if the schema is valid, false otherwise.
+   * 
+   * @return True if the schema is valid, false otherwise.
+   */
+  public boolean isValid()
+  {
+    return isValidXSD;
+  }
+
+  /**
+   * Return the error list.
+   * 
+   * @return A list of error from the schema.
+   */
+  public List getErrors()
+  {
+    return errors;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/IWSDL20Validator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/IWSDL20Validator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/IWSDL20Validator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/IWSDL20Validator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/ValidatorRegistry.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/ValidatorRegistry.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/ValidatorRegistry.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/ValidatorRegistry.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20BasicValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20BasicValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20BasicValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20BasicValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorController.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorController.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorController.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorController.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorDelegate.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorDelegate.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorDelegate.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl20/WSDL20ValidatorDelegate.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/AbstractXMLConformanceFactory.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/AbstractXMLConformanceFactory.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/AbstractXMLConformanceFactory.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/AbstractXMLConformanceFactory.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLConformanceFactory.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLConformanceFactory.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLConformanceFactory.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLConformanceFactory.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java
new file mode 100644
index 0000000..33ca31e
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java
@@ -0,0 +1,560 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+
+package org.eclipse.wst.wsdl.validation.internal.xml;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+import javax.xml.parsers.FactoryConfigurationError;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.xerces.impl.XMLErrorReporter;
+import org.apache.xerces.jaxp.SAXParserFactoryImpl;
+import org.apache.xerces.parsers.SAXParser;
+import org.apache.xerces.parsers.StandardParserConfiguration;
+import org.apache.xerces.xni.XNIException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.wst.wsdl.validation.internal.ValidationMessageImpl;
+import org.eclipse.wst.wsdl.validation.internal.resolver.IURIResolutionResult;
+import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolver;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+import com.ibm.wsdl.Constants;
+
+/**
+ * The default implementation of IXMLValidator.
+ */
+public class DefaultXMLValidator implements IXMLValidator
+{
+  private final String _APACHE_FEATURE_CONTINUE_AFTER_FATAL_ERROR =
+    "http://apache.org/xml/features/continue-after-fatal-error";
+  private final String _APACHE_FEATURE_NAMESPACE_PREFIXES = "http://xml.org/sax/features/namespace-prefixes";
+  private final String _APACHE_FEATURE_NAMESPACES = "http://xml.org/sax/features/namespaces";
+  private final String _APACHE_FEATURE_VALIDATION = "http://xml.org/sax/features/validation";
+  private final String _APACHE_FEATURE_VALIDATION_SCHEMA = "http://apache.org/xml/features/validation/schema";
+  private final String _APACHE_PROPERTY_EXTERNAL_SCHEMALOCATION =
+    "http://apache.org/xml/properties/schema/external-schemaLocation";
+  private final String DEFINITIONS = "definitions";
+  
+  protected static final String IGNORE_ALWAYS = "IGNORE_ALWAYS";
+  protected static final String PREMATURE_EOF = "PrematureEOF";
+  
+  protected Hashtable ingoredErrorKeyTable = new Hashtable();
+
+  protected String uri;
+  protected URIResolver uriResolver = null;
+  protected List errors = new ArrayList();
+  protected StringBuffer schemaLocationString = new StringBuffer();
+  protected List ignoredNamespaceList = new ArrayList();
+  
+  protected InputStream inputStream = null;
+  
+  protected String currentErrorKey = null;
+  protected Object[] currentMessageArguments = null;
+  
+  protected boolean isChildOfDoc = false;
+//  protected String wsdlNamespace = null;
+
+
+
+
+/**
+   * Constructor.
+   */
+  public DefaultXMLValidator()
+  {
+    super();
+    
+    ignoredNamespaceList.add(Constants.NS_URI_XSD_1999);
+    ignoredNamespaceList.add(Constants.NS_URI_XSD_2000);
+    ignoredNamespaceList.add(Constants.NS_URI_XSD_2001);
+    
+    ingoredErrorKeyTable.put(PREMATURE_EOF, IGNORE_ALWAYS);
+  }
+
+  /**
+   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#setFile(IFile)
+   */
+  public void setFile(String uri)
+  {
+    this.uri = uri;
+  }
+  
+  public void setURIResolver(URIResolver uriResolver)
+  {
+  	this.uriResolver = uriResolver;
+  }
+
+  /**
+   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#run()
+   */
+  public void run()
+  {
+    // Validate the XML file.
+    try
+    {
+      Reader reader1 = null; // Used for the preparse.
+      Reader reader2 = null; // Used for validation parse.
+      
+      InputSource validateInputSource; 
+     
+      
+      if (this.inputStream != null)
+      {    
+      
+
+        String string = createStringForInputStream(inputStream);
+        reader1 = new StringReader(string);
+        reader2 = new StringReader(string); 
+          
+        validateInputSource = new InputSource(inputStream);
+        validateInputSource.setCharacterStream(reader2);
+      } else
+      { validateInputSource = new InputSource(uri);
+      }
+      
+      preparse(uri, reader1);
+      
+      SAXParser saxparser = createSAXParser();
+      XMLConformanceDefaultHandler handler = new XMLConformanceDefaultHandler();
+
+      saxparser.setErrorHandler(handler);
+	  saxparser.setEntityResolver(handler);
+	  saxparser.setContentHandler(handler);
+      
+      saxparser.parse(validateInputSource);
+//      wsdlNamespace = handler.getWSDLNamespace();
+    }
+    catch (SAXParseException e)
+    {
+      addError(e.getMessage(), e.getLineNumber(), e.getColumnNumber(), uri);
+    }
+    catch (IOException e)
+    {
+    }
+    catch (Exception e)
+    {
+      //System.out.println(e);
+    }
+  }
+
+  /**
+   * Create and configure a SAX parser.
+   * 
+   * @return The new SAX parser.
+   */
+  protected SAXParser createSAXParser()
+  {
+    SAXParser saxParser = null;
+    try
+    {
+      //SAXParserFactory parserfactory = new SAXParserFactoryImpl();
+      try
+      { MyStandardParserConfiguration configuration = new MyStandardParserConfiguration();
+        saxParser = new org.apache.xerces.parsers.SAXParser(configuration);
+        saxParser.setFeature(_APACHE_FEATURE_CONTINUE_AFTER_FATAL_ERROR, true);
+        saxParser.setFeature(_APACHE_FEATURE_NAMESPACE_PREFIXES, true);
+        saxParser.setFeature(_APACHE_FEATURE_NAMESPACES, true);
+        saxParser.setFeature(_APACHE_FEATURE_VALIDATION, true);
+        saxParser.setFeature(_APACHE_FEATURE_VALIDATION_SCHEMA, true);
+      }
+      catch (SAXNotRecognizedException e)
+      {
+      }
+      catch (SAXNotSupportedException e)
+      {
+      }
+      if (schemaLocationString.length() > 0)
+      {
+        saxParser.setProperty(_APACHE_PROPERTY_EXTERNAL_SCHEMALOCATION, schemaLocationString.toString());
+      }
+    }
+    catch (FactoryConfigurationError e)
+    {
+    }
+    catch (SAXNotRecognizedException e)
+    {
+    }
+    catch (SAXNotSupportedException e)
+    {
+    }
+//    catch (SAXException e)
+//    {
+//    }
+    return saxParser;
+  }
+
+  
+  final String createStringForInputStream(InputStream inputStream)
+  {
+    // Here we are reading the file and storing to a stringbuffer.
+    StringBuffer fileString = new StringBuffer();
+    try
+    {
+      InputStreamReader inputReader = new InputStreamReader(inputStream);
+      BufferedReader reader = new BufferedReader(inputReader);
+      char[] chars = new char[1024];
+      int numberRead = reader.read(chars);
+      while (numberRead != -1)
+      {
+        fileString.append(chars, 0, numberRead);
+        numberRead = reader.read(chars);
+      }
+    }
+    catch (Exception e)
+    {
+      //TODO: log error message
+      //e.printStackTrace();
+    }
+    return fileString.toString();
+  }
+  
+  /**
+   * Preparse the file to find all of the namespaces that are defined in order
+   * to specify the schemalocation.
+   * 
+   * @param uri The uri of the file to parse.
+   */
+  protected void preparse(String uri, Reader characterStream)
+  {
+      javax.xml.parsers.SAXParser saxParser = null;
+    try
+    {
+        
+      InputSource inputSource; 
+      
+      if (characterStream != null)
+      {   
+          inputSource = new InputSource(uri);
+          inputSource.setCharacterStream(characterStream);
+      }
+      else
+      {
+          inputSource = new InputSource(uri);
+      }
+      
+      SAXParserFactory parserfactory = new SAXParserFactoryImpl();
+
+      parserfactory.setFeature(_APACHE_FEATURE_NAMESPACE_PREFIXES, true);
+      parserfactory.setFeature(_APACHE_FEATURE_NAMESPACES, true);
+
+      saxParser = parserfactory.newSAXParser();
+      SchemaStringHandler handler = new SchemaStringHandler(uri);
+      
+      saxParser.parse(inputSource, handler);
+    }
+    catch (FactoryConfigurationError e)
+    {
+    }
+    catch (SAXNotRecognizedException e)
+    {
+    }
+    catch (ParserConfigurationException e)
+    {
+    }
+    catch (SAXNotSupportedException e)
+    {
+    }
+    catch (SAXException e)
+    {
+    }
+    catch (IOException e)
+    {
+    }
+  }
+
+  /**
+   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#hasErrors()
+   */
+  public boolean hasErrors()
+  {
+    return !errors.isEmpty();
+  }
+
+  /**
+   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#getErrorList()
+   */
+  public List getErrors()
+  {
+    return errors;
+  }
+
+  /**
+   * Add an error message.
+   * 
+   * @param error The error message to add.
+   * @param line The line location of the error.
+   * @param column The column location of the error.
+   * @param uri The URI of the file containing the error.
+   */
+  protected void addError(String error, int line, int column, String uri)
+  {
+    errors.add(new ValidationMessageImpl(error, line, column, ValidationMessageImpl.SEV_ERROR, uri, currentErrorKey, currentMessageArguments));
+  }
+
+  /**
+   * The handler for the SAX parser. This handler will obtain the WSDL
+   * namespace, handle errors and resolve entities.
+   */
+  protected class XMLConformanceDefaultHandler extends DefaultHandler
+  {
+    /**
+     * @see org.xml.sax.ErrorHandler#error(SAXParseException)
+     */
+    public void error(SAXParseException arg0) throws SAXException
+    {
+     String tempURI = arg0.getSystemId();
+     if (inputStream!= null && arg0.getSystemId() == null)
+     {
+       //mh: In this case we are validating a stream so the URI may be null in this exception
+       tempURI = uri;       
+     }
+     addError(arg0.getMessage(), arg0.getLineNumber(), arg0.getColumnNumber(), tempURI);
+    }
+
+    /**
+     * @see org.xml.sax.ErrorHandler#fatalError(SAXParseException)
+     */
+    public void fatalError(SAXParseException arg0) throws SAXException
+    {
+      addError(arg0.getMessage(), arg0.getLineNumber(), arg0.getColumnNumber(), arg0.getSystemId());
+    }
+
+    /**
+     * @see org.xml.sax.ErrorHandler#warning(SAXParseException)
+     */
+    public void warning(SAXParseException arg0) throws SAXException
+    {
+      addError(arg0.getMessage(), arg0.getLineNumber(), arg0.getColumnNumber(), arg0.getSystemId());
+    }
+	
+	/**
+	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
+	 */
+	public void endElement(String uri, String localName, String qName)
+			throws SAXException {
+		if(localName.equals("documentation") && (uri.equals(Constants.NS_URI_WSDL) || uri.equals(Constants.NS_URI_XSD_2001)|| uri.equals(Constants.NS_URI_XSD_1999) || uri.equals(Constants.NS_URI_XSD_2000)))
+		{
+		  isChildOfDoc = false;
+		}
+		super.endElement(uri, localName, qName);
+	}
+	/**
+	 * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
+	 */
+	public void startElement(String uri, String localName, String qName,
+			Attributes atts) throws SAXException {
+		if(localName.equals("documentation") && (uri.equals(Constants.NS_URI_WSDL) || uri.equals(Constants.NS_URI_XSD_2001)|| uri.equals(Constants.NS_URI_XSD_1999) || uri.equals(Constants.NS_URI_XSD_2000)))
+		{
+		  isChildOfDoc = true;
+		}
+		super.startElement(uri, localName, qName, atts);
+	}
+
+    /**
+     * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String,
+     *      java.lang.String)
+     */
+    public InputSource resolveEntity(String publicId, String systemId) throws SAXException
+    {
+      // If we're currently examining a subelement of the 
+	  // WSDL or schema documentation element we don't want to resolve it
+	  // as anything is allowed as a child of documentation.
+	  if(isChildOfDoc)
+	  {
+	    return new InputSource();
+	  }
+    if(publicId == null)
+    {
+      publicId = systemId;
+    }
+      
+    IURIResolutionResult result = uriResolver.resolve(null, publicId, systemId);
+    String uri = result.getPhysicalLocation();
+    if (uri != null && !uri.equals(""))
+    {
+	  try
+	  {
+//	    String entity = systemId;
+//		if(publicId != null)
+//		{
+//		  entity = publicId;
+//		 }
+		URL entityURL = new URL(uri);
+        InputSource is = new InputSource(result.getLogicalLocation());
+		is.setByteStream(entityURL.openStream());
+        if (is != null)
+        {
+          return is;
+        }
+	  }
+	  catch(Exception e)
+	  {
+		 // Do nothing.
+	  }
+    }
+      // This try/catch block with the IOException is here to handle a difference
+      // between different versions of the EntityResolver interface.
+      try
+      {
+        InputSource is = super.resolveEntity(publicId, systemId);
+        if(is == null)
+        {
+          throw new IOException();
+        }
+        return is;
+      }
+      catch(IOException e)
+      {
+      }
+      return null;
+    }
+
+  }
+
+  /**
+   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidator#setSchemaLocation(String,
+   *      String)
+   */
+  public void setSchemaLocation(String namespace, String location)
+  {
+    if (namespace != null && location != null && !namespace.equalsIgnoreCase("") && !location.equalsIgnoreCase(""))
+    {
+      schemaLocationString.append(" ").append(namespace).append(" ").append(formatURI(location));
+    }
+  }
+  
+  
+  /**
+   * @param inputStream - set the inputStream to validate
+   */
+  public void setInputStream(InputStream inputStream)
+  {
+      this.inputStream = inputStream;
+  }
+
+  /**
+   * Remove space characters from a String and replace them with %20.
+   * 
+   * @param uri -
+   *            the uri to format
+   * @return the formatted string
+   */
+  protected String formatURI(String uri)
+  {
+    String space = "%20";
+    StringBuffer newUri = new StringBuffer(uri);
+    int newUriLength = newUri.length();
+
+    // work backwards through the stringbuffer in case it grows to the
+    // point
+    // where the last space would be missed.
+    for (int i = newUriLength - 1; i >= 0; i--)
+    {
+      if (newUri.charAt(i) == ' ')
+      {
+        newUri.replace(i, i + 1, space);
+      }
+    }
+
+    return newUri.toString();
+  }
+
+  /**
+   * A handler used in preparsing to get the schemaLocation string.
+   */
+  protected class SchemaStringHandler extends DefaultHandler
+  {
+    private final String XMLNS = "xmlns";
+	  private final String TARGETNAMESPACE = "targetNamespace";
+    private String baselocation = null;
+
+    public SchemaStringHandler(String baselocation)
+    {
+      this.baselocation = baselocation;
+    }
+    /**
+     * @see org.xml.sax.ContentHandler#startElement(java.lang.String,
+     *      java.lang.String, java.lang.String, org.xml.sax.Attributes)
+     */
+    public void startElement(String uri, String localname, String arg2, Attributes attributes) throws SAXException
+    {
+      if (localname.equals(DEFINITIONS))
+      {
+        String targetNamespace = attributes.getValue(TARGETNAMESPACE);
+        int numAtts = attributes.getLength();
+        for (int i = 0; i < numAtts; i++)
+        {
+
+          String attname = attributes.getQName(i);
+          if (attname.startsWith(XMLNS))
+          {
+            String namespace = attributes.getValue(i);
+            if(!(namespace.equals(targetNamespace) || ignoredNamespaceList.contains(namespace)))
+            {
+              String resolvedURI = namespace;
+              setSchemaLocation(namespace, resolvedURI);
+            }
+          }
+        }
+
+      }
+      super.startElement(uri, localname, arg2, attributes);
+
+    }
+  }
+
+  
+  protected class MyStandardParserConfiguration extends StandardParserConfiguration
+  {
+    public MyStandardParserConfiguration()
+    {
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.xerces.parsers.DTDConfiguration#createErrorReporter()
+     */
+    protected XMLErrorReporter createErrorReporter()
+    {
+      return new XMLErrorReporter()
+      {
+        /* (non-Javadoc)
+         * @see org.apache.xerces.impl.XMLErrorReporter#reportError(java.lang.String, java.lang.String, java.lang.Object[], short)
+         */
+        public void reportError(String domain, String key, Object[] arguments,
+            short severity) throws XNIException
+        {
+          currentErrorKey = key;
+          currentMessageArguments = arguments;
+          super.reportError(domain, key, arguments, severity);
+        }
+      };
+    }
+  }
+  
+  
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/ElementLocation.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/ElementLocation.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/ElementLocation.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/ElementLocation.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/IXMLCatalog.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/IXMLCatalog.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/IXMLCatalog.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/IXMLCatalog.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/IXMLValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/IXMLValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/IXMLValidator.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/IXMLValidator.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/LineNumberDOMParser.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/LineNumberDOMParser.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/LineNumberDOMParser.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/LineNumberDOMParser.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalog.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalog.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalog.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalog.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogEntityHolder.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogEntityHolder.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogEntityHolder.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogEntityHolder.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogResolver.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogResolver.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogResolver.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLCatalogResolver.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLMessageInfoHelper.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLMessageInfoHelper.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/XMLMessageInfoHelper.java
rename to bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/xml/XMLMessageInfoHelper.java
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdl.properties b/bundles/org.eclipse.wst.wsdl.validation/src/validatewsdl.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdl.properties
rename to bundles/org.eclipse.wst.wsdl.validation/src/validatewsdl.properties
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdlhttp.properties b/bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlhttp.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdlhttp.properties
rename to bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlhttp.properties
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdlmime.properties b/bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlmime.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdlmime.properties
rename to bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlmime.properties
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdlsoap.properties b/bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlsoap.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/validatewsdlsoap.properties
rename to bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlsoap.properties
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlui.properties b/bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlui.properties
new file mode 100644
index 0000000..37af48a
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/validatewsdlui.properties
@@ -0,0 +1,27 @@
+###############################################################################
+# Copyright (c) 2001, 2004 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
+###############################################################################
+
+!-- Ant UI
+_UI_INFORMATION_DELIMITER                  = ---------------------------------------
+_UI_ERROR_MARKER                           = ERROR  
+_UI_WARNING_MARKER                         = WARNING
+_UI_VALID                                  = VALID
+_UI_INVALID                                = INVALID
+_UI_ACTION_VALIDATING_FILE                 = Validating {0}
+
+_ERROR_NO_FILE_SPECIFIED                   = Unable to run WSDL Validation. You must specify at least one file.
+
+_EXC_UNABLE_TO_VALIDATE_FILE               = Unable to validate the WSDL file {0}. {1}
+_EXC_WSDL_FAIL_ON_ERROR                    = The WSDL file is not valid. (Fail On Error is enabled.)
+
+!-- Text UI
+_ERROR_WRONG_ARGUMENTS                     = Usage: WSDLValidate filename"
+_ERROR_UNABLE_TO_LOAD_EXT_VALIDATOR        = Unable to load the validator for namespace {0}. {1}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidationInfoImpl.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidationInfoImpl.java
deleted file mode 100644
index f215875..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/ValidationInfoImpl.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.wsdl.validation.internal.resolver.IExtensibleURIResolver;
-import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolver;
-import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
-
-/**
- * An implementation of the validation info interface.
- */
-public class ValidationInfoImpl implements IValidationReport, ControllerValidationInfo
-{
-  private boolean WRAPPER_ERROR_SUPPORT_ENABLED = true;
-  private final String _WARN_NO_VALDIATOR = "_WARN_NO_VALDIATOR";
-  private final String _REF_FILE_ERROR_MESSAGE = "_REF_FILE_ERROR_MESSAGE";
-  private String validating_file_uri = null;
-  private URL validating_file_url = null;
-  private boolean wsdlValid = false;
-  private List messages = new Vector();
-  private List schemas = new Vector();
-  private List nsNoVals = new Vector();
-  private MessageGenerator messagegenerator = null;
-  private boolean haserrors = false;
-  private HashMap nestedMessages = new HashMap();
-  private URIResolver uriResolver = null;
-  private Hashtable attributes = new Hashtable();
-
-  /**
-   * Constructor.
-   * 
-   * @param uri
-   *            The URI of the file for the validation.
-   */
-  public ValidationInfoImpl(String uri, MessageGenerator messagegenerator)
-  {
-    this.validating_file_uri = uri;
-    if(uri != null)
-    {
-      uri = uri.replaceAll("%20"," ");
-      this.validating_file_uri = uri;
-      try
-      {
-        this.validating_file_url = new URL(uri);
-      } catch (MalformedURLException e)
-      {
-      }
-    }
-    this.messagegenerator = messagegenerator;
-  }
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#getFileURI()
-   */
-  public String getFileURI()
-  {
-    return validating_file_uri;
-  }
-
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#isWSDLValid()
-   */
-  public boolean isWSDLValid()
-  {
-    return wsdlValid;
-  }
-
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addError(java.lang.String,
-   *      int, int)
-   */
-  public void addError(String message, int line, int column)
-  {
-    addError(message, line, column, validating_file_uri);
-  }
-  
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addError(java.lang.String,
-   *      int, int)
-   */
-  public void addError(String message, int line, int column, String uri)
-  {
-    if(addMessage(message, line, column, uri, ValidationMessageImpl.SEV_ERROR))
-    {
-      haserrors = true;
-    }
-  }
-
-  public void addError(String message, int line, int column, String uri, String errorKey, Object[] messageArguments)
-  {
-    if(addMessage(message, line, column, uri, ValidationMessageImpl.SEV_ERROR, errorKey, messageArguments))
-    {
-      haserrors = true;
-    }
-  }
-  
-  
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addWarning(java.lang.String,
-   *      int, int)
-   */
-  public void addWarning(String message, int line, int column)
-  {
-    addWarning(message, line, column, validating_file_uri);
-  }
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addWarning(java.lang.String,
-   *      int, int)
-   */
-  public void addWarning(String message, int line, int column, String uri)
-  {
-    addMessage(message, line, column, uri, ValidationMessageImpl.SEV_WARNING);
-  }
-  
-  /**
-   * Add a message to the list. A message may not be added to the list in 
-   * certain circumstances such as when the URI is invalid or the message 
-   * is null.
-   * 
-   * @param message The message to add.
-   * @param line The line location of the message.
-   * @param column The column location of the message.
-   * @param uri The URI of the file that contains the message.
-   * @param severity The severity of the message.
-   * @return True if the message was able to be added, false otherwise.
-   */
-  private boolean addMessage(String message, int line, int column, String uri, int severity)
-  {
-      return this.addMessage(message, line, column, uri, severity, null, null);
-  }
-  
-  /**
-   * Add a message to the list. A message may not be added to the list in 
-   * certain circumstances such as when the URI is invalid or the message 
-   * is null.
-   * 
-   * @param message The message to add.
-   * @param line The line location of the message.
-   * @param column The column location of the message.
-   * @param uri The URI of the file that contains the message.
-   * @param severity The severity of the message.
-   * @param errorKey The Xerces Error Key
-   * @param messageArguments The Xerces arguments used to create the error message
-   * @return True if the message was able to be added, false otherwise.
-   */
-  private boolean addMessage(String message, int line, int column, String uri, int severity, String errorKey, Object[] messageArguments)
-  {
-    boolean successfullyAdded = false;
-    // If the message is null there is nothing to report.
-    if(message == null)
-    {
-      return successfullyAdded;
-    }
-    String errorURI = uri;
-    URL errorURL = null;
-    if (errorURI != null)
-    {
-      try
-      {
-        errorURI = errorURI.replaceAll("%20", " ");
-        errorURL = new URL(errorURI);
-      } catch (MalformedURLException e)
-      {
-      }
-      //errorURI = normalizeURI(errorURI);
-    }
-//    else
-//    {
-//      errorURI = validating_file_uri;
-//      errorURL = validating_file_url;
-//    }
-    //boolean doDialog = true;
-    if (errorURL != null)
-    {
-      successfullyAdded = true;
-      // Add to the appropriate list if nested error support is off or
-      // this message is for the current file.
-      if (!WRAPPER_ERROR_SUPPORT_ENABLED || validating_file_url.sameFile(errorURL))
-      {
-
-        ValidationMessageImpl valmes = new ValidationMessageImpl(message, line,
-            column, severity, uri, errorKey, messageArguments);
-        messages.add(valmes);
-      }
-      // If nested error support is enabled create a nested error.
-      else if (WRAPPER_ERROR_SUPPORT_ENABLED)
-      {
-        String nesteduri = errorURL.toExternalForm();
-        ValidationMessageImpl nestedmess = new ValidationMessageImpl(message, line,
-            column, severity, nesteduri);
-
-        ValidationMessageImpl container = (ValidationMessageImpl) nestedMessages.get(nesteduri);
-        if(container == null)
-        {
-          // Initially set the nested error to a warning. This will automatically be changed
-          // to an error if a nested message has a severity of error.
-          container = new ValidationMessageImpl(messagegenerator.getString(_REF_FILE_ERROR_MESSAGE, nesteduri), 1, 0, IValidationMessage.SEV_WARNING, nesteduri);
-          nestedMessages.put(nesteduri, container);
-          messages.add(container);
-        }
-        container.addNestedMessage(nestedmess);
-      }
-    }
-
-    return successfullyAdded;
-  }
-
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#getValidationMessages()
-   */
-  public IValidationMessage[] getValidationMessages()
-  {
-    return (IValidationMessage[])messages.toArray(new IValidationMessage[messages.size()]);
-  }
-
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationInfo#addNamespaceWithNoValidator(java.lang.String)
-   */
-  public void addNamespaceWithNoValidator(String namespace)
-  {
-    // If the list doesn't already contain this namespace, add it to the list
-    // and create a warning message.
-    if (!nsNoVals.contains(namespace))
-    {
-      nsNoVals.add(namespace);
-      addWarning(messagegenerator.getString(_WARN_NO_VALDIATOR, namespace), 1, 0);
-
-    }
-
-  }
-
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.ControllerValidationInfo#completeWSDLValidation()
-   */
-  public void completeWSDLValidation()
-  {
-    if (haserrors)
-    {
-      wsdlValid = false;
-    }
-    else
-    {
-      wsdlValid = true;
-    }
-  }
-
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.IValidationReport#hasErrors()
-   */
-  public boolean hasErrors()
-  {
-    return haserrors;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.wsdl.validate.ValidationReport#getNestedMessages()
-   */
-  public HashMap getNestedMessages()
-  {
-    return nestedMessages;
-  }
-  
-  public void setURIResolver(URIResolver uriResolver)
-  {
-  	this.uriResolver = uriResolver;
-  }
-  
-  public URIResolver getURIResolver()
-  {
-  	return uriResolver;
-  }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wsdl.validate.ValidationInfo#getAttribute(java.lang.String)
-	 */
-	public Object getAttribute(String name) 
-	{
-		return attributes.get(name);
-	}
-	
-	public void setAttributes(Hashtable attributes)
-	{
-		this.attributes.putAll(attributes);
-	}
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java
deleted file mode 100644
index ebb1131..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java
+++ /dev/null
@@ -1,2000 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.wsdl11;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.OperationType;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.ExtensionDeserializer;
-import javax.wsdl.extensions.ExtensionRegistry;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.factory.WSDLFactory;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.dom.ElementImpl;
-import org.apache.xerces.dom.ElementNSImpl;
-import org.apache.xerces.xs.XSModel;
-import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaValidator;
-import org.eclipse.wst.wsdl.validation.internal.xml.ElementLocation;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.wsdl.Constants;
-import com.ibm.wsdl.util.StringUtils;
-import com.ibm.wsdl.util.xml.DOMUtils;
-import com.ibm.wsdl.util.xml.QNameUtils;
-import com.ibm.wsdl.util.xml.XPathUtils;
-
-/**
- * A WSDL document that knows how to parse itself.
- */
-public class WSDLDocument
-{
-  private static final List STYLE_ONE_WAY = Arrays.asList(new String[] { Constants.ELEM_INPUT });
-  private static final List STYLE_REQUEST_RESPONSE =
-    Arrays.asList(new String[] { Constants.ELEM_INPUT, Constants.ELEM_OUTPUT });
-  private static final List STYLE_SOLICIT_RESPONSE =
-    Arrays.asList(new String[] { Constants.ELEM_OUTPUT, Constants.ELEM_INPUT });
-  private static final List STYLE_NOTIFICATION = Arrays.asList(new String[] { Constants.ELEM_OUTPUT });
-  
-  private static final String _ERROR_MULTIPLE_TYPES_DEFINED = "_ERROR_MULTIPLE_TYPES_DEFINED";
-  private static final String _UNABLE_TO_IMPORT_NO_LOCATION = "_UNABLE_TO_IMPORT_NO_LOCATION";
-
-  protected ExtensionRegistry extReg = null;
-  protected String factoryImplName = null;
-
-  // store the element locations within the file - line and column numbers
-  // the location info is stored as an int array of length 2 {linenumber, colnumber}
-  protected Hashtable elementLocations = new Hashtable();
-  
-  // hold the reader errors
-  protected List readerErrors = new ArrayList();
-  protected List readerWarnings = new ArrayList();
-  protected MessageGenerator messagegenerator;
-  
-  private Definition def = null;
-  private Set importedDefs = new TreeSet();
-  private Element typesEl = null;
-  private List messages = new ArrayList();
-  private List porttypes = new ArrayList();
-  private List bindings = new ArrayList();
-  private List services = new ArrayList();
-  private List extelements = new ArrayList();
-  private int depth;
-  // Hold the schemas that are imported or declared inline in this wsdl document.
-  private List schemas = new ArrayList();
-  private IWSDL11ValidationInfo valinfo;
-  
-  /**
-   * Constructor. Performs a preparse of the document and handles imports and types.
-   * 
-   * @param documentBaseURI The URI of this WSDL document.
-   * @param defEl The definitions element.
-   * @param depth The depth of this document in a document tree.
-   * @param messagegenerator A messagegenerator used for retrieving strings.
-   * @param valinfo A WSDL11ValidationInfo object for reporting messages.
-   * @throws WSDLException
-   */
-  public WSDLDocument(String documentBaseURI, Element defEl, int depth, MessageGenerator messagegenerator, IWSDL11ValidationInfo valinfo) throws WSDLException
-  {
-    this.messagegenerator = messagegenerator;
-    this.valinfo = valinfo;
-    this.depth = depth;
-    
-    checkElementName(defEl, Constants.Q_ELEM_DEFINITIONS);
-    
-    WSDLFactory factory =
-      (factoryImplName != null) ? WSDLFactory.newInstance(factoryImplName) : WSDLFactory.newInstance();
-    def = factory.newDefinition();
-
-    if (extReg != null)
-    {
-      def.setExtensionRegistry(extReg);
-    }
-
-    String name = DOMUtils.getAttribute(defEl, Constants.ATTR_NAME);
-    String targetNamespace = DOMUtils.getAttribute(defEl, Constants.ATTR_TARGET_NAMESPACE);
-    NamedNodeMap attrs = defEl.getAttributes();
-
-    if (documentBaseURI != null)
-    {
-      def.setDocumentBaseURI(documentBaseURI);
-    }
-
-    if (name != null)
-    {
-      def.setQName(new QName(targetNamespace, name));
-    }
-
-    if (targetNamespace != null)
-    {
-      def.setTargetNamespace(targetNamespace);
-    }
-
-    int size = attrs.getLength();
-
-    for (int i = 0; i < size; i++)
-    {
-      Attr attr = (Attr)attrs.item(i);
-      String namespaceURI = attr.getNamespaceURI();
-      String localPart = attr.getLocalName();
-      String value = attr.getValue();
-
-      if (namespaceURI != null && namespaceURI.equals(Constants.NS_URI_XMLNS))
-      {
-        if (localPart != null && !localPart.equals(Constants.ATTR_XMLNS))
-        {
-          def.addNamespace(localPart, value);
-        }
-        else
-        {
-          def.addNamespace(null, value);
-        }
-      }
-    }
-
-    // There are problems when the model is created and the order of elements is not
-    // Import - Types - Message - PortType - Binding - Service so we need to read them
-    // into the model in that order
-    // Performance wise this should be modified as we have to make 5 extra loops through
-    // all of the elements as a result
-
-    // take care of Imports, Types, Documentation and extensibleelements together - saves a pass for Documentation 
-    // later and Docs don't effect anything else - Imports and Types are essentially the same thing
-    // no preconceived ideas about extensible elements
-    Element tempEl = DOMUtils.getFirstChildElement(defEl);
-
-    while (tempEl != null)
-    {
-
-      if (QNameUtils.matches(Constants.Q_ELEM_IMPORT, tempEl))
-      {
-        String namespaceURI = DOMUtils.getAttribute(tempEl, Constants.ATTR_NAMESPACE);
-        String locationURI = DOMUtils.getAttribute(tempEl, Constants.ATTR_LOCATION);
-        if(locationURI == null || locationURI.equals(""))
-        {
-          addReaderError(def, tempEl, messagegenerator.getString(_UNABLE_TO_IMPORT_NO_LOCATION));
-        }
-        else
-        {
-          ImportHolder ih = new ImportHolder(namespaceURI, locationURI, def.getDocumentBaseURI(), this, depth+1, tempEl, messagegenerator, valinfo);
-          importedDefs.add(ih);
-        }
-        setLocation(tempEl, tempEl);
-//        if (importedDefs == null)
-//        {
-//          importedDefs = new Hashtable();
-//        }
-//        if (documentBaseURI != null)
-//        {
-//          importedDefs.put(documentBaseURI, def);
-//        }
-//        def.addImport(parseImport(tempEl, def, importedDefs));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        def.setDocumentationElement(tempEl);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_TYPES, tempEl))
-      {
-        if(typesEl != null)
-        {
-          setLocation(tempEl, tempEl);
-          addReaderError(def, tempEl, messagegenerator.getString(_ERROR_MULTIPLE_TYPES_DEFINED));
-        }
-        else
-        {
-          typesEl = tempEl;
-          parseTypes();
-        }
-//        def.setTypes(parseTypes(tempEl, def));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_MESSAGE, tempEl))
-      {
-        messages.add(tempEl);
-        //def.addMessage(parseMessage(tempEl, def));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_PORT_TYPE, tempEl))
-      {
-        porttypes.add(tempEl);
-        //             PortType pt = parsePortType(tempEl, def);
-        //             if(pt != null)
-        //             {
-        //          def.addPortType(pt);
-        //             }
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_BINDING, tempEl))
-      {
-        bindings.add(tempEl);
-        //def.addBinding(parseBinding(tempEl, def));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_SERVICE, tempEl))
-      {
-        services.add(tempEl);
-        //def.addService(parseService(tempEl, def));
-      }
-      else
-      {
-        extelements.add(tempEl);
-        //        def.addExtensibilityElement(
-        //          parseExtensibilityElement(Definition.class, tempEl, def));
-      }
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-  }
-  
-  /**
-   * Get the definitions element for this document.
-   * 
-   * @return The definitions element for this document.
-   */
-  public Definition getDefinition()
-  {
-    return def;
-  }
-  
-  /**
-   * Get a set of the imports in this document.
-   * 
-   * @return A set of the imports in this document.
-   */
-  public Set getImports()
-  {
-    return importedDefs;
-  }
-  
-  /**
-   * 
-   * @param def
-   * @param doc
-   * @param namespace
-   * @param location
-   */
-//  public void setImport(Definition def, Element doc, String namespace, String location)
-//  {
-//    if(location == null || location.equals(""))
-//    {
-//      valinfo.addError()_UNABLE_TO_IMPORT_NO_LOCATION 
-//    }
-//    Import imp = def.createImport();
-//    imp.setDefinition(def);
-//    imp.setDocumentationElement(doc);
-//    imp.setNamespaceURI(namespace);
-//    imp.setLocationURI(location);
-//    def.addImport(imp);
-//  }
-  
-  /**
-   * Parse the types in the WSDL document. Handles documentation, import and schema
-   * elements.
-   */
-  public void parseTypes()
-  {
-    Types types = def.createTypes();
-
-    Element tempEl = DOMUtils.getFirstChildElement(typesEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        types.setDocumentationElement(tempEl);
-      }
-      else if (tempEl.getLocalName().equalsIgnoreCase("import"))
-        //else if (QNameUtils.matches(Constants.Q_ELEM_IMPORT, tempEl))
-      {
-        // this shouldn't really be used here but a little hack will make
-        // life easier
-        //parseImport(tempEl, def, (Map)new Hashtable());
-        String namespaceURI = DOMUtils.getAttribute(tempEl, Constants.ATTR_NAMESPACE);
-        String locationURI = DOMUtils.getAttribute(tempEl, "schemaLocation");
-        importedDefs.add(new ImportHolder(namespaceURI, locationURI, def.getDocumentBaseURI(), this, depth+1, tempEl, messagegenerator, valinfo));
-        try
-        {
-          types.addExtensibilityElement(parseExtensibilityElement(Types.class, tempEl, def));
-        }
-        catch(WSDLException e)
-        {
-          
-        }
-      }
-      else
-      {
-        try
-        {
-          ExtensibilityElement extElem = parseExtensibilityElement(Types.class, tempEl, def);
-          types.addExtensibilityElement(extElem);
-        }
-        catch(WSDLException e)
-        {
-          
-        }
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-    def.setTypes(types);
-    
-    valinfo.setElementLocations(elementLocations);
-    List typesElems = types.getExtensibilityElements();
-    if(typesElems != null)
-    {
-      Iterator typesElemsIter = typesElems.iterator();
-      while(typesElemsIter.hasNext())
-      {
-        ExtensibilityElement typeElement = (ExtensibilityElement)typesElemsIter.next();
-        
-        InlineSchemaValidator xsdVal = new InlineSchemaValidator();
-        xsdVal.setMessageGenerator(messagegenerator);
-    
-        List parents = new ArrayList();
-        parents.add(def);
-        parents.add(0,types);
-        xsdVal.validate(typeElement, parents,valinfo);
-        XSModel[] typesSchemas = valinfo.getSchemas();
-        List typesSchemaList = new ArrayList();
-        for(int i = 0; i < typesSchemas.length; i++)
-        {  
-          typesSchemaList.add(typesSchemas[i]);
-        }
-        schemas.addAll(typesSchemaList);
-        valinfo.clearSchemas();
-      }
-    }
-    valinfo.setElementLocations(null);
-  }
-  
-  /**
-   * Parse the messages in this document.
-   */
-  public void parseMessages()
-  {
-    for (int i = 0; i < messages.size(); i++)
-    {
-      try
-      {
-        def.addMessage(parseMessage((Element)messages.get(i), def));
-      }
-      catch(WSDLException e)
-      {}
-    }
-  }
-  
-  /**
-   * Parse the portTypes in this document.
-   */
-  public void parsePorttypes()
-  {
-    for (int i = 0; i < porttypes.size(); i++)
-    {
-      try
-      {
-        PortType pt = parsePortType((Element)porttypes.get(i), def);
-        if (pt != null)
-        {
-          def.addPortType(pt);
-        }
-      }
-      catch(WSDLException e)
-      {}
-    }
-  }
-  
-  /**
-   * Parse the bindings in this document.
-   */
-  public void parseBindings()
-  {
-    for (int i = 0; i < bindings.size(); i++)
-    {
-      try
-      {
-        def.addBinding(parseBinding((Element)bindings.get(i), def));
-      }
-      catch(WSDLException e)
-      {}
-    }
-  }
-  
-  /**
-   * Parse the services in this document.
-   */
-  public void parseServices()
-  {
-    for (int i = 0; i < services.size(); i++)
-    {
-      try
-      {
-        def.addService(parseService((Element)services.get(i), def));
-      }
-      catch(WSDLException e)
-      {}
-    }
-  }
-  
-  /**
-   * Parse the extensibility elements in this document.
-   */
-  public void parseExtensibilityElements()
-  {
-    for (int i = 0; i < extelements.size(); i++)
-    {
-      try
-      {
-        def.addExtensibilityElement(parseExtensibilityElement(Definition.class, (Element)extelements.get(i), def));
-      }
-      catch(WSDLException e)
-      {}
-    }
-  }
-  
-  /**
-   * Add the given list of schemas to the schemas for this document.
-   * 
-   * @param schemas The list of schemas to add to this document's schemas.
-   */
-  public void addSchemas(List schemas)
-  {
-    this.schemas.addAll(schemas);
-  }
-  
-  /**
-   * Get the schemas associated with this document.
-   * 
-   * @return The schemas associated with this document.
-   */
-  public List getSchemas()
-  {
-    return schemas;
-  }
-  
-  /**
-   * Parse the specified binding.
-   * 
-   * @param bindingEl The binding element.
-   * @param def The definitions element.
-   * @return A WSDL binding element.
-   * @throws WSDLException
-   */
-  protected Binding parseBinding(Element bindingEl, Definition def) throws WSDLException
-  {
-    Binding binding = null;
-    String name = DOMUtils.getAttribute(bindingEl, Constants.ATTR_NAME);
-    QName portTypeName;
-    try
-    {
-      portTypeName = DOMUtils.getQualifiedAttributeValue(bindingEl, Constants.ATTR_TYPE, Constants.ELEM_BINDING, false);
-    }
-    catch (Exception e)
-    {
-      //the call above fails if there is no qualified namespace for the message name
-      portTypeName = new QName(null, DOMUtils.getAttribute(bindingEl, "type"));
-    }
-
-    PortType portType = null;
-
-    if (name != null)
-    {
-      QName bindingName = new QName(def.getTargetNamespace(), name);
-
-      binding = def.getBinding(bindingName);
-
-      if (binding == null)
-      {
-        binding = def.createBinding();
-        binding.setQName(bindingName);
-      }
-      // report an error if a binding with this name has already been defined
-      else if (!binding.isUndefined())
-      {
-        //addReaderError(def,bindingEl, "_BINDING_NAME_ALREADY_DEFINED");       
-        addReaderError(
-          def,
-          bindingEl,
-          messagegenerator.getString("_BINDING_NAME_ALREADY_DEFINED", "'" + binding.getQName().getLocalPart() + "'"));
-      }
-    }
-    else
-    {
-      binding = def.createBinding();
-    }
-
-    // Whether it was retrieved or created, the definition has been found.
-    binding.setUndefined(false);
-
-    if (portTypeName != null)
-    {
-      portType = def.getPortType(portTypeName);
-
-      if (portType == null)
-      {
-        portType = def.createPortType();
-        portType.setQName(portTypeName);
-        def.addPortType(portType);
-      }
-
-      binding.setPortType(portType);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(bindingEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        binding.setDocumentationElement(tempEl);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_OPERATION, tempEl))
-      {
-        binding.addBindingOperation(parseBindingOperation(tempEl, portType, def));
-      }
-      else
-      {
-        binding.addExtensibilityElement(parseExtensibilityElement(Binding.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(binding, bindingEl);
-
-    return binding;
-  }
-
-  /**
-   * Parse a specific binding operation.
-   * 
-   * @param bindingOperationEl The binding operation element.
-   * @param portType The portType the binding references.
-   * @param def The definitions element.
-   * @return A WSDL binding operation element.
-   * @throws WSDLException
-   */
-  protected BindingOperation parseBindingOperation(Element bindingOperationEl, PortType portType, Definition def)
-    throws WSDLException
-  {
-    BindingOperation bindingOperation = def.createBindingOperation();
-    String name = DOMUtils.getAttribute(bindingOperationEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      bindingOperation.setName(name);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(bindingOperationEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        bindingOperation.setDocumentationElement(tempEl);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))
-      {
-        bindingOperation.setBindingInput(parseBindingInput(tempEl, def));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))
-      {
-        bindingOperation.setBindingOutput(parseBindingOutput(tempEl, def));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_FAULT, tempEl))
-      {
-        bindingOperation.addBindingFault(parseBindingFault(tempEl, def));
-      }
-      else
-      {
-        bindingOperation.addExtensibilityElement(parseExtensibilityElement(BindingOperation.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    if (portType != null)
-    {
-      BindingInput bindingInput = bindingOperation.getBindingInput();
-      BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-      String inputName = (bindingInput != null ? bindingInput.getName() : null);
-      String outputName = (bindingOutput != null ? bindingOutput.getName() : null);
-
-      // hack code to get at operations that are defined with the same name but different
-      // inputs and outputs 
-      Operation op = null;
-      List operations = portType.getOperations();
-      // get a list of all operations with matching names
-      List matchingOperations = new Vector();
-      Iterator iOperations = operations.iterator();
-      while (iOperations.hasNext())
-      {
-        Operation oper = (Operation)iOperations.next();
-        if (oper.getName().equalsIgnoreCase(bindingOperation.getName()))
-        {
-          matchingOperations.add(oper);
-        }
-      }
-
-      if (matchingOperations != null)
-      {
-        // If there's only one matching operation this is what we're referring to.
-        // Only matching if binding operation input name and output name are
-        // both null or the same as the portType operation input and output names.
-        // the portType operation name
-        if (matchingOperations.size() == 1)
-        {
-          // only say the single operation is the one we're looking for if the names
-          // of the binding input and output are not specified
-          Operation tempOp = (Operation)matchingOperations.get(0);
-          boolean inputOK = false;
-          boolean outputOK = false;
-          Input tempInput = tempOp.getInput();
-          Output tempOutput = tempOp.getOutput();
-
-          // order is important in these conditions. condition 2 must fail for 3 to work
-          // check the input
-          if (tempInput == null && bindingInput == null)
-          {
-            inputOK = true;
-          }
-          else if (bindingInput == null || bindingInput.getName() == null)
-          {
-            inputOK = true;
-          }
-          else if (tempInput != null && bindingInput.getName().equals(tempInput.getName()))
-          {
-            inputOK = true;
-          }
-          // check the output
-          if (tempOutput == null && bindingOutput == null)
-          {
-            outputOK = true;
-          }
-          else if (bindingOutput == null || bindingOutput.getName() == null)
-          {
-            outputOK = true;
-          }
-          else if (tempOutput != null && bindingOutput.getName().equals(tempOutput.getName()))
-          {
-            outputOK = true;
-          }
-          if (inputOK && outputOK)
-          {
-            op = tempOp;
-          }
-          //          op = (Operation) matchingOperations.get(0);
-        }
-        // otherwise find the operation with the same name, inputname, outputname signature
-        if (matchingOperations != null && op == null)
-        {
-          Iterator iMatchingOperations = matchingOperations.iterator();
-          while (iMatchingOperations.hasNext())
-          {
-
-            boolean inputNamesEqual = false;
-            boolean outputNamesEqual = false;
-            Operation oper = (Operation)iMatchingOperations.next();
-            //          if (oper.getName().equalsIgnoreCase(bindingOperation.getName()))
-            //          {
-            Input opInput = oper.getInput();
-            if (opInput != null && bindingInput != null)
-            {
-              String opInputName = opInput.getName();
-              String bindingInputName = bindingInput.getName();
-              if (opInputName != null && opInputName.equalsIgnoreCase(bindingInputName))
-              {
-                inputNamesEqual = true;
-              }
-              else if (opInputName == null && bindingInputName == null)
-              {
-                inputNamesEqual = true;
-              }
-            }
-            else if (opInput == null && bindingInput == null)
-            {
-              inputNamesEqual = true;
-            }
-            Output opOutput = oper.getOutput();
-            if (opOutput != null && bindingOutput != null)
-            {
-              String opOutputName = opOutput.getName();
-              String bindingOutputName = bindingOutput.getName();
-              if (opOutputName != null && opOutputName.equalsIgnoreCase(bindingOutputName))
-              {
-                outputNamesEqual = true;
-              }
-              else if (opOutputName == null && bindingOutputName == null)
-              {
-                outputNamesEqual = true;
-              }
-            }
-            else if (opOutput == null && bindingOutput == null)
-            {
-              outputNamesEqual = true;
-            }
-            if (inputNamesEqual && outputNamesEqual)
-            {
-              op = oper;
-              break;
-            }
-            //}
-          }
-        }
-      }
-      //Operation op = portType.getOperation(name, inputName, outputName);
-
-      if (op == null)
-      {
-        op = def.createOperation();
-        op.setName(name);
-        portType.addOperation(op);
-      }
-
-      bindingOperation.setOperation(op);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(bindingOperation, bindingOperationEl);
-
-    return bindingOperation;
-  }
-  
-  /**
-   * Parse a specific binding input element.
-   * 
-   * @param bindingInputEl The binding input element.
-   * @param def The definitions element.
-   * @return A WSDL binding input element.
-   * @throws WSDLException
-   */
-  protected BindingInput parseBindingInput(Element bindingInputEl, Definition def) throws WSDLException
-  {
-    BindingInput bindingInput = def.createBindingInput();
-    String name = DOMUtils.getAttribute(bindingInputEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      bindingInput.setName(name);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(bindingInputEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        bindingInput.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        bindingInput.addExtensibilityElement(parseExtensibilityElement(BindingInput.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(bindingInput, bindingInputEl);
-
-    return bindingInput;
-  }
-
-  /**
-   * Parse a specific binding output element.
-   * 
-   * @param bindingOutputEl The binding output element.
-   * @param def The definitions element.
-   * @return A WSDL binding output element.
-   * @throws WSDLException
-   */
-  protected BindingOutput parseBindingOutput(Element bindingOutputEl, Definition def) throws WSDLException
-  {
-    BindingOutput bindingOutput = def.createBindingOutput();
-    String name = DOMUtils.getAttribute(bindingOutputEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      bindingOutput.setName(name);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(bindingOutputEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        bindingOutput.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        bindingOutput.addExtensibilityElement(parseExtensibilityElement(BindingOutput.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(bindingOutput, bindingOutputEl);
-
-    return bindingOutput;
-  }
-
-  /**
-   * Parse a specific binding fault element.
-   * 
-   * @param bindingFaultEl The binding fault element.
-   * @param def The definitions element.
-   * @return A WSDL binding fault element.
-   * @throws WSDLException
-   */
-  protected BindingFault parseBindingFault(Element bindingFaultEl, Definition def) throws WSDLException
-  {
-    BindingFault bindingFault = def.createBindingFault();
-    String name = DOMUtils.getAttribute(bindingFaultEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      bindingFault.setName(name);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(bindingFaultEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        bindingFault.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        bindingFault.addExtensibilityElement(parseExtensibilityElement(BindingFault.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(bindingFault, bindingFaultEl);
-
-    return bindingFault;
-  }
-
-  /**
-   * Parse a specific message element.
-   * 
-   * @param msgEl The message element.
-   * @param def The definitions element.
-   * @return A WSDL message element.
-   * @throws WSDLException
-   */
-  protected Message parseMessage(Element msgEl, Definition def) throws WSDLException
-  {
-    Message msg = null;
-    String name = DOMUtils.getAttribute(msgEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      QName messageName = new QName(def.getTargetNamespace(), name);
-
-      msg = def.getMessage(messageName);
-
-      if (msg == null)
-      {
-        msg = def.createMessage();
-        msg.setQName(messageName);
-      }
-      else if (!msg.isUndefined())
-      {
-        // produce an error message as a message with this name has already been defined
-        addReaderError(
-          def,
-          msgEl,
-          messagegenerator.getString("_MESSAGE_NAME_ALREADY_DEFINED", "'" + msg.getQName().getLocalPart() + "'"));
-      }
-    }
-    else
-    {
-      msg = def.createMessage();
-    }
-
-    // Whether it was retrieved or created, the definition has been found.
-    msg.setUndefined(false);
-
-    Element tempEl = DOMUtils.getFirstChildElement(msgEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        msg.setDocumentationElement(tempEl);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_PART, tempEl))
-      {
-        msg.addPart(parsePart(tempEl, def));
-      }
-      else
-      {
-        // XML Validation will catch this
-        DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(msg, msgEl);
-
-    return msg;
-  }
-
-  /**
-   * Parse a specific part element.
-   * 
-   * @param partEl The part element.
-   * @param def The definitions element.
-   * @return A WSDL part element.
-   * @throws WSDLException
-   */
-  protected Part parsePart(Element partEl, Definition def) throws WSDLException
-  {
-    Part part = def.createPart();
-    String name = DOMUtils.getAttribute(partEl, Constants.ATTR_NAME);
-
-    QName elementName;
-    try
-    {
-      elementName = DOMUtils.getQualifiedAttributeValue(partEl, Constants.ATTR_ELEMENT, Constants.ELEM_MESSAGE, false);
-    }
-    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"));
-    }
-
-    QName typeName;
-    try
-    {
-      typeName = DOMUtils.getQualifiedAttributeValue(partEl, Constants.ATTR_TYPE,
-        // Corrected - was ATTR_ELEMENT
-  Constants.ELEM_MESSAGE, false);
-    }
-    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"));
-    }
-
-    if (name != null)
-    {
-      part.setName(name);
-    }
-
-    if (elementName != null)
-    {
-      part.setElementName(elementName);
-    }
-
-    if (typeName != null)
-    {
-      part.setTypeName(typeName);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(partEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        part.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        // XML Validation will catch this
-        DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    Map extensionAttributes = part.getExtensionAttributes();
-
-    extensionAttributes.putAll(getPartAttributes(partEl, def));
-
-    // Need to do something here to locate part definition.
-
-    // add the location of this element to elementLocations 
-    setLocation(part, partEl);
-
-    return part;
-  }
-
-  /**
-   * Get a map of the part attributes.
-   * 
-   * @param el The part attributes element.
-   * @param def The defintions element.
-   * @return A map containing the part attributes.
-   * @throws WSDLException
-   */
-  protected Map getPartAttributes(Element el, Definition def) throws WSDLException
-  {
-    Map attributes = new HashMap();
-    NamedNodeMap nodeMap = el.getAttributes();
-    int atts = nodeMap.getLength();
-
-    for (int a = 0; a < atts; a++)
-    {
-      Attr attribute = (Attr)nodeMap.item(a);
-      String lName = attribute.getLocalName();
-      String nSpace = attribute.getNamespaceURI();
-      String prefix = attribute.getPrefix();
-      QName name = new QName(nSpace, lName);
-
-      if (nSpace != null && !nSpace.equals(Constants.NS_URI_WSDL))
-      {
-        if (!nSpace.equals(Constants.NS_URI_XMLNS))
-        {
-          String strValue = attribute.getValue();
-          QName qValue = null;
-
-          try
-          {
-            qValue = DOMUtils.getQName(strValue, el);
-          }
-          catch (WSDLException e)
-          {
-            qValue = new QName(strValue);
-          }
-
-          attributes.put(name, qValue);
-
-          String tempNSUri = def.getNamespace(prefix);
-
-          while (tempNSUri != null && !tempNSUri.equals(nSpace))
-          {
-            prefix += "_";
-            tempNSUri = def.getNamespace(prefix);
-          }
-
-          def.addNamespace(prefix, nSpace);
-        }
-      }
-      else if (
-        !lName.equals(Constants.ATTR_NAME)
-          && !lName.equals(Constants.ATTR_ELEMENT)
-          && !lName.equals(Constants.ATTR_TYPE))
-      {
-        WSDLException wsdlExc =
-          new WSDLException(
-            WSDLException.INVALID_WSDL,
-            "Encountered illegal "
-              + "part extension "
-              + "attribute '"
-              + name
-              + "'. Extension "
-              + "attributes must be in "
-              + "a namespace other than "
-              + "WSDL's.");
-
-        wsdlExc.setLocation(XPathUtils.getXPathExprFromNode(el));
-        //throw wsdlExc;
-      }
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(attributes, el);
-
-    return attributes;
-  }
-
-  /**
-   * Parse a specific portType element.
-   * 
-   * @param portTypeEl The portType element.
-   * @param def The defintions element.
-   * @return A WSDL portType element.
-   * @throws WSDLException
-   */
-  protected PortType parsePortType(Element portTypeEl, Definition def) throws WSDLException
-  {
-
-    PortType portType = null;
-    String name = DOMUtils.getAttribute(portTypeEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      QName portTypeName = new QName(def.getTargetNamespace(), name);
-
-      portType = def.getPortType(portTypeName);
-
-      if (portType == null)
-      {
-        portType = def.createPortType();
-        portType.setQName(portTypeName);
-      }
-      else if (!portType.isUndefined())
-      {
-        // if the PortType has already been defined produce an error and return null
-        addReaderError(
-          def,
-          portTypeEl,
-          messagegenerator.getString("_PORTTYPE_NAME_ALREADY_DEFINED", "'" + portType.getQName().getLocalPart() + "'"));
-        return null;
-      }
-    }
-    else
-    {
-      portType = def.createPortType();
-    }
-
-    // Whether it was retrieved or created, the definition has been found.
-    portType.setUndefined(false);
-
-    Element tempEl = DOMUtils.getFirstChildElement(portTypeEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        portType.setDocumentationElement(tempEl);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_OPERATION, tempEl))
-      {
-        // modified so duplicate operations will not be added to porttype 
-        Operation op = parseOperation(tempEl, portType, def);
-        if (op != null)
-        {
-          portType.addOperation(op);
-        }
-        //portType.addOperation(parseOperation(tempEl, portType, def));
-      }
-      else
-      {
-        // something else that shouldn't be here
-        // NEED TO ADD TO ERROR LIST
-        //DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(portType, portTypeEl);
-
-    return portType;
-  }
-
-  /**
-   * Parse a specific operation element.
-   * 
-   * @param opEl The operation element.
-   * @param portType The portType element.
-   * @param def The definitions element.
-   * @return A WSDL operation element.
-   * @throws WSDLException
-   */
-  protected Operation parseOperation(Element opEl, PortType portType, Definition def) throws WSDLException
-  {
-    Operation op = null;
-    String name = DOMUtils.getAttribute(opEl, Constants.ATTR_NAME);
-    String parameterOrderStr = DOMUtils.getAttribute(opEl, Constants.ATTR_PARAMETER_ORDER);
-    Element tempEl = DOMUtils.getFirstChildElement(opEl);
-    List messageOrder = new Vector();
-    Element docEl = null;
-    Input input = null;
-    Output output = null;
-    List faults = new Vector();
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        docEl = tempEl;
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))
-      {
-        input = parseInput(tempEl, def);
-        messageOrder.add(Constants.ELEM_INPUT);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))
-      {
-        output = parseOutput(tempEl, def);
-        messageOrder.add(Constants.ELEM_OUTPUT);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_FAULT, tempEl))
-      {
-        faults.add(parseFault(tempEl, def));
-      }
-      else
-      {
-        // invalid element in the operation
-        // XML check will catch this
-        DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    if (name != null)
-    {
-      String inputName = (input != null ? input.getName() : null);
-      String outputName = (output != null ? output.getName() : null);
-
-      boolean opDefined = false;
-
-      try
-      {
-
-        //op = portType.getOperation(name, inputName, outputName);
-
-        //Operation op = null;
-        List operations = portType.getOperations();
-        if (operations != null)
-        {
-
-          Iterator iOperations = operations.iterator();
-          while (iOperations.hasNext())
-          {
-            boolean inputNamesEqual = false;
-            boolean outputNamesEqual = false;
-            Operation oper = (Operation)iOperations.next();
-            if (oper.getName().equalsIgnoreCase(name))
-            {
-              Input opInput = oper.getInput();
-              if (opInput != null && input != null)
-              {
-                String opInputName = opInput.getName();
-                if (opInputName != null && inputName != null && opInputName.equalsIgnoreCase(inputName))
-                {
-                  inputNamesEqual = true;
-                }
-                else if (opInputName == null && inputName == null)
-                {
-                  inputNamesEqual = true;
-                }
-              }
-              else if (opInput == null && input == null)
-              {
-                inputNamesEqual = true;
-              }
-              Output opOutput = oper.getOutput();
-              if (opOutput != null && output != null)
-              {
-                String opOutputName = opOutput.getName();
-                if (opOutputName != null && outputName != null && opOutputName.equalsIgnoreCase(outputName))
-                {
-                  outputNamesEqual = true;
-                }
-                else if (opOutputName == null && outputName == null)
-                {
-                  outputNamesEqual = true;
-                }
-              }
-              else if (opOutput == null && output == null)
-              {
-                outputNamesEqual = true;
-              }
-              if (inputNamesEqual && outputNamesEqual)
-              {
-                op = oper;
-                break;
-              }
-            }
-          }
-        }
-      }
-      catch (Exception e)
-      {
-        opDefined = true;
-      }
-
-      if (op != null /*&& !op.isUndefined()*/
-        )
-      {
-        //op = null;
-        opDefined = true;
-
-      }
-
-      if (op != null && !opDefined)
-      {
-        if (inputName == null)
-        {
-          Input tempIn = op.getInput();
-
-          if (tempIn != null)
-          {
-            if (tempIn.getName() != null)
-            {
-              //op = null;
-              opDefined = true;
-            }
-          }
-        }
-      }
-
-      if (op != null && !opDefined)
-      {
-        if (outputName == null)
-        {
-          Output tempOut = op.getOutput();
-
-          if (tempOut != null)
-          {
-            if (tempOut.getName() != null)
-            {
-              //op = null;
-              opDefined = true;
-            }
-          }
-        }
-      }
-
-      if (opDefined)
-      {
-        // instead of creating a new one with the same name we're going to return null.
-        // According to the WSDL 1.2 working draft operation overloading is no longer allowed.
-        // Going to use that here to save a lot of work
-        setLocation(op, opEl);
-        addReaderError(
-          portType,
-          op,
-          messagegenerator.getString(
-            "_DUPLICATE_OPERATION_FOR_PORTTYPE",
-            "'" + op.getName() + "'",
-            "'" + portType.getQName().getLocalPart() + "'"));
-        return null;
-      }
-      if (op == null)
-      {
-        op = def.createOperation();
-        op.setName(name);
-
-      }
-    }
-    else
-    {
-      op = def.createOperation();
-    }
-
-    // Whether it was retrieved or created, the definition has been found.
-    op.setUndefined(false);
-
-    if (parameterOrderStr != null)
-    {
-      op.setParameterOrdering(StringUtils.parseNMTokens(parameterOrderStr));
-    }
-
-    if (docEl != null)
-    {
-      op.setDocumentationElement(docEl);
-    }
-
-    if (input != null)
-    {
-      op.setInput(input);
-    }
-
-    if (output != null)
-    {
-      op.setOutput(output);
-    }
-
-    if (faults.size() > 0)
-    {
-      Iterator faultIterator = faults.iterator();
-
-      while (faultIterator.hasNext())
-      {
-        Fault f = (Fault)faultIterator.next();
-        // if the fault isn't defined yet
-        if (op.getFault(f.getName()) == null)
-        {
-          op.addFault(f);
-        }
-        else
-        {
-          addReaderError(
-            op,
-            f,
-            messagegenerator.getString("_DUPLICATE_FAULT_NAME", "'" + f.getName() + "'", "'" + op.getName() + "'"));
-          //faultErrors.add(new Object[]{f,"Duplicate Name",op});
-        }
-      }
-    }
-
-    OperationType style = null;
-
-    if (messageOrder.equals(STYLE_ONE_WAY))
-    {
-      style = OperationType.ONE_WAY;
-    }
-    else if (messageOrder.equals(STYLE_REQUEST_RESPONSE))
-    {
-      style = OperationType.REQUEST_RESPONSE;
-    }
-    else if (messageOrder.equals(STYLE_SOLICIT_RESPONSE))
-    {
-      style = OperationType.SOLICIT_RESPONSE;
-    }
-    else if (messageOrder.equals(STYLE_NOTIFICATION))
-    {
-      style = OperationType.NOTIFICATION;
-    }
-
-    if (style != null)
-    {
-      op.setStyle(style);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(op, opEl);
-
-    // modified to remove duplicate operations
-    //    if(opDefined)
-    //    {
-    //      addReaderError(portType,op,ValidateWSDLPlugin.getInstance().getString("_DUPLICATE_OPERATION_FOR_PORTTYPE","'"+op.getName()+"'","'"+portType.getQName().getLocalPart()+"'"));
-    //      return null;
-    //    }
-    return op;
-  }
-
-  /**
-   * Parse a specific service element.
-   * 
-   * @param serviceEl The service element.
-   * @param def The defintions element.
-   * @return A WSDL service element.
-   * @throws WSDLException
-   */
-  protected Service parseService(Element serviceEl, Definition def) throws WSDLException
-  {
-    Service service = def.createService();
-    String name = DOMUtils.getAttribute(serviceEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      service.setQName(new QName(def.getTargetNamespace(), name));
-    }
-    Service s;
-    // a service with this name has already been defined
-    if ((s = def.getService(service.getQName())) != null)
-    {
-      addReaderError(
-        def,
-        serviceEl,
-        messagegenerator.getString("_SERVICE_NAME_ALREADY_DEFINED", "'" + s.getQName().getLocalPart() + "'"));
-      return s;
-    }
-    Element tempEl = DOMUtils.getFirstChildElement(serviceEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        service.setDocumentationElement(tempEl);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_PORT, tempEl))
-      {
-        service.addPort(parsePort(tempEl, def));
-      }
-      else
-      {
-        service.addExtensibilityElement(parseExtensibilityElement(Service.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(service, serviceEl);
-
-    return service;
-  }
-  
-  /**
-   * Parse a specific port element.
-   * 
-   * @param portEl The port element.
-   * @param def The definitions element.
-   * @return A WSDL port element.
-   * @throws WSDLException
-   */
-  protected Port parsePort(Element portEl, Definition def) throws WSDLException
-  {
-    Port port = def.createPort();
-    String name = DOMUtils.getAttribute(portEl, Constants.ATTR_NAME);
-    QName bindingStr;
-    try
-    {
-      bindingStr = DOMUtils.getQualifiedAttributeValue(portEl, Constants.ATTR_BINDING, Constants.ELEM_PORT, false);
-    }
-    catch (Exception e)
-    {
-      //the call above fails if there is no qualified namespace for the message name
-      bindingStr = new QName(null, DOMUtils.getAttribute(portEl, "binding"));
-    }
-
-    if (name != null)
-    {
-      port.setName(name);
-    }
-
-    if (bindingStr != null)
-    {
-      Binding binding = def.getBinding(bindingStr);
-
-      if (binding == null)
-      {
-        binding = def.createBinding();
-        binding.setQName(bindingStr);
-        def.addBinding(binding);
-      }
-
-      port.setBinding(binding);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(portEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        port.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        port.addExtensibilityElement(parseExtensibilityElement(Port.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(port, portEl);
-
-    return port;
-  }
-
-  /**
-   * Parse a specific extensibility element.
-   * 
-   * @param parentType The parent type of the extensibility element.
-   * @param el The extensibility element.
-   * @param def The definitions element.
-   * @return A WSDL extensibility element.
-   * @throws WSDLException
-   */
-  protected ExtensibilityElement parseExtensibilityElement(Class parentType, Element el, Definition def)
-    throws WSDLException
-  {
-    QName elementType = QNameUtils.newQName(el);
-
-    try
-    {
-      ExtensionRegistry extReg = def.getExtensionRegistry();
-
-      if (extReg == null)
-      {
-        throw new WSDLException(
-          WSDLException.CONFIGURATION_ERROR,
-          "No ExtensionRegistry set for this "
-            + "Definition, so unable to deserialize "
-            + "a '"
-            + elementType
-            + "' element in the "
-            + "context of a '"
-            + parentType.getName()
-            + "'.");
-      }
-
-      ExtensionDeserializer extDS = extReg.queryDeserializer(parentType, elementType);
-
-      // asign the ExtensibilityElement to a var so we can add it to the locations
-      ExtensibilityElement extElem = extDS.unmarshall(parentType, elementType, el, def, extReg);
-      // add the location of this element to elementLocations 
-      // this might not work properly
-      setLocation(extElem, el);
-
-      // register all of the child Elements so we can find them later
-      // used for inline schema validation
-      registerChildElements(extElem);
-
-      return extElem;
-    }
-    catch (WSDLException e)
-    {
-      if (e.getLocation() == null)
-      {
-        e.setLocation(XPathUtils.getXPathExprFromNode(el));
-      }
-      throw e;
-    }
-  }
-
-  /**
-   * Parse a specific input element.
-   * 
-   * @param inputEl The input element.
-   * @param def The defintions element.
-   * @return A WSDL input element.
-   * @throws WSDLException
-   */
-  protected Input parseInput(Element inputEl, Definition def) throws WSDLException
-  {
-
-    Input input = def.createInput();
-    String name = DOMUtils.getAttribute(inputEl, Constants.ATTR_NAME);
-    QName messageName = null;
-    try
-    {
-      messageName = DOMUtils.getQualifiedAttributeValue(inputEl, Constants.ATTR_MESSAGE, Constants.ELEM_INPUT, false);
-    }
-    catch (Exception e)
-    {
-      //the call above fails if there is no qualified namespace for the message name
-      messageName = new QName(null, DOMUtils.getAttribute(inputEl, "message"));
-    }
-
-    if (name != null)
-    {
-      input.setName(name);
-    }
-
-    if (messageName != null)
-    {
-      Message message = def.getMessage(messageName);
-
-      if (message == null)
-      {
-        message = def.createMessage();
-        message.setQName(messageName);
-        def.addMessage(message);
-      }
-
-      input.setMessage(message);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(inputEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        input.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        // XML Validation will catch this
-        DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(input, inputEl);
-
-    return input;
-  }
-
-  /**
-   * Parse a specific output element.
-   * 
-   * @param outputEl The output element.
-   * @param def The defintions element.
-   * @return A WSDL output element.
-   * @throws WSDLException
-   */
-  protected Output parseOutput(Element outputEl, Definition def) throws WSDLException
-  {
-    Output output = def.createOutput();
-    String name = DOMUtils.getAttribute(outputEl, Constants.ATTR_NAME);
-    QName messageName = null;
-    try
-    {
-      messageName = DOMUtils.getQualifiedAttributeValue(outputEl, Constants.ATTR_MESSAGE, Constants.ELEM_OUTPUT, false);
-    }
-    catch (Exception e)
-    {
-      //the call above fails if there is no qualified namespace for the message name
-      messageName = new QName(null, DOMUtils.getAttribute(outputEl, "message"));
-    }
-
-    if (name != null)
-    {
-      output.setName(name);
-    }
-
-    if (messageName != null)
-    {
-      Message message = def.getMessage(messageName);
-
-      if (message == null)
-      {
-        message = def.createMessage();
-        message.setQName(messageName);
-        def.addMessage(message);
-      }
-
-      output.setMessage(message);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(outputEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        output.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        // XML Validation will catch this
-        DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(output, outputEl);
-
-    return output;
-  }
-
-  /**
-   * Parse a specific fault element.
-   * 
-   * @param faultEl The fault element to parse.
-   * @param def The definitions element.
-   * @return A WSDL fault element.
-   * @throws WSDLException
-   */
-  protected Fault parseFault(Element faultEl, Definition def) throws WSDLException
-  {
-    Fault fault = def.createFault();
-    String name = DOMUtils.getAttribute(faultEl, Constants.ATTR_NAME);
-    QName messageName = null;
-    try
-    {
-      messageName = DOMUtils.getQualifiedAttributeValue(faultEl, Constants.ATTR_MESSAGE, Constants.ELEM_INPUT, false);
-    }
-    catch (Exception e)
-    {
-      //the call above fails if there is no qualified namespace for the message name
-      messageName = new QName(null, DOMUtils.getAttribute(faultEl, "message"));
-    }
-
-    if (name != null)
-    {
-      fault.setName(name);
-    }
-
-    if (messageName != null)
-    {
-      Message message = def.getMessage(messageName);
-
-      if (message == null)
-      {
-        message = def.createMessage();
-        message.setQName(messageName);
-        def.addMessage(message);
-      }
-
-      fault.setMessage(message);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(faultEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        fault.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        // XML Validation will catch this
-        DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    // add the location of this element to elementLocations 
-    setLocation(fault, faultEl);
-
-    return fault;
-  }
-  
-  /**
-   * Set the messagegenerator for the reader.
-   * 
-   * @param mg The message generator to set.
-   */
-  public void setMessageGenerator(MessageGenerator mg)
-  {
-    messagegenerator = mg;
-  }
-
-  /**
-   * Add the refObject to the elementLocation hashtable with the location defined in element.
-   * 
-   * @param refObject The object to add.
-   * @param element The element that contains the location information.
-   */
-  protected void setLocation(Object refObject, Element element)
-  {
-    try
-    {
-      ElementImpl elementImpl = (ElementImpl)element;
-      ElementLocation elementLocation = (ElementLocation)elementImpl.getUserData();
-      if (elementLocation != null)
-      {
-
-        elementLocations.put(
-          refObject,
-          new LocationHolder(elementLocation.getLineNumber(), elementLocation.getColumnNumber(), def.getDocumentBaseURI()));
-      }
-    }
-    catch (ClassCastException e)
-    {
-    }
-  }
-  /**
-   * Add a reader error to the list.
-   * 
-   * @param parentobject The parent object of the object with the error.
-   * @param object The object with the error.
-   * @param error The error message.
-   */
-  protected void addReaderError(Object parentobject, Object object, String error)
-  {
-    readerErrors.add(new ReaderError(parentobject, object, error));
-  }
-  
-  /**
-   * Add a reader warning to the list.
-   * 
-   * @param parentobject The parent object of the object with the error.
-   * @param object The object with the error.
-   * @param warning The warning message.
-   */
-  protected void addReaderWarning(Object parentobject, Object object, String warning)
-  {
-    readerWarnings.add(new ReaderError(parentobject, object, warning));
-  }
-  
-  /**
-   * Register all of the locations of the child elements of the extensibility
-   * element given.
-   * 
-   * @param extElem The extensibility element whose child elements will be registered.
-   */
-
-  protected void registerChildElements(ExtensibilityElement extElem)
-  {
-    // only add those that are of type unknown. if they're known they 
-    // will take care of themselves
-    if (extElem instanceof UnknownExtensibilityElement)
-    {
-      Element elem = ((UnknownExtensibilityElement)extElem).getElement();
-      registerChildElementsRecursively(elem);
-    }
-  }
-
-  /**
-   * Register the location of all of the child elements of elem.
-   * 
-   * @param elem The element whose child elements will be registered.
-   */
-  protected void registerChildElementsRecursively(Element elem)
-  {
-    if (elem instanceof ElementNSImpl)
-    {
-      setLocation(elem, elem);
-
-      // call the method recursively for each child element
-      NodeList childNodes = elem.getChildNodes();
-
-      for (int i = 0; i < childNodes.getLength() || i < 5; i++)
-      {
-        Node n = childNodes.item(i);
-        // we only want nodes that are Elements
-        if (n instanceof Element)
-        {
-          Element child = (Element)n;
-          registerChildElementsRecursively(child);
-        }
-      }
-    }
-  }
-  /**
-   * Check that an element name matches the expected name.
-   * 
-   * @param el The element with the name to check.
-   * @param qname The name to check against.
-   * @throws WSDLException
-   */
-  private static void checkElementName(Element el, QName qname) throws WSDLException
-  {
-    if (!QNameUtils.matches(qname, el))
-    {
-      WSDLException wsdlExc = new WSDLException(WSDLException.INVALID_WSDL, "Expected element '" + qname + "'.");
-
-      wsdlExc.setLocation(XPathUtils.getXPathExprFromNode(el));
-
-      throw wsdlExc;
-    }
-  }
-  
-  /**
-   * Get the element locations hashtable.
-   * 
-   * @return The element locations hashtable.
-   */
-  public Hashtable getElementLocations()
-  {
-    return elementLocations;
-  }
-  
-  /**
-   * Get the reader errors.
-   * 
-   * @return The reader errors.
-   */
-  public List getReaderErrors()
-  {
-    return readerErrors;
-  }
-  
-  /**
-   * Get reader warnings.
-   * 
-   * @return The reader warnings.
-   */
-  public List getReaderWarnings()
-  {
-    return readerWarnings;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGenerator.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGenerator.java
deleted file mode 100644
index 6902be3..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGenerator.java
+++ /dev/null
@@ -1,656 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.Vector;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.wsdl.Constants;
-
-/**
- * Generate a String representation of a schema for an inline schema. Will add imports for unresolved
- * namespaces.
- */
-public class InlineSchemaGenerator
-{
-  protected static final String SOAP_ENCODING_URI = "http://schemas.xmlsoap.org/soap/encoding/";
-  protected static final String FILE_PREFIX = "file:///";
-  protected static final String XMLNS = "xmlns";
-  protected static final String TARGETNAMESPACE = "targetNamespace";
-  protected static final String NAMESPACE = "namespace";
-  protected static final String IMPORT = "import";
-  protected static final String INCLUDE = "include";
-  protected static final String SCHEMA = "schema";
-  protected static final String SCHEMALOCATION = "schemaLocation";
-  protected static final String TYPE = "type";
-  protected static final String NAME = "name";
-  protected static final String[] ignoreNamespaces =
-    { Constants.NS_URI_XSD_1999, Constants.NS_URI_XSD_2000, Constants.NS_URI_XSD_2001 };
-
-  protected static InlineSchemaGenerator instance = null;
-
-  /**
-   * Constructor.
-   */
-  protected InlineSchemaGenerator()
-  {
-  }
-
-  /**
-   * Get the instance of the InlineSchemaGenerator.
-   * 
-   * @return The instance of the inline schema generator.
-   */
-  protected static InlineSchemaGenerator getInstance()
-  {
-    if (instance == null)
-    {
-      instance = new InlineSchemaGenerator();
-    }
-    return instance;
-  }
-  
-  /**
-   * Create a string representation of a schema from the element provided.
-   * 
-   * @param element The root element of the schema.
-   * @param elements A list of the elements in the schema in order.
-   * @param filelocation The URI of the file that contains the schema.
-   * @param validImportNSs A set of namespaces for which it's valid to create import statements.
-   * @return A string representation of a schema.
-   */
-  public static String createXSDString(Element element, List elements, String filelocation, Set validImportNSs)
-  {
-	  return InlineSchemaGenerator.createXSDString(element, elements, filelocation, new Hashtable(), validImportNSs);
-  }
-  
-  /**
-  	* Creates a String representing the schema model with the root element of
-  	* extElem. Calls createXSDStringRecursively to take care of building the String
-  	* after it obtains the Element from the UnknownExtensibilityElement.
-  	* 
-  	* @param element The root element of the schema.
-  	* @param elements A list to contain the elements in the schema in order.
-  	* @param filelocation The location of the file the schema is located in.
-  	* @param parentNSs A hashtable of parent namespaces to used to resolve prefixes.
-  	* @param validImportNSs A set of namespaces for which it's valid to create import statements.
-  	* @return A string representation of the schema with the root element 'element'.
-  	*/
-  public static String createXSDString(Element element, List elements, String filelocation, Hashtable parentNSs, Set validImportNSs)
-  {
-	Set importNSs = new TreeSet(); 
-    importNSs.addAll(validImportNSs); 
-    importNSs.add(SOAP_ENCODING_URI); 
-
-    InlineSchemaGenerator schemaGenerator = InlineSchemaGenerator.getInstance();
-    Hashtable nsResolver = schemaGenerator.getNSResolver(element);
-    List reqns = schemaGenerator.getRequiredNamespaces(element);
-    Hashtable reqNSDecl = schemaGenerator.resolveNamespaces(reqns, nsResolver, parentNSs);
-    //Hashtable reqNSDecl = schemaGenerator.getRequiredNSDeclarations(reqns, nsResolver, parentNSs);
-    List importNS = schemaGenerator.getImportNamespaces(element);
-    reqns = schemaGenerator.removeImports(reqns, importNS);
-    reqns = schemaGenerator.removeLocalNamespaces(reqns, element);
-	reqns = schemaGenerator.restrictImports(reqns, validImportNSs);
-    return schemaGenerator.createXSDStringRecursively(element, elements, reqns, reqNSDecl, filelocation);
-  }
-  /**
-   * Returns true if the SOAP encoding namespace is required but not imported.
-   * 
-   * @param element The root element of the schema.
-   * @param filelocation The location of the file containing the schema.
-   * @param parentNSs A hashtable of the parent namespaces.
-   * @return True if the soap encoding namespace is required but not imported, false otherwise.
-   */
-  public static boolean soapEncodingRequiredNotImported(Element element, String filelocation, Hashtable parentNSs)
-  {
-    InlineSchemaGenerator schemaGenerator = InlineSchemaGenerator.getInstance();
-    Hashtable nsResolver = schemaGenerator.getNSResolver(element);
-    List reqns = null;
-
-    reqns = schemaGenerator.getRequiredNamespaces(element);
-    schemaGenerator.resolveNamespaces(reqns, nsResolver, parentNSs);
-    //schemaGenerator.resolveUndeclaredNamespaces(reqns, parentNSs);
-    List importNS = schemaGenerator.getImportNamespaces(element);
-    reqns = schemaGenerator.removeImports(reqns, importNS);
-    reqns = schemaGenerator.removeLocalNamespaces(reqns, element);
-    return schemaGenerator.checkSOAPEncodingRequired(reqns);
-  }
-  /**
-   * Resolve the undeclared namespaces.
-   * 
-   * @param unresolvedNSs A list of unresolved namespaces.
-   * @param nsResolver The namespace resolver to use.
-   * @return A hashtable of prefixes and namespaces.
-   */
-//  protected Hashtable resolveUndeclaredNamespaces(List unresolvedNSs, Hashtable nsResolver)
-//  {
-//    Hashtable namespaces = new Hashtable();
-//    if (unresolvedNSs != null && !unresolvedNSs.isEmpty() && nsResolver != null)
-//    {
-//      for (int i = unresolvedNSs.size() - 1; i >= 0; i--)
-//      {
-//        String ns = (String)unresolvedNSs.get(i);
-//        if (ns.equals(""))
-//        {
-//          ns = XMLNS;
-//        }
-//        else
-//        {
-//          ns = XMLNS + ":" + ns;
-//        }
-//        if (nsResolver.containsKey(ns))
-//        {
-//          //namespaces.remove(i);
-//          //namespaces.add(i, nsResolver.get(ns));
-//          namespaces.put(ns, nsResolver.get(ns));
-//          unresolvedNSs.remove(i);
-//          unresolvedNSs.add(i, nsResolver.get(ns));
-//        }
-//      }
-//    }
-//    return namespaces;
-//  }
-
-  /**
-   * This recursive method creates the schema String from the root Element.
-   * 
-   * @param elem The root element of the schema.
-   * @param elements A list to be created of the elements in the schema in order.
-   * @param requiredNamespaces A list of required namespaces.
-   * @param reqNSDecl A hashtable of required namespace declarations.
-   * @param filelocation The uri of the file that contains this schema.
-   * @return A string representation of this schema.
-   */
-  protected String createXSDStringRecursively(
-    Element elem,
-    List elements,
-    List requiredNamespaces,
-    Hashtable reqNSDecl,
-    String filelocation)
-  {
-    if (elem == null)
-      return ""; // just in case
-
-    elements.add(elem);
-
-    StringBuffer xsdString = new StringBuffer();
-    String elementName = elem.getTagName();
-    xsdString.append("<").append(elementName);
-
-    boolean foundSchemaLocation = false; // flag if schemalocation is defined
-    String namespace = ""; // the namespace if we're checking an import or include
-    String namePrefix = ""; // the xmlns prefix used for the elements
-    // Get all of the attributes for this element and append them to the xsdString
-    NamedNodeMap atts = elem.getAttributes();
-    for (int i = 0; i < atts.getLength(); i++)
-    {
-      Node n = atts.item(i);
-      xsdString.append(" ").append(n.getNodeName()).append("=\"");
-      String nodeName = n.getNodeName();
-      if (nodeName.equalsIgnoreCase(SCHEMALOCATION) && filelocation != null)
-      {
-        foundSchemaLocation = true;
-        String relativePath = n.getNodeValue();
-        xsdString.append(relativePath).append("\"");   
-      }
-      else
-      {
-        String nodeValue = n.getNodeValue();
-        if (nodeName.equalsIgnoreCase(NAMESPACE))
-        {
-          namespace = nodeValue;
-        }
-        // get the name prefix for this schema to use in generating import statements
-        else if (nodeName.indexOf(XMLNS) != -1)
-        {
-
-          if (nodeValue.equalsIgnoreCase(elem.getNamespaceURI()))
-          {
-            namePrefix = nodeName;
-            if (namePrefix.equalsIgnoreCase(XMLNS))
-            {
-              namePrefix = "";
-            }
-            else
-            {
-              namePrefix = namePrefix.substring(6) + ":";
-            }
-          }
-        }
-        // Replace old schema namespaces with the new schema namespace.
-        if(nodeValue.equals(Constants.NS_URI_XSD_1999) || nodeValue.equals(Constants.NS_URI_XSD_2000))
-         {
-          nodeValue = Constants.NS_URI_XSD_2001;
-        }
-        xsdString.append(nodeValue).append("\"");
-      }
-    }
-    if (elementName.equalsIgnoreCase("import") && !foundSchemaLocation)
-    {
-      xsdString.append(" ").append(SCHEMALOCATION).append("=\"").append(namespace).append("\"");
-    }
-    // add in any required NS declarations from parent elements
-    if (reqNSDecl != null)
-    {
-      Enumeration keys = reqNSDecl.keys();
-      while (keys.hasMoreElements())
-      {
-        String key = (String)keys.nextElement();
-        String declNS = (String)reqNSDecl.get(key);
-        if(declNS.equals(Constants.NS_URI_XSD_1999) || declNS.equals(Constants.NS_URI_XSD_2000))
-         {
-          declNS = Constants.NS_URI_XSD_2001;
-        }
-        xsdString.append(" ").append(key).append("=\"").append(declNS).append("\"");
-      }
-
-    }
-    xsdString.append(">");
-    if (requiredNamespaces != null)
-    {
-      Iterator iRequiredNamespaces = requiredNamespaces.iterator();
-      while (iRequiredNamespaces.hasNext())
-      {
-        String ns = (String)iRequiredNamespaces.next();
-
-        xsdString
-          .append("<")
-          .append(namePrefix)
-          .append(IMPORT)
-          .append(" ")
-          .append(NAMESPACE)
-          .append("=\"")
-          .append(ns)
-          .append("\" ")
-          .append(SCHEMALOCATION)
-          .append("=\"")
-          .append(ns)
-          .append("\"/>");
-      }
-
-    }
-    xsdString.append("\n");
-
-    // call the method recursively for each child element
-    NodeList childNodes = elem.getChildNodes();
-
-    for (int i = 0; i < childNodes.getLength() || i < 5; i++)
-    {
-      Node n = childNodes.item(i);
-      // we only want nodes that are Elements
-      if (n instanceof Element)
-      {
-        Element child = (Element)n;
-        xsdString.append(createXSDStringRecursively(child, elements, null, null, filelocation));
-      }
-    }
-
-    xsdString.append("</").append(elem.getTagName()).append(">");
-
-    return xsdString.toString();
-
-  }
-  /**
-   * Get a list of all the namespaces that are used for elements or types in the schema.
-   * These are the required namespaces in order to ensure that all the elments are valid.
-   * 
-   * @param elem The element to check for required namespaces.
-   * @return A list of required namespaces for the element and all its children.
-   */
-  protected List getRequiredNamespaces(Element elem)
-  {
-    List namespace = new Vector();
-
-    // call the method recursively for each child element
-    // register all the child types first
-    NodeList childNodes = elem.getChildNodes();
-    int numChildren = childNodes.getLength();
-    // TODO: why is there a < 5 condition?
-    for (int i = 0; i < numChildren /*|| i < 5*/; i++)
-    {
-      Node n = childNodes.item(i);
-      // we only want nodes that are Elements
-      if (n instanceof Element)
-      {
-        Element child = (Element)n;
-        List childns = getRequiredNamespaces(child);
-        for (int j = childns.size() - 1; j >= 0; j--)
-        {
-          String ns = (String)childns.get(j);
-          
-          if (!namespace.contains(ns))
-          {
-            namespace.add(ns);
-          }
-        }
-      }
-    }
-    // Add the namespace of the current element
-    String elemNS = elem.getPrefix();
-    // if there is no namespace prefix set it to the empty prefix.
-    if(elemNS == null)
-    {
-      elemNS = "";
-    }
-    if (!namespace.contains(elemNS))
-     {
-      namespace.add(elemNS);
-    }
-    // now add all of the current element's namespaces
-    // don't include import and schema elements
-    String localname = elem.getLocalName();
-    if (!localname.equals(IMPORT) && !localname.equals(INCLUDE) && !localname.equals(SCHEMA))
-    {
-      NamedNodeMap atts = elem.getAttributes();
-      for (int i = 0; i < atts.getLength(); i++)
-      {
-        Node n = atts.item(i);
-
-        String nodeName = n.getNodeName();
-        // removed restriction that we're only looking at types
-        //		if (nodeName.equalsIgnoreCase(TYPE))
-        //		{
-        // don't take namespace info from attributes defining namespaces.
-        // that includes xmlns, targetNamespace
-        // don't take namespace info from name attributes
-        if (nodeName.indexOf(XMLNS) != -1 || nodeName.equals(TARGETNAMESPACE) || nodeName.equals(NAME))
-        {
-          continue;
-        }
-        String nodeValue = n.getNodeValue();
-        
-        
-        int colonIndex = nodeValue.indexOf(":");
-        // Don't take namespace info from attributes with the default namespace, that is attributes
-        // that are not prefixed. (colonIndex == -1)
-        // If the colonIndex is followed by a / then it is a URI and not
-        // namespace qualified.
-		if (colonIndex == -1 || (colonIndex + 1 < nodeValue.length() && nodeValue.charAt(colonIndex + 1) == '/'))
-        {
-          continue;
-        }
-        // here we have found a colon delimiter so we need the namespace defined here
-        else
-        {
-          nodeValue = nodeValue.substring(0, colonIndex);
-        }
-        if (!namespace.contains(nodeValue))
-        {
-
-          namespace.add(nodeValue);
-        }
-        //		}
-      }
-    }
-
-    return namespace;
-
-  }
-
-  /**
-   * Get a list of all the namespaces that have an import statement.
-   * 
-   * @param elem The root element of the schema.
-   * @return A list of all the namespaces that are imported.
-   */
-  protected List getImportNamespaces(Element elem)
-  {
-    List namespace = new Vector();
-
-    // call the method recursively for each child element
-    // register all the child types first
-    NodeList childNodes = elem.getChildNodes();
-
-    for (int i = 0; i < childNodes.getLength() || i < 5; i++)
-    {
-      Node n = childNodes.item(i);
-      // we only want nodes that are Elements
-      if (n instanceof Element)
-      {
-        Element child = (Element)n;
-        List childns = getImportNamespaces(child);
-        for (int j = childns.size() - 1; j >= 0; j--)
-        {
-          String ns = (String)childns.get(j);
-          if (!namespace.contains(ns))
-          {
-            namespace.add(ns);
-          }
-        }
-      }
-    }
-    // if this is an import element get the namespace and add it to the list
-    if (elem.getLocalName().equalsIgnoreCase(IMPORT))
-    {
-      NamedNodeMap atts = elem.getAttributes();
-      for (int i = 0; i < atts.getLength(); i++)
-      {
-        Node n = atts.item(i);
-
-        String nodeName = n.getNodeName();
-        if (nodeName.equalsIgnoreCase(NAMESPACE))
-        {
-          String nodeValue = n.getNodeValue();
-          if (!namespace.contains(nodeValue))
-          {
-
-            namespace.add(nodeValue);
-          }
-        }
-      }
-    }
-
-    return namespace;
-
-  }
-
-  /**
-   * Return a Hashtable with namespace prefixes as keys from the given element.
-   * 
-   * @param elem The root element of the schema.
-   * @return A hashtable with namespace prefixes mapped to namespaces.
-   */
-  protected Hashtable getNSResolver(Element elem)
-  {
-    Hashtable nsResolver = new Hashtable();
-
-    NamedNodeMap atts = elem.getAttributes();
-    for (int i = 0; i < atts.getLength(); i++)
-    {
-      Node n = atts.item(i);
-
-      String nodeName = n.getNodeName();
-      if (nodeName.indexOf(XMLNS) != -1)
-      {
-        String nodeValue = n.getNodeValue();
-        String namePrefix = nodeName;
-
-        if (namePrefix.equalsIgnoreCase(XMLNS))
-        {
-          namePrefix = "";
-        }
-        else
-        {
-          namePrefix = namePrefix.substring(6);
-        }
-        nsResolver.put(namePrefix, nodeValue);
-
-      }
-    }
-    return nsResolver;
-
-  }
-
-  /**
-   * Resolve the namespaces in the given namespaces list with the two namespace
-   * resolver hashtables provided. Return a list of all the namespace that need
-   * to be declared.
-   * First resolve against the local namespaces with nsResolver.
-   * Next resolve against the parent namespace with parentNSResolver.
-   * A side affect of this method is the namespaces list is left with only those 
-   * namespaces that are resolved and the resolved entities are placed in the 
-   * list instead of the original entries.
-   * For ex. If you provide a list such as {xsd, intf} and only xsd can be resolved
-   * you will end up with the list {http://www.w3.org/2001/XMLSchema}
-   * 
-   * @param namespaces The list of namespaces to resolve.
-   * @param nsResolver The hashtable to be used as the local resolver.
-   * @param parentNSResolver The hashtable to be used as the parent namespace resolver.
-   * @return A Hashtable of namespaces that must be declared.
-   */
-  protected Hashtable resolveNamespaces(List namespaces, Hashtable nsResolver, Hashtable parentNSResolver)
-  {
-  	Hashtable reqNSDecl = new Hashtable();
-    if (namespaces != null && !namespaces.isEmpty() && nsResolver != null)
-    {
-      for (int i = namespaces.size() - 1; i >= 0; i--)
-      {
-        String ns = (String)namespaces.get(i);
-        // Remove the namespace from the list.
-        namespaces.remove(i);
-        // First try to resolve against the local namespace resolver.
-        if (nsResolver.containsKey(ns))
-        {
-          Object resolvedNS = nsResolver.get(ns);
-          // Only add the namespace if it's not already in the list.
-          if(!namespaces.contains(resolvedNS))
-          {
-            namespaces.add(i, nsResolver.get(ns));
-          }
-        }
-        // Next try to resolve against the parent namespace resolver.
-        else
-        {
-        	if (ns.equals(""))
-            {
-              ns = XMLNS;
-            }
-            else
-            {
-              ns = XMLNS + ":" + ns;
-            }
-            if (parentNSResolver.containsKey(ns))
-            {
-              Object resolvedNS = parentNSResolver.get(ns);
-              // Only add the namespace if it's not already in the list.
-              if(!namespaces.contains(resolvedNS))
-              {
-                namespaces.add(i, resolvedNS);
-              }
-              // Still need to declare the namespace though.
-              reqNSDecl.put(ns, resolvedNS);
-            }
-        }
-
-      }
-    }
-    return reqNSDecl;
-  }
-
-  /**
-   * Remove any namespace from the namespaces list if it is in the import list.
-   * 
-   * @param namespaces The namespaces list.
-   * @param importedNamespaces A list of imported namespaces.
-   * @return The list of namespaces without the imported namespaces.
-   */
-  protected List removeImports(List namespaces, List importedNamespaces)
-  {
-    if (namespaces != null && importedNamespaces != null && !importedNamespaces.isEmpty())
-    {
-      Iterator iImportedNS = importedNamespaces.iterator();
-      while (iImportedNS.hasNext())
-      {
-        String iNS = (String)iImportedNS.next();
-
-        namespaces.remove(iNS);
-      }
-    }
-    return namespaces;
-  }
-
-  /**
-   * Remove the local namespace for the schema and the namespaces listed in the ignoreNamespaces
-   * list from the namespaces list provided.
-   * 
-   * @param namespaces The list of local namespaces.
-   * @param elem The root element of the schema.
-   * @return The list of namespaces with the local namespaces removed.
-   */
-  protected List removeLocalNamespaces(List namespaces, Element elem)
-  {
-    if (namespaces != null && elem != null)
-    {
-      String ns = elem.getAttribute(TARGETNAMESPACE);
-      namespaces.remove(ns);
-
-      for (int i = ignoreNamespaces.length - 1; i >= 0; i--)
-      {
-        // keep removing the namespace until it is not in the list
-        if (namespaces.remove(ignoreNamespaces[i]))
-        {
-          i++;
-        }
-      }
-    }
-    return namespaces;
-  }
-  
-  /** 
-   * Remove all the namespaces in the namespaces list that aren't contained in the 
-   * validImportNSs set. 
-   * 
-   * @param namespaces A list of namespaces. 
-   * @param validImportNSs A set of valid namespaces. 
-   * @return A list of namespaces that does not contain any members which aren't in the validImportNSs set. 
-   */ 
-  protected List restrictImports(List namespaces, Set validImportNSs) 
-  { 
-        Iterator nsIter = namespaces.iterator(); 
-        while(nsIter.hasNext()) 
-        { 
-          String ns = (String)nsIter.next(); 
-          if(!validImportNSs.contains(ns)) 
-          { 
-                namespaces.remove(ns); 
-				nsIter = namespaces.iterator();
-          } 
-        } 
-        return namespaces; 
-  } 
-
-  /**
-   * Returns true if the SOAP encoding namespace is in the list of required namespaces,
-   * false otherwise.
-   * 
-   * @param reqns The list of namespaces to check for the SOAP encoding namespace.
-   * @return True if the SOAP encoding namespaces is in the list, false otherwise.
-   */
-  protected boolean checkSOAPEncodingRequired(List reqns)
-  {
-    if (reqns.contains(SOAP_ENCODING_URI))
-    {
-      return true;
-    }
-    return false;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaValidator.java
deleted file mode 100644
index 5b58f21..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaValidator.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-import java.util.Set;
-import java.util.TreeSet;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xs.XSModel;
-import org.eclipse.wst.wsdl.validation.internal.util.ErrorMessage;
-import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.IWSDL11Validator;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.IWSDL11ValidationInfo;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import com.ibm.wsdl.Constants;
-
-/**
- * Plugin validator for the WSDL Validation framework. Validates inline schema found in a WSDL document.
- */
-public class InlineSchemaValidator implements IWSDL11Validator
-{
-  private final String _WARN_OLD_SCHEMA_NAMESPACE = "_WARN_OLD_SCHEMA_NAMESPACE";
-  private final String _WARN_SOAPENC_IMPORTED_SCHEMA = "_WARN_SOAPENC_IMPORTED_SCHEMA";
-  private final String EMPTY_STRING = "";
-  private final String QUOTE = "'";
-  MessageGenerator messagegenerator = null;
-  
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.IWSDL11Validator#validate(java.lang.Object, java.util.List, org.eclipse.wsdl.validate.wsdl11.WSDL11ValidationInfo)
-   */
-  public void validate(Object element, List parents, IWSDL11ValidationInfo valInfo)
-  {
-  	List elements = new ArrayList();
-    UnknownExtensibilityElement elem = (UnknownExtensibilityElement) element;
-    Definition wsdlDefinition = (Definition) parents.get(parents.size() - 1);
-    String baseLocation = wsdlDefinition.getDocumentBaseURI();
-    // Add in the namespaces defined in the doc already that aren't defined locally in this schema.
-    // There is no need to check for namespaces other then in the defintions and types elements as
-    // inline schema can not have any other parents and must have there two parents.
-    // First take care of the definitions element
-    
-    // create the inline schema string
-	Element w3celement = elem.getElement();
-	Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,w3celement);
-	String targetNamespace = w3celement.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
-	// if the targetNamespace hasn't been defined for the schema use the 
-	// targetNamespace of the definitions element
-	if(targetNamespace == null || targetNamespace.equals(EMPTY_STRING))
-	 {
-	  targetNamespace = wsdlDefinition.getTargetNamespace();
-	  w3celement.setAttribute(Constants.ATTR_TARGET_NAMESPACE,targetNamespace);
-	}
-	
-    // If the namespace given is one of the old schema namespaces produce a warning.
-	String namespace = w3celement.getNamespaceURI();
-	if(namespace.equals(Constants.NS_URI_XSD_1999) || namespace.equals(Constants.NS_URI_XSD_2000))
-	 {
-	  valInfo.addWarning(
-	      messagegenerator.getString(_WARN_OLD_SCHEMA_NAMESPACE, QUOTE + Constants.NS_URI_XSD_2001 + QUOTE), element);
-	}
-	
-    // now create and call the validator for the inline schema
-    XSDValidator schemav = new XSDValidator();
-    
-    //String fileLocation = new URL(validatormanager.getFilename()).getPath();
-    InlineXSDResolver inlineEntityResolver =
-      getEntityResolver(wsdlDefinition, (Types) parents.get(0), baseLocation, targetNamespace);
-    //	add in the external XSD Catalog to resolve schemas offline
-    XMLEntityResolverChain entityResolverChain = new XMLEntityResolverChain();
-    entityResolverChain.addEntityResolver(inlineEntityResolver);
-    entityResolverChain.addEntityResolver((XMLEntityResolver)valInfo.getURIResolver());
-    //entityResolverChain.addEntityResolver(XMLCatalogResolver.getInstance());
-    entityResolverChain.addEntityResolver(new FileEntityResolver());
-	
-    //	 Create the string representation of the inline schema. 
-    String xsd = InlineSchemaGenerator.createXSDString(w3celement, elements, baseLocation, parentnamespaces, inlineEntityResolver.getInlineSchemaNSs()); 
-
-	
-    schemav.validateInlineSchema(xsd, targetNamespace, baseLocation, entityResolverChain, inlineEntityResolver);
-    
-//	check if the SOAP Encoding namespace is required but not imported
-		 if (InlineSchemaGenerator.soapEncodingRequiredNotImported(elem.getElement(), baseLocation, parentnamespaces))
-		 {
-		   valInfo.addWarning(messagegenerator.getString(_WARN_SOAPENC_IMPORTED_SCHEMA), element);
-		 }
-
-    // If the schema isn't valid add the error messages produced to valinfo.
-    // Don't add the errors if they are located on another inline schema. These
-	// will be reported when the other schema is validated.
-		 
-    if (!schemav.isValid())
-    {
-      Iterator errors = schemav.getErrors().iterator();
-      while (errors.hasNext())
-      {
-        ErrorMessage err = (ErrorMessage) errors.next();
-        String uri = err.getURI();
-        int line = err.getErrorLine();
-        String errmess = err.getErrorMessage();
-        errmess = replaceNamespace(errmess, namespace);
-        if(line > 0)
-        {
-          if(uri == null || uri.equals(valInfo.getFileURI()))
-          {
-			valInfo.addError(errmess, getObjectAtLine(line - 1, elements));
-          }
-		  else if(!inlineEntityResolver.isInlineSchema(uri) && !uri.equals(valInfo.getFileURI() + InlineXSDResolver.INLINE_SCHEMA_ID))
-          {
-            valInfo.addError(errmess, line, err.getErrorColumn(), uri);
-          }
-        }
-		else if(uri != null && !inlineEntityResolver.isInlineSchema(uri) && !uri.equals(valInfo.getFileURI() + InlineXSDResolver.INLINE_SCHEMA_ID))
-        {
-	      valInfo.addError(errmess, 0,0, uri);
-        }
-      }
-    }
-    // if the schema is valid, assign the model to the validatormanager
-    else
-    {
-      XSModel xsModel = schemav.getXSModel();
-      valInfo.addSchema(xsModel);
-    }
-  }
-
-  /**
-   * Get an entity resolver that will resolve inline schemas.  Every inline schema is preregistered with
-   * the resolver.
-   * 
-   * @param wsdlDefinition The WSDL definitions element.
-   * @param types The types element.
-   * @param referenceLocation The location of the file that contains this schema.
-   * @param targetNamespace The targetNamespace of the schema.
-   * @return An entity resolver that can resolve inline schemas.
-   */
-  protected InlineXSDResolver getEntityResolver(Definition wsdlDefinition, Types types, String referenceLocation, String targetNamespace)
-  {
-    InlineXSDResolver entityResolver = new InlineXSDResolver();
-//    entityResolver.setReferenceLocation(referenceLocation);
-    List schemas = types.getExtensibilityElements();
-    if (schemas != null)
-    {
-      Iterator iSchemas = schemas.iterator();
-	  Set namespaces = new TreeSet(); 
-      while (iSchemas.hasNext()) 
-      { 
-        UnknownExtensibilityElement extElem = (UnknownExtensibilityElement) iSchemas.next(); 
-        String thisNamespace = extElem.getElement().getAttribute(Constants.ATTR_TARGET_NAMESPACE); 
-        if(thisNamespace != null) 
-        { 
-                namespaces.add(thisNamespace); 
-        } 
-      } 
-      iSchemas = schemas.iterator(); 
-
-      while (iSchemas.hasNext())
-      {
-        UnknownExtensibilityElement extElem = (UnknownExtensibilityElement) iSchemas.next();
-        String thisNamespace = extElem.getElement().getAttribute(Constants.ATTR_TARGET_NAMESPACE);
-        if (thisNamespace != null && !thisNamespace.equalsIgnoreCase(targetNamespace))
-        {
-        	
-        	Element element = extElem.getElement();
-			
-//			create the inline schema string
-			 //Element w3celement = elem.getElement();
-			 Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,element);
-			 String xsd = InlineSchemaGenerator.createXSDString(element, new ArrayList(), referenceLocation, parentnamespaces, namespaces);
-        	//addNamespaceDeclarationsFromParents(wsdlDefinition,element);
-          entityResolver.add(thisNamespace, xsd);
-        }
-
-      }
-    }
-    return entityResolver;
-  }
-  
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.validator.IWSDL11Validator#setResourceBundle(java.util.ResourceBundle)
-   */
-  public void setResourceBundle(ResourceBundle rb)
-  {
-  	messagegenerator = new MessageGenerator(rb);
-  }
-  
-  public void setMessageGenerator(MessageGenerator messgen)
-  {
-    messagegenerator = messgen;
-  }
-
-  /**
-   * Get the namespace declarations as in the form 
-   * xmlns="somenamespace"
-   * from the definitions and types elements and add them to the schema element so the schema 
-   * validator will have access to them.
-   * 
-   * @param wsdlDefinition The WSDL definitions element.
-   * @param element The types element.
-   * @return A hashtable with the namespace elements from the elements provided.
-   */
-  protected Hashtable getNamespaceDeclarationsFromParents(Definition wsdlDefinition, Element element)
-  {
-  	Hashtable nss = new Hashtable();
-    Iterator nameSpaces = wsdlDefinition.getNamespaces().keySet().iterator();
-
-    String XMLNS = Constants.ATTR_XMLNS;
-    
-    String schemaLocation = "";
-    while (nameSpaces.hasNext())
-    {
-      String nsprefix = XMLNS;
-      String ns = (String) nameSpaces.next();
-      if (!ns.equalsIgnoreCase(""))
-      {
-        nsprefix += ":";
-      }
-      if (!element.hasAttribute(nsprefix + ns))
-      {
-      	nss.put(nsprefix + ns, wsdlDefinition.getNamespace(ns));
-//        element.setAttribute(nsprefix + ns, wsdlDefinition.getNamespace(ns));
-      }
-
-    }
-    // Next handle the parent types element
-    NamedNodeMap atts = element.getParentNode().getAttributes();
-    int attslength = atts.getLength();
-    for (int i = 0; i < attslength; i++)
-    {
-      Node tempnode = atts.item(i);
-      String nodename = tempnode.getNodeName();
-      // if this is a namespace attribute
-      if (nodename.indexOf(XMLNS) != -1)
-      {
-		nss.put(nodename,  tempnode.getNodeValue());
-        //element.setAttribute(nodename, tempnode.getNodeValue());
-      }
-    }
-    return nss;
-  }
-  
-  /**
-   * Given a line number for the schema returns the element found on that line. 
-   * Useful for obtaining elements from schema Strings.
-   * 
-   * @param line The line number for the schema.
-   * @param elements The list of elements to check.
-   * @return The object located at the line or at line 0 if the line is invalid.
-   */
-   protected Object getObjectAtLine(int line, List elements)
-   {
-   	if(line < 0 || line >= elements.size())
-   	{
-   	  line = 0;
-   	}
-	return elements.get(line);
-   }
-   
-  /**
-   * Replace any instance of the 2001 schema namespace in the given message with
-   * the given namespace.
-   * 
-   * @param message The message to replace the namespace in.
-   * @param namespace The namespace used for replacement.
-   * @return The message with the 2001 schema namespace replaced by the given namespace.
-   */
-  private String replaceNamespace(String message, String namespace)
-   {
-     String xsd2001 = Constants.NS_URI_XSD_2001;
-     int start = message.indexOf(xsd2001);
-     int end = start + xsd2001.length();
-     if(start < 0)
-     {
-       return message;
-     }
-     String startString = message.substring(0,start);
-     String endString = message.substring(end,message.length());
-     return startString + namespace + endString;
-   }
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XMLEntityResolverChain.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XMLEntityResolverChain.java
deleted file mode 100644
index cf93615..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XMLEntityResolverChain.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-
-/**
- * Handle a chain of entity resolvers.
- */
-public class XMLEntityResolverChain implements XMLEntityResolver
-{
-  private List entityResolvers = new Vector();
-  
-  /**
-   * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
-   */
-  public XMLInputSource resolveEntity(XMLResourceIdentifier xmlResourceIdentifier) throws XNIException, IOException
-  {
-    XMLInputSource is = null;
-    Iterator entityResolverIter = entityResolvers.iterator();
-    while (entityResolverIter.hasNext())
-    {
-      XMLEntityResolver entityResolver = (XMLEntityResolver)entityResolverIter.next();
-      try
-      {
-        is = entityResolver.resolveEntity(xmlResourceIdentifier);
-      }
-      catch (XNIException e)
-      {
-      }
-      catch (IOException e)
-      {
-      }
-      if (is != null)
-      {
-        break;
-      }
-    }
-    // Throw and IOException if the file isn't found
-    if (is == null)
-    {
-      throw new IOException("Unable to locate file");
-    }
-    return is;
-  }
-
-  /**
-   * Add an entity resolver to this chain.
-   * 
-   * @param entityResolver The resolver to add to the chain.
-   */
-  public void addEntityResolver(XMLEntityResolver entityResolver)
-  {
-    entityResolvers.add(entityResolver);
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XSDValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XSDValidator.java
deleted file mode 100644
index 1ed97f6..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/XSDValidator.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.List;
-
-import org.apache.xerces.parsers.XMLGrammarPreparser;
-import org.apache.xerces.util.XMLGrammarPoolImpl;
-import org.apache.xerces.xni.grammars.XMLGrammarDescription;
-import org.apache.xerces.xni.grammars.XMLGrammarLoader;
-import org.apache.xerces.xni.grammars.XMLGrammarPool;
-import org.apache.xerces.xni.grammars.XSGrammar;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-import org.apache.xerces.xs.XSModel;
-
-
-/**
- * Validate schemas from files or String.
- */
-public class XSDValidator
-{
-  protected final String NAMESPACES_FEATURE_ID = "http://xml.org/sax/features/namespaces";
-  protected final String VALIDATION_FEATURE_ID = "http://xml.org/sax/features/validation";
-  protected final String SCHEMA_VALIDATION_FEATURE_ID = "http://apache.org/xml/features/validation/schema";
-  protected final String SCHEMA_FULL_CHECKING_FEATURE_ID =
-    "http://apache.org/xml/features/validation/schema-full-checking";
-  protected final String CONTINUE_AFTER_FATAL_ERROR_ID = "http://apache.org/xml/features/continue-after-fatal-error";
-  protected final String FILE_PREFIX = "file:";
-  protected final String XMLNS = "xmlns";
-  protected final String TARGETNAMESPACE = "targetNamespace";
-  protected final String NAMESPACE = "namespace";
-  protected final String IMPORT = "import";
-  protected final String SCHEMALOCATION = "schemaLocation";
-  protected final String TYPE = "type";
-  protected final String[] ignoreNamespaces =
-    { "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/1999/XMLSchema" };
-
-  protected XSModel xsModel;
-  protected boolean isValidXSD;
-  protected List errors;
-  protected String filelocation;
-
-  /**
-   * Constructor.
-   */
-  public XSDValidator()
-  {
-    xsModel = null;
-    isValidXSD = false;
-    errors = null;
-  }
-  /**
-   * Validate an inline schema.
-   * 
-   * @param schema A schema represented as a string.
-   * @param targetNamespace The target namespace of the schema.
-   * @param fileloc The uri of the file that contains the schema.
-   */
-  public void validateInlineSchema(String schema, String targetNamespace, String fileloc)
-  {
-    validateInlineSchema(schema, targetNamespace, fileloc, null, null);
-  }
-  
-  /**
-   * Validate an inline schema and specify an entity resolver.
-   * 
-   * @param schema This schema represented as a string.
-   * @param targetNamespace The target namespace of the schema.
-   * @param fileloc The uri of the file that contains this schema.
-   * @param entityResolverChain The entity resolver chain.
-   * @param inlineSchemaEntityResolver An inline schema resolver for this schema.
-   */
-  public void validateInlineSchema(
-    String schema,
-    String targetNamespace,
-    String fileloc,
-    XMLEntityResolver entityResolverChain,
-    XMLEntityResolver inlineSchemaEntityResolver)
-  {
-    filelocation = fileloc;
-    
-    validateXSD(schema, true, entityResolverChain,targetNamespace, inlineSchemaEntityResolver);
-  }
-
-  /**
-   * Validate the file located at the uri specified with the given entity resolver.
-   * 
-   * @param uri An absolute uri for the schema location.
-   * @param entityResolver An entity resolver to be used.
-   */
-  public void validate(String uri, XMLEntityResolver entityResolver)
-  {
-    validateXSD(uri, false, entityResolver, null, null);
-  }
-  
-  /**
-   * Validate the schema.
-   * 
-   * @param schema The schema or it's location.
-   * @param inlineXSD True if an inline schema, false otherwise.
-   * @param entityResolver An entity resolver to use.
-   * @param targetNamespace The target namespace of the schema being validated.
-   * @param inlineSchemaEntityResolver An inline schema entity resolver.
-   */
-  protected void validateXSD(String schema, boolean inlineXSD, XMLEntityResolver entityResolver, String targetNamespace, XMLEntityResolver inlineSchemaEntityResolver)
-  {
-    ValidateErrorHandler errorHandler = new ValidateErrorHandler();
-    errorHandler.getErrorMessages().clear();
-    try
-    {
-		XMLGrammarPreparser grammarPreparser = new XMLGrammarPreparser();
-		XMLGrammarPool grammarPool = new XMLGrammarPoolImpl();
-		grammarPreparser.setGrammarPool(grammarPool);
-	 
-      grammarPreparser.setErrorHandler(errorHandler);
-      if (entityResolver != null)
-      {
-		grammarPreparser.setEntityResolver(entityResolver);
-      }
-
-      try
-      {
-		XMLInputSource is = null;
-        // this allows support for the inline schema in WSDL documents
-        if (inlineXSD)
-        {
-        	
-        	Reader reader = new StringReader(schema);
-			is = new XMLInputSource(null,filelocation,filelocation,reader,null);
-			
-			((InlineXSDResolver)inlineSchemaEntityResolver).addReferringSchema(is,targetNamespace);
-
-        }
-        // get the input source for an external schema file
-        else
-        {
-          is = new XMLInputSource(null,schema,schema);
-        }
-        
-        grammarPreparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA,null/*schemaLoader*/);
-        XMLGrammarLoader schemaLoader = grammarPreparser.getLoader(XMLGrammarDescription.XML_SCHEMA);
-
-		XSGrammar grammar = (XSGrammar)grammarPreparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,is);
-		xsModel = grammar.toXSModel();
-      }
-      catch (Exception e)
-      {
-        //parser will return null pointer exception if the document is structurally invalid
-        //TODO: log error message
-        System.out.println(e);
-      }
-
-      errors = errorHandler.getErrorMessages();
-    }
-    catch (Exception e)
-    {
-    	System.out.println(e);
-    }
-    if (errors.isEmpty())
-    {
-      isValidXSD = true;
-    }
-  }
-
-  /**
-   * Returns the XSModel created.
-   * 
-   * @return The XSModel created.
-   */
-
-  public XSModel getXSModel()
-  {
-  	return xsModel;
-  }
-  /**
-   * Returns true if the schema is valid, false otherwise.
-   * 
-   * @return True if the schema is valid, false otherwise.
-   */
-  public boolean isValid()
-  {
-    return isValidXSD;
-  }
-
-  /**
-   * Return the error list.
-   * 
-   * @return A list of error from the schema.
-   */
-  public List getErrors()
-  {
-    return errors;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java
deleted file mode 100644
index ba8a0c1..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidate/org/eclipse/wst/wsdl/validation/internal/xml/DefaultXMLValidator.java
+++ /dev/null
@@ -1,561 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.xml;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.xerces.impl.XMLErrorReporter;
-import org.apache.xerces.jaxp.SAXParserFactoryImpl;
-import org.apache.xerces.parsers.SAXParser;
-import org.apache.xerces.parsers.StandardParserConfiguration;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLInputSource;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.wsdl.validation.internal.ValidationMessageImpl;
-import org.eclipse.wst.wsdl.validation.internal.resolver.IURIResolutionResult;
-import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolver;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import com.ibm.wsdl.Constants;
-
-/**
- * The default implementation of IXMLValidator.
- */
-public class DefaultXMLValidator implements IXMLValidator
-{
-  private final String _APACHE_FEATURE_CONTINUE_AFTER_FATAL_ERROR =
-    "http://apache.org/xml/features/continue-after-fatal-error";
-  private final String _APACHE_FEATURE_NAMESPACE_PREFIXES = "http://xml.org/sax/features/namespace-prefixes";
-  private final String _APACHE_FEATURE_NAMESPACES = "http://xml.org/sax/features/namespaces";
-  private final String _APACHE_FEATURE_VALIDATION = "http://xml.org/sax/features/validation";
-  private final String _APACHE_FEATURE_VALIDATION_SCHEMA = "http://apache.org/xml/features/validation/schema";
-  private final String _APACHE_PROPERTY_EXTERNAL_SCHEMALOCATION =
-    "http://apache.org/xml/properties/schema/external-schemaLocation";
-  private final String DEFINITIONS = "definitions";
-  
-  protected static final String IGNORE_ALWAYS = "IGNORE_ALWAYS";
-  protected static final String PREMATURE_EOF = "PrematureEOF";
-  
-  protected Hashtable ingoredErrorKeyTable = new Hashtable();
-
-  protected String uri;
-  protected URIResolver uriResolver = null;
-  protected List errors = new ArrayList();
-  protected StringBuffer schemaLocationString = new StringBuffer();
-  protected List ignoredNamespaceList = new ArrayList();
-  
-  protected InputStream inputStream = null;
-  
-  protected String currentErrorKey = null;
-  protected Object[] currentMessageArguments = null;
-  
-  protected boolean isChildOfDoc = false;
-//  protected String wsdlNamespace = null;
-
-
-
-
-/**
-   * Constructor.
-   */
-  public DefaultXMLValidator()
-  {
-    super();
-    
-    ignoredNamespaceList.add(Constants.NS_URI_XSD_1999);
-    ignoredNamespaceList.add(Constants.NS_URI_XSD_2000);
-    ignoredNamespaceList.add(Constants.NS_URI_XSD_2001);
-    
-    ingoredErrorKeyTable.put(PREMATURE_EOF, IGNORE_ALWAYS);
-  }
-
-  /**
-   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#setFile(IFile)
-   */
-  public void setFile(String uri)
-  {
-    this.uri = uri;
-  }
-  
-  public void setURIResolver(URIResolver uriResolver)
-  {
-  	this.uriResolver = uriResolver;
-  }
-
-  /**
-   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#run()
-   */
-  public void run()
-  {
-    // Validate the XML file.
-    try
-    {
-      Reader reader1 = null; // Used for the preparse.
-      Reader reader2 = null; // Used for validation parse.
-      
-      InputSource validateInputSource; 
-     
-      
-      if (this.inputStream != null)
-      {    
-      
-
-        String string = createStringForInputStream(inputStream);
-        reader1 = new StringReader(string);
-        reader2 = new StringReader(string); 
-          
-        validateInputSource = new InputSource(inputStream);
-        validateInputSource.setCharacterStream(reader2);
-      } else
-      { validateInputSource = new InputSource(uri);
-      }
-      
-      preparse(uri, reader1);
-      
-      SAXParser saxparser = createSAXParser();
-      XMLConformanceDefaultHandler handler = new XMLConformanceDefaultHandler();
-
-      saxparser.setErrorHandler(handler);
-	  saxparser.setEntityResolver(handler);
-	  saxparser.setContentHandler(handler);
-      
-      saxparser.parse(validateInputSource);
-//      wsdlNamespace = handler.getWSDLNamespace();
-    }
-    catch (SAXParseException e)
-    {
-      addError(e.getMessage(), e.getLineNumber(), e.getColumnNumber(), uri);
-    }
-    catch (IOException e)
-    {
-    }
-    catch (Exception e)
-    {
-      //System.out.println(e);
-    }
-  }
-
-  /**
-   * Create and configure a SAX parser.
-   * 
-   * @return The new SAX parser.
-   */
-  protected SAXParser createSAXParser()
-  {
-    SAXParser saxParser = null;
-    try
-    {
-      //SAXParserFactory parserfactory = new SAXParserFactoryImpl();
-      try
-      { MyStandardParserConfiguration configuration = new MyStandardParserConfiguration();
-        saxParser = new org.apache.xerces.parsers.SAXParser(configuration);
-        saxParser.setFeature(_APACHE_FEATURE_CONTINUE_AFTER_FATAL_ERROR, true);
-        saxParser.setFeature(_APACHE_FEATURE_NAMESPACE_PREFIXES, true);
-        saxParser.setFeature(_APACHE_FEATURE_NAMESPACES, true);
-        saxParser.setFeature(_APACHE_FEATURE_VALIDATION, true);
-        saxParser.setFeature(_APACHE_FEATURE_VALIDATION_SCHEMA, true);
-      }
-      catch (SAXNotRecognizedException e)
-      {
-      }
-      catch (SAXNotSupportedException e)
-      {
-      }
-      if (schemaLocationString.length() > 0)
-      {
-        saxParser.setProperty(_APACHE_PROPERTY_EXTERNAL_SCHEMALOCATION, schemaLocationString.toString());
-      }
-    }
-    catch (FactoryConfigurationError e)
-    {
-    }
-    catch (SAXNotRecognizedException e)
-    {
-    }
-    catch (SAXNotSupportedException e)
-    {
-    }
-//    catch (SAXException e)
-//    {
-//    }
-    return saxParser;
-  }
-
-  
-  final String createStringForInputStream(InputStream inputStream)
-  {
-    // Here we are reading the file and storing to a stringbuffer.
-    StringBuffer fileString = new StringBuffer();
-    try
-    {
-      InputStreamReader inputReader = new InputStreamReader(inputStream);
-      BufferedReader reader = new BufferedReader(inputReader);
-      char[] chars = new char[1024];
-      int numberRead = reader.read(chars);
-      while (numberRead != -1)
-      {
-        fileString.append(chars, 0, numberRead);
-        numberRead = reader.read(chars);
-      }
-    }
-    catch (Exception e)
-    {
-      //TODO: log error message
-      //e.printStackTrace();
-    }
-    return fileString.toString();
-  }
-  
-  /**
-   * Preparse the file to find all of the namespaces that are defined in order
-   * to specify the schemalocation.
-   * 
-   * @param uri The uri of the file to parse.
-   */
-  protected void preparse(String uri, Reader characterStream)
-  {
-      javax.xml.parsers.SAXParser saxParser = null;
-    try
-    {
-        
-      InputSource inputSource; 
-      
-      if (characterStream != null)
-      {   
-          inputSource = new InputSource(uri);
-          inputSource.setCharacterStream(characterStream);
-      }
-      else
-      {
-          inputSource = new InputSource(uri);
-      }
-      
-      SAXParserFactory parserfactory = new SAXParserFactoryImpl();
-
-      parserfactory.setFeature(_APACHE_FEATURE_NAMESPACE_PREFIXES, true);
-      parserfactory.setFeature(_APACHE_FEATURE_NAMESPACES, true);
-
-      saxParser = parserfactory.newSAXParser();
-      SchemaStringHandler handler = new SchemaStringHandler(uri);
-      
-      saxParser.parse(inputSource, handler);
-    }
-    catch (FactoryConfigurationError e)
-    {
-    }
-    catch (SAXNotRecognizedException e)
-    {
-    }
-    catch (ParserConfigurationException e)
-    {
-    }
-    catch (SAXNotSupportedException e)
-    {
-    }
-    catch (SAXException e)
-    {
-    }
-    catch (IOException e)
-    {
-    }
-  }
-
-  /**
-   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#hasErrors()
-   */
-  public boolean hasErrors()
-  {
-    return !errors.isEmpty();
-  }
-
-  /**
-   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidatorAction#getErrorList()
-   */
-  public List getErrors()
-  {
-    return errors;
-  }
-
-  /**
-   * Add an error message.
-   * 
-   * @param error The error message to add.
-   * @param line The line location of the error.
-   * @param column The column location of the error.
-   * @param uri The URI of the file containing the error.
-   */
-  protected void addError(String error, int line, int column, String uri)
-  {
-    errors.add(new ValidationMessageImpl(error, line, column, ValidationMessageImpl.SEV_ERROR, uri, currentErrorKey, currentMessageArguments));
-  }
-
-  /**
-   * The handler for the SAX parser. This handler will obtain the WSDL
-   * namespace, handle errors and resolve entities.
-   */
-  protected class XMLConformanceDefaultHandler extends DefaultHandler
-  {
-    /**
-     * @see org.xml.sax.ErrorHandler#error(SAXParseException)
-     */
-    public void error(SAXParseException arg0) throws SAXException
-    {
-     String tempURI = arg0.getSystemId();
-     if (inputStream!= null && arg0.getSystemId() == null)
-     {
-       //mh: In this case we are validating a stream so the URI may be null in this exception
-       tempURI = uri;       
-     }
-     addError(arg0.getMessage(), arg0.getLineNumber(), arg0.getColumnNumber(), tempURI);
-    }
-
-    /**
-     * @see org.xml.sax.ErrorHandler#fatalError(SAXParseException)
-     */
-    public void fatalError(SAXParseException arg0) throws SAXException
-    {
-      addError(arg0.getMessage(), arg0.getLineNumber(), arg0.getColumnNumber(), arg0.getSystemId());
-    }
-
-    /**
-     * @see org.xml.sax.ErrorHandler#warning(SAXParseException)
-     */
-    public void warning(SAXParseException arg0) throws SAXException
-    {
-      addError(arg0.getMessage(), arg0.getLineNumber(), arg0.getColumnNumber(), arg0.getSystemId());
-    }
-	
-	/**
-	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void endElement(String uri, String localName, String qName)
-			throws SAXException {
-		if(localName.equals("documentation") && (uri.equals(Constants.NS_URI_WSDL) || uri.equals(Constants.NS_URI_XSD_2001)|| uri.equals(Constants.NS_URI_XSD_1999) || uri.equals(Constants.NS_URI_XSD_2000)))
-		{
-		  isChildOfDoc = false;
-		}
-		super.endElement(uri, localName, qName);
-	}
-	/**
-	 * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-	 */
-	public void startElement(String uri, String localName, String qName,
-			Attributes atts) throws SAXException {
-		if(localName.equals("documentation") && (uri.equals(Constants.NS_URI_WSDL) || uri.equals(Constants.NS_URI_XSD_2001)|| uri.equals(Constants.NS_URI_XSD_1999) || uri.equals(Constants.NS_URI_XSD_2000)))
-		{
-		  isChildOfDoc = true;
-		}
-		super.startElement(uri, localName, qName, atts);
-	}
-
-    /**
-     * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String,
-     *      java.lang.String)
-     */
-    public InputSource resolveEntity(String publicId, String systemId) throws SAXException
-    {
-      // If we're currently examining a subelement of the 
-	  // WSDL or schema documentation element we don't want to resolve it
-	  // as anything is allowed as a child of documentation.
-	  if(isChildOfDoc)
-	  {
-	    return new InputSource();
-	  }
-    if(publicId == null)
-    {
-      publicId = systemId;
-    }
-      
-    IURIResolutionResult result = uriResolver.resolve(null, publicId, systemId);
-    String uri = result.getPhysicalLocation();
-    if (uri != null && !uri.equals(""))
-    {
-	  try
-	  {
-//	    String entity = systemId;
-//		if(publicId != null)
-//		{
-//		  entity = publicId;
-//		 }
-		URL entityURL = new URL(uri);
-        InputSource is = new InputSource(result.getLogicalLocation());
-		is.setByteStream(entityURL.openStream());
-        if (is != null)
-        {
-          return is;
-        }
-	  }
-	  catch(Exception e)
-	  {
-		 // Do nothing.
-	  }
-    }
-      // This try/catch block with the IOException is here to handle a difference
-      // between different versions of the EntityResolver interface.
-      try
-      {
-        InputSource is = super.resolveEntity(publicId, systemId);
-        if(is == null)
-        {
-          throw new IOException();
-        }
-        return is;
-      }
-      catch(IOException e)
-      {
-      }
-      return null;
-    }
-
-  }
-
-  /**
-   * @see org.eclipse.validate.wsdl.xmlconformance.IXMLValidator#setSchemaLocation(String,
-   *      String)
-   */
-  public void setSchemaLocation(String namespace, String location)
-  {
-    if (namespace != null && location != null && !namespace.equalsIgnoreCase("") && !location.equalsIgnoreCase(""))
-    {
-      schemaLocationString.append(" ").append(namespace).append(" ").append(formatURI(location));
-    }
-  }
-  
-  
-  /**
-   * @param inputStream - set the inputStream to validate
-   */
-  public void setInputStream(InputStream inputStream)
-  {
-      this.inputStream = inputStream;
-  }
-
-  /**
-   * Remove space characters from a String and replace them with %20.
-   * 
-   * @param uri -
-   *            the uri to format
-   * @return the formatted string
-   */
-  protected String formatURI(String uri)
-  {
-    String space = "%20";
-    StringBuffer newUri = new StringBuffer(uri);
-    int newUriLength = newUri.length();
-
-    // work backwards through the stringbuffer in case it grows to the
-    // point
-    // where the last space would be missed.
-    for (int i = newUriLength - 1; i >= 0; i--)
-    {
-      if (newUri.charAt(i) == ' ')
-      {
-        newUri.replace(i, i + 1, space);
-      }
-    }
-
-    return newUri.toString();
-  }
-
-  /**
-   * A handler used in preparsing to get the schemaLocation string.
-   */
-  protected class SchemaStringHandler extends DefaultHandler
-  {
-    private final String XMLNS = "xmlns";
-	  private final String TARGETNAMESPACE = "targetNamespace";
-    private String baselocation = null;
-
-    public SchemaStringHandler(String baselocation)
-    {
-      this.baselocation = baselocation;
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#startElement(java.lang.String,
-     *      java.lang.String, java.lang.String, org.xml.sax.Attributes)
-     */
-    public void startElement(String uri, String localname, String arg2, Attributes attributes) throws SAXException
-    {
-      if (localname.equals(DEFINITIONS))
-      {
-        String targetNamespace = attributes.getValue(TARGETNAMESPACE);
-        int numAtts = attributes.getLength();
-        for (int i = 0; i < numAtts; i++)
-        {
-
-          String attname = attributes.getQName(i);
-          if (attname.startsWith(XMLNS))
-          {
-            String namespace = attributes.getValue(i);
-            if(!(namespace.equals(targetNamespace) || ignoredNamespaceList.contains(namespace)))
-            {
-              String resolvedURI = namespace;
-              setSchemaLocation(namespace, resolvedURI);
-            }
-          }
-        }
-
-      }
-      super.startElement(uri, localname, arg2, attributes);
-
-    }
-  }
-
-  
-  protected class MyStandardParserConfiguration extends StandardParserConfiguration
-  {
-    public MyStandardParserConfiguration()
-    {
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.xerces.parsers.DTDConfiguration#createErrorReporter()
-     */
-    protected XMLErrorReporter createErrorReporter()
-    {
-      return new XMLErrorReporter()
-      {
-        /* (non-Javadoc)
-         * @see org.apache.xerces.impl.XMLErrorReporter#reportError(java.lang.String, java.lang.String, java.lang.Object[], short)
-         */
-        public void reportError(String domain, String key, Object[] arguments,
-            short severity) throws XNIException
-        {
-          currentErrorKey = key;
-          currentMessageArguments = arguments;
-          super.reportError(domain, key, arguments, severity);
-        }
-      };
-    }
-  }
-  
-  
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/URIResolverRegistryReader.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/URIResolverRegistryReader.java
deleted file mode 100644
index aa85b8d..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/URIResolverRegistryReader.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.ui.eclipse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.wsdl.validation.internal.resolver.IExtensibleURIResolver;
-import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolverDelegate;
-
-/**
- * Read extension URI resolvers.
- * 
- *  <extension
- *     point="org.eclipse.wst.wsdl.validation.uriresolver">
- *    <uriresolver
- *       class="org.eclipse.wst.wsdl.validation.someclass"/>
- *   </extension>
- *  
- */
-class URIResolverRegistryReader
-{
-  protected static final String PLUGIN_ID = "org.eclipse.wst.wsdl.validation";
-  protected static final String EXTENSION_POINT_ID = "uriresolver";
-  protected static final String ATT_CLASS = "class";
-  protected String tagName;
-
-  /**
-   * Constructor.
-   */
-  public URIResolverRegistryReader()
-  {
-  }
-
-  /**
-   * Read from plugin registry and handle the configuration elements that match
-   * the spedified elements.
-   */
-  public List readRegistry()
-  {
-  	List resolverList = new ArrayList();
-    IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
-    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-    if (point != null)
-    {
-      IConfigurationElement[] elements = point.getConfigurationElements();
-      for (int i = 0; i < elements.length; i++)
-      {
-        IExtensibleURIResolver resolver = readElement(elements[i]);
-        if(resolver != null)
-        {
-          resolverList.add(resolver);
-        }
-      }
-    }
-    return resolverList;
-  }
-
-  /**
-   * Parse and deal with the extension points.
-   * 
-   * @param element The extension point element.
-   */
-  protected IExtensibleURIResolver readElement(IConfigurationElement element)
-  {
-    if (element.getName().equals(EXTENSION_POINT_ID))
-    {
-      String resolverClass = element.getAttribute(ATT_CLASS);
-
-      if (resolverClass != null)
-      {
-        try
-        {
-          ClassLoader pluginLoader =
-            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader();
-            
-          return new URIResolverDelegate(resolverClass, pluginLoader).getURIResolver();
-        }
-        catch (Exception e)
-        {
-        }
-      }
-    }
-    return null;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/URIResolverWrapper.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/URIResolverWrapper.java
deleted file mode 100644
index d00d0d3..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/URIResolverWrapper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.ui.eclipse;
-
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
-import org.eclipse.wst.wsdl.validation.internal.resolver.IExtensibleURIResolver;
-import org.eclipse.wst.wsdl.validation.internal.resolver.IURIResolutionResult;
-
-/**
- * An wrapper URI resolver that wraps the Web Standard Tools URI resolver
- * in a WSDL validator URI resolver.
- */
-public class URIResolverWrapper implements IExtensibleURIResolver
-{
-  /**
-   * Constructor.
-   */
-  public URIResolverWrapper()
-  {
-  }
-
-  /**
-   * @see org.eclipse.wst.wsdl.validation.internal.resolver.IExtensibleURIResolver#resolve(java.lang.String, java.lang.String, java.lang.String, org.eclipse.wst.wsdl.validation.internal.resolver.IURIResolutionResult)
-   */
-  public void resolve(String baseLocation, String publicId, String systemId, IURIResolutionResult result)
-  {
-    URIResolver resolver = URIResolverPlugin.createResolver();
-    String location = null;
-    if (publicId != null || systemId != null)
-    {  
-      location = resolver.resolve(baseLocation, publicId, systemId);
-    }  
-    
-    if (location != null)
-    {       
-      result.setLogicalLocation(location);
-      String physical = resolver.resolvePhysicalLocation(baseLocation, publicId, location);
-      if(physical != null)
-      {
-        result.setPhysicalLocation(physical);
-      }
-      else
-      {
-        result.setPhysicalLocation(location);
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLAction.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLAction.java
deleted file mode 100644
index 4a6cfa3..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLAction.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.ui.eclipse;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.wsdl.validation.internal.IValidationMessage;
-import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
-import org.eclipse.wst.wsdl.validation.internal.ValidationMessageImpl;
-import org.eclipse.wst.wsdl.validation.internal.xml.XMLMessageInfoHelper;
-import org.eclipse.wst.xml.ui.internal.validation.core.ValidateAction;
-
-/**
- * Eclipse action for running the WSDL validator. 
- */
-public class ValidateWSDLAction extends ValidateAction
-{
-  private static final String REFERENCED_FILE_ERROR_OPEN = "referencedFileError(";
-
-  private static final String REFERENCED_FILE_ERROR_CLOSE = ")";
-  private final String FILE_PROTOCOL = "file:///";
-
-  private static final String _UI_SAVE_DIRTY_FILE_MESSAGE = "_UI_SAVE_DIRTY_FILE_MESSAGE";
-
-  private static final String _UI_SAVE_DIRTY_FILE_TITLE = "_UI_SAVE_DIRTY_FILE_TITLE";
-  private static final String _UI_REF_FILE_ERROR_MESSAGE = "_UI_REF_FILE_ERROR_MESSAGE";
-  private static final String NESTED_ERRORS = "NESTED_ERRORS";
-
-  private InputStream inputStream = null;
-  /**
-   * Constructor.
-   * 
-   * @param file The file to validate.
-   * @param showDialog Whether to show a dialog with the status upon completion.
-   */
-  public ValidateWSDLAction(IFile file, boolean showDialog)
-  {
-  	super(file, showDialog);
-  }
-
-
-  /**
-   * Validate the given file and assign markers correspondingly to the file. If
-   * required, show a dialog with the results of the validation.
-   * 
-   * @param file The file to validate.
-   */
-  protected void validate(final IFile file)
-  {
-    final ValidationOutcome validationOutcome = new ValidationOutcome();
-    IWorkspaceRunnable op = new IWorkspaceRunnable()
-    {
-      public void run(IProgressMonitor progressMonitor) throws CoreException
-      {
-        WSDLValidator wsdlValidator = WSDLValidator.getInstance();
-        clearMarkers(file);
-        IValidationReport valReport = null;
-
-        String location = null;
-        try
-        {
-          location = file.getLocation().toFile().getCanonicalFile().getAbsolutePath();
-        }
-        catch (IOException e)
-        {
-          location = file.getLocation().toString();
-        }
-        location = location.replace('\\','/');
-        if (location.startsWith("/"))
-        {
-          valReport = wsdlValidator.validate(FILE_PROTOCOL + location.substring(1), inputStream);
-        }
-        else
-        {
-          valReport = wsdlValidator.validate(FILE_PROTOCOL + location, inputStream);
-        }
-        validationOutcome.isWSDLValid = valReport.isWSDLValid();
-        validationOutcome.isValid = !valReport.hasErrors();
-        if (valReport.getValidationMessages().length == 0)
-        {
-          validationOutcome.hasMessages = false;
-        }
-        else
-        {
-          validationOutcome.hasMessages = true;
-        }
-
-        createMarkers(file, convertValidationMessages(valReport.getValidationMessages()));
-        //createMarkers(file, validatormanager.getWarningList(), WARNING_MARKER);
-        
-        //file.setSessionProperty(ValidationMessage.ERROR_MESSAGE_MAP_QUALIFIED_NAME, valReport.getNestedMessages());
-        file.setSessionProperty(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.ERROR_MESSAGE_MAP_QUALIFIED_NAME, convertNestedValidationMessages(valReport.getNestedMessages()));
-      }
-    };
-
-    try
-    {
-      ResourcesPlugin.getWorkspace().run(op, null);
-
-      if (showDialog)
-      {
-        showDialog(validationOutcome);
-      }
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-    }
-  }
-  
-  /**
-   * Convert WSDL validation messages to validation framework messages.
-   * 
-   * @param messages The WSDL validation messages to convert.
-   * @return The converted validation messages.
-   */
-  private org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[] convertValidationMessages(IValidationMessage[] messages)
-  {
-  	int numMessages = messages.length;
-  	org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[] convertedMessages = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[numMessages];
-  	
-  	for(int i = 0; i < numMessages; i++)
-  	{
-  	  IValidationMessage mess = messages[i];
-      
-      org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage convertMess = null;
-      if (mess instanceof ValidationMessageImpl)
-      {   String errorKey = ((ValidationMessageImpl)mess).getErrorKey();
-          Object[] messageArgs = ((ValidationMessageImpl)mess).getMessageArguments();
-          convertMess = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage(mess.getMessage(), mess.getLine(), mess.getColumn(), mess.getURI(), errorKey, messageArgs);
-      }
-      else
-      {
-         convertMess = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage(mess.getMessage(),mess.getLine(),mess.getColumn(), mess.getURI());
-      }
-  	  if(mess.getSeverity() == IValidationMessage.SEV_WARNING)
-	  {
-	  	convertMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_LOW);
-	  }
-	  else
-	  {
-	  	convertMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_HIGH);
-	  }
-  	  
-  	  // Convert any nested messages.
-  	  List nestedMessages = mess.getNestedMessages();
-  	  if(nestedMessages != null && !nestedMessages.isEmpty())
-  	  {
-  	  	Iterator nestedIter = nestedMessages.iterator();
-  	    while(nestedIter.hasNext())
-        {
-          IValidationMessage nestedMess = (IValidationMessage)nestedIter.next();
-    	  org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage convertNestedMess = new org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage(nestedMess.getMessage(),nestedMess.getLine(),nestedMess.getColumn(), nestedMess.getURI());
-    	  if(nestedMess.getSeverity() == IValidationMessage.SEV_WARNING)
-    	  {
-    	  	convertNestedMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_LOW);
-    	  }
-    	  else
-    	  {
-    	  	convertNestedMess.setSeverity(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage.SEV_HIGH);
-    	  }
-    	  convertMess.addNestedMessage(convertNestedMess);
-        }
-  	  }
-  	  convertedMessages[i] = convertMess;
-  	}
-  	return convertedMessages;
-  }
-  
-  /**
-   * Convert the nested messages hashmap.
-   * 
-   * @param nestedMessages The nested messages hashmap to convert.
-   * @return A hashmap with the converted validation messages.
-   */
-  private HashMap convertNestedValidationMessages(HashMap nestedMessages)
-  {
-  	HashMap convertedMap = new HashMap();
-  	
-  	Set keySet = nestedMessages.keySet();
-  	Iterator keysIter = keySet.iterator();
-  	while(keysIter.hasNext())
-  	{
-  	  String key = (String)keysIter.next();
-  	  IValidationMessage message = (IValidationMessage)nestedMessages.get(key);
-  	  org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage[] convertedMessage = convertValidationMessages(new IValidationMessage[]{message});
-  	  
-  	  convertedMap.put(key, convertedMessage[0]);
-  	}
-  	return convertedMap;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.jface.action.IAction#run()
-   */
-//  public void run()
-//  {
-//    // Only run the validation if the file exists and is available.
-//    if (fileIsOK(file))
-//    {
-//      if (showDialog)
-//      {
-//        // Check if the file is dirty - prompts user to save.
-//        checkIfFileDirty(file);
-//      }
-//      super.run();
-//    }
-//  }
-
-  /**
-   * Test whether the file given is OK to use. A file is OK to use if 1. It is
-   * not null 2. It exists. 3. The project containing the file is accessible.
-   * 
-   * @param file The file to check to see if it is OK to validate.
-   * @return True if the file is OK to validate, false otherwise.
-   */
-//  protected boolean fileIsOK(IFile file)
-//  {
-//    if (file != null && file.exists() && file.getProject().isAccessible())
-//    {
-//      return true;
-//    }
-//    return false;
-//  }
-
-  /**
-   * Check if the file is dirty. A file is dirty if there is an open editor for
-   * the file that contains changes that haven't been saved.
-   * 
-   * @param file The file to check to see if it is dirty.
-   */
-//  protected void checkIfFileDirty(IFile file)
-//  {
-//    IEditorPart[] dirtyEditors = ValidateWSDLPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow().getActivePage().getDirtyEditors();
-//
-//    int numeditors = dirtyEditors.length;
-//    for (int i = 0; i < numeditors; i++)
-//    {
-//      IEditorInput editorInput = dirtyEditors[i].getEditorInput();
-//      if (editorInput instanceof FileEditorInput)
-//      {
-//        FileEditorInput fileEditorInput = (FileEditorInput) editorInput;
-//        if (fileEditorInput.getFile().equals(file))
-//        {
-//          String message = ValidateWSDLPlugin.getInstance().getString(_UI_SAVE_DIRTY_FILE_MESSAGE);
-//          String title = ValidateWSDLPlugin.getInstance().getString(_UI_SAVE_DIRTY_FILE_TITLE);
-//          if (MessageDialog.openQuestion(Display.getDefault().getActiveShell(), title, message))
-//          {
-//            dirtyEditors[i].doSave(null);
-//          }
-//          // There can only be one open editor/file so we can break.
-//          break;
-//        }
-//      }
-//
-//    }
-//  }
-
-  /**
-   * Create a marker on the file of the indicated type for each
-   * ValidationMessage in the array.
-   * 
-   * @param iFile
-   *          The file to add the markers to.
-   * @param valMessages
-   *          The array of messages to add as markers.
-   */
-//  public void createMarkers(IFile iFile, ValidationMessage[] valMessages)
-//  {
-//    if (!fileIsOK(iFile))
-//    {
-//      return;
-//    }
-//    int numValMessages = valMessages.length;
-//    for (int i = 0; i < numValMessages; i++)
-//    {
-//      ValidationMessage validationMessage = valMessages[i];
-//
-//      int line = validationMessage.getLine();
-//      int column = validationMessage.getColumn();
-//      String message = validationMessage.getMessage();
-//      int severity = validationMessage.getSeverity();
-//      IMarker marker = null;
-//      
-//      boolean hasNestedErrors = false;
-//      List nestederrors = validationMessage.getNestedMessages();
-//      if(nestederrors != null && !nestederrors.isEmpty())
-//      {
-//        hasNestedErrors = true;
-//        message += ValidateWSDLPlugin.getInstance().getString(_UI_REF_FILE_ERROR_MESSAGE); 
-//      }
-//      if (severity == ValidationMessage.SEV_ERROR)
-//      {
-//        marker = getOrCreateReporter().addErrorMessage(iFile, message, line, column);
-//      }
-//      else if (severity == ValidationMessage.SEV_WARNING)
-//      {
-//        marker = getOrCreateReporter().addWarningMessage(iFile, message, line, column);
-//      }
-//      
-//      if (hasNestedErrors && marker != null)
-//      {
-//        try
-//        {
-//          marker.setAttribute("groupName", REFERENCED_FILE_ERROR_OPEN + validationMessage.getURI() + REFERENCED_FILE_ERROR_CLOSE);
-//          marker.setAttribute(IMarker.DONE, true);
-//        }
-//        catch(CoreException e)
-//        {
-//        }
-//      }
-//      
-//    }
-//  }
-
-  /**
-   * Show a dialog containing the status of the validation. Will display valid
-   * or invalid depending on whether there are errors or not.
-   * 
-   * @param validationOutcome
-   *          The outcome of the validation.
-   */
-  public void showDialog(ValidationOutcome validationOutcome)
-  {
-    String title, message;
-    if (validationOutcome.isValid)
-    {
-      if (validationOutcome.hasMessages)
-      {
-        showProblemsView();
-        title = ValidateWSDLPlugin.getInstance().getString("_VALIDATION_SUCCEEDED");
-        message = ValidateWSDLPlugin.getInstance().getString("_UI_THE_WSDL_FILE_IS_VALID_WITH_WARNINGS");
-        MessageDialog.openWarning(Display.getDefault().getActiveShell(), title, message);
-      }
-      else
-      {
-        title = ValidateWSDLPlugin.getInstance().getString("_VALIDATION_SUCCEEDED");
-        message = ValidateWSDLPlugin.getInstance().getString("_UI_THE_WSDL_FILE_IS_VALID");
-        MessageDialog.openInformation(Display.getDefault().getActiveShell(), title, message);
-      }
-
-    }
-    else
-    {
-      if (validationOutcome.isWSDLValid)
-      {
-        title = ValidateWSDLPlugin.getInstance().getString("_VALIDATION_FAILED");
-        message = ValidateWSDLPlugin.getInstance().getString("_UI_THE_WSDL_FILE_IS_VALID_WSDL11");
-      }
-      else
-      {
-        title = ValidateWSDLPlugin.getInstance().getString("_VALIDATION_FAILED");
-        message = ValidateWSDLPlugin.getInstance().getString("_UI_THE_WSDL_FILE_IS_NOT_VALID");
-      }
-      showProblemsView();
-      MessageDialog.openError(Display.getDefault().getActiveShell(), title, message);
-    }
-
-  }
-  
-  /**
-   * Show the problems view if it is not already visible.
-   */
-//  protected void showProblemsView()
-//  {
-//    IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-//    IWorkbenchPage page = dw.getActivePage();
-//    IWorkbenchPart activePart = page.getActivePart();
-//    try
-//    {
-//      if (page != null)
-//      {
-//        page.showView("org.eclipse.ui.views.ProblemView");
-//      }
-//    }
-//    catch (PartInitException e)
-//    {
-//    }
-//    page.activate(activePart);
-//  }
-
-  /**
-   * If a reporter doesn't exist creates it or uses the reporter already
-   * created.
-   * 
-   * @return a reporter
-   */
-//  protected IReporter getOrCreateReporter()
-//  {
-//    if (reporter == null)
-//    {
-//      reporter = new WorkbenchReporter(file.getProject(), new NullProgressMonitor());
-//    }
-//    return reporter;
-//  }
-
-  /**
-   * Clear all the markers on the given resource generated by this validator.
-   * 
-   * @param resource -
-   *          the resrouce to clear all the markers from
-   */
-//  public void clearMarkers(IResource resource)
-//  {
-//    getOrCreateReporter().removeAllMessages(resource);
-//  }
-
-  protected class ValidationOutcome
-  {
-    public boolean isValid = true;
-
-    public boolean isWSDLValid = true;
-
-    public boolean hasMessages = false;
-
-    public ValidationOutcome()
-    {
-    }
-  }
-
-  public void setInputStream(InputStream inputStream)
-  {  this.inputStream = inputStream;
-  }
-  
-  /**
-   * Set extra attributes in the IMessage to provide information on what should be "squiggled"
-   * @param valMess the ValidationMessage corresponding to this error
-   * @param message the IMessage to set the attributes for
-   */
-  protected void addInfoToMessage(org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage valMess, IMessage message)
-  {   if (valMess.getKey() != null)
-      {
-          XMLMessageInfoHelper helper = new XMLMessageInfoHelper();
-          String[] squiggleInfo = helper.createMessageInfo(valMess.getKey(), valMess.getMessageArguments());
-      
-          message.setAttribute(COLUMN_NUMBER_ATTRIBUTE, new Integer(valMess.getColumnNumber()));
-          message.setAttribute(SQUIGGLE_SELECTION_STRATEGY_ATTRIBUTE, squiggleInfo[0]);
-          message.setAttribute(SQUIGGLE_NAME_OR_VALUE_ATTRIBUTE, squiggleInfo[1]);
-      }
-  }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLActionDelegate.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLActionDelegate.java
deleted file mode 100644
index 40199de..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLActionDelegate.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.ui.eclipse;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionDelegate;
-
-/**
- * An action delegate for the WSDL validator.
- */
-public class ValidateWSDLActionDelegate implements IActionDelegate
-{
-  protected ISelection selection;
-  protected void validate(IFile file)
-  {
-    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, true);
-    validateAction.setValidator(new Validator());
-    validateAction.run();	
-  }
- 
-  /**
-   * @see org.eclipse.ui.IActionDelegate#run(IAction)
-   */
-  public void run(IAction action)
-  {
-  	IFile file = null;
-    if (!selection.isEmpty() && selection instanceof IStructuredSelection)
-    {
-      IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-      Object element = structuredSelection.getFirstElement();
-
-      if (element instanceof IFile)
-      {
-        file = (IFile) element;
-      }
-      else
-      {
-        return;
-      }
-    }
-          
-    if (file != null)
-    {          
-      validate(file);
-    }
-  }
-
-  /**
-   * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-   */
-  public void selectionChanged(IAction action, ISelection selection)
-  {
-  	this.selection = selection;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLPlugin.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLPlugin.java
deleted file mode 100644
index 6b66003..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/ValidateWSDLPlugin.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.ui.eclipse;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.wsdl.validation.internal.Constants;
-import org.eclipse.wst.wsdl.validation.internal.WSDLValidatorDelegate;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDL11ValidatorDelegate;
-import org.eclipse.wst.wsdl.validation.internal.xml.XMLCatalog;
-import org.eclipse.wst.wsdl.validation.internal.xml.XMLCatalogEntityHolder;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class required for eclipse.
- */
-public class ValidateWSDLPlugin extends AbstractUIPlugin
-{
-  protected final String PROPERTIES_FILE = "validatewsdlui";
-  protected static ValidateWSDLPlugin instance;
-  protected ResourceBundle resourcebundle = null;
-  protected ResourceBundle wsdlValidatorResourceBundle = null;
-
-  /**
-   * Constructor.
-   */
-  public ValidateWSDLPlugin()
-  {
-    super();
-  }
-
-  /* (non-Javadoc)
-   * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-   */
-  public void start(BundleContext context) throws Exception
-  {
-    super.start(context);
-    instance = this;
-    wsdlValidatorResourceBundle = ResourceBundle.getBundle(Constants.WSDL_VALIDATOR_PROPERTIES_FILE);
-    resourcebundle = ResourceBundle.getBundle(PROPERTIES_FILE);
-
-    // Configure the XML catalog.
-    new ExtXMLCatalogPluginRegistryReader().readRegistry();
-    new WSDLValidatorPluginRegistryReader(
-      "extvalidator",
-      "extvalidator",
-      WSDLValidatorPluginRegistryReader.EXT_VALIDATOR)
-      .readRegistry();
-
-    // register any WSDL 1.1 validators defined
-    new WSDL11ValidatorPluginRegistryReader("wsdl11validator", "validator").readRegistry();
-  }
-  /* (non-Javadoc)
-   * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-   */
-  public void stop(BundleContext context) throws Exception
-  {
-    super.stop(context);
-    XMLCatalog.reset();
-  }
-  
-  /**
-   * Return the instance of this plugin object.
-   * 
-   * @return the instance of this plugin object
-   */
-  public static ValidateWSDLPlugin getInstance()
-  {
-    return instance;
-  }
-
-  /**
-   * Get the install URL of this plugin.
-   * 
-   * @return the install url of this plugin
-   */
-  public String getInstallURL()
-  {
-    try
-    {
-      return Platform.resolve(getBundle().getEntry("/")).getFile();
-    }
-    catch (IOException e)
-    {
-      return null;
-    }
-  }
-
-  /*************************************************************
-   * ResourceBundle helper methods
-   * 
-   *************************************************************/
-  /**
-   * Returns the resource bundle for this plugin.
-   * 
-   * @return the resource bundle for this plugin
-   */
-  public ResourceBundle getResourceBundle()
-  {
-    return resourcebundle;
-  }
-
-  /**
-   * Returns the resource bundle for the WSDL validator.
-   * 
-   * @return the resource bundle for the WSDL validator
-   */
-  public ResourceBundle getWSDLValidatorResourceBundle()
-  {
-    return wsdlValidatorResourceBundle;
-  }
-
-  /**
-   * Returns the string for the given id.
-   * 
-   * @param stringID - the id for the string
-   * @return the string for the given id
-   */
-  public String getString(String stringID)
-  {
-    return getResourceBundle().getString(stringID);
-  }
-}
-
-/**
- * This class reads the plugin manifests and registers each WSDLExtensionValidator
- */
-class WSDLValidatorPluginRegistryReader
-{
-  protected static final String PLUGIN_ID = "org.eclipse.wst.wsdl.validation";
-  protected static final String ATT_CLASS = "class";
-  protected static final String ATT_NAMESPACE = "namespace";
-  protected static final String ATT_RESOURCEBUNDLE = "resourcebundle";
-  protected static final int WSDL_VALIDATOR = 0;
-  protected static final int EXT_VALIDATOR = 1;
-  protected String extensionPointId;
-  protected String tagName;
-  protected int validatorType;
-
-  /**
-   * 
-   */
-  public WSDLValidatorPluginRegistryReader(String extensionPointId, String tagName, int validatorType)
-  {
-    this.extensionPointId = extensionPointId;
-    this.tagName = tagName;
-    this.validatorType = validatorType;
-  }
-
-  /**
-   * read from plugin registry and parse it.
-   */
-  public void readRegistry()
-  {
-    IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
-    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, extensionPointId);
-    if (point != null)
-    {
-      IConfigurationElement[] elements = point.getConfigurationElements();
-      for (int i = 0; i < elements.length; i++)
-      {
-        readElement(elements[i]);
-      }
-    }
-  }
-
-  /**
-   * readElement() - parse and deal with an extension like:
-   *
-   * <extension point="org.eclipse.validate.wsdl.WSDLExtensionValidator"
-   *            id="soapValidator"
-   *            name="SOAP Validator">>
-   *   <validator>
-   *        <run class=" org.eclipse.validate.wsdl.soap.SOAPValidator"/>
-   *   </validator>
-   *   <attribute name="namespace" value="http://schemas.xmlsoap.org/wsdl/soap/"/>
-   * </extension>
-   */
-  protected void readElement(IConfigurationElement element)
-  {
-    if (element.getName().equals(tagName))
-    {
-      String validatorClass = element.getAttribute(ATT_CLASS);
-      String namespace = element.getAttribute(ATT_NAMESPACE);
-      String resourceBundle = element.getAttribute(ATT_RESOURCEBUNDLE);
-
-      if (validatorClass != null)
-      {
-        try
-        {
-          //          ClassLoader pluginLoader =
-          //            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPlugin().getClass().getClassLoader();
-          //				modified to resolve certain situations where the plugin has not been initialized
-
-          ClassLoader pluginLoader =
-            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader();
-          
-//          if (validatorType == WSDL_VALIDATOR)
-//           {
-//            WSDL11ValidatorDelegate delegate = new WSDL11ValidatorDelegate(validatorClass, resourceBundle, pluginLoader);
-//            WSDLValidator.getInstance().registerWSDL11Validator(namespace, delegate);
-//          }
-          if (validatorType == EXT_VALIDATOR)
-           {
-            WSDLValidatorDelegate delegate = new WSDLValidatorDelegate(validatorClass, resourceBundle, pluginLoader);
-            WSDLValidator.getInstance().registerWSDLExtensionValidator(namespace, delegate);
-          }
-//          registerWSDLValidatorPluginExtensionWithClassName(
-//            pluginLoader,
-//            WSDLValidatorExtensionClass,
-//            WSDLValidatorExtensionNamespace);
-        }
-        catch (Exception e)
-        {
-        }
-      }
-    }
-  }
-
-  /**
-   * Register the extension validator with the given class name and namespaces.
-   * 
-   * @param classLoader - the class loader to create the validator
-   * @param className - the name of the extension validator
-   * @param namespace - the namespace of the extension validator
-   * @throws Exception
-   */
-//  protected void registerWSDLValidatorPluginExtensionWithClassName(
-//    ClassLoader classLoader,
-//    String className,
-//    String namespace)
-//    throws Exception
-//  {
-//    try
-//    {
-//      Class validatorExtensionClass = classLoader != null ? classLoader.loadClass(className) : Class.forName(className);
-//
-//      
-//      //IValidatorExtensionPlugin validatorHandler = (IValidatorExtensionPlugin)validatorExtensionClass.newInstance();
-//      //add(namespace, validatorHandler.getValidator());
-//    }
-//    catch (Exception e)
-//    {
-//      //System.out.println(e.getMessage());
-//      //TODO: write the error message to the log file - use custom log writer class
-//      //ValidateWSDLPlugin.getInstance().getMsgLogger().write("WSDL Validator could not register the extension validator." + e.getMessage());	
-//    }
-//  }
-
-  /**
-   * Register the loaded validator.
-   * 
-   * @param namespace - the namespace of the validator
-   * @param validatorExtension - the extension validator
-   */
-//  protected void add(String namespace, IWSDLValidator validatorExtension)
-//  {
-//    if (validatorType == WSDL_VALIDATOR)
-//    {
-//      WSDLConfigurator.registerWSDLValidator(namespace, validatorExtension);
-//    }
-//    else if (validatorType == WSI_VALIDATOR)
-//    {
-//      WSDLConfigurator.registerWSIValidator(namespace, validatorExtension);
-//    }
-//  }
-}
-
-/**
- * Read WSDl 1.1 extension validators.
- * 
- *  <extension
- *     point="com.ibm.etools.validation.validator"
- *     id="wsdlValidator"
- *     name="%_UI_WSDL_VALIDATOR">
- *    <wsdl11validator
- *       namespace="http://schemas.xmlsoap.org/wsdl/soap/"
- *       class="org.eclipse.wsdl.validate.soap.wsdl11.SOAPValidator"
- *       resourcebundle="validatewsdlsoap"/>
- *   </extension>
- *  
- */
-class WSDL11ValidatorPluginRegistryReader
-{
-  protected static final String PLUGIN_ID = "org.eclipse.wst.wsdl.validation";
-  protected static final String ATT_CLASS = "class";
-  protected static final String ATT_NAMESPACE = "namespace";
-  protected static final String ATT_RESOURCEBUNDLE = "resourcebundle";
-  protected String extensionPointId;
-  protected String tagName;
-
-  /**
-   * Constructor.
-   * 
-   * @param extensionPointId - the id of the extension point
-   * @param tagName - the tag name of the extension point
-   */
-  public WSDL11ValidatorPluginRegistryReader(String extensionPointId, String tagName)
-  {
-    this.extensionPointId = extensionPointId;
-    this.tagName = tagName;
-  }
-
-  /**
-   * Read from plugin registry and handle the configuration elements that match
-   * the spedified elements.
-   */
-  public void readRegistry()
-  {
-    IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
-    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, extensionPointId);
-    if (point != null)
-    {
-      IConfigurationElement[] elements = point.getConfigurationElements();
-      for (int i = 0; i < elements.length; i++)
-      {
-        readElement(elements[i]);
-      }
-    }
-  }
-
-  /**
-   * Parse and deal with the extension points.
-   * 
-   * @param element The extension point element.
-   */
-  protected void readElement(IConfigurationElement element)
-  {
-    if (element.getName().equals(tagName))
-    {
-      String validatorClass = element.getAttribute(ATT_CLASS);
-      String namespace = element.getAttribute(ATT_NAMESPACE);
-      String resourceBundle = element.getAttribute(ATT_RESOURCEBUNDLE);
-
-      if (validatorClass != null && namespace != null)
-      {
-        try
-        {
-          ClassLoader pluginLoader =
-            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader();
-          WSDL11ValidatorDelegate delegate = new WSDL11ValidatorDelegate(validatorClass, resourceBundle, pluginLoader);
-          WSDLValidator.getInstance().registerWSDL11Validator(namespace, delegate);
-        }
-        catch (Exception e)
-        {
-        }
-      }
-    }
-  }
-}
-
-/**
- * This class reads the plugin manifests and registers each WSDLExtensionValidator
- */
-class ExtXMLCatalogPluginRegistryReader
-{
-  protected static final String PLUGIN_ID = "org.eclipse.wst.wsdl.validation";
-  protected static final String EXTENSION_POINT_ID = "xmlcatalog";
-  
-  /**
-   * The xmlcatalog element allow adding an extension XML Catalog such as
-   * <xmlcatalog class="org.eclipse.wsdl.validate.ExtXMLCatalog">
-   */
-  protected static final String EXT_CATALOG_TAG_NAME = "xmlcatalog";
-  protected static final String ATT_CLASS = "class";
-  
-  /**
-   * The entity element allows adding specific XML catalog entities such as
-   * <entity
-   *   publicid="http://schemas.xmlsoap.org/wsdl/" 
-   *   systemid="xsd/wsdl.xsd" />
-   */
-  protected static final String ENTITY_TAG_NAME = "entity";
-  protected static final String ATT_PUBLIC_ID = "publicId";
-  protected static final String ATT_SYSTEM_ID = "location";
-  
-  /**
-   * The schemadir element allows adding a director of schemas to the XML catalog such as
-   * <schemadir location="c:\myschemadir" />
-   * Note: It is more expensive to use this method then the entity method
-   * of adding schemas to the catalog as this method requires that all of
-   * the schemas be read.
-   */
-  protected static final String SCHEMA_DIR_TAG_NAME = "schemadir";
-  protected static final String ATT_LOCATION = "location";
-  protected String pluginId, extensionPointId;
-
-  /**
-   * read from plugin registry and parse it.
-   */
-  public void readRegistry()
-  {
-    IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-    IExtensionPoint point = extensionRegistry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
-    if (point != null)
-    {
-      IConfigurationElement[] elements = point.getConfigurationElements();
-      for (int i = 0; i < elements.length; i++)
-      {
-        readElement(elements[i]);
-      }
-    }
-  }
-
-  /**
-   * readElement() - parse and deal with an extension like:
-   *
-   * <extension point="com.ibm.etools.validate.wsdl.WSDLExtensionValidator"
-   *            id="soapValidator"
-   *            name="SOAP Validator">>
-   *   <validator>
-   *        <run class=" com.ibm.etools.validate.wsdl.soap.SOAPValidator"/>
-   *   </validator>
-   *   <attribute name="namespace" value="http://schemas.xmlsoap.org/wsdl/soap/"/>
-   * </extension>
-   */
-  protected void readElement(IConfigurationElement element)
-  {
-    String elementname = element.getName();
-    // Extension XML Catalogs.
-    if (elementname.equals(EXT_CATALOG_TAG_NAME))
-    {
-      String xmlCatalogClass = element.getAttribute(ATT_CLASS);
-
-      if (xmlCatalogClass != null)
-      {
-        try
-        {
-          // modified to resolve certain situations where the plugin has not been initialized
-          ClassLoader pluginLoader =
-            element.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader();
-          //					ClassLoader pluginLoader =
-          //						element.getDeclaringExtension().getDeclaringPluginDescriptor().getPlugin().getClass().getClassLoader();
-          XMLCatalog.setExtensionXMLCatalog(xmlCatalogClass, pluginLoader);
-        }
-        catch (Exception e)
-        {
-          System.out.println(e);
-        }
-      }
-    }
-    // XML Catalog entites.
-    else if(elementname.equals(ENTITY_TAG_NAME))
-    {
-      String publicid = element.getAttribute(ATT_PUBLIC_ID);
-      String systemid = element.getAttribute(ATT_SYSTEM_ID);
-      if(publicid == null || systemid == null)
-      {
-        return;
-      }
-      Bundle bundle = Platform.getBundle(element.getDeclaringExtension().getNamespace());
-      systemid = getAbsoluteLocation(systemid, bundle);
-      
-      XMLCatalog.addEntity(new XMLCatalogEntityHolder(publicid, systemid));
-    }
-    // Schema directories for the XML Catalog.
-    else if(elementname.equals(SCHEMA_DIR_TAG_NAME))
-    {
-      String location = element.getAttribute(ATT_LOCATION);
-      if(location != null)
-      {
-        Bundle bundle = Platform.getBundle(element.getDeclaringExtension().getNamespace());
-        location = getAbsoluteLocation(location, bundle);
-        XMLCatalog.addSchemaDir(location);
-      }
-    }
-  }
-
-  private String getAbsoluteLocation(String location, Bundle bundle)
-  {
-    URL url = null;
-    if(bundle != null)
-    {
-      url = bundle.getEntry(location);
-    }
-    
-    if(url != null)
-    {
-      try
-      {
-        url = Platform.resolve(url);
-        return url.toExternalForm();
-      }
-      catch(IOException e)
-      {
-        //Unable to register the schema.
-      }
-    }
-    return location;
-  }
-}
-
-
-
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/Validator.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/Validator.java
deleted file mode 100644
index b1a750b..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/Validator.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.ui.eclipse;
-
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.operations.IRuleGroup;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
-import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.xml.core.internal.validation.core.Helper;
-
-
-/**
- * A validator to plug the WSDL validator into the validation framework.
- */
-public class Validator implements IValidator
-{
-
-  /**
-   * Validate the given IFile.
-   * 
-   * @param file
-   *          The file to validate.
-   */
-//  public void validate(IFile file)
-//  {
-//    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, false);
-//    validateAction.setValidator(this);
-//    validateAction.run();
-//  }
-  
-  protected void validate(IFile file, InputStream inputStream, IReporter reporter)
-  {
-    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, false);
-    validateAction.setValidator(this);
-    validateAction.setReporter(reporter);
-    validateAction.setInputStream(inputStream);
-    validateAction.run();
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.validation.core.IValidator#validate(org.eclipse.wst.validation.core.IHelper, org.eclipse.wst.validation.core.IReporter, org.eclipse.wst.validation.core.IFileDelta[])
-   */
-  public void validate(IValidationContext helper, IReporter reporter) throws ValidationException
-  {
-	String[] changedFiles = helper.getURIs();
-    if (changedFiles != null && changedFiles.length > 0)
-    {
-      InputStream streamToValidate = (InputStream) helper.loadModel("inputStream");
-      if (streamToValidate != null)
-      {   
-        String fileName = changedFiles[0];
-        Object[] parms = { fileName };
-        IFile file = (IFile) helper.loadModel(Helper.GET_FILE, parms);
-        
-        validate(file, streamToValidate, reporter);
-        
-      } else
-      { for (int i = 0; i < changedFiles.length; i++)
-        {
-          String fileName = changedFiles[i];
-          if (fileName != null)
-          {
-            Object[] parms = {fileName};
-            
-            IFile file = (IFile) helper.loadModel(Helper.GET_FILE, parms);
-            if (file != null)
-            {
-              validateIfNeeded(file, helper, reporter);
-            }
-          }
-        }
-      }
-    } else
-    {
-      Object[] parms = {this.getClass().getName()};
-      Collection files = (Collection) helper.loadModel(Helper.GET_PROJECT_FILES, parms);
-      Iterator iter = files.iterator();
-      while (iter.hasNext())
-      {
-        IFile file = (IFile) iter.next();
-        validateIfNeeded(file, helper, reporter);
-      }
-    }
-  }
-
-  /**
-   * @param file
-   * @param reporter
-   * @param ruleGroup
-   */
-  protected void validate(IFile file, IReporter reporter, int ruleGroup)
-  {
-    ValidateWSDLAction validateAction = new ValidateWSDLAction(file, false);
-    validateAction.setValidator(this);
-    validateAction.run();
-  }
-
-  /**
-   * Validate the given file if validation is required.
-   * 
-   * @param file
-   * @param model
-   * @param helper
-   * @param reporter
-   */
-  protected void validateIfNeeded(IFile file, Object model, IValidationContext helper, IReporter reporter)
-  {
-    if (model == null)
-    {
-      validateIfNeeded(file, helper, reporter);
-    }
-  }
-
-  /**
-   * Unpacks the fileModelPair and returns an IFile object.
-   */
-  protected IFile getFile(Object object)
-  {
-    IFile result = null;
-    if (object instanceof List)
-    {
-      List fileModelPair = (List) object;
-      if (fileModelPair.size() > 0)
-      {
-        Object file = fileModelPair.get(0);
-        if (file instanceof IFile)
-        {
-          result = (IFile) file;
-        }
-      }
-    }
-    return result;
-  }
-
-  /**
-   * Validate the given file if validation is required.
-   * 
-   * @param file
-   *          The file to validate.
-   * @param helper
-   *          An aid for the validation.
-   * @param reporter
-   *          The reporter to report the validation messages.
-   */
-  protected void validateIfNeeded(IFile file, IValidationContext helper, IReporter reporter)
-  {
-    ValidatorManager mgr = ValidatorManager.getManager();
-    // Pass in a "null" so that loadModel doesn't attempt to cast the result into a RefObject.
-    Integer ruleGroupInt = (Integer) helper.loadModel(IRuleGroup.PASS_LEVEL, null); 
-    int ruleGroup = (ruleGroupInt == null) ? IRuleGroup.PASS_FULL : ruleGroupInt.intValue();
-
-    validate(file, reporter, ruleGroup);
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.ibm.etools.validation.IValidator#cleanup(com.ibm.etools.validation.IReporter)
-   */
-  public void cleanup(IReporter reporter)
-  {
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/WSDLValidator.java b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/WSDLValidator.java
deleted file mode 100644
index 184f530..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/org/eclipse/wst/wsdl/validation/internal/ui/eclipse/WSDLValidator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 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
- *******************************************************************************/
-
-package org.eclipse.wst.wsdl.validation.internal.ui.eclipse;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.wsdl.validation.internal.resolver.IExtensibleURIResolver;
-
-/**
- * An Eclipse WSDL validator. This validator is the default validator
- * used in the validation framework. There is only a single instance of
- * this validator. When created, this validator registers all extension
- * URI resolvers.
- */
-public class WSDLValidator extends org.eclipse.wst.wsdl.validation.internal.WSDLValidator
-{
-	private static WSDLValidator instance = null;
-
-	/**
-	 * The constructor registers all of the URI resolvers defined via the
-	 * WSDL URI resolver extension point with the WSDL validator. 
-	 * 
-	 */
-	private WSDLValidator()
-	{
-    super();
-	  URIResolverRegistryReader uriRR = new URIResolverRegistryReader();
-	  List resolvers = uriRR.readRegistry();
-	  Iterator resolverIter = resolvers.iterator();
-	  while(resolverIter.hasNext())
-	  {
-	  	IExtensibleURIResolver resolver = (IExtensibleURIResolver)resolverIter.next();
-	  	addURIResolver(resolver);
-	  }
-	}
-	
-	/**
-	 * Get the one and only instance of this Eclipse WSDL validator.
-	 * 
-	 * @return The one and only instance of this Eclipse WSDL validator.
-	 */
-	public static WSDLValidator getInstance()
-	{
-		if(instance == null)
-		{
-			instance = new WSDLValidator();
-		}
-		return instance;
-	}
-	
-//	/**
-//	 * Validate the specified WSDL file.
-//	 * 
-//	 * @param fileURI The URI of the WSDL file.
-//	 * @return A validation report with the validation results.
-//	 */
-//	public IValidationReport validate(String fileURI)
-//	{
-//		return wsdlValidator.validate(fileURI);
-//	}
-//  /**
-//	 * Validate the given WSDL InputStream
-//	 * 
-//	 * @param fileURI The URI of the WSDL file.
-//	 * @param inputStream the InputStream to validate
-//	 * @return A validation report with the validation results.
-//	 */
-//	public IValidationReport validate(String fileURI, InputStream inputStream)
-//  {
-//    return wsdlValidator.validate(fileURI, inputStream);
-//  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/validatewsdlui.properties b/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/validatewsdlui.properties
deleted file mode 100644
index 9e9e80b..0000000
--- a/bundles/org.eclipse.wst.wsdl.validation/src/wsdlvalidateui/validatewsdlui.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 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
-###############################################################################
-!-- Eclipse UI Message Dialog
-_VALIDATION_SUCCEEDED                      = Validation Succeeded
-_VALIDATION_FAILED                         = Validation Failed
-_UI_THE_WSDL_FILE_IS_VALID                 = The WSDL file is valid.
-_UI_THE_WSDL_FILE_IS_NOT_VALID             = The WSDL file is not valid. See the Problems view for a list of the validation errors.
-_UI_THE_WSDL_FILE_IS_VALID_WSDL11          = The WSDL file is valid according to the WSDL specification however an extension validator has determined that the file is not valid. See the Problems view for a list of the validation errors.
-_UI_THE_WSDL_FILE_IS_VALID_WITH_WARNINGS   = The WSDL file is valid however warnings have been issued. See the Problems view for a list of the validation warnings.
-
-!-- Ant UI
-_UI_INFORMATION_DELIMITER                  = ---------------------------------------
-_UI_ERROR_MARKER                           = ERROR  
-_UI_WARNING_MARKER                         = WARNING
-_UI_VALID                                  = VALID
-_UI_INVALID                                = INVALID
-_UI_ACTION_VALIDATING_FILE                 = Validating {0}
-
-_ERROR_NO_FILE_SPECIFIED                   = Unable to run WSDL Validation. You must specify at least one file.
-
-_EXC_UNABLE_TO_VALIDATE_FILE               = Unable to validate the WSDL file {0}. {1}
-_EXC_WSDL_FAIL_ON_ERROR                    = The WSDL file is not valid. (Fail On Error is enabled.)
-
-!-- Text UI
-_ERROR_WRONG_ARGUMENTS                     = Usage: WSDLValidate filename"
-_ERROR_UNABLE_TO_LOAD_EXT_VALIDATOR        = Unable to load the validator for namespace {0}. {1}
diff --git a/bundles/org.eclipse.wst.wsdl/.cvsignore b/bundles/org.eclipse.wst.wsdl/.cvsignore
index c1f29ce..28dfd3f 100644
--- a/bundles/org.eclipse.wst.wsdl/.cvsignore
+++ b/bundles/org.eclipse.wst.wsdl/.cvsignore
@@ -4,3 +4,5 @@
 temp.folder
 org.eclipse.wst.wsdl_1.0.0.jar
 org.eclipse.wst.wsdl.patch
+@dot
+src.zip
diff --git a/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF
index 949a670..ed688c3 100644
--- a/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF
@@ -2,8 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.wsdl; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: wsdl.jar
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.wsdl/build.properties b/bundles/org.eclipse.wst.wsdl/build.properties
index 16c125c..ed6283e 100644
--- a/bundles/org.eclipse.wst.wsdl/build.properties
+++ b/bundles/org.eclipse.wst.wsdl/build.properties
@@ -8,18 +8,16 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-bin.includes = wsdl.jar,\
+bin.includes = .,\
                plugin.properties,\
                plugin.xml,\
                xsd/,\
                META-INF/,\
                about.html
-jars.compile.order = wsdl.jar
-source.wsdl.jar = src-http/,\
+jars.compile.order = .
+source.. = src-http/,\
                   src-mime/,\
                   src-soap/,\
                   src-wsdl/
-output.wsdl.jar = bin/
-src.includes = src/,\
-               xsd/,\
-               component.xml
+output.. = bin/
+src.includes = component.xml
diff --git a/bundles/org.eclipse.wst.wsdl/component.xml b/bundles/org.eclipse.wst.wsdl/component.xml
index dd9c56d..c4619c7 100644
--- a/bundles/org.eclipse.wst.wsdl/component.xml
+++ b/bundles/org.eclipse.wst.wsdl/component.xml
@@ -7,40 +7,42 @@
 	<plugin id="org.eclipse.wst.wsdl.validation" fragment="false" />
 	<plugin id="org.wsdl4j" fragment="false" />
 	<package name="org.eclipse.wst.wsdl" api="false">
-		<type name="BindingFault" />
-		<type name="BindingOutput" />
-		<type name="Types" />
-		<type name="Operation" />
-		<type name="Fault" />
-		<type name="ExtensibilityElement" />
-		<type name="Message" />
-		<type name="ExtensibleElement" />
-		<type name="BindingInput" />
-		<type name="PortType" />
-		<type name="Service" />
-		<type name="Input" />
-		<type name="WSDLElement" />
-		<type name="Port" />
-		<type name="Namespace" />
-		<type name="Part" />
-		<type name="Definition" />
-		<type name="Import" />
-		<type name="XSDSchemaExtensibilityElement" />
-		<type name="WSDLPlugin" />
-		<type name="WSDLFactory" />
-		<type name="MessageReference" />
-		<type name="UnknownExtensibilityElement" />
-		<type name="Output" />
-		<type name="Binding" />
-		<type name="BindingOperation" />
+		<type name="Binding"  implement="false" subclass="false" instantiate="false"/>	
+		<type name="BindingFault"  implement="false" subclass="false" instantiate="false"/>
+		<type name="BindingInput"  implement="false" subclass="false" instantiate="false"/>
+		<type name="BindingOperation"  implement="false" subclass="false" instantiate="false"/>		
+		<type name="BindingOutput"  implement="false" subclass="false" instantiate="false"/>
+		<type name="Definition"  implement="false" subclass="false" instantiate="false"/>
+    	<type name="ExtensibilityElement"  implement="false" subclass="false" instantiate="false"/>
+		<type name="ExtensibleElement"  implement="false" subclass="false" instantiate="false"/>
+		<type name="Fault"  implement="false" subclass="false" instantiate="false"/>
+		<type name="Import"  implement="false" subclass="false" instantiate="false"/>			
+		<type name="Input"  implement="false" subclass="false" instantiate="false"/>			
+		<type name="Message"  implement="false" subclass="false" instantiate="false"/>
+		<type name="MessageReference"  implement="false" subclass="false" instantiate="false"/>		
+		<type name="Namespace"  implement="false" subclass="false" instantiate="false"/>		
+		<type name="Operation"  implement="false" subclass="false" instantiate="false"/>	
+    	<type name="Output"  implement="false" subclass="false" instantiate="false"/>			
+     	<type name="Part"  implement="false" subclass="false" instantiate="false"/>			
+		<type name="Port"  implement="false" subclass="false" instantiate="false"/>		
+		<type name="PortType"  implement="false" subclass="false" instantiate="false"/>
+		<type name="Service"  implement="false" subclass="false" instantiate="false"/>
+		<type name="Types"  implement="false" subclass="false" instantiate="false"/>
+		<type name="UnknownExtensibilityElement"  implement="false" subclass="false" instantiate="false"/>
+		<type name="WSDLElement"  implement="false" subclass="false" instantiate="false"/>
+		<type name="WSDLFactory"  implement="false" subclass="false" instantiate="false"/>	
+<!--	<type name="WSDLPlugin"  implement="false" subclass="false" instantiate="false"/>-->
+		<type name="XSDSchemaExtensibilityElement"  implement="false" subclass="false" instantiate="false"/>	
 	</package>
 	<package name="org.eclipse.wst.wsdl.util" api="false">
-		<type name="WSDLConstants" />
-		<type name="ExtensibilityElementFactoryRegistry" />
-		<type name="WSDLResourceFactoryImpl" />
-		<type name="ExtensibilityElementFactory" />
-		<type name="WSDLResourceImpl" subclass="false"/>
+		<type name="WSDLConstants" implement="false" subclass="false" instantiate="false"/>
+<!--	<type name="ExtensibilityElementFactory" /> -->		
+<!--	<type name="ExtensibilityElementFactoryRegistry" />-->	
+<!--	<type name="WSDLResourceImpl" subclass="false"/>-->
 	</package>
+	
+<!-- these plugin's to be provided with non API disclaimers -->
+<!--	
 	<package name="org.eclipse.wst.wsdl.binding.soap" api="false">
 		<type name="SOAPBody" />
 		<type name="SOAPHeaderFault" />
@@ -52,8 +54,7 @@
 		<type name="SOAPFault" />
 		<type name="SOAPOperation" />
 	</package>
-<!-- provisional APIs -->
-<!--
+
 	<package name="org.eclipse.wst.wsdl.binding.mime">
 		<type name="MIMEContent" />
 		<type name="MIMEPackage" />
@@ -62,8 +63,7 @@
 		<type name="MIMEMimeXml" />
 		<type name="MIMEFactory" />
 	</package>
--->
-<!--
+
 	<package name="org.eclipse.wst.wsdl.binding.http">
 		<type name="HTTPFactory" />
 		<type name="HTTPOperation" />
diff --git a/bundles/org.eclipse.wst.wsdl/plugin.xml b/bundles/org.eclipse.wst.wsdl/plugin.xml
index b8f0266..8c24012 100644
--- a/bundles/org.eclipse.wst.wsdl/plugin.xml
+++ b/bundles/org.eclipse.wst.wsdl/plugin.xml
@@ -4,10 +4,12 @@
 
 	<extension-point
 		id="extensibilityElementFactories"
-		name="%xpExtensibilityElementFactories" />
+		name="%xpExtensibilityElementFactories" 
+		schema="schema/extensibilityElementFactories.exsd"/>
 	<extension-point
 		id="contentGenerators"
-		name="%xpPortAndBindingContentGenerators" />
+		name="%xpPortAndBindingContentGenerators" 
+		schema="schema/contentGenerators.exsd"/>
 
 	<extension point="org.eclipse.emf.ecore.generated_package">
 		<package
diff --git a/bundles/org.eclipse.wst.wsdl/schema/contentGenerators.exsd b/bundles/org.eclipse.wst.wsdl/schema/contentGenerators.exsd
new file mode 100644
index 0000000..052a447
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl/schema/contentGenerators.exsd
@@ -0,0 +1,128 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.wsdl">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.wsdl" id="contentGenerators" name="Port and Binding Content Generators"/>
+      </appInfo>
+      <documentation>
+         The Port and Binding Content Generators extension point allows clients to register custom generators for Ports and Bindings.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <documentation>
+            The Port and Binding Content Generators extension point allows clients to register custom content generators for WSDL Ports and Bindings.
+         </documentation>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="contentGenerator"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="contentGenerator">
+      <complexType>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Name used for this particular extension point instance.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="namespace" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The namespace this extension point instance applies to.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The class that implements &lt;code&gt;org.eclipse.wst.wsdl.internal.generator.ContentGenerator&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of a content generator contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.wsdl.contentGenerators&quot;&gt;
+      &lt;contentGenerator
+            name=&quot;SOAP&quot;
+            namespace=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;
+            class=&quot;org.eclipse.wst.wsdl.binding.soap.internal.generator.SOAPContentGenerator&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The supplied class must implement &lt;code&gt;org.eclipse.wst.wsdl.internal.generator.ContentGenerator&lt;/code&gt;.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.wsdl/schema/extensibilityElementFactories.exsd b/bundles/org.eclipse.wst.wsdl/schema/extensibilityElementFactories.exsd
new file mode 100644
index 0000000..924557e
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl/schema/extensibilityElementFactories.exsd
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.wsdl">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.wsdl" id="extensibilityElementFactories" name="WSDL Extensibility Element Factories"/>
+      </appInfo>
+      <documentation>
+         The WSDL Extensibility Element Factories extension point allows clients to register factories for creating custom extensibility elements.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="extensibilityElementFactory"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="extensibilityElementFactory">
+      <complexType>
+         <attribute name="namespace" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The namespace this extension point instance applies to.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The class that implements &lt;code&gt;org.eclipse.wst.wsdl.util.ExtensibilityElementFactory&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of an extensibility element factory contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.wsdl.extensibilityElementFactories&quot;&gt;
+      &lt;extensibilityElementFactory
+            namespace=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;
+            class=&quot;org.eclipse.wst.wsdl.binding.soap.internal.util.SOAPExtensibilityElementFactory&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The supplied class must implement &lt;code&gt;org.eclipse.wst.wsdl.util.ExtensibilityElementFactory&lt;/code&gt;.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.wsdl/src-http/org/eclipse/wst/wsdl/binding/http/internal/generator/HTTPContentGenerator.java b/bundles/org.eclipse.wst.wsdl/src-http/org/eclipse/wst/wsdl/binding/http/internal/generator/HTTPContentGenerator.java
index 5435b8b..eb8e510 100644
--- a/bundles/org.eclipse.wst.wsdl/src-http/org/eclipse/wst/wsdl/binding/http/internal/generator/HTTPContentGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl/src-http/org/eclipse/wst/wsdl/binding/http/internal/generator/HTTPContentGenerator.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2005 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
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.binding.http.internal.generator;
 
 import java.util.ArrayList;
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPAddress.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPAddress.java
index f7efead..5a7f60f 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPAddress.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPAddress.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBinding.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBinding.java
index 6c5414d..ffa285f 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBinding.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBinding.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBody.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBody.java
index cb416ba..429ce95 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBody.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPBody.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFactory.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFactory.java
index 3177e3d..201d301 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFactory.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFactory.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFault.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFault.java
index 8d56bf1..86c9957 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFault.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPFault.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeader.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeader.java
index ff9312d..e5f1075 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeader.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeader.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderBase.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderBase.java
index debb9e5..2eeaa9b 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderBase.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderBase.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderFault.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderFault.java
index 2d48851..a3924e7 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderFault.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPHeaderFault.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPOperation.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPOperation.java
index be38dd3..f370492 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPOperation.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPOperation.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPPackage.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPPackage.java
index 20fae55..66e5649 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPPackage.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/SOAPPackage.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java
index 2f0287d..023eed6 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.binding.soap.internal.generator;
 
 import java.util.ArrayList;
@@ -179,7 +189,7 @@
 	SOAPFault soapFault = soapFactory.createSOAPFault();
 	soapFault.setUse((getUseOption(bindingFault) == USE_ENCODED) ? "encoded" : "literal");
 	soapFault.setName(fault.getName());
-	soapFault.setNamespaceURI(getNamespace(bindingFault));
+//	soapFault.setNamespaceURI(getNamespace(bindingFault));
 
 	if (getUseOption(bindingFault) == USE_ENCODED && getStyleOption(bindingFault) == STYLE_RPC)
     {
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPAddressImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPAddressImpl.java
index 5149af8..c59a4e1 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPAddressImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPAddressImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBindingImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBindingImpl.java
index 4159219..6accd66 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBindingImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBindingImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBodyImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBodyImpl.java
index 35feb2f..bac90fe 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBodyImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPBodyImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
@@ -21,6 +21,7 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
@@ -219,38 +220,12 @@
     if (parts == null)
     {
       parts = new EObjectResolvingEList(Part.class, this, SOAPPackage.SOAP_BODY__PARTS);
+      return getImplicitParts();
     }
     
     if (parts.size() == 0)
     {
-      List implicitParts = new java.util.Vector();
-      
-      // Try to find an implicit one.
-      if(eContainer() instanceof BindingInput)
-      {
-      	Message message = ((BindingInput)eContainer()).getEInput().getEMessage();
-      	if(message.getEParts().size() > 0)
-      	{
-      	  implicitParts.addAll(message.getEParts());
-      	}
-      }
-      if(eContainer() instanceof BindingOutput)
-      {
-      	Message message = ((BindingOutput)eContainer()).getEOutput().getEMessage();
-      	if(message.getEParts().size() > 0)
-      	{
-      	  implicitParts.addAll(message.getEParts());
-      	}
-      }
-      if(eContainer() instanceof BindingFault)
-      {
-      	Message message = ((BindingFault)eContainer()).getEFault().getEMessage();
-      	if(message.getEParts().size() > 0)
-      	{
-      	  implicitParts.addAll(message.getEParts());
-      	}
-      }
-      return implicitParts;
+      return getImplicitParts();
     }
     
     return parts;
@@ -432,7 +407,28 @@
   
   public void reconcileReferences(boolean deep)
   {
-    // TBD - resolve Parts reference here.
+    if (element != null && element.hasAttribute(SOAPConstants.PARTS_ATTRIBUTE))
+    // Synchronize 'parts' variable from element's attribute.
+    {
+      Message message = getMessage();
+      if (message == null)
+        return;
+      
+      String partNames = element.getAttribute(SOAPConstants.PARTS_ATTRIBUTE);
+      StringTokenizer parser = new StringTokenizer(partNames," ");
+      String partName = null;
+      Part newPart = null;
+      getParts().clear();
+      while(parser.hasMoreTokens())
+      {
+        partName = parser.nextToken();
+        newPart = (message != null) ? (Part) message.getPart(partName) : null;
+        if (newPart != null)
+          // Do not use getParts() here since it will return a list of
+          // implicitly collected parts.
+          parts.add(newPart);
+      }
+    }
     super.reconcileReferences(deep);
   }
 
@@ -471,6 +467,34 @@
     }
   }
   
+  protected void changeReference(EReference eReference)
+  {
+    if (isReconciling)
+      return;
+
+    super.changeReference(eReference);
+    //
+    // Update the element's "parts" attribute value.
+    //
+    Element theElement = getElement();
+    if (theElement != null)
+    {
+      if (eReference == null || eReference == SOAPPackage.eINSTANCE.getSOAPBody_Parts())
+      {
+        Part part;
+        String partNames = "";
+        Iterator iter = getParts().iterator();
+        while (iter.hasNext())
+        {
+          part = (Part)iter.next();
+          partNames = partNames + " " + part.getName();
+        } 
+        partNames.trim();
+        niceSetAttribute(theElement, SOAPConstants.PARTS_ATTRIBUTE, partNames);
+      }     
+    }
+  } 
+  
   /*
   public void handleUnreconciledElement(Element child, Collection remainingModelObjects)
   {
@@ -494,4 +518,39 @@
       elementType = new QName(SOAPConstants.SOAP_NAMESPACE_URI, SOAPConstants.BODY_ELEMENT_TAG);
     return elementType;
   } 
+ 
+  private List getImplicitParts()
+  {
+    List implicitParts = new java.util.Vector();
+    Message message = getMessage();
+    if(message != null && message.getEParts().size() > 0)
+    {
+      implicitParts.addAll(message.getEParts());
+    }
+    return implicitParts;
+  }
+  
+  private Message getMessage()
+  {
+    Message message = null;
+    
+    if(eContainer() instanceof BindingInput)
+    {
+      if(((BindingInput)eContainer()).getEInput() != null)
+  	    message = ((BindingInput)eContainer()).getEInput().getEMessage();
+    }
+    if(eContainer() instanceof BindingOutput)
+    {
+      if (((BindingOutput)eContainer()).getEOutput() != null)
+  	  message = ((BindingOutput)eContainer()).getEOutput().getEMessage();
+    }
+    if(eContainer() instanceof BindingFault)
+    {
+      if(((BindingFault)eContainer()).getEFault() != null)
+  	  message = ((BindingFault)eContainer()).getEFault().getEMessage();
+    }
+    return message;
+  }
+
+
 } //SOAPBodyImpl
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFactoryImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFactoryImpl.java
index 0fcdae9..e204e9d 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFactoryImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFactoryImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFaultImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFaultImpl.java
index b96bbac..07809ad 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFaultImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPFaultImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderBaseImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderBaseImpl.java
index 992b050..a065e63 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderBaseImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderBaseImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderFaultImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderFaultImpl.java
index c4333f2..4032400 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderFaultImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderFaultImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderImpl.java
index 297791c..da62414 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPHeaderImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPOperationImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPOperationImpl.java
index fb05a32..a94e276 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPOperationImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPOperationImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPPackageImpl.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPPackageImpl.java
index 3d25452..8e1d126 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPPackageImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/impl/SOAPPackageImpl.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPAdapterFactory.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPAdapterFactory.java
index b4be227..2fbe033 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPAdapterFactory.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPAdapterFactory.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPConstants.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPConstants.java
index 7790c31..56f3496 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPConstants.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPConstants.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
@@ -35,6 +35,7 @@
   public static final String ENCODING_STYLE_ATTRIBUTE ="encodingStyle";
   public static final String MESSAGE_ATTRIBUTE ="message";
   public static final String PART_ATTRIBUTE ="part";
+  public static final String PARTS_ATTRIBUTE ="parts";
   
   public static String getAttribute(Element element, String attributeName)
   {
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPExtensibilityElementFactory.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPExtensibilityElementFactory.java
index fa2dada..0fa3a97 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPExtensibilityElementFactory.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPExtensibilityElementFactory.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPSwitch.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPSwitch.java
index 9714981..25ac8bf 100644
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPSwitch.java
+++ b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/util/SOAPSwitch.java
@@ -1,9 +1,9 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 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
+ * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
  *     IBM Corporation - initial API and implementation
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Binding.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Binding.java
index 67c1687..6f639d8 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Binding.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Binding.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Binding</b></em>'.
+ * @since 1.0
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingFault.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingFault.java
index 74e955a..20a9109 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingFault.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingFault.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -14,6 +14,7 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Binding Fault</b></em>'.
+ * @since 1.0
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -78,7 +79,7 @@
   /**
    * Sets the value of the '{@link org.eclipse.wsdl.BindingFault#getEFault <em>EFault</em>}' reference.
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * <!-- end-user-doc -->
    * @param value the new value of the '<em>EFault</em>' reference.
    * @see #getEFault()
    * @generated
@@ -87,7 +88,11 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as getEFault() and compatible with the JWSDL API.
+   * @see #getEFault()
+   * @return the value of the '<em>EFault</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model parameters=""
    * @generated
    */
@@ -95,7 +100,11 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as setEFault(Fault) and compatible with the JWSDL API.
+   * @see #setEFault(Fault)
+   * @param fault the new value of the '<em>EFault</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model 
    * @generated
    */
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingInput.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingInput.java
index ff0f4ab..c4c6658 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingInput.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingInput.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -14,6 +14,7 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Binding Input</b></em>'.
+ * @since 1.0
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -87,7 +88,11 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as getEInput() and compatible with the JWSDL API.
+   * @see #getEInput()
+   * @return the value of the '<em>EInput</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model parameters=""
    * @generated
    */
@@ -95,7 +100,11 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as setEInput(Input) and compatible with the JWSDL API.
+   * @see #setEInput(Input)
+   * @param input the new value of the '<em>EInput</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model 
    * @generated
    */
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOperation.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOperation.java
index 084e3c9..f47d01d 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOperation.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOperation.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -15,6 +15,7 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Binding Operation</b></em>'.
+ * @since 1.0
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOutput.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOutput.java
index 974df56..4f20901 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOutput.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/BindingOutput.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -14,6 +14,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Binding Output</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -87,7 +89,11 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as getEOutput() and compatible with the JWSDL API.
+   * @see #getEOutput()
+   * @return the value of the '<em>EOutput</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model parameters=""
    * @generated
    */
@@ -95,7 +101,11 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as setEOutput(Output) and compatible with the JWSDL API.
+   * @see #setEOutput(Output)
+   * @param output the new value of the '<em>EOutput</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model 
    * @generated
    */
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Definition.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Definition.java
index adcf7c4..993b66d 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Definition.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Definition.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -18,6 +18,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Definition</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -274,18 +276,24 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * Returns a W3C DOM Document built from the input WSDL document.
+   * @return W3C DOM Document.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model dataType="org.eclipse.wsdl.DOMDocument" parameters=""
    * @generated
    */
-	Document getDocument();
+  Document getDocument();
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * Sets a W3C DOM Document to be used when building up a DOM Element tree for the WSDL model.
+   * @param document W3C DOM Document.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model parameters="org.eclipse.wsdl.DOMDocument"
    * @generated
    */
-	void setDocument(Document document);
+  void setDocument(Document document);
 
 } // Definition
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibilityElement.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibilityElement.java
index ee78ce2..bf26901 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibilityElement.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibilityElement.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -15,6 +15,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Extensibility Element</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibleElement.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibleElement.java
index b53af3d..5b4e850 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibleElement.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/ExtensibleElement.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -19,6 +19,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Extensible Element</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -55,18 +57,25 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as getEExtensibilityElements() and compatible with the JWSDL API.
+   * @see #getEExtensibilityElements()
+   * @return the value of the '<em>EFault</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model parameters=""
    * @generated
    */
-	List getExtensibilityElements();
+  List getExtensibilityElements();
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * Adds an ExtensibilityElement to the '<em>EExtensibility Elements</em>' containment reference list.
+   * @param extElement An ExtensibilityElement to be added.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model 
    * @generated
    */
-	void addExtensibilityElement(ExtensibilityElement extElement);
+  void addExtensibilityElement(ExtensibilityElement extElement);
 
 } // ExtensibleElement
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Fault.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Fault.java
index 9878665..976d25d 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Fault.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Fault.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -14,6 +14,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Fault</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Import.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Import.java
index 5c14597..1a01409 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Import.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Import.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -15,6 +15,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Import</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -142,18 +144,26 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as getESchema().
+   * @see #getESchema()
+   * @return the value of the '<em>ESchema</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model parameters=""
    * @generated
    */
-	XSDSchema getSchema();
+  XSDSchema getSchema();
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * This method is same as setESchema(XSDSchema).
+   * @see #setESchema(XSDSchema)
+   * @param schema the new value of the '<em>ESchema</em>' reference.
+   * @ignore
+   * <!-- end-user-doc -->
    * @model 
    * @generated
    */
-	void setSchema(XSDSchema schema);
+  void setSchema(XSDSchema schema);
 
 } // Import
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Input.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Input.java
index 77281e6..b2c4045 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Input.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Input.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -14,6 +14,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Input</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Message.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Message.java
index fb94d51..a1914d4 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Message.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Message.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Message</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/MessageReference.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/MessageReference.java
index 95c41e4..00c3b44 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/MessageReference.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/MessageReference.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -13,6 +13,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Message Reference</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <p>
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Namespace.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Namespace.java
index 4a30050..6cbadaa 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Namespace.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Namespace.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -15,6 +15,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Namespace</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Operation.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Operation.java
index 773e0b7..2d01103 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Operation.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Operation.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Operation</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Output.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Output.java
index 1009ddb..319b673 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Output.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Output.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -14,6 +14,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Output</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Part.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Part.java
index 265b092..10ce258 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Part.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Part.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -18,6 +18,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Part</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Port.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Port.java
index fea61fc..ba6d284 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Port.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Port.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -14,6 +14,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Port</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/PortType.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/PortType.java
index 6637cf8..5b42ef7 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/PortType.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/PortType.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Port Type</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Service.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Service.java
index c214c7b..6ad0452 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Service.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Service.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Service</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Types.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Types.java
index 8191062..d9a9bf4 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Types.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/Types.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -15,6 +15,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Types</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -29,18 +31,28 @@
 public interface Types extends ExtensibleElement, javax.wsdl.Types{
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * Returns a List of inline XSDSchema instances in this Types. 
+   * @return List of XSDSchema instances.
+   * @see org.eclipse.xsd.XSDSchema
+   * @ignore
+   * <!-- end-user-doc -->
    * @model parameters=""
    * @generated
    */
-	List getSchemas();
+  List getSchemas();
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * Returns a List of inline XSDSchema instances in this Types. The targetNamespace of
+   * the schemas are the same as namespaceURI argument value.
+   * @param namespaceURI targetNamespace of the schemas to be searched for.
+   * @return List of XSDSchema instances.
+   * @see org.eclipse.xsd.XSDSchema
+   * @ignore
+   * <!-- end-user-doc -->
    * @model 
    * @generated
    */
-	List getSchemas(String namespaceURI);
+  List getSchemas(String namespaceURI);
 
 } // Types
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/UnknownExtensibilityElement.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/UnknownExtensibilityElement.java
index 7d6f9cb..9052f74 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/UnknownExtensibilityElement.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/UnknownExtensibilityElement.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -15,6 +15,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Unknown Extensibility Element</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <p>
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLElement.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLElement.java
index ec45ba7..b560a16 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLElement.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLElement.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -16,6 +16,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Element</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
@@ -89,19 +91,23 @@
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * Returns the Definition that contains this WSDL element.
+   * @return the Definition that contains this WSDL element.
+   * <!-- end-user-doc -->
    * @model parameters=""
    * @generated
    */
-	Definition getEnclosingDefinition();
+  Definition getEnclosingDefinition();
 
   /**
    * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
+   * Sets the enclosing definition of this WSDL element.
+   * @param definition the Definition that contains this WSDL element.
+   * <!-- end-user-doc -->
    * @model 
    * @generated
    */
-	void setEnclosingDefinition(Definition definition);
+  void setEnclosingDefinition(Definition definition);
 
   /**
    * Ensures that the underlying DOM {@link #getElement element} both exists and is up-to-date with respect to the model,
@@ -136,6 +142,7 @@
    * the element should typically be the same as the one returned {@link #getElement}.
    * It is expected that clients will not call this themselves 
    * since the DOM event listeners attached to the underlying DOM will invoke these automatically.
+   * @param changedElement the DOM element changed for this instance.
    */
   void elementChanged(Element changedElement);
 
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLFactory.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLFactory.java
index 28fea88..f1d4ed1 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLFactory.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -16,6 +16,8 @@
  * <!-- begin-user-doc -->
  * The <b>Factory</b> for the model.
  * It provides a create method for each non-abstract class of the model.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  * @see org.eclipse.wsdl.WSDLPackage
  * @generated
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPackage.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPackage.java
index 03f68cc..d4b46c9 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPackage.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPackage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -26,6 +26,14 @@
  *   <li>each enum,</li>
  *   <li>and each data type</li>
  * </ul>
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  * <!-- begin-model-doc -->
  * The WSDL model contains classes for the Web Services Description Language (WSDL).
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPlugin.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPlugin.java
index f9588fc..239bf3b 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPlugin.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPlugin.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -31,6 +31,13 @@
  * During stand-alone invocation no plugin initialization takes place.
  * In this case you will need the resources jar on the class path.
  * @see #getBaseURL
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
  */
 public final class WSDLPlugin extends EMFPlugin 
 {
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPluginImplementation.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPluginImplementation.java
index cc429af..a07de7a 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPluginImplementation.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/WSDLPluginImplementation.java
@@ -1,11 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2005 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
+ *******************************************************************************/
 package org.eclipse.wst.wsdl;
 
 import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.emf.common.EMFPlugin.EclipsePlugin;
 
 /**
-   * The actual implementation of the Eclipse <b>Plugin</b>.
-   */
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
+ */
   public class WSDLPluginImplementation extends EclipsePlugin
   {
     /**
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/XSDSchemaExtensibilityElement.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/XSDSchemaExtensibilityElement.java
index 00bb66d..d2554f9 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/XSDSchemaExtensibilityElement.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/XSDSchemaExtensibilityElement.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -15,6 +15,8 @@
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>XSD Schema Extensibility Element</b></em>'.
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  *
  * <p>
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BaseGenerator.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BaseGenerator.java
index 3b477ec..cf9345f 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BaseGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BaseGenerator.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.internal.generator;
 
 import org.eclipse.wst.wsdl.Definition;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BindingGenerator.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BindingGenerator.java
index c3cf150..4961905 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BindingGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/BindingGenerator.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.internal.generator;
 
 import java.util.ArrayList;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/ContentGenerator.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/ContentGenerator.java
index 62ede67..2fc848b 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/ContentGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/ContentGenerator.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.internal.generator;
 
 import org.eclipse.wst.wsdl.Binding;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/PortGenerator.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/PortGenerator.java
index 40f62d6..0d3bce0 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/PortGenerator.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/PortGenerator.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.internal.generator;
 
 import java.util.ArrayList;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionDescriptor.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionDescriptor.java
index c75b5ad..c49e99c 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionDescriptor.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionDescriptor.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.internal.generator.extension;
 
 import org.eclipse.wst.wsdl.internal.generator.ContentGenerator;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionFactoryRegistry.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionFactoryRegistry.java
index 33ab5b9..dbd9f96 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionFactoryRegistry.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionFactoryRegistry.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.internal.generator.extension;
 
 import java.util.ArrayList;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionRegistryReader.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionRegistryReader.java
index 9554762..57075b6 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionRegistryReader.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/generator/extension/ContentGeneratorExtensionRegistryReader.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 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/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.wsdl.internal.generator.extension;
 
 import java.net.URL;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/OperationImpl.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/OperationImpl.java
index 309a16f..b0235fc 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/OperationImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/OperationImpl.java
@@ -19,7 +19,6 @@
 import java.util.Map;
 
 import javax.wsdl.OperationType;
-import javax.xml.namespace.QName;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
@@ -39,7 +38,6 @@
 import org.eclipse.wst.wsdl.Operation;
 import org.eclipse.wst.wsdl.Output;
 import org.eclipse.wst.wsdl.Part;
-import org.eclipse.wst.wsdl.PortType;
 import org.eclipse.wst.wsdl.WSDLFactory;
 import org.eclipse.wst.wsdl.WSDLPackage;
 import org.eclipse.wst.wsdl.internal.util.WSDLUtil;
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 d0522ad..fc90929 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
@@ -1327,7 +1327,7 @@
     String wsdlNamespace = WSDLConstants.WSDL_NAMESPACE_URI;
     String qualifier = definition.getPrefix(wsdlNamespace);
 
-    Element newElement = document.createElementNS(wsdlNamespace, (qualifier == null ? "" : qualifier + ":") + WSDLConstants.ELEMENT_TAGS[nodeType]);
+    Element newElement = document.createElementNS(wsdlNamespace, (qualifier == null ? "" : qualifier + ":") + WSDLConstants.getElementTag(nodeType));
 
     if (document.getDocumentElement() == null)
       document.appendChild(newElement);
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactory.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactory.java
index f17c690..1b13584 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactory.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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,8 +11,15 @@
 package org.eclipse.wst.wsdl.util;
 
 import org.eclipse.wst.wsdl.ExtensibilityElement;
-
-
+/**
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
+*/
 public interface ExtensibilityElementFactory
 {
   ExtensibilityElement createExtensibilityElement(String namespace, String localName);
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactoryRegistry.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactoryRegistry.java
index d8528ca..98a8356 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactoryRegistry.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/ExtensibilityElementFactoryRegistry.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -9,7 +9,15 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.wst.wsdl.util;
-
+/**
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
+*/
 public interface ExtensibilityElementFactoryRegistry
 {
   public void registerFactory(String namespace, ExtensibilityElementFactory factory);
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLConstants.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLConstants.java
index 3fb94d5..60ab822 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLConstants.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLConstants.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -13,67 +13,262 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
+/**
+ * This class defines constants for WSDL element tags and relevant namespaces.
+ * @since 1.0
+ */
 public class WSDLConstants
 {
+  /**
+   * The element tag is <code>"binding"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int BINDING = 0;
+  
+  /**
+   * The element tag is <code>"definitions"</code>.
+   * @see #getElementTag(int).
+   */  
   public static final int DEFINITION = 1;
+  
+  /**
+   * The element tag is <code>"documentation"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int DOCUMENTATION = 2;
+  
+  /**
+   * The element tag is <code>"fault"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int FAULT = 3;
+  
+  /**
+   * The element tag is <code>"import"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int IMPORT = 4;
+  
+  /**
+   * The element tag is <code>"input"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int INPUT = 5;
+  
+  /**
+   * The element tag is <code>"message"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int MESSAGE = 6;
+  
+  /**
+   * The element tag is <code>"operation"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int OPERATION = 7;
+  
+  /**
+   * The element tag is <code>"output"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int OUTPUT = 8;
+  
+  /**
+   * The element tag is <code>"part"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int PART = 9;
+  
+  /**
+   * The element tag is <code>"port"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int PORT = 10;
+  
+  /**
+   * The element tag is <code>"portType"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int PORT_TYPE = 11;
+  
+  /**
+   * The element tag is <code>"service"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int SERVICE = 12;
+  
+  /**
+   * The element tag is <code>"types"</code>.
+   * @see #getElementTag(int).
+   */
   public static final int TYPES = 13;
-  public static final int ELEMENT = 14;
-  public static final int TYPE = 15;
-
-  public static final int EXTENSIBILITY_ELEMENT = 24;
-
+  
+  /**
+   * The element tag is <code>"binding"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String BINDING_ELEMENT_TAG = "binding";
+  
+  /**
+   * The element tag is <code>"definitions"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String DEFINITION_ELEMENT_TAG = "definitions";
+  
+  /**
+   * The element tag is <code>"documentation"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String DOCUMENTATION_ELEMENT_TAG = "documentation";
+  
+  /**
+   * The element tag is <code>"fault"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String FAULT_ELEMENT_TAG = "fault";
+  
+  /**
+   * The element tag is <code>"import"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String IMPORT_ELEMENT_TAG = "import";
+  
+  /**
+   * The element tag is <code>"input"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String INPUT_ELEMENT_TAG = "input";
+  
+  /**
+   * The element tag is <code>"message"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String MESSAGE_ELEMENT_TAG = "message";
+  
+  /**
+   * The element tag is <code>"operation"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String OPERATION_ELEMENT_TAG = "operation";
+  
+  /**
+   * The element tag is <code>"output"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String OUTPUT_ELEMENT_TAG = "output";
+  
+  /**
+   * The element tag is <code>"part"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String PART_ELEMENT_TAG = "part";
+  
+  /**
+   * The element tag is <code>"port"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String PORT_ELEMENT_TAG = "port";
+  
+  /**
+   * The element tag is <code>"portType"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String PORT_TYPE_ELEMENT_TAG = "portType";
+  
+  /**
+   * The element tag is <code>"service"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String SERVICE_ELEMENT_TAG = "service";
+  
+  /**
+   * The element tag is <code>"types"</code>.
+   * @see #nodeType(String localName).
+   */
   public static final String TYPES_ELEMENT_TAG = "types";
 
   // common
+  
+  /**
+   * The attribute is <code>"name"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public static final String NAME_ATTRIBUTE = "name";
+  
+  /**
+   * The attribute is <code>"message"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public static final String MESSAGE_ATTRIBUTE = "message";
+  
+  /**
+   * The attribute is <code>"binding"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public static final String BINDING_ATTRIBUTE = "binding";
+  
+  /**
+   * The attribute is <code>"type"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public static final String TYPE_ATTRIBUTE = "type";
 
   // definitions
+  
+  /**
+   * The attribute is <code>"encoding"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public final static String ENCODING_ATTRIBUTE = "encoding";
+  
+  /**
+   * The attribute is <code>"targetNamespace"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public final static String TARGETNAMESPACE_ATTRIBUTE = "targetNamespace";
 
   // binding
+  
+  /**
+   * The attribute is <code>"resourceURI"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public final static String RESOURCE_URI_ATTRIBUTE = "resourceURI";
 
   // part
+  
+  /**
+   * The attribute is <code>"element"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public final static String ELEMENT_ATTRIBUTE = "element";
   
   // import
+  
+  /**
+   * The attribute is <code>"location"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public final static String LOCATION_ATTRIBUTE = "location"; 
+  
+  /**
+   * The attribute is <code>"namespace"</code>.
+   * @see #getAttribute(Element,String).
+   */
   public static final String NAMESPACE_ATTRIBUTE = "namespace";  
 
+  /**
+   * The value <code>"http://schemas.xmlsoap.org/wsdl/"</code>.
+   */
   public static final String WSDL_NAMESPACE_URI = "http://schemas.xmlsoap.org/wsdl/";
+  
+  /**
+   * The value <code>"http://www.w3.org/2001/XMLSchema"</code>.
+   */  
   public static final String XSD_NAMESPACE_URI = "http://www.w3.org/2001/XMLSchema";
 
   /**
-   * The value <code>http://www.w3.org/1999/XMLSchema"</code>.
+   * The value <code>"http://www.w3.org/1999/XMLSchema"</code>.
    */
   public static final String SCHEMA_FOR_SCHEMA_URI_1999 = "http://www.w3.org/1999/XMLSchema";
 
@@ -87,7 +282,7 @@
    */
   public static final String SCHEMA_FOR_SCHEMA_URI_2001 = "http://www.w3.org/2001/XMLSchema";
 
-  public static final String[] ELEMENT_TAGS =
+  private static final String[] ELEMENT_TAGS =
     new String[] {
       BINDING_ELEMENT_TAG,
       DEFINITION_ELEMENT_TAG,
@@ -104,6 +299,21 @@
       SERVICE_ELEMENT_TAG,
       TYPES_ELEMENT_TAG };
 
+  /**
+   * Returns a String name of element tag given the nodeType.
+   * @param nodeType a constant defined in WSDLConstants.
+   * @return element tag.
+   */
+  public static final String getElementTag(int nodeType)
+  {
+    return ELEMENT_TAGS[nodeType];
+  }
+
+  /**
+   * Returns a node type given the String name of element tag.
+   * @param localName the local name of element tag.
+   * @return a node type defined in WSDLConstants.
+   */
   public static final int nodeType(String localName)
   {
     for (int i = 0; i < ELEMENT_TAGS.length; ++i)
@@ -115,7 +325,12 @@
     }
     return -1;
   }
-
+  
+  /**
+   * Returns a node type defined in WSDLConstants given the DOM node.
+   * @param node a DOM node.
+   * @return a node type defined in WSDLConstants.
+   */
   public static final int nodeType(Node node)
   {
     return isWSDLNamespace(node.getNamespaceURI()) ? nodeType(node.getLocalName()) : -1;
@@ -131,11 +346,23 @@
     return WSDL_NAMESPACE_URI.equals(namespace);
   }
 
+  /**
+   * Returns true if namespace1 equals to namespace2.
+   * @param namespace1 a namespace.
+   * @param namespace2 a namespace.
+   * @return true if namespace1 equals to namespace2.
+   */
   public static boolean isMatchingNamespace(String namespace1, String namespace2)
   {
     return (namespace1 == null ? namespace2 == null : namespace1.equals(namespace2));
   }
 
+  /**
+   * Returns an attribute value given the attributeName in the element.
+   * @param element a DOM element to search for the attribute from.
+   * @param attributeName an attribute to find from the element.
+   * @return an attribute value.
+   */
   public static String getAttribute(Element element, String attributeName)
   {
     return element.hasAttribute(attributeName) ? element.getAttribute(attributeName) : null;
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceFactoryRegistry.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceFactoryRegistry.java
index d38dda9..6c6e278 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceFactoryRegistry.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceFactoryRegistry.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -32,6 +32,13 @@
  *    ResourceSet resourceSet = new ResourceSetImpl();
  *    WSDLResourceFactoryRegistry registry = new WSDLResourceFactoryRegistry(Resource.Factory.Registry.INSTANCE);
  *    resourceSet.setResourceFactoryRegistry(registry);
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
  */
 public class WSDLResourceFactoryRegistry implements Resource.Factory.Registry
 {
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceImpl.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceImpl.java
index 85d8555..ee5e521 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/util/WSDLResourceImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * Copyright (c) 2001, 2005 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
@@ -54,6 +54,14 @@
  * hrefs, and it's own serialization. This class is not intended for subclassing 
  * outside of the model implementation; it is intended to be used as is with the 
  * Resource framework.
+ * <p>
+ * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
+ * (repeatedly) as the API evolves.
+ * </p>
+ * @since 1.0
+ * @ignore
  * <!-- end-user-doc -->
  * @see org.eclipse.wst.wsdl.internal.util.WSDLResourceFactoryImpl
  * @generated
diff --git a/bundles/org.eclipse.wst.wsi.ui/.cvsignore b/bundles/org.eclipse.wst.wsi.ui/.cvsignore
index e9c6d3b..de85cb8 100644
--- a/bundles/org.eclipse.wst.wsi.ui/.cvsignore
+++ b/bundles/org.eclipse.wst.wsi.ui/.cvsignore
@@ -2,3 +2,5 @@
 temp.folder
 wsiui.jar
 build.xml
+@dot
+src.zip
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 6679c02..d494a2e 100644
--- a/bundles/org.eclipse.wst.wsi.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsi.ui/META-INF/MANIFEST.MF
@@ -2,15 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsi.ui; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: wsiui.jar
-Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.wst.wsi.ui.internal.WSIUIPlugin
 Bundle-Vendor: %_PROVIDER_NAME
 Bundle-Localization: plugin
 Export-Package: org.eclipse.wst.wsi.ui.internal,
  org.eclipse.wst.wsi.ui.internal.actions,
  org.eclipse.wst.wsi.ui.internal.actions.actionDelegates,
- org.eclipse.wst.wsi.ui.internal.actions.icons,
  org.eclipse.wst.wsi.ui.internal.wizards
 Require-Bundle: org.eclipse.jface.text,
  org.eclipse.core.resources,
@@ -33,10 +31,8 @@
  org.eclipse.wst.wsi,
  org.eclipse.wst.internet.monitor.core,
  org.eclipse.wst.internet.monitor.ui,
- org.eclipse.core.runtime.compatibility,
  org.wsdl4j,
  org.eclipse.core.runtime;bundle-version="2.1.0",
  org.eclipse.wst.xml.ui,
  org.eclipse.wst.xml.core
 Eclipse-AutoStart: true
-Plugin-Class: org.eclipse.wst.wsi.ui.internal.WSIUIPlugin
diff --git a/bundles/org.eclipse.wst.wsi.ui/build.properties b/bundles/org.eclipse.wst.wsi.ui/build.properties
index 90fde30..c8570f2 100644
--- a/bundles/org.eclipse.wst.wsi.ui/build.properties
+++ b/bundles/org.eclipse.wst.wsi.ui/build.properties
@@ -1,10 +1,10 @@
-bin.includes = wsiui.jar,\
+bin.includes = .,\
                plugin.properties,\
                plugin.xml,\
                icons/,\
                META-INF/,\
                about.html
-source.wsiui.jar = src/
-jars.compile.order = wsiui.jar
-output.wsiui.jar = bin/
+source.. = src/
+jars.compile.order = .
+output.. = bin/
 src.includes = build.properties
diff --git a/bundles/org.eclipse.wst.wsi.ui/plugin.properties b/bundles/org.eclipse.wst.wsi.ui/plugin.properties
index bbc65bb..1b442fd 100644
--- a/bundles/org.eclipse.wst.wsi.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.wsi.ui/plugin.properties
@@ -12,63 +12,7 @@
 
 _PLUGIN_NAME                  = Soap Monitor
 _PROVIDER_NAME                = Eclipse.org
-_UI_XML_EDITOR                = XML Editor
 _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_VIEW_SS_FILE_IMPORT_BUTTON = Import Files...
-_UI_VIEW_SS_FILE_SOURCE_FILES = Workbench Files
-
-_UI_DIALOG_SS_FILE_SHELL_TEXT  = Select File
-_UI_DIALOG_SS_FILE_TITLE       = Select a File
-_UI_DIALOG_SS_FILE_DESCRIPTION = Select a file from the workbench.
-
-_UI_WIZARD_V_SELECT_LOG_FILENAME_HEADING   = Specify the WS-I Message Log File Name
-_UI_WIZARD_V_SELECT_LOG_FILENAME_EXPL      = Select a folder and specify a message log file name
-_UI_WIZARD_V_SELECT_WSDL_FILENAME_HEADING  = Include WSDL File
-_UI_WIZARD_V_SELECT_WSDL_FILENAME_EXPL     = Optionally select a WSDL file for the Web service
-_UI_WIZARD_V_SELECT_WSDL_ELEMENT_HEADING   = Specify the WSDL element to be Analyzed
-_UI_WIZARD_V_SELECT_WSDL_ELEMENT_EXPL      = Indicate the name, type, and namespace of the WSDL element to be analyzed
-
-_UI_WIZARD_V_INCLUDE_WSDL_BUTTON           = Include WSDL document for Web service
-_UI_WIZARD_V_INCLUDE_WSDL_LABEL            = Enter the location of the WSDL document for the Web service
-_UI_WIZARD_V_VALID_WSDL_LABEL              = *Note: You can only select the Next button if the WSDL document is valid.
-_UI_WIZARD_V_WORKBENCH_BUTTON              = Workbench...
-_UI_WIZARD_V_BROWSE_BUTTON                 = Browse...
-_UI_WIZARD_V_SEARCH_UDDI_BUTTON            = Search UDDI...
-
-_UI_WIZARD_V_GROUP_TEXT_ELEMENT            = The WSDL element
-_UI_WIZARD_V_GROUP_TEXT_TYPE               = type
-_UI_WIZARD_V_RADIO_PORT                    = port
-_UI_WIZARD_V_RADIO_BINDING                 = binding
-_UI_WIZARD_V_RADIO_PORT_TYPE               = portType
-_UI_WIZARD_V_RADIO_OPERATION               = operation
-_UI_WIZARD_V_RADIO_MESSAGE                 = message
-_UI_WIZARD_V_LABEL_NAME                    = name:
-_UI_WIZARD_V_LABEL_NAMESPACE               = namespace:
-_UI_WIZARD_V_LABEL_PARENT                  = parent:
-
-_UI_LOG_EDITOR                    = Text Editor
-_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_WIZARD_SELECT_LOG_FILENAME_HEADING  = Specify the WS-I Message Log File Name
-_UI_WIZARD_SELECT_LOG_FILENAME_EXPL     = Select a folder and specify a message log file name
-
-_UI_VALIDATION_FAILED             = Validation Failed
-_UI_UNABLE_TO_VALIDATE            = Unable to Validate
-_UI_NO_MESSAGES_TO_VALIDATE       = No Messages to Validate
-_UI_THE_WSIMSG_FILE_IS_NOT_VALID  = The WS-I Message Log file is not valid.  See the Problems view for a list of the validation errors.
-_UI_PROBLEMS_READING_WSIMSG_FILE  = Problems reading the WS-I Message Log file.  See the Problems view for a list of errors.
-_UI_VALIDATION_SUCEEDED           = Validation Succeeded
-_UI_VALIDATION_WARNINGS_DETECTED  = However warnings have been issued. See the Problems view for a list of the validation warnings.
-_UI_THE_WSIMSG_FILE_IS_VALID      = The WS-I Message Log file is valid.
-_UI_VALIDATION_FAILED             = Validation Failed
-_UI_MESSAGE_LIMITE_EXCEEDED       = The WS-I Message Log file is not valid.  The message limit for the Problems view has been exceeded.  Please increase the limit and try again.
-
-_ERROR_INVALID_LOG_FILE_EXTENSION = The file name extension can only be ".wsimsg".
-_WARNING_FILE_ALREADY_EXISTS      = Warning: The file already exists and will be overwritten. 
-_ERROR_INVALID_LOG_FILE_EXTENSION = The file name extension can only be ".wsimsg".
-_WARNING_FILE_ALREADY_EXISTS      = Warning: The file already exists and will be overwritten. 
\ No newline at end of file
+_UI_LOG_EDITOR                = XML Editor
diff --git a/bundles/org.eclipse.wst.wsi.ui/plugin.xml b/bundles/org.eclipse.wst.wsi.ui/plugin.xml
index 441b92e..c0ea41c 100644
--- a/bundles/org.eclipse.wst.wsi.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.wsi.ui/plugin.xml
@@ -69,10 +69,21 @@
             name="%_UI_LOG_EDITOR"
             extensions="wsimsg"
             icon="icons/wsi_logfile_obj.gif"
-            class="org.eclipse.ui.editors.text.TextEditor"
+            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.           -->
+   <!-- ======================================================= -->
+   <extension point="org.eclipse.core.runtime.contentTypes"> 
+      <file-association 
+       content-type="org.eclipse.core.runtime.xml"
+       file-extensions="wsimsg"/>
+   </extension>
+   
 <!-- ====================================================== -->
 <!-- Add validate action  to .wsimsg file                   -->
 <!-- ====================================================== -->
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/LogBuilder.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/LogBuilder.java
deleted file mode 100644
index a6c7412..0000000
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/LogBuilder.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.ui.internal;
-
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.ToolInfo;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogWriterImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.MessageEntryImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
-import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.CommentImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.ManInTheMiddleImpl;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * Given a list of RequestResponses from a TCPIP Monitor, 
- * this class builds a WS-I compliant Message Log file.
- * 
- * @author David Lauzon, IBM
- */
-public class LogBuilder
-{
-  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
-  /**
-   * IDs to identify requests and corresponding responses.
-   */
-  protected int conversationId = 1;
-
-  /**
-   * IDs to uniquely identify each and every message within the log file.
-   */
-  protected int id = 1;
-
-  /**
-   * The list of RequestResponces from a TCPIP Monitor used to generate the log file.
-   */
-  protected Request[] requestResponses;
-
-  /**
-   * The actual log object.
-   */
-  protected Log log = null;
-
-  /**
-   * The log file.
-   */
-  protected IFile ifile;
-
-  /**
-   * Tool information property values.
-   */
-  private static final String TOOL_NAME = "Monitor";
-  private static final String TOOL_VERSION = "1.0";
-  private static final String TOOL_RELEASE_DATE = "2003-03-20";
-  private static final String TOOL_IMPLEMENTER = "IBM";
-  private static final String TOOL_LOCATION = "";
-
-  /**
-   * Properties of a RequestResponse.
-   */
-  private static final String PROPERTY_REQUEST_HEADER = "request-header";
-  private static final String PROPERTY_RESPONSE_HEADER = "response-header";
-  private static final String HTTP_REQUEST_BODY = "http-request-body";
-  private static final String HTTP_RESPONSE_BODY = "http-response-body";
-
-  /**
-   * Common timestamp format.
-   */
-  public static final SimpleDateFormat timestampFormat = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
-
-  /**
-   * Constructor.
-   * @param ifile: the file handler for the log.
-   */
-  public LogBuilder(IFile ifile)
-  {
-    this.ifile = ifile;
-  }
-
-  /**
-   * This builds and then returns a log based on the list of request-response pairs.
-   * @param requestResponses: a list of messages in the form of request-response pairs.
-   * @return a log based on a list of request-response pairs.
-   */
-  public Log buildLog(Request[] requestResponses)
-  {
-    this.requestResponses = requestResponses;
-
-    log = new LogImpl();
-    logMonitorInformation();
-
-    // log the messages
-    for (int i=0; i<requestResponses.length; i++)
-    {
-      Request rr = requestResponses[i];
-      if ((rr != null) && (!omitRequestResponse(rr)))
-      {
-        logRequestResponse(rr);
-      }
-    }
-    return log;
-  }
-
-  /**
-   * Currently a no-op.
-   */
-  public void logMonitorInformation()
-  {
-  }
-
-  /**
-   * Log the request-response pair.
-   *@param rr: a request-response pair.
-   */
-  protected void logRequestResponse(Request rr)
-  {
-    if (rr != null)
-    {
-      byte[] request = rr.getRequest(Request.ALL);
-      byte[] response = rr.getResponse(Request.ALL);
-        
-      String requestHeader = new String(rr.getRequest(Request.TRANSPORT));
-      String responseHeader = new String(rr.getResponse(Request.TRANSPORT));
-      
-      byte[] unchunkedRequestBody = rr.getRequest(Request.CONTENT);
-      byte[] unchunkedResponseBody = rr.getResponse(Request.CONTENT);
- 
-      long timestamp = rr.getDate().getTime();
-      String localHostAndPort = "localhost:" + rr.getLocalPort();
-      String remoteHostAndPort = rr.getRemoteHost() + ":" + rr.getRemotePort();
-
-      int requestId  = getNextAvailableId();
-      int responseId = getNextAvailableId();
-      int conversationId = getNextAvailableConversationId();
-
-      MessageEntry messageEntryRequest = createMessageEntry(requestId, conversationId, 
-                MessageEntry.TYPE_REQUEST, timestamp, localHostAndPort,
-                remoteHostAndPort, unchunkedRequestBody, requestHeader);
-
-      MessageEntry messageEntryResponse = createMessageEntry(responseId, conversationId, 
-                MessageEntry.TYPE_RESPONSE, timestamp + rr.getResponseTime(), remoteHostAndPort,
-                localHostAndPort, unchunkedResponseBody, responseHeader);
-      try
-      {
-        if ((messageEntryRequest != null) &&
-            (messageEntryResponse != null) &&
-            ((messageEntryRequest.isMimeContent()) ||
-			 (isMessageWithBrackets(messageEntryRequest.getMessage()))))
-        {
-                log.addLogEntry(messageEntryRequest);
-               log.addLogEntry(messageEntryResponse);
-        }
-      }
-      catch (Exception e)
-      {
-        // ignore the request response pair
-      }
-    }
-  }
-
-  /**
-   * Returns true if the content of the message has at least
-   * one left and one right bracket.
-   * @param message: a message content.
-   * @return true if the content of the message has at least
-   *         one left and one right bracket.
-   */
-  public boolean isMessageWithBrackets(String message)
-  {
-    return ((message != null) && 
-            (message.indexOf("<")!= -1) && 
-            (message.indexOf(">") != -1));
-  }
-  /**
-   * Returns the header of a message.
-   * @param requestOrResponse: a message.
-   * @param headerLength: the length of the header in the message.
-   * @return the header of a message.
-   */ 
-  protected String getHeader(byte[] requestOrResponse,  int headerLength)
-  {
-    String result = null;
-    
-    if ((requestOrResponse != null) && 
-        (headerLength > 0) && 
-        (requestOrResponse.length >= headerLength))
-    {
-      byte[] header = new byte[headerLength];
-      System.arraycopy(requestOrResponse, 0, header, 0, headerLength);
-      result = new String(header);
-    }
-    return result;
-  }
-
-  /**
-   * Returns the body of a message.
-   * @param requestOrResponse: a message.
-   * @param headerLength: the length of the header in the message.
-   * @return the body of a message.
-   */ 
-  protected String getBody(byte[] requestOrResponse,  int headerLength)
-  {
-    String result = null;
-    
-    if ((requestOrResponse != null) && 
-        (headerLength > 0) && 
-        (requestOrResponse.length > headerLength))
-    {
-      int bodyLength = requestOrResponse.length - headerLength;
-      byte[] body = new byte[bodyLength];
-      System.arraycopy(requestOrResponse, headerLength, body, 0, bodyLength);
-      result = new String(body);
-    }
-    return result;
-  }
-      
-  /**
-   * Create a log entry.
-   * @param id: unique message id within the log.
-   * @param conversationId: conversation id to identify request-response pairs.
-   * @param type: type indicating a request or response.
-   * @param timestamp: the date and time of the message.
-   * @param senderHostAndPort: the host and port of the sender.
-   * @param receiverHostAndPort: the host and port of the receiver.
-   * @param messageContent: the content or body of the message.
-   * @param header: the header of the message.
-   * @return a log entry.
-   */
-  protected MessageEntry createMessageEntry(int id, int conversationId, String type, long timestamp, 
-        String senderHostAndPort, String receiverHostAndPort, byte[] messageContent, String header) 
-  {
- 	// Create log entry
-    MessageEntry messageEntry = new MessageEntryImpl();
-    messageEntry.setId(String.valueOf(id));
-    messageEntry.setConversationId(String.valueOf(conversationId));
-    messageEntry.setType(type);
-    messageEntry.setTimestamp(getTimestamp(new Date(timestamp)));
-    messageEntry.setSenderHostAndPort(senderHostAndPort);
-    messageEntry.setReceiverHostAndPort(receiverHostAndPort);
-    messageEntry.setEncoding(WSIConstants.DEFAULT_XML_ENCODING);
-    
-    messageEntry.setHTTPHeaders(header);
-
-    if (Utils.isMultipartRelatedMessage(header))
-    {
-    	MimeParts mimeParts = Utils.parseMultipartRelatedMessage(messageContent, header, WSIConstants.DEFAULT_XML_ENCODING);
-    	if (mimeParts == null)
-    	{
-    	  // problem creating Mimeparts -- treat it as simple SOAP message
-    	  messageEntry.setMessage(new String(messageContent));
-    	  messageEntry.setMimeContent(false);
-    	}
-    	else
-    	{
-          messageEntry.setMimeParts(mimeParts);
-          messageEntry.setMimeContent(true);
-    	}
-    }
-    else
-    {
-      // Get the message content
-      messageEntry.setMessage(new String(messageContent));
-      messageEntry.setMimeContent(false);
-    }
-    return messageEntry;
-  }
-
-  /**
-   * Returns the next available id, then increments the id value.
-   * @return the next available id.
-   */
-  protected int getNextAvailableId()
-  {
-    return id++;
-  }
-
-  /**
-   * Returns the next available conversation id, then increments the conversation id value.
-   * A conversation id identfies a request and its corresponding response.
-   * @return the next available converasationid.
-   */
-  protected int getNextAvailableConversationId()
-  {
-    return conversationId++;
-  }
-
-  public int getHeaderLength(Integer obj)
-  {
-    int result = 0;
-    if (obj != null)
-    {
-      result = obj.intValue();
-    }
-    return result;
-  }
-
-  /**
-   * Check for HTTP messages that should not be logged.
-   * @param rr: a request-response pair.
-   * @return true if the request-response pair should be omitted from the log.
-   */
-  private boolean omitRequestResponse(Request rr) 
-  {
-    boolean omit = false;
-    if (rr != null)
-    {
-      String request = rr.getRequest(Request.TRANSPORT).toString();
-      if ((request != null) &&
-          ((request.startsWith("CONNECT")) ||
-           (request.startsWith("TRACE")) || 
-           (request.startsWith("DELETE")) || 
-           (request.startsWith("OPTIONS")) || 
-           (request.startsWith("HEAD"))))
-      { 
-        omit = true;
-      }
-    }
-    return omit;
-  }
-
-  /**
-   * Write log out to file.
-   * @param log: log to be written to file.
-   */
-
-  public void writeLog(Log log)
-  {
-    try
-    {
-      // Get log writer
-      LogWriter logWriter = new LogWriterImpl();
-    
-      logWriter.setWriter(ifile.getLocation().toString());
-      
-      // Write start of log file
-      logWriter.write(new StringReader(log.getStartXMLString("")));
-    
-      // Write monitor tool information
-      String monitorInfo = generateMonitorToolInfo();
-      logWriter.write(new StringReader(monitorInfo));
-
-      for (int i=0; i<log.getEntryCount(); i++)
-      {
-        MessageEntry me = log.getLogEntry(i);
-        logWriter.write(new StringReader(me.toXMLString("")));
-      }
-      logWriter.write(new StringReader(log.getEndXMLString("")));
-      logWriter.close();
-    }
-    catch (Exception e)
-    {
-      System.out.println("Exception thrown when printing log file.");
-    }
-  }
-
-
-  /**
-   * Returns XML string representation of the Monitor tool.
-   * @return XML string representation of the Monitor tool.
-   */
-  protected String generateMonitorToolInfo()
-  {
-
-    StringWriter sw = new StringWriter();
-    PrintWriter pw = new PrintWriter(sw); 
-
-    try
-    {
-      // Tool information
-      ToolInfo toolInfo = new ToolInfo(TOOL_NAME, TOOL_VERSION, TOOL_RELEASE_DATE, TOOL_IMPLEMENTER, TOOL_LOCATION);
-
-      DocumentFactory documentFactory = DocumentFactory.newInstance();
-      MonitorConfig monitorConfig = documentFactory.newMonitorConfig();
-    
-      Comment comment = new CommentImpl();
-      comment.setText("Comment");
-      monitorConfig.setComment(comment);
-      monitorConfig.setLogLocation("URL");
-      monitorConfig.setReplaceLog(true);
-
-      AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
-      monitorConfig.setAddStyleSheet(addStyleSheet);
-
-      monitorConfig.setLogDuration(600);
-      monitorConfig.setTimeout(3);
-     
-      ManInTheMiddle manInTheMiddle = new ManInTheMiddleImpl();
-      monitorConfig.setManInTheMiddle(manInTheMiddle);
-
-      monitorConfig.setLocation("documentURI");
-      monitorConfig.setVerboseOption(false);
-
-      // Start     
-      pw.print(toolInfo.getStartXMLString(""));
-    
-      // Config
-      pw.print(monitorConfig.toXMLString(WSIConstants.NS_NAME_WSI_MONITOR_CONFIG));
-
-      // End
-      pw.println(toolInfo.getEndXMLString(""));
-    }
-    catch (Exception e)
-    {
-    }
-    return sw.toString();
-  }
-
-  /**
-   * Get the given date and time as a timestamp.
-   * @param date: a date object.
-   * @return the given date and time as a timestamp.
-   */
-  public static String getTimestamp(Date date)
-  {
-    timestampFormat.setTimeZone(TimeZone.getDefault());
-    return timestampFormat.format(date);
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/Messages.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/Messages.java
new file mode 100644
index 0000000..8b20b3e
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/Messages.java
@@ -0,0 +1,75 @@
+/**********************************************************************
+ * Copyright (c) 2005 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
+ **********************************************************************/
+package org.eclipse.wst.wsi.ui.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Translated messages.
+ */
+public class Messages extends NLS 
+{
+    //--------------- Validation Wizard ---------------
+	public static String VALIDATION_WIZARD_TITLE;
+
+	//--------------- Validation Wizard (WSDL page) ---------------
+	public static String WSDL_PAGE_FILE_SHELL_TEXT;
+	public static String WSDL_PAGE_FILE_TITLE ;
+	public static String WSDL_PAGE_FILE_DESCRIPTION;
+	public static String WSDL_PAGE_SELECT_WSDL_FILENAME_HEADING;
+	public static String WSDL_PAGE_SELECT_WSDL_FILENAME_EXPL;
+	public static String WSDL_PAGE_INCLUDE_WSDL_BUTTON;
+	public static String WSDL_PAGE_INCLUDE_WSDL_LABEL;
+	public static String WSDL_PAGE_VALID_WSDL_LABEL;
+	public static String WSDL_PAGE_WORKBENCH_BUTTON;
+	public static String WSDL_PAGE_BROWSE_BUTTON;
+	public static String WSDL_PAGE_SEARCH_UDDI_BUTTON;
+
+	//--------------- Validation Wizard (WSDL content page) ---------------
+	public static String WSDL_CONTENT_PAGE_SELECT_HEADING;
+	public static String WSDL_CONTENT_PAGE_SELECT_EXPL;
+	public static String WSDL_CONTENT_PAGE_GROUP_TEXT_ELEMENT;
+	public static String WSDL_CONTENT_PAGE_GROUP_TEXT_TYPE;
+	public static String WSDL_CONTENT_PAGE_RADIO_PORT;
+	public static String WSDL_CONTENT_PAGE_RADIO_BINDING;
+	public static String WSDL_CONTENT_PAGE_RADIO_PORT_TYPE;
+	public static String WSDL_CONTENT_PAGE_RADIO_OPERATION;
+	public static String WSDL_CONTENT_PAGE_RADIO_MESSAGE;
+	public static String WSDL_CONTENT_PAGE_LABEL_NAME;
+	public static String WSDL_CONTENT_PAGE_LABEL_NAMESPACE;
+	public static String WSDL_CONTENT_PAGE_LABEL_PARENT;
+
+	//--------------- Validation Wizard (Log page) ---------------
+	public static String LOG_PAGE_SELECT_LOG_FILENAME_HEADING;
+	public static String LOG_PAGE_SELECT_LOG_FILENAME_EXPL;
+
+	// Actions
+	public static String ACTION_WSI_VALIDATOR;
+
+	//--------------- Errors ---------------
+	public static String ERROR_UNABLE_TO_VALIDATE;
+	public static String ERROR_VALIDATION_FAILED;
+	public static String ERROR_THE_WSIMSG_FILE_IS_NOT_VALID;
+	public static String ERROR_PROBLEMS_READING_WSIMSG_FILE;
+	public static String ERROR_INVALID_LOG_FILE_EXTENSION;
+	public static String WARNING_VALIDATION_WARNINGS_DETECTED;
+	public static String WARNING_FILE_ALREADY_EXISTS;
+
+	//--------------- Informational messages ---------------
+	public static String INFO_VALIDATION_SUCEEDED;
+	public static String INFO_THE_WSIMSG_FILE_IS_VALID;
+	public static String INFO_NO_MESSAGES_TO_VALIDATE;
+
+  static 
+  {
+	NLS.initializeMessages(WSIUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/Messages.properties b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/Messages.properties
new file mode 100644
index 0000000..864b370
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/Messages.properties
@@ -0,0 +1,61 @@
+# /*******************************************************************************
+#  * Copyright (c) 2002-2005 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 - Initial API and implementation
+#  *******************************************************************************/
+
+# --------------- Validation Wizard ---------------
+VALIDATION_WIZARD_TITLE                = Validate WS-I Message Log File
+
+# --------------- Validation Wizard (WSDL page) ---------------
+WSDL_PAGE_FILE_SHELL_TEXT              = Select File
+WSDL_PAGE_FILE_TITLE                   = Select a File
+WSDL_PAGE_FILE_DESCRIPTION             = Select a file from the workbench.
+WSDL_PAGE_SELECT_WSDL_FILENAME_HEADING = Include WSDL File
+WSDL_PAGE_SELECT_WSDL_FILENAME_EXPL    = Optionally select a WSDL file for the Web service
+WSDL_PAGE_INCLUDE_WSDL_BUTTON          = Include WSDL document for Web service
+WSDL_PAGE_INCLUDE_WSDL_LABEL           = Enter the location of the WSDL document for the Web service
+WSDL_PAGE_VALID_WSDL_LABEL             = *Note: You can only select the Next button if the WSDL document is valid.
+WSDL_PAGE_WORKBENCH_BUTTON             = Workbench...
+WSDL_PAGE_BROWSE_BUTTON                = Browse...
+WSDL_PAGE_SEARCH_UDDI_BUTTON           = Search UDDI...
+
+# --------------- Validation Wizard (WSDL content page) ---------------
+WSDL_CONTENT_PAGE_SELECT_HEADING       = Specify the WSDL element to be Analyzed
+WSDL_CONTENT_PAGE_SELECT_EXPL          = Indicate the name, type, and namespace of the WSDL element to be analyzed
+WSDL_CONTENT_PAGE_GROUP_TEXT_ELEMENT   = The WSDL element
+WSDL_CONTENT_PAGE_GROUP_TEXT_TYPE      = type
+WSDL_CONTENT_PAGE_RADIO_PORT           = port
+WSDL_CONTENT_PAGE_RADIO_BINDING        = binding
+WSDL_CONTENT_PAGE_RADIO_PORT_TYPE      = portType
+WSDL_CONTENT_PAGE_RADIO_OPERATION      = operation
+WSDL_CONTENT_PAGE_RADIO_MESSAGE        = message
+WSDL_CONTENT_PAGE_LABEL_NAME           = name:
+WSDL_CONTENT_PAGE_LABEL_NAMESPACE      = namespace:
+WSDL_CONTENT_PAGE_LABEL_PARENT         = parent:
+
+# --------------- Validation Wizard (Log page) ---------------
+LOG_PAGE_SELECT_LOG_FILENAME_HEADING   = Specify the WS-I Message Log File Name
+LOG_PAGE_SELECT_LOG_FILENAME_EXPL      = Select a folder and specify a message log file name
+
+# Actions
+ACTION_WSI_VALIDATOR                   = WS-I Message Validator
+
+# --------------- Errors ---------------
+ERROR_UNABLE_TO_VALIDATE               = Unable to Validate
+ERROR_VALIDATION_FAILED                = Validation Failed
+ERROR_THE_WSIMSG_FILE_IS_NOT_VALID     = The WS-I Message Log file is not valid.  See the Problems view for a list of the validation errors.
+ERROR_PROBLEMS_READING_WSIMSG_FILE     = Problems reading the WS-I Message Log file.  See the Problems view for a list of errors.
+ERROR_INVALID_LOG_FILE_EXTENSION       = The file name extension can only be ".wsimsg".
+WARNING_VALIDATION_WARNINGS_DETECTED   = However warnings have been issued. See the Problems view for a list of the validation warnings.
+WARNING_FILE_ALREADY_EXISTS            = Warning: The file already exists and will be overwritten. 
+
+# --------------- Informational messages ---------------
+INFO_VALIDATION_SUCEEDED               = Validation Succeeded
+INFO_THE_WSIMSG_FILE_IS_VALID          = The WS-I Message Log file is valid.
+INFO_NO_MESSAGES_TO_VALIDATE           = No Messages to Validate
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIMessageValidator.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIMessageValidator.java
index 5cb0a07..c5ea44c 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIMessageValidator.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIMessageValidator.java
@@ -10,17 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.wsi.ui.internal;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.eclipse.core.resources.IFile;
-import org.eclipse.wst.validation.internal.core.IMessageAccess;
 import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
 import org.eclipse.wst.validation.internal.provisional.core.IValidator;
-import org.eclipse.wst.validation.internal.provisional.core.MessageLimitException;
 import org.eclipse.wst.wsi.ui.internal.actions.WSIValidateAction;
 //import org.eclipse.wst.wsi.internal.core.report.impl.DefaultReporter;
 
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIUIPlugin.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIUIPlugin.java
index 52574e3..6bac68f 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIUIPlugin.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/WSIUIPlugin.java
@@ -10,11 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.wsi.ui.internal;
 
-import java.util.HashMap;
-import java.util.Map;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.resource.ImageRegistry;
 import org.eclipse.swt.graphics.Image;
@@ -29,20 +24,18 @@
 
 public class WSIUIPlugin extends AbstractUIPlugin
 {
-	private ResourceBundle pluginRB = null;
   /**
    * The singleton.
    */
   protected static WSIUIPlugin instance;                
-
+  public static final String PLUGIN_ID = "org.eclipse.wst.wsi.ui";
   /**
    * Constructor.
    */
-  public WSIUIPlugin(IPluginDescriptor descriptor)
+  public WSIUIPlugin()
   {
-    super(descriptor);
+    super();
     instance = this;
-    pluginRB = descriptor.getResourceBundle();
   }    
 
   /**
@@ -86,16 +79,4 @@
   {
     return instance.getImageRegistry().get(iconName);
   }
-
-  /**
-   * Convience API.     
-   * This gets the string resource based on the key.
-   * @param key: key associated witha string resource.
-   * @return the string resource associated with the given key.
-   */
-  public static String getResourceString(String key)
-  {
-  	
-    return instance.pluginRB.getString(key);
-  }
 }
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/WSIValidateAction.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/WSIValidateAction.java
index 4d87d8c..07d04bf 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/WSIValidateAction.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/WSIValidateAction.java
@@ -18,11 +18,9 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.wst.validation.internal.core.IMessageAccess;
-import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
 import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 import org.eclipse.wst.validation.internal.provisional.core.IValidator;
@@ -30,7 +28,7 @@
 import org.eclipse.wst.wsi.internal.analyzer.MessageAnalyzer;
 import org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException;
 import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.ui.internal.WSIUIPlugin;
+import org.eclipse.wst.wsi.ui.internal.Messages;
 import org.eclipse.wst.wsi.internal.report.AssertionError;
 import org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage;
 import org.eclipse.wst.xml.ui.internal.validation.ValidateAction;
@@ -151,25 +149,25 @@
         if (exceptionCaught)
         {
           MessageDialog.openError(Display.getDefault().getActiveShell(), 
-          		WSIUIPlugin.getResourceString("_UI_UNABLE_TO_VALIDATE"), 
-          		WSIUIPlugin.getResourceString("_UI_PROBLEMS_READING_WSIMSG_FILE"));
+          		Messages.ERROR_UNABLE_TO_VALIDATE, 
+          		Messages.ERROR_PROBLEMS_READING_WSIMSG_FILE);
         }
         else if (messageanalyzer.getAssertionErrors().size() != 0)
         {
           MessageDialog.openError(Display.getDefault().getActiveShell(), 
-          		WSIUIPlugin.getResourceString("_UI_VALIDATION_FAILED"), 
-          		WSIUIPlugin.getResourceString("_UI_THE_WSIMSG_FILE_IS_NOT_VALID"));
+          		Messages.ERROR_VALIDATION_FAILED, 
+          		Messages.ERROR_THE_WSIMSG_FILE_IS_NOT_VALID);
         }
         else if (messageanalyzer.getAssertionWarnings().size() != 0)
         {                                                           
-          String title = WSIUIPlugin.getResourceString("_UI_VALIDATION_SUCEEDED");
-          String message = WSIUIPlugin.getResourceString("_UI_VALIDATION_WARNINGS_DETECTED");
+          String title = Messages.INFO_VALIDATION_SUCEEDED;
+          String message = Messages.WARNING_VALIDATION_WARNINGS_DETECTED;
           MessageDialog.openInformation(Display.getDefault().getActiveShell(), title, message);
         }
         else
         {
-          String title = WSIUIPlugin.getResourceString("_UI_VALIDATION_SUCEEDED");
-          String message = WSIUIPlugin.getResourceString("_UI_THE_WSIMSG_FILE_IS_VALID");
+          String title = Messages.INFO_VALIDATION_SUCEEDED;
+          String message = Messages.INFO_THE_WSIMSG_FILE_IS_VALID;
           MessageDialog.openInformation(Display.getDefault().getActiveShell(), title, message);
         }
       }
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/actionDelegates/RequestHandlerImpl.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/actionDelegates/RequestHandlerImpl.java
new file mode 100644
index 0000000..425f608
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/actionDelegates/RequestHandlerImpl.java
@@ -0,0 +1,226 @@
+package org.eclipse.wst.wsi.ui.internal.actions.actionDelegates;
+
+import java.util.Date;
+
+import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
+import org.eclipse.wst.wsi.internal.core.log.RequestHandler;
+
+/**
+ * Implements the RequestHandler interface which represents a TCP/IP
+ * request made between the client and the server. Each request 
+ * represents a request-response pair, where the request is from 
+ * client -> server, and the response is from server -> client.
+ * 
+ * @author lauzond
+ */
+public class RequestHandlerImpl implements RequestHandler 
+{
+	/**
+	 * The HTTP header of the request portion of this request.
+	 */
+	protected byte[] requestHeader;
+	
+	/**
+	 * The HTTP header of the response portion of this request.
+	 */
+	protected byte[] responseHeader;
+
+	/**
+	 * The HTTP body of the request portion of this request.
+	 */
+	protected byte[] requestContent;
+
+	/**
+	 * The HTTP body of the response portion of this request.
+	 */
+	protected byte[] responseContent;
+
+	/**
+	 * The time this request was made.
+	 */
+	protected Date date = null;
+	
+	/**
+	 * The local (client) port.
+	 */
+	protected int localPort = 0;
+
+	/**
+	 * The remote (server) port.
+	 */
+	protected int remotePort = 0;
+	
+	/**
+	 * The remote (server) host.
+	 */
+	protected String remoteHost = null;
+
+	/**
+	 * The server's response time in milliseconds. 
+	 */
+	protected long responseTime = 0;
+	
+	/**
+	 * Constructor.
+	 * @param request a TCP/IP request
+	 */
+	RequestHandlerImpl(Request request)
+	{
+	  if (request != null)
+	  {
+		this.requestHeader = request.getRequest(Request.TRANSPORT);
+		this.requestContent = request.getRequest(Request.CONTENT);
+		this.responseHeader = request.getResponse(Request.TRANSPORT);
+		this.responseContent = request.getResponse(Request.CONTENT);
+		this.date = request.getDate();
+		this.localPort = request.getLocalPort();
+		this.remotePort = request.getRemotePort();
+		this.remoteHost = request.getRemoteHost();
+		this.responseTime = request.getResponseTime();
+	  }
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getRequestHeader()
+	 */
+	public byte[] getRequestHeader() 
+	{
+		return this.requestHeader;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setRequestHeader(byte[])
+	 */
+	public void setRequestHeader(byte[] requestHeader) 
+	{
+		this.requestHeader = requestHeader;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getResponseHeader()
+	 */
+	public byte[] getResponseHeader() 
+	{
+		return this.responseHeader;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setResponseHeader(byte[])
+	 */
+	public void setResponseHeader(byte[] responseHeader) 
+	{
+		this.responseHeader = responseHeader;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getRequestContent()
+	 */
+	public byte[] getRequestContent() 
+	{
+		return this.requestContent;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setResponseContent(byte[])
+	 */
+	public void setResponseContent(byte[] responseContent) 
+	{
+		this.responseContent = responseContent;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getResponseContent()
+	 */
+	public byte[] getResponseContent() 
+	{
+		return this.responseContent;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setRequestContent(byte[])
+	 */
+	public void setRequestContent(byte[] requestContent) 
+	{
+		this.requestContent = requestContent;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getDate()
+	 */
+	public Date getDate() 
+	{
+		return this.date;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setDate(java.util.Date)
+	 */
+	public void setDate(Date date) 
+	{
+		this.date = date;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getLocalPort()
+	 */
+	public int getLocalPort() 
+	{
+		return this.localPort;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setLocalPort(int)
+	 */
+	public void setLocalPort(int localPort) 
+	{
+		this.localPort = localPort;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getRemotePort()
+	 */
+	public int getRemotePort() 
+	{
+		return this.remotePort;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setRemotePort(int)
+	 */
+	public void setRemotePort(int remotePort) 
+	{
+		this.remotePort = remotePort;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getRemoteHost()
+	 */
+	public String getRemoteHost() 
+	{
+		return this.remoteHost;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setRemoteHost(java.lang.String)
+	 */
+	public void setRemoteHost(String remoteHost) 
+	{
+		this.remoteHost = remoteHost;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#getResponseTime()
+	 */
+	public long getResponseTime() 
+	{
+		return this.responseTime;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsi.internal.core.log.RequestHandler#setResponseTime(long)
+	 */
+	public void setResponseTime(long responseTime) 
+	{
+		this.responseTime = responseTime;
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/actionDelegates/ValidateWSIProfileActionDelegate.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/actionDelegates/ValidateWSIProfileActionDelegate.java
index 237fe49..31bae5b 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/actionDelegates/ValidateWSIProfileActionDelegate.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/actions/actionDelegates/ValidateWSIProfileActionDelegate.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.wsi.ui.internal.actions.actionDelegates;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Vector;
 
@@ -25,8 +26,9 @@
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
 import org.eclipse.wst.internet.monitor.ui.internal.provisional.MonitorUICore;
-import org.eclipse.wst.wsi.ui.internal.LogBuilder;
-import org.eclipse.wst.wsi.ui.internal.WSIUIPlugin;
+import org.eclipse.wst.wsi.internal.core.log.LogBuilder;
+import org.eclipse.wst.wsi.internal.core.log.RequestHandler;
+import org.eclipse.wst.wsi.ui.internal.Messages;
 import org.eclipse.wst.wsi.ui.internal.wizards.ValidationWizard;
 import org.eclipse.wst.wsi.ui.internal.WSIValidator;
 import org.eclipse.swt.widgets.Display;
@@ -157,7 +159,7 @@
 
           IFile file = validateWizard.getFile();
           LogBuilder builder = new LogBuilder(file);
-          Log log = builder.buildLog(requestResponses);
+          Log log = builder.buildLog(getRequestHandlers(requestResponses));
 
           builder.writeLog(log);
           file.refreshLocal(1, progressMonitor);
@@ -181,8 +183,8 @@
       else
       {
         // no available messages to validate
-    	  String title = WSIUIPlugin.getResourceString("_UI_WSI_VALIDATOR");
-          String message = WSIUIPlugin.getResourceString("_UI_NO_MESSAGES_TO_VALIDATE");
+    	  String title = Messages.ACTION_WSI_VALIDATOR;
+          String message = Messages.INFO_NO_MESSAGES_TO_VALIDATE;
     	MessageDialog.openInformation(shell, title, message);
       }
     }
@@ -192,6 +194,19 @@
     }
   }
 
+  private List getRequestHandlers(Request[] requestResponses) 
+  {
+	List requestHandlers = new ArrayList();
+	int size = requestResponses.length;
+	for (int i = 0; i<size; i++)
+	{
+	  Request request = requestResponses[i];
+	  RequestHandler handler = new RequestHandlerImpl(request);
+	  requestHandlers.add(handler);
+	}
+	return requestHandlers;
+  }
+
   /**
    * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
    */
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizard.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizard.java
index be3f395..0b38b9a 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizard.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizard.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.wsi.ui.internal.wizards;
 
-import javax.wsdl.Definition;
 import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLReader;
 
@@ -22,6 +21,7 @@
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.wst.wsi.ui.internal.Messages;
 import org.eclipse.wst.wsi.ui.internal.Resource;
 import org.eclipse.wst.wsi.ui.internal.WSIUIPlugin;
 import org.eclipse.ui.IViewReference;
@@ -119,7 +119,7 @@
   public ValidationWizard(String filename)
   {
     this.filename = filename;
-    this.setWindowTitle(WSIUIPlugin.getResourceString("_UI_WIZARD_VALIDATE_LOG_TITLE"));
+    this.setWindowTitle(Messages.VALIDATION_WIZARD_TITLE);
     setDefaultPageImageDescriptor(
       ImageDescriptor.createFromFile(WSIUIPlugin.class, Resource.VALIDATE_WSI_LOGFILE_WIZ));
     setNeedsProgressMonitor(true);
@@ -217,7 +217,7 @@
         {
           WSDLFactory factory = WSDLFactory.newInstance();
           WSDLReader reader = factory.newWSDLReader();
-          Definition defElem = reader.readWSDL(getWSDLFile());
+          reader.readWSDL(getWSDLFile());
         }
         catch (Exception e)
         {
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardLogPage.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardLogPage.java
index e92c4f3..8f88caa 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardLogPage.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardLogPage.java
@@ -18,7 +18,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
 
-import org.eclipse.wst.wsi.ui.internal.WSIUIPlugin;
+import org.eclipse.wst.wsi.ui.internal.Messages;
 
 /**
  * Wizard page that allows the user to specify the location of the 
@@ -49,8 +49,8 @@
   {
     super("ValidationWizardLogPage", selection);
     this.filename = filename;
-    this.setTitle(WSIUIPlugin.getResourceString("_UI_WIZARD_V_SELECT_LOG_FILENAME_HEADING"));
-    this.setDescription(WSIUIPlugin.getResourceString("_UI_WIZARD_V_SELECT_LOG_FILENAME_EXPL"));
+    this.setTitle(Messages.LOG_PAGE_SELECT_LOG_FILENAME_HEADING);
+    this.setDescription(Messages.LOG_PAGE_SELECT_LOG_FILENAME_EXPL);
   }
 
 
@@ -99,7 +99,7 @@
     {
       if (fileExtension.compareTo(WSI_LOG_EXTENSION) != 0)
       {        
-        setErrorMessage(WSIUIPlugin.getResourceString("_ERROR_INVALID_LOG_FILE_EXTENSION"));
+        setErrorMessage(Messages.ERROR_INVALID_LOG_FILE_EXTENSION);
         return false;
       }
     }
@@ -121,7 +121,7 @@
       
       setErrorMessage(null);
       if (resource != null)
-        setMessage(WSIUIPlugin.getResourceString("_WARNING_FILE_ALREADY_EXISTS"));
+        setMessage(Messages.WARNING_FILE_ALREADY_EXISTS);
       else
         setMessage(null);
 
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLContentPage.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLContentPage.java
index 9f57a42..6ca0571 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLContentPage.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLContentPage.java
@@ -30,7 +30,7 @@
 
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.wst.wsi.ui.internal.WSIUIPlugin;
+import org.eclipse.wst.wsi.ui.internal.Messages;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -92,8 +92,8 @@
   {
     super("ValidationWizardWSDLContentPage");
     this.selection = selection;
-    this.setTitle(WSIUIPlugin.getResourceString("_UI_WIZARD_V_SELECT_WSDL_ELEMENT_HEADING"));
-    this.setDescription(WSIUIPlugin.getResourceString("_UI_WIZARD_V_SELECT_WSDL_ELEMENT_EXPL"));
+    this.setTitle(Messages.WSDL_CONTENT_PAGE_SELECT_HEADING);
+    this.setDescription(Messages.WSDL_CONTENT_PAGE_SELECT_EXPL);
   }
 
   /**
@@ -128,7 +128,7 @@
 
     // create a group
     Group wsdlElementGroup = new Group(base, SWT.SHADOW_ETCHED_IN);
-    wsdlElementGroup.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_GROUP_TEXT_ELEMENT"));
+    wsdlElementGroup.setText(Messages.WSDL_CONTENT_PAGE_GROUP_TEXT_ELEMENT);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     data.grabExcessHorizontalSpace = true;
@@ -167,7 +167,7 @@
   {
     // create a group
     Group wsdlTypeGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
-    wsdlTypeGroup.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_GROUP_TEXT_TYPE"));
+    wsdlTypeGroup.setText(Messages.WSDL_CONTENT_PAGE_GROUP_TEXT_TYPE);
     GridData data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     data.grabExcessHorizontalSpace = false;
@@ -177,32 +177,32 @@
     wsdlTypeGroup.setLayout(layout);
 
     wsdlPortButton = new Button(wsdlTypeGroup, SWT.RADIO);
-    wsdlPortButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_RADIO_PORT"));
+    wsdlPortButton.setText(Messages.WSDL_CONTENT_PAGE_RADIO_PORT);
     wsdlPortButton.setData("wsdlPortButton");
     wsdlPortButton.setSelection(true);
     wsdlPortButton.addSelectionListener(new PortButtonSelectionListener());
 
     wsdlBindingButton = new Button(wsdlTypeGroup, SWT.RADIO);
     wsdlBindingButton.setData("wsdlBindingButton");
-    wsdlBindingButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_RADIO_BINDING"));
+    wsdlBindingButton.setText(Messages.WSDL_CONTENT_PAGE_RADIO_BINDING);
     wsdlBindingButton.setSelection(false);
     wsdlBindingButton.addSelectionListener(new BindingButtonSelectionListener());
 
     wsdlPortTypeButton = new Button(wsdlTypeGroup, SWT.RADIO);
     wsdlPortTypeButton.setData("wsdlPortTypeButton");
-    wsdlPortTypeButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_RADIO_PORT_TYPE"));
+    wsdlPortTypeButton.setText(Messages.WSDL_CONTENT_PAGE_RADIO_PORT_TYPE);
     wsdlPortTypeButton.setSelection(false);
     wsdlPortTypeButton.addSelectionListener(new PortTypeButtonSelectionListener());
 
     wsdlOperationButton = new Button(wsdlTypeGroup, SWT.RADIO);
     wsdlOperationButton.setData("wsdlOperationButton");
-    wsdlOperationButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_RADIO_OPERATION"));
+    wsdlOperationButton.setText(Messages.WSDL_CONTENT_PAGE_RADIO_OPERATION);
     wsdlOperationButton.setSelection(false);
     wsdlOperationButton.addSelectionListener(new OperationButtonSelectionListener());
 
     wsdlMessageButton = new Button(wsdlTypeGroup, SWT.RADIO);
     wsdlMessageButton.setData("wsdlMessageButton");
-    wsdlMessageButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_RADIO_MESSAGE"));
+    wsdlMessageButton.setText(Messages.WSDL_CONTENT_PAGE_RADIO_MESSAGE);
     wsdlMessageButton.setSelection(false);
     wsdlMessageButton.addSelectionListener(new MessageButtonSelectionListener());
   }
@@ -228,7 +228,7 @@
 
     // The WSDL element name label
     Label label = new Label(fieldColumn, SWT.LEFT);
-    label.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_LABEL_NAME"));
+    label.setText(Messages.WSDL_CONTENT_PAGE_LABEL_NAME);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     label.setLayoutData(data);
@@ -250,7 +250,7 @@
 
     // The WSDL element namespace label
     label = new Label(fieldColumn, SWT.LEFT);
-    label.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_LABEL_NAMESPACE"));
+    label.setText(Messages.WSDL_CONTENT_PAGE_LABEL_NAMESPACE);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     label.setLayoutData(data);
@@ -267,7 +267,7 @@
 
     // The WSDL element parent label
     label = new Label(fieldColumn, SWT.LEFT);
-    label.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_LABEL_PARENT"));
+    label.setText(Messages.WSDL_CONTENT_PAGE_LABEL_PARENT);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     label.setLayoutData(data);
diff --git a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLPage.java b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLPage.java
index 0618ad2..2059318 100644
--- a/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLPage.java
+++ b/bundles/org.eclipse.wst.wsi.ui/src/org/eclipse/wst/wsi/ui/internal/wizards/ValidationWizardWSDLPage.java
@@ -15,6 +15,7 @@
 import org.eclipse.jface.window.Window;
 import org.eclipse.jface.wizard.WizardPage;
 import org.eclipse.wst.common.ui.internal.dialogs.SelectSingleFileDialog;
+import org.eclipse.wst.wsi.ui.internal.Messages;
 import org.eclipse.wst.wsi.ui.internal.Resource;
 import org.eclipse.wst.wsi.ui.internal.WSIUIPlugin;
 import org.eclipse.swt.SWT;
@@ -67,8 +68,8 @@
   {
     super("ValidationWizardWSDLPage");
     this.selection = selection;
-    this.setTitle(WSIUIPlugin.getResourceString("_UI_WIZARD_V_SELECT_WSDL_FILENAME_HEADING"));
-    this.setDescription(WSIUIPlugin.getResourceString("_UI_WIZARD_V_SELECT_WSDL_FILENAME_EXPL"));
+    this.setTitle(Messages.WSDL_PAGE_SELECT_WSDL_FILENAME_HEADING);
+    this.setDescription(Messages.WSDL_PAGE_SELECT_WSDL_FILENAME_EXPL);
   }
 
   /**
@@ -102,7 +103,7 @@
 
     // add includeWSDL flag
     includeWSDLButton = new Button(base, SWT.CHECK);
-    includeWSDLButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_INCLUDE_WSDL_BUTTON"));
+    includeWSDLButton.setText(Messages.WSDL_PAGE_INCLUDE_WSDL_BUTTON);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     includeWSDLButton.setLayoutData(data);
@@ -150,7 +151,7 @@
     group1.setLayoutData(data);
 
     Label documentLabel = new Label(group1, SWT.LEFT);
-    documentLabel.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_INCLUDE_WSDL_LABEL"));
+    documentLabel.setText(Messages.WSDL_PAGE_INCLUDE_WSDL_LABEL);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     documentLabel.setLayoutData(data);
@@ -179,7 +180,7 @@
     fileField.addModifyListener(new FileFieldListener());
 
     Label wsdlLabel = new Label(group1, SWT.LEFT);
-    wsdlLabel.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_VALID_WSDL_LABEL"));
+    wsdlLabel.setText(Messages.WSDL_PAGE_VALID_WSDL_LABEL);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     documentLabel.setLayoutData(data);
@@ -202,21 +203,21 @@
     group.setLayoutData(data);
 
     Button workspaceButton = new Button(group, SWT.PUSH);
-    workspaceButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_WORKBENCH_BUTTON"));
+    workspaceButton.setText(Messages.WSDL_PAGE_WORKBENCH_BUTTON);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     workspaceButton.setLayoutData(data);
     workspaceButton.addSelectionListener(new WorkspaceButtonListener());
 
     Button browseButton = new Button(group, SWT.PUSH);
-    browseButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_BROWSE_BUTTON"));
+    browseButton.setText(Messages.WSDL_PAGE_BROWSE_BUTTON);
     data = new GridData();
     data.horizontalAlignment = GridData.FILL;
     browseButton.setLayoutData(data);
     browseButton.addSelectionListener(new BrowseButtonListener());
 
     // Button searchUDDIButton = new Button(group, SWT.PUSH);
-    // searchUDDIButton.setText(WSIUIPlugin.getResourceString("_UI_WIZARD_V_SEARCH_UDDI_BUTTON"));
+    // searchUDDIButton.setText(Messages.("_UI_WIZARD_V_SEARCH_UDDI_BUTTON"));
     // data = new GridData();
     // data.horizontalAlignment = GridData.FILL;
     // searchUDDIButton.setLayoutData(data);
@@ -293,9 +294,9 @@
       SelectSingleFileDialog dialog = new SelectSingleFileDialog(getShell(), selection, false);
       dialog.addFilterExtensions(new String[] { ".wsdl" });
       dialog.create();
-      dialog.getShell().setText(WSIUIPlugin.getResourceString("_UI_DIALOG_SS_FILE_SHELL_TEXT"));
-      dialog.setTitle(WSIUIPlugin.getResourceString("_UI_DIALOG_SS_FILE_TITLE"));
-      dialog.setMessage(WSIUIPlugin.getResourceString("_UI_DIALOG_SS_FILE_DESCRIPTION"));
+      dialog.getShell().setText(Messages.WSDL_PAGE_FILE_SHELL_TEXT);
+      dialog.setTitle(Messages.WSDL_PAGE_FILE_TITLE);
+      dialog.setMessage(Messages.WSDL_PAGE_FILE_DESCRIPTION);
       dialog.setTitleImage(WSIUIPlugin.getResourceImage(Resource.VALIDATE_WSI_LOGFILE_WIZ));
       
       int result = dialog.open();
diff --git a/bundles/org.eclipse.wst.wsi/.classpath b/bundles/org.eclipse.wst.wsi/.classpath
index 7d64eda..cb01053 100644
--- a/bundles/org.eclipse.wst.wsi/.classpath
+++ b/bundles/org.eclipse.wst.wsi/.classpath
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="wsicore"/>
-	<classpathentry kind="src" path="wsivalidate"/>
+	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.wst.wsi/.cvsignore b/bundles/org.eclipse.wst.wsi/.cvsignore
index d3c32c5..ab6b234 100644
--- a/bundles/org.eclipse.wst.wsi/.cvsignore
+++ b/bundles/org.eclipse.wst.wsi/.cvsignore
@@ -1,5 +1,6 @@
 bin
 temp.folder
 build.xml
-wsicore.jar
-wsivalidate.jar
+wsi.jar
+@dot
+src.zip
diff --git a/bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF
index 71d84e6..b3d69e2 100644
--- a/bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsi/META-INF/MANIFEST.MF
@@ -2,61 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsi; singleton:=true
-Bundle-Version: 0.7.0
-Bundle-ClassPath: wsicore.jar,
- wsivalidate.jar
-Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
+Bundle-Version: 1.0.0
+Bundle-Activator: org.eclipse.wst.wsi.internal.WSITestToolsPlugin
 Bundle-Vendor: %_PROVIDER_NAME
 Bundle-Localization: plugin
-Export-Package: .,
- org.eclipse.wst.wsi.internal,
+Export-Package: org.eclipse.wst.wsi.internal,
  org.eclipse.wst.wsi.internal.analyzer,
  org.eclipse.wst.wsi.internal.core,
- org.eclipse.wst.wsi.internal.core.analyzer,
- org.eclipse.wst.wsi.internal.core.analyzer.config,
- org.eclipse.wst.wsi.internal.core.analyzer.config.impl,
- org.eclipse.wst.wsi.internal.core.common,
- org.eclipse.wst.wsi.internal.core.common.impl,
- org.eclipse.wst.wsi.internal.core.document,
- org.eclipse.wst.wsi.internal.core.document.impl,
  org.eclipse.wst.wsi.internal.core.log,
- org.eclipse.wst.wsi.internal.core.log.impl,
- org.eclipse.wst.wsi.internal.core.monitor,
- org.eclipse.wst.wsi.internal.core.monitor.config,
- org.eclipse.wst.wsi.internal.core.monitor.config.impl,
- org.eclipse.wst.wsi.internal.core.profile,
- org.eclipse.wst.wsi.internal.core.profile.impl,
- org.eclipse.wst.wsi.internal.core.profile.validator,
- org.eclipse.wst.wsi.internal.core.profile.validator.impl,
- org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope,
- org.eclipse.wst.wsi.internal.core.profile.validator.impl.message,
- org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi,
- org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl,
- org.eclipse.wst.wsi.internal.core.report,
- org.eclipse.wst.wsi.internal.core.report.impl,
- org.eclipse.wst.wsi.internal.core.util,
  org.eclipse.wst.wsi.internal.core.wsdl,
- org.eclipse.wst.wsi.internal.core.wsdl.traversal,
- org.eclipse.wst.wsi.internal.core.wsdl.xsd,
  org.eclipse.wst.wsi.internal.core.xml,
- org.eclipse.wst.wsi.internal.core.xml.dom,
- org.eclipse.wst.wsi.internal.core.xml.jaxp,
- org.eclipse.wst.wsi.internal.core.xml.schema,
- org.eclipse.wst.wsi.internal.document,
- org.eclipse.wst.wsi.internal.report,
- org.eclipse.wst.wsi.internal.validate.wsdl
-Require-Bundle: org.eclipse.core.runtime.compatibility,
- org.eclipse.wst.command.env,
- org.eclipse.wst.command.env.ui,
+ org.eclipse.wst.wsi.internal.report
+Require-Bundle:  org.eclipse.wst.command.env,
  org.eclipse.wst.command.env.core,
  org.eclipse.wst.common.uriresolver,
  org.eclipse.core.resources,
  org.eclipse.wst.wsdl.validation,
- org.eclipse.wst.ws.ui,
- org.eclipse.ui,
+ org.eclipse.wst.ws,
  org.wsdl4j,
  org.uddi4j,
  org.eclipse.core.runtime;bundle-version="2.1.0",
  org.apache.axis
 Eclipse-AutoStart: true
-Plugin-Class: org.eclipse.wst.wsi.internal.WSITestToolsPlugin
diff --git a/bundles/org.eclipse.wst.wsi/build.properties b/bundles/org.eclipse.wst.wsi/build.properties
index 8085ad3..87f191f 100644
--- a/bundles/org.eclipse.wst.wsi/build.properties
+++ b/bundles/org.eclipse.wst.wsi/build.properties
@@ -1,14 +1,10 @@
-source.wsicore.jar = wsicore/
-bin.includes = wsicore.jar,\
-               wsivalidate.jar,\
-               plugin.xml,\
+bin.includes = .,\
                plugin.properties,\
+               plugin.xml,\
                META-INF/,\
                about.html
-jars.compile.order = wsicore.jar,\
-                     wsivalidate.jar
-source.wsivalidate.jar = wsivalidate/
-output.wsicore.jar = bin/
-output.wsivalidate.jar = bin/
+source.. = src/
+jars.compile.order = .
+output.. = bin/
 src.includes = component.xml,\
                build.properties
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSIPreferences.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSIPreferences.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSIPreferences.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSIPreferences.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java
new file mode 100644
index 0000000..b5e509c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
+
+/**
+ * WS-I test tool properties specific for Eclipse.
+ */
+public class WSITestToolsEclipseProperties extends WSITestToolsProperties
+{
+ /**
+  * @see org.eclipse.wst.wsi.internal.WSITestToolsProperties#checkWSIPreferences(java.lang.String)
+  */
+  public static WSIPreferences checkWSIPreferences(String fileuri)
+  {
+    WSIPreferences preferences = new WSIPreferences();
+    
+    // Remove file: and any slashes from the fileuri. 
+    // Eclipse's resolution mechanism needs to start with the drive.
+    String uriStr = trimURI(fileuri);
+
+    PersistentWSIContext APcontext = WSPlugin.getInstance().getWSIAPContext();
+    PersistentWSIContext SSBPcontext = WSPlugin.getInstance().getWSISSBPContext();
+    
+    IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(uriStr));
+    if (files != null && files.length == 1)
+    {
+      //check project level conpliance
+      IProject project = files[0].getProject();
+      
+      if (APcontext.projectStopNonWSICompliances(project))
+      {
+        preferences.setTADFile(AP_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
+      } 
+      else if (APcontext.projectWarnNonWSICompliances(project))
+      {
+        preferences.setTADFile(AP_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
+      }
+      else if (SSBPcontext.projectStopNonWSICompliances(project))
+      {
+        preferences.setTADFile(SSBP_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
+      }
+      else if (SSBPcontext.projectWarnNonWSICompliances(project))
+      {
+        preferences.setTADFile(SSBP_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
+      }
+      else
+      {
+        preferences.setTADFile(DEFAULT_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.IGNORE_NON_WSI);
+      }
+    }
+    else
+    {
+      // If we can't obtain the project preference use the global preference.
+      String APlevel = APcontext.getPersistentWSICompliance();
+      String SSBPlevel = SSBPcontext.getPersistentWSICompliance();
+      if(APlevel.equals(PersistentWSIContext.STOP_NON_WSI))
+      {
+        preferences.setTADFile(AP_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
+      }
+      else if(APlevel.equals(PersistentWSIContext.WARN_NON_WSI))
+      {
+        preferences.setTADFile(AP_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
+     }
+     if(SSBPlevel.equals(PersistentWSIContext.STOP_NON_WSI))
+     {
+       preferences.setTADFile(SSBP_ASSERTION_FILE);
+       preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
+     }
+     else if(SSBPlevel.equals(PersistentWSIContext.WARN_NON_WSI))
+     {
+      preferences.setTADFile(SSBP_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
+     }
+     else
+     {
+        preferences.setTADFile(DEFAULT_ASSERTION_FILE);
+        preferences.setComplianceLevel(PersistentWSIContext.IGNORE_NON_WSI);
+      }
+    }
+    return preferences;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java
new file mode 100644
index 0000000..205df17
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The WS-I test tools plugin.
+ * 
+ * @author lauzond
+ */
+
+public class WSITestToolsPlugin extends Plugin
+{
+  private static Plugin instance;
+  protected final String PLUGIN_PROPERTIES = "wsivalidate";
+  //protected ResourceBundle resourcebundle = null;
+  
+  /**
+   * Constructor for wsiTestToolsPlugin.
+   * @param descriptor an IPluginDescriptor object.
+   */
+  public WSITestToolsPlugin()
+  {
+    super();
+    instance = this;
+
+    // set the current directory
+   WSITestToolsProperties.setEclipseContext(true);
+   //resourcebundle = ResourceBundle.getBundle(PLUGIN_PROPERTIES);
+  }
+
+  /**
+   * Method getInstance.
+   * @return AbstractUIPlugin
+   */
+  public static Plugin getInstance()
+  {
+    return instance;
+  }
+
+   /**
+   * Method getPlugin.
+   * @return WSIToolsUtilPlugin
+   */
+  public static WSITestToolsPlugin getPlugin()
+  {
+    return (WSITestToolsPlugin) instance;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java
new file mode 100644
index 0000000..f18cf04
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal;
+
+/**
+ * WS-I test tools property.
+ */
+public class WSITestToolsProperties
+{
+  protected static String installURL = "";
+  protected static String tadfile = "";
+
+  public final static String schemaDir = "common/schemas/";
+  public final static String SSBP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2005/01/SSBP10_BP11_TAD_1-0.xml";
+  public final static String AP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2004/12/AP10_BP11_SSBP10_TAD.xml";
+  public final static String DEFAULT_ASSERTION_FILE = AP_ASSERTION_FILE;
+  
+  public static final String STOP_NON_WSI = "0";
+  public static final String WARN_NON_WSI = "1";
+  public static final String IGNORE_NON_WSI = "2";
+  
+  protected static boolean eclipseContext = false;
+
+  /**
+   *  Constructor.
+   */
+  protected WSITestToolsProperties()
+  {
+    super();
+  }
+  
+  public static void setEclipseContext(boolean eclipseActive)
+  {
+    eclipseContext = eclipseActive;
+  }
+  
+  public static boolean getEclipseContext()
+  {
+    return eclipseContext;
+  }
+  
+  /**
+   * Checks the WS-I preferences for the given file and return them in a
+   * WSIPreferences object.
+   * 
+   * @param fileuri The file URI to check the WS-I preferences for.
+   * @return A WSIPreferences object containing the preference for this file URI.
+   */
+  public static WSIPreferences checkWSIPreferences(String fileuri)
+  {
+  	return new WSIPreferences();
+  }
+  
+  /**
+   * Remove file: and any slashes from the fileuri. 
+   * Eclipse's resolution mechanism needs to start with the drive.
+   */
+  protected static String trimURI(String fileuri)
+  {
+  	String uriStr = fileuri;
+  	
+    if(fileuri.startsWith("file:"))
+    {
+      uriStr = fileuri.substring(5);
+    }
+    while(uriStr.startsWith("/") || uriStr.startsWith("\\"))
+    {
+      uriStr = uriStr.substring(1);
+    }
+    return uriStr;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java
new file mode 100644
index 0000000..4c15681
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java
@@ -0,0 +1,314 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.analyzer;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
+import org.eclipse.wst.wsi.internal.WSIPreferences;
+import org.eclipse.wst.wsi.internal.WSITestToolsEclipseProperties;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AssertionResultsOptionImpl;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLReferenceImpl;
+import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
+import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
+import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.report.Entry;
+import org.eclipse.wst.wsi.internal.core.report.impl.FailureDetailImpl;
+import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
+import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
+import org.eclipse.wst.wsi.internal.report.AssertionError;
+
+/**
+ * MessageAnalyzer
+ * 
+ * A class that allows simple access to the WS-I Test Tools in order to analyze
+ * messages in a log file.
+ */
+
+public class MessageAnalyzer
+{
+  public final static String PLUGIN_ID = "org.wsi.test.tools";
+  
+  public final static String TYPE_PORT = "port";
+  public final static String TYPE_BINDING = "binding";
+  public final static String TYPE_PORTTYPE = "porttype";
+  public final static String TYPE_OPERATION = "operation";
+  public final static String TYPE_MESSAGE = "message";
+
+  // Test result Strings
+  protected final String NOTPASSED = "notPassed";
+  protected final String WARNING = "warning";
+  protected final String FAILED = "failed";
+  
+  protected String filename;
+  protected String wsdlfile = null;
+  protected String elementname = null;
+  protected String namespace = null;
+  protected String parentname = null;
+  protected boolean wsdlspecified = false;
+  protected String type  = null;
+  protected List assertionwarnings;
+  protected List assertionerrors;
+  protected WSIPreferences wsiPreferences = null;
+  
+  /**
+   * Constructor for MessageAnalyzer.
+   * @param filename log file name.
+   */
+  public MessageAnalyzer(String filename)
+  {
+    this.filename = filename.replace('\\', '/');
+
+    assertionwarnings = new Vector();
+    assertionerrors = new Vector();
+  	this.wsiPreferences = WSITestToolsEclipseProperties.checkWSIPreferences(filename);
+  }
+  
+  /**
+   * Constructor for MessageAnalyzer.
+   * @param filename log file name.
+   */
+  public MessageAnalyzer(String filename, WSIPreferences wsiPreferences)
+  {
+    this.filename = filename.replace('\\', '/');
+
+    assertionwarnings = new Vector();
+    assertionerrors = new Vector();
+  	this.wsiPreferences = wsiPreferences;
+  }
+
+  public MessageAnalyzer(String filename, String wsdlfile, String elementname, String namespace, String parentname, String type)
+  {
+  	this(filename.replace('\\', '/'));
+  	wsdlspecified = true;
+  	
+  	this.wsdlfile = wsdlfile.replace('\\', '/');
+  	this.elementname = elementname;
+  	this.namespace = namespace;
+  	this.parentname = parentname;
+  	this.type = type;
+  }
+
+  public MessageAnalyzer(String filename, String wsdlfile, String elementname, String namespace, String parentname, String type, WSIPreferences wsiPreferences)
+  {
+  	this(filename, wsiPreferences);
+  	wsdlspecified = true;
+  	
+  	this.wsdlfile = wsdlfile.replace('\\', '/');
+  	this.elementname = elementname;
+  	this.namespace = namespace;
+  	this.parentname = parentname;
+  	this.type = type;
+  }
+
+  /**
+   * Method validateConformance.
+   * 
+   * Checks the conformance of the given logfile against the WS-I Basic Profile.
+   * If there are conformance problems they can be obtained from getAssertionErrors.
+   * 
+   * @throws WSIAnalyzerException
+   */
+  public void validateConformance() throws WSIAnalyzerException
+  {
+    try
+    {
+	  if (wsiPreferences.getComplianceLevel() != WSITestToolsEclipseProperties.IGNORE_NON_WSI)
+	  {
+        DocumentFactory documentFactory = DocumentFactory.newInstance();
+        // Initialize the BasicProfileAnalyzer using an analyzerconfig object
+        AnalyzerConfig analyzerconfig = documentFactory.newAnalyzerConfig();
+        if(wsdlspecified)
+        {
+      	  WSDLReference wsdlref = new WSDLReferenceImpl();
+      	  wsdlref.setWSDLLocation(wsdlfile);
+      	
+      	  WSDLElement wsdlelem = new WSDLElementImpl();
+      	  wsdlelem.setName(elementname);
+      	  wsdlelem.setNamespace(namespace);
+      	  wsdlelem.setParentElementName(parentname);
+      	  wsdlelem.setType(type);
+      	
+      	  wsdlref.setWSDLElement(wsdlelem);
+      	
+      	  analyzerconfig.setWSDLReference(wsdlref);
+        }
+
+        AssertionResultsOption aro = new AssertionResultsOptionImpl();
+        aro.setAssertionResultType(AssertionResultType.newInstance(NOTPASSED));
+        aro.setShowAssertionDescription(false);
+        aro.setShowFailureDetail(false);
+        aro.setShowFailureMessage(false);
+        aro.setShowMessageEntry(false);
+
+        // although we don't use a stylesheet for our application it is required or the 
+        // WS-I tools will fail
+        AddStyleSheet addstylesheet = new AddStyleSheetImpl();
+
+        analyzerconfig.setAssertionResultsOption(aro);
+        analyzerconfig.setAddStyleSheet(addstylesheet);
+      
+        analyzerconfig.setCorrelationType("endpoint");
+  	    try
+		{
+		  analyzerconfig.setLogLocation(URIEncoder.encode(filename, "UTF8"));
+		  analyzerconfig.setTestAssertionsDocumentLocation(
+			   URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
+		}
+		catch (UnsupportedEncodingException uee)
+		{
+		  analyzerconfig.setLogLocation(URIEncoder.encode(filename, "UTF8"));
+	      analyzerconfig.setTestAssertionsDocumentLocation(URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
+		}
+        //analyzerconfig.setLogLocation(filename);
+        //analyzerconfig.setTestAssertionsDocumentLocation(getBasicProfileTestAssertionsFile());
+        analyzerconfig.setVerboseOption(false);
+      
+
+        List analyzerConfigs = new Vector();
+        analyzerConfigs.add(analyzerconfig);
+        // here's where the validation actually starts happening
+        WSIBasicProfileAnalyzer bpanalyzer = new WSIBasicProfileAnalyzer(analyzerConfigs);
+
+        bpanalyzer.validateAll();
+        ReportImpl report = (ReportImpl) bpanalyzer.getReport();
+
+        List entries = report.getEntries();
+
+        // if there are report entries we iterate through them and add all
+        // error and warning messages to the error list.
+        if (entries != null)
+        {
+          Iterator ientry = entries.iterator();
+          while (ientry.hasNext())
+          {
+            Entry entry = (Entry) ientry.next();
+            Map assertionResults = entry.getAssertionResultList();
+
+            if (assertionResults != null)
+            {
+              Iterator iassertionResults = assertionResults.values().iterator();
+
+              while (iassertionResults.hasNext())
+              {
+                AssertionResult ar = (AssertionResult) iassertionResults.next();
+
+                if (ar.getResult().equalsIgnoreCase(FAILED) && 
+                	wsiPreferences.getComplianceLevel().equals(WSITestToolsEclipseProperties.STOP_NON_WSI))
+                {
+                  TestAssertion ta = ar.getAssertion();
+                  if (ta.isEnabled())
+                  {
+                    Iterator errorMessages = ar.getFailureDetailList().iterator();
+                    while (errorMessages.hasNext())
+                    {
+                      FailureDetailImpl fdi = (FailureDetailImpl)errorMessages.next();
+                      int lineNumber = 0;
+                      int columnNumber = 0;
+                    
+                      ElementLocation el = fdi.getElementLocation();
+
+                      if (el != null)
+                      {
+                        lineNumber = el.getLineNumber();
+                        columnNumber = el.getColumnNumber();
+                      }
+
+                      //TODO: get assertion locations in the log file
+                      assertionerrors.add(
+                        new AssertionError(
+                        ta.getId(),
+                        "Message ID " + entry.getReferenceID() + ":" + ta.getFailureMessage(),
+                        lineNumber,
+                        columnNumber));
+                    }
+                  }
+                }
+                else if (ar.getResult().equalsIgnoreCase(FAILED) && 
+                         wsiPreferences.getComplianceLevel().equals(WSITestToolsEclipseProperties.WARN_NON_WSI))
+                {
+                  TestAssertion ta = ar.getAssertion();
+                  if (ta.isEnabled())
+                  {
+                    Iterator errorMessages = ar.getFailureDetailList().iterator();
+                    while (errorMessages.hasNext())
+                    {
+                      FailureDetailImpl fdi = (FailureDetailImpl)errorMessages.next();
+                      int lineNumber = 0;
+                      int columnNumber = 0;
+                    
+                      ElementLocation el = fdi.getElementLocation();
+
+                      if (el != null)
+                      {
+                        lineNumber = el.getLineNumber();
+                        columnNumber = el.getColumnNumber();
+                      }
+                      //TODO: get assertion locations in the log file
+                      assertionwarnings.add(
+                        new AssertionError(
+                        ta.getId(),
+                        "Message ID " + entry.getReferenceID() + ":" + ta.getFailureMessage(),
+                        lineNumber,
+                        columnNumber));
+                    }
+                  }
+                }
+              }
+            }
+          }
+        } 
+	  }
+    }
+    catch (WSIException e)
+    {
+      throw new WSIAnalyzerException("The MessageAnalyzer was unable to validate the given logfile.", e.getTargetException());
+    }
+    catch (Exception e)
+    {
+      throw new WSIAnalyzerException("The MessageAnalyzer was unable to validate the given logfile.");
+    }
+
+  }
+
+  /**
+   * Method getAssertionWarnings.
+   * Returns a list of any assertion warnings generated from validateConformance.
+   * @return List
+   */
+  public List getAssertionWarnings()
+  {
+    return assertionwarnings;
+  }
+
+  /**
+   * Method getAssertionFailures.
+   * Returns a list of any assertion errors generated from validateConformance.
+   * @return List
+   */
+  public List getAssertionErrors()
+  {
+    return assertionerrors;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java
new file mode 100644
index 0000000..aab7d55
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java
@@ -0,0 +1,393 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.analyzer;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
+import org.eclipse.wst.wsi.internal.WSIPreferences;
+import org.eclipse.wst.wsi.internal.WSITestToolsEclipseProperties;
+import org.eclipse.wst.wsi.internal.WSITestToolsProperties;
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AssertionResultsOptionImpl;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLReferenceImpl;
+import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
+import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
+import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.report.Entry;
+import org.eclipse.wst.wsi.internal.core.report.impl.FailureDetailImpl;
+import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
+import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
+import org.eclipse.wst.wsi.internal.report.AssertionError;
+
+/**
+ * WSDLAnalyzer
+ * The interface to the WS-I Test Tools for analyzing a WSDL file.  Allows a WSDL file to be analyzed
+ * at any of the following levels.
+ *  port
+ *  binding
+ *  portType
+ *  operation
+ *  message
+ */
+
+public class WSDLAnalyzer
+{
+  public final static String PLUGIN_ID = "org.wsi.test.tools";
+  
+  public static final String PORT = "port";
+  public static final String BINDING = "binding";
+  public static final String PORTTYPE = "portType";
+  public static final String OPERATION = "operation";
+  public static final String MESSAGE = "message";
+
+  protected final String NOTPASSED = "notPassed";
+  protected final String WARNING = "warning";
+  protected final String FAILED = "failed";
+  
+  protected List analyzerConfigs;
+  protected String wsdlURI;
+  // assertions to ignore - used for assertions that the tools have not implemented properly yet
+  //protected String[] ignoreAssertions = { /*"WSI2105" , "WSI2119"*/};
+  protected List assertionerrors;
+  protected List assertionwarnings;
+  protected WSIPreferences wsiPreferences = null;
+
+  /**
+   * Constructor.
+   * Given the file name, parent element name, the element to analyze and the type of element
+   * sets up the WSDLAnalyzer to analyze the file.
+   * @param fileName log file name.
+   * @param parentName parent element name.
+   * @param namespace  a namespace.
+   * @param elementName the element to analyze.
+   * @param elementType the type of the element.
+   * @param wsiPreferences the preferences.
+   * @throws WSIAnalyzerException if unable to add configuration information.
+   */
+  public WSDLAnalyzer(String fileName, String parentName, String namespace, String elementName, String elementType, WSIPreferences wsiPreferences) throws WSIAnalyzerException
+  {
+    this(fileName, wsiPreferences);
+    addConfigurationToTest(parentName, namespace, elementName, elementType);
+
+  }
+
+  /**
+   * Constructor.
+   * Given the file name, parent element name, the element to analyze and the type of element
+   * sets up the WSDLAnalyzer to analyze the file.
+   * @param fileName log file name.
+   * @param parentName parent element name.
+   * @param namespace  a namespace.
+   * @param elementName the element to analyze.
+   * @param elementType the type of the element.
+   * @throws WSIAnalyzerException if unable to add configuration information.
+   */
+  public WSDLAnalyzer(String fileName, String parentName, String namespace, String elementName, String elementType) throws WSIAnalyzerException
+  {
+    this(fileName);
+    addConfigurationToTest(parentName, namespace, elementName, elementType);
+
+  }
+
+  /**
+   * Constructor.
+   * @param fileName  log file name.
+   */
+  public WSDLAnalyzer(String fileName, WSIPreferences wsiPreferences)
+  {
+    reset(fileName);
+    this.wsiPreferences = wsiPreferences;
+  }
+
+  /**
+   * Constructor.
+   * @param fileName  log file name.
+   */
+  public WSDLAnalyzer(String fileName)
+  {
+    reset(fileName);
+    if(WSITestToolsProperties.getEclipseContext())
+    {
+      this.wsiPreferences = WSITestToolsEclipseProperties.checkWSIPreferences(fileName);
+    }
+    else
+    {
+  	  this.wsiPreferences = WSITestToolsProperties.checkWSIPreferences(fileName);
+    }
+  }
+
+  public WSIPreferences getWSIPreferences()
+  {
+	  return this.wsiPreferences;
+  }
+	  
+  /**
+   * validateConformance.
+   * Validate the WSDL file as setup in the constructor.
+   * @throws WSIAnalyzerException if unable to validate the given WSDL File.
+   */
+  public void validateConformance() throws WSIAnalyzerException
+  {
+    try
+    {
+	  if (wsiPreferences.getComplianceLevel() != WSITestToolsProperties.IGNORE_NON_WSI)
+	  {
+        // here's where the validation actually starts happening
+        WSIBasicProfileAnalyzer bpanalyzer = new WSIBasicProfileAnalyzer(analyzerConfigs,wsdlURI);
+        bpanalyzer.validateAll();
+        ReportImpl report = (ReportImpl) bpanalyzer.getReport();
+
+        List entries = report.getEntries();
+
+        // if there are report entries we iterate through them and add all
+        // error and warning messages to the error list. 
+        if (entries != null)
+        {
+          Iterator ientry = entries.iterator();
+          while (ientry.hasNext())
+          {
+            Entry entry = (Entry) ientry.next();
+            Map assertionResults = entry.getAssertionResultList();
+
+            if (assertionResults != null)
+            {
+              Iterator iassertionResults = assertionResults.values().iterator();
+
+              while (iassertionResults.hasNext())
+              {
+                AssertionResult ar = (AssertionResult) iassertionResults.next();
+                TestAssertion ta = ar.getAssertion();
+                // add in to skip errors for assertions that are reporting incorrect problems.
+                // This allows us to not report incorrect errors reported in the tools without disabling them
+                //              String assertionId = ta.getId();
+                //              boolean ignoreAssertion = false;
+                //              for(int i = ignoreAssertions.length-1; i >=0;i--)
+                //              {
+                //              	if(ignoreAssertions[i].equalsIgnoreCase(assertionId))
+                //              	{
+                //              		ignoreAssertion = true;
+                //              	}
+                //              }
+                //              if(ignoreAssertion)
+                //              {
+                //              	continue;
+                //              }
+                if (ar.getResult().equalsIgnoreCase(FAILED) && 
+                	wsiPreferences.getComplianceLevel().equals(WSITestToolsProperties.STOP_NON_WSI))
+                {
+                  if (ta.isEnabled())
+                  {
+                    List errorMessageList = ar.getFailureDetailList();
+                    if (errorMessageList != null)
+                    {
+                      Iterator errorMessages = errorMessageList.iterator();
+
+                      while (errorMessages.hasNext())
+                      {
+                        FailureDetailImpl fdi = (FailureDetailImpl) errorMessages.next();
+                        int lineNumber = 0;
+                        int columnNumber = 0;
+
+                        ElementLocation el = fdi.getElementLocation();
+
+                        if (el != null)
+                        {
+                          lineNumber = el.getLineNumber();
+                          columnNumber = el.getColumnNumber();
+                        }
+
+                        assertionerrors.add(
+                          new AssertionError(ta.getId(), ta.getFailureMessage(), lineNumber, columnNumber));
+                      }
+                    }
+                    // the errorMessageList is null but there is an error so assign it to line 0 for now
+                    else
+                    {
+                      assertionerrors.add(new AssertionError(ta.getId(), ta.getFailureMessage(), 0, 0));
+                    }
+                  }
+                }
+                else if (ar.getResult().equalsIgnoreCase(FAILED) && 
+                         wsiPreferences.getComplianceLevel().equals(WSITestToolsProperties.WARN_NON_WSI))
+                {
+                  if (ta.isEnabled())
+                  {
+                    List errorMessageList = ar.getFailureDetailList();
+                    if (errorMessageList != null)
+                    {
+                      Iterator errorMessages = errorMessageList.iterator();
+                      while (errorMessages.hasNext())
+                      {
+                        FailureDetailImpl fdi = (FailureDetailImpl) errorMessages.next();
+                        int lineNumber = 0;
+                        int columnNumber = 0;
+
+                        ElementLocation el = fdi.getElementLocation();
+
+                        if (el != null)
+                        {
+                          lineNumber = el.getLineNumber();
+                          columnNumber = el.getColumnNumber();
+                        }
+                        assertionwarnings.add(
+                          new AssertionError(ta.getId(), ta.getFailureMessage(), lineNumber, columnNumber));
+                      }
+                    }
+                    // the errorMessageList is null but there is an error so assign it to line 0 for now
+                    else
+                    {
+                      assertionwarnings.add(new AssertionError(ta.getId(), ta.getFailureMessage(), 0, 0));
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+	  }
+    }
+
+    catch (Exception e)
+    {
+      throw new WSIAnalyzerException(e + "The WSDLAnalyzer was unable to validate the given WSDL File.");
+    }
+
+  }
+
+  /**
+   * Add configuration information.
+   * @param parentName parent element name.
+   * @param namespace  a namespace.
+   * @param elementName the element to analyze.
+   * @param elementType the type of the element.
+   * @throws WSIAnalyzerException if unable to add configuration information.
+   */
+  public void addConfigurationToTest(
+    String parentName,
+    String namespace,
+    String elementName,
+    String elementType) throws WSIAnalyzerException
+  {
+  	try
+  	{
+      WSDLReference wsdlReference = new WSDLReferenceImpl();
+
+      WSDLElement wsdlElement = (WSDLElement) new WSDLElementImpl();
+      wsdlElement.setType(elementType);
+      if (parentName != null)
+      {
+        wsdlElement.setParentElementName(parentName);
+      }
+      wsdlElement.setNamespace(namespace);
+      wsdlElement.setName(elementName);
+      wsdlReference.setWSDLElement(wsdlElement);
+
+      wsdlReference.setWSDLLocation(wsdlURI);
+      DocumentFactory documentFactory = DocumentFactory.newInstance();
+      // Initialize the BasicProfileAnalyzer using an analyzerconfig object
+      AnalyzerConfig analyzerconfig = documentFactory.newAnalyzerConfig();
+
+      AssertionResultsOption aro = new AssertionResultsOptionImpl();
+      aro.setAssertionResultType(AssertionResultType.newInstance(NOTPASSED));
+      aro.setShowAssertionDescription(false);
+      aro.setShowFailureDetail(false);
+      aro.setShowFailureMessage(false);
+      aro.setShowMessageEntry(false);
+
+      // although we don't use a stylesheet for our application it is required or the 
+      // WS-I tools will fail
+      AddStyleSheet addstylesheet = new AddStyleSheetImpl();
+
+      analyzerconfig.setAssertionResultsOption(aro);
+      analyzerconfig.setAddStyleSheet(addstylesheet);
+      analyzerconfig.setReplaceReport(true);
+      //analyzerconfig.setLogLocation(filename);
+	  try
+	 {
+	   analyzerconfig.setTestAssertionsDocumentLocation(
+		 URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
+	 }
+	 catch (UnsupportedEncodingException uee)
+	 {
+	   analyzerconfig.setTestAssertionsDocumentLocation(URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
+
+	 }
+      analyzerconfig.setVerboseOption(false);
+
+      // set the wsdlReference
+      analyzerconfig.setWSDLReference(wsdlReference);
+      analyzerConfigs.add(analyzerconfig);
+    }
+    catch (Exception e)
+    {
+      throw new WSIAnalyzerException("Unable to add AnalyzerConfig to list. " + e);
+    }
+  }
+  /**
+   * Method getAssertionFailures.
+   * Return a list of the assertion failures.
+   * @return a list of the assertion failures.
+   */
+  public List getAssertionErrors()
+  {
+    return assertionerrors;
+  }
+
+  /**
+  	 * Method getAssertionWarnings.
+  	 * Returns a list of any assertion warnings generated from validateConformance.
+  	 * @return a list of any assertion warnings generated from validateConformance.
+  	 */
+  public List getAssertionWarnings()
+  {
+    return assertionwarnings;
+  }
+  
+  /**
+   * Reset.
+   * @param filename log file name.
+   */
+  public void reset(String filename)
+  {
+	if (filename != null)
+	{
+	  String tmp = filename.replace('\\', '/');
+	  if ((!tmp.startsWith(WSIConstants.HTTP_PREFIX)) &&
+          (!tmp.startsWith(WSIConstants.FILE_PREFIX)))
+	  {
+	    tmp = WSIConstants.FILE_PROTOCOL + tmp;
+	  }
+	  try
+	  {
+	    wsdlURI = URIEncoder.encode(tmp, "UTF8");
+	  }
+	  catch (UnsupportedEncodingException uee)
+	  {
+	  }
+	}
+  	analyzerConfigs = new Vector();
+  	assertionerrors = new Vector();
+  	assertionwarnings = new Vector();
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIAnalyzerException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/analyzer/WSIBasicProfileAnalyzer.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolEnvironment.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/ToolInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolInfo.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/ToolInfo.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/ToolInfo.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIConstants.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIConstants.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIConstants.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIConstants.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIFileNotFoundException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSIRuntimeException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSITag.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSITag.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/WSITag.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/WSITag.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java
new file mode 100644
index 0000000..3e00d4a
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java
@@ -0,0 +1,309 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.analyzer;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.wst.wsi.internal.core.ToolInfo;
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
+import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
+import org.eclipse.wst.wsi.internal.core.log.Log;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
+import org.eclipse.wst.wsi.internal.core.profile.validator.ProfileValidatorFactory;
+import org.eclipse.wst.wsi.internal.core.report.Reporter;
+import org.eclipse.wst.wsi.internal.core.util.MessageList;
+import org.eclipse.wst.wsi.internal.core.util.TestUtils;
+
+/**
+ * The Analyzer will process all Profile conformance functions.
+ * This class should be sub-classed for each profile.
+ *
+ * @version 1.0.1
+ * @author Jim Clune
+ * @author Peter Brittenham
+ */
+public abstract class Analyzer
+{
+  /**
+   * Message list.
+   */
+  protected MessageList messageList = null;
+
+  protected final static String RESOURCE_BUNDLE_NAME =
+    "org.eclipse.wst.wsi.internal.core.analyzer.Analyzer";
+
+  public final static String USAGE_MESSAGE =
+    "Usage: Analyzer -config <configFilename>";
+
+  protected Reporter reporter = null;
+  protected AnalyzerContext analyzerContext = null;
+  protected CandidateInfo candidateInfo = null;
+
+  /**
+   * Analyzer tool information.
+   */
+  protected ToolInfo toolInfo = null;
+
+  /**
+   * Profile validator factory.
+   */
+  protected ProfileValidatorFactory factory = null;
+
+  /**
+   * Profile validator factory.
+   */
+  protected DocumentFactory documentFactory = null;
+
+  /**
+   * Analyzer config file list.
+   */
+  protected List analyzerConfigList = new Vector();
+  protected int analyzerConfigIndex = 0;
+
+  /**
+   * Profile assertions.
+   */
+  protected ProfileAssertions profileAssertions = null;
+
+  /**
+   * Log file.
+   */
+  protected Log log = null;
+
+  /**
+   * Create an instance of the analyzer tool.
+   * @param args      command line arguments.
+   * @param toolInfo  analyzer tool information.
+   * @throws WSIException if problems creating the instance of the analyzer tool.
+   */
+  public Analyzer(String[] args, ToolInfo toolInfo) throws WSIException
+  {
+    init(toolInfo);
+
+    // Get new config object   
+    this.analyzerConfigList.add(
+      analyzerConfigIndex,
+      documentFactory.newAnalyzerConfig());
+    getAnalyzerConfig().init(messageList);
+
+    // Parse command line arguments
+    getAnalyzerConfig().parseArgs(args, true);
+
+    // Display copyright and options that were specified
+    TestUtils.printToolInfo(toolInfo);
+    System.out.println(getAnalyzerConfig().toString());
+
+    // Display message
+    printMessage(
+      "progress01",
+      null,
+      "Please wait while the specified artifacts are analyzed...");
+  }
+
+  /**
+   * Create an instance of the analyzer tool.
+   * @param args      command line arguments.
+   * @param toolInfo  analyzer tool information.
+   * @param validate  flag for config options validation. 
+   * @throws WSIException if problems creating the instance of the analyzer tool.
+   */
+  public Analyzer(String[] args, ToolInfo toolInfo, boolean validate) throws WSIException
+  {
+    init(toolInfo);
+
+    // Get new config object   
+    this.analyzerConfigList.add(
+        analyzerConfigIndex,
+        documentFactory.newAnalyzerConfig());
+    getAnalyzerConfig().init(messageList);
+
+    // Parse command line arguments
+    getAnalyzerConfig().parseArgs(args, validate);
+
+    // Display copyright and options that were specified
+    TestUtils.printToolInfo(toolInfo);
+    System.out.println(getAnalyzerConfig().toString());
+
+    // Display message
+    printMessage(
+        "progress01",
+        null,
+    "Please wait while the specified artifacts are analyzed...");
+  }
+
+  /**
+   * Create an instance of the analyzer tool.
+   * @param analyzerConfigList  analyzer config file list.
+   * @param toolInfo            analyzer tool information.
+   * @throws WSIException if problems creating the instance of the analyzer tool.
+   */
+  public Analyzer(List analyzerConfigList, ToolInfo toolInfo)
+    throws WSIException
+  {
+    init(toolInfo);
+
+    this.analyzerConfigList = analyzerConfigList;
+  }
+
+  /**
+   * Common initialization.
+   * @param toolInfo  analyzer tool information.
+   * @throws WSIException if problems occur during common initialization.
+   */
+  protected void init(ToolInfo info) throws WSIException
+  {
+    this.toolInfo = info;
+
+    // Create message list
+    messageList = new MessageList(RESOURCE_BUNDLE_NAME);
+
+    // Create profile validator factory
+    factory = ProfileValidatorFactory.newInstance();
+
+    // Create document factory
+    documentFactory = DocumentFactory.newInstance();
+  }
+
+  /**
+   * Process all conformance validation functions.
+   * @return status code.
+   * @throws WSIException if problems occur during validation.
+   */
+  public int validateAll() throws WSIException
+  {
+    int statusCode = 0;
+    int tempStatusCode;
+
+    for (int index = 0; index < analyzerConfigList.size(); index++)
+    {
+      // DEBUG:
+      //System.out.println("index: " + index);
+
+      // Set current analyzer config index 
+      setAnalyzerConfig(index);
+
+      if ((tempStatusCode = validateConformance()) > statusCode)
+        statusCode = tempStatusCode;
+    }
+
+    return statusCode;
+  }
+
+  /**
+   * Process all conformance validation functions.
+   * @return status code.
+   * @throws WSIException if problems occur during conformance validation.
+   */
+  public abstract int validateConformance() throws WSIException;
+
+  /**
+   * Get tool information.
+   * @return the tool information.
+   */
+  public ToolInfo getToolInfo()
+  
+  {
+    return this.toolInfo;
+  }
+
+  /**
+   * Set current analyzer configuration.
+   * @param index  urrent analyzer configuration.
+   * @see #getAnalyzerConfig
+   */
+  protected void setAnalyzerConfig(int index)
+  {
+    this.analyzerConfigIndex = index;
+  }
+
+  /**
+   * Get analyzer configuration information.
+   * @return analyzer configuration information.
+   * @see #setAnalyzerConfig
+   */
+  public AnalyzerConfig getAnalyzerConfig()
+  {
+    return (AnalyzerConfig) this.analyzerConfigList.get(analyzerConfigIndex);
+  }
+
+  /**
+   * Print a message from the resource bundle.
+   * @param key             a key.
+   * @param messageData     message data.
+   * @param defaultMessage  a default message.
+   */
+  public void printMessage(
+    String key,
+    String messageData,
+    String defaultMessage)
+  {
+    messageList.printMessage(key, messageData, defaultMessage);
+  }
+
+  /**
+   * Print message.
+   * @param key             a key.
+   * @param messageData     message data.
+   * @param defaultMessage  a default message.
+   */
+  public static void staticPrintMessage(
+    String key,
+    String messageData,
+    String defaultMessage)
+  {
+    MessageList.printMessage(
+      RESOURCE_BUNDLE_NAME,
+      key,
+      messageData,
+      defaultMessage);
+  }
+
+  /**
+   * Return XML string representation of this object.
+   * @param namespaceName  a namespace prefix.
+   * @return XML string representation of this object.
+   */
+  public String toXMLString(String namespaceName)
+  {
+    StringWriter sw = new StringWriter();
+    PrintWriter pw = new PrintWriter(sw);
+
+    // Start     
+    pw.print(toolInfo.getStartXMLString(namespaceName));
+
+    // Config
+    pw.print(
+      getAnalyzerConfig().toXMLString(
+        WSIConstants.NS_NAME_WSI_ANALYZER_CONFIG));
+
+    // End
+    pw.println(toolInfo.getEndXMLString(namespaceName));
+
+    return sw.toString();
+  }
+
+  /**
+   * Print a message.
+   * @param message a message.
+   */
+  public void printMessage(String message)
+  {
+    if (getAnalyzerConfig().getVerboseOption())
+    {
+      System.err.println(message);
+    }
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.properties
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AnalyzerContext.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionFailException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionNotApplicableException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionPassException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/AssertionResultException.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java
new file mode 100644
index 0000000..553cbee
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java
@@ -0,0 +1,918 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.analyzer;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Import;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.soap.SOAPAddress;
+import javax.xml.namespace.QName;
+
+import org.apache.xerces.util.URI;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
+
+/**
+ * Provide a normalized set of data relating to the service under test.
+ * For example, with endpoint correlation and wsdlElement of type "message" 
+ * there could be multiple matches for most element types including WSDL Service.
+ * (though the objective is to ensure filtering to a single service if at all possible). 
+ * 
+ * @author gturrell
+ */
+
+// ADD:could be better as a singleton?
+
+public class CandidateInfo
+{
+
+  // Normalized fixed correlation data derived from the analyzer config and the wsdl,
+  // representing what we know about the service from these two sources.  
+  private Definition[] definitions = null;
+
+  private Import[] imports = null;
+  private Types[] types = null;
+
+  private Message[] messages = null;
+  private Operation[] operations = null;
+  private PortType[] portTypes = null;
+  private Binding[] bindings = null;
+  private Port[] ports = null;
+
+  private URI[] endPoints = null; // list obtainable from a port
+
+  private WSDLDocument wsdlDocument; // reference probably not desirable here
+
+  /**
+   * Constructor for CandidateInfo.
+   * Extract normalised entry data from wsdl, according to config wsdlElement & serviceLocation
+   * @param serviceReference a ServiceReference object.
+   * @param wsdlDocument a WSDL document.
+   * @throws WSIException if problems occur creating CandidateInfo object.
+   */
+  public CandidateInfo(
+    ServiceReference serviceReference,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+
+    // ADD: check for null document?
+
+    WSDLElement wsdlElement = serviceReference.getWSDLElement();
+
+    this.wsdlDocument = wsdlDocument;
+
+    /*
+     * Generalised fields independent of wsdlElement:
+     */
+    // ADD: check whether these need to be either expanded or filtered down.
+    // Assume WSDL4J pulls int the full tree at the root document for now		
+    //this.imports = wsdlDocument.getImports();
+
+    // ... or if only down to first level....
+    this.imports =
+      (Import[]) getAllImports(
+        wsdlDocument.getDefinitions()).toArray(new Import[] {
+    });
+
+    /* Definitions. 
+     * Note that the the first array element is for the root doc
+     * which contains all WSDL elements in scope via <import> declarations,
+     * as well as the root document itself. Therefore the second definitions 
+     * array element and above are redundant, but *may* prove useful to the assertion
+     * code.
+     */
+
+    this.definitions = new Definition[imports.length + 1];
+    // allow room for root doc		
+
+    this.definitions[0] = wsdlDocument.getDefinitions(); // root document    
+
+    // Allocate array for types elements
+    Types[] tempTypes = new Types[definitions.length];
+
+    int typesCount = 0;
+
+    if (definitions[0].getTypes() != null)
+    {
+      tempTypes[0] = this.definitions[0].getTypes(); // root document	
+      typesCount++;
+    }
+
+    // Definitions from other (imported) wsdls correlating to the candidate
+    // Only one level down for now
+    for (int i = 0; i < imports.length; i++)
+    {
+      if (((definitions[i + 1] = imports[i].getDefinition()) != null)
+        && (definitions[i + 1].getTypes() != null))
+      {
+        tempTypes[typesCount] = definitions[i + 1].getTypes();
+        typesCount++;
+      }
+    }
+
+    if (typesCount > 0)
+    {
+      this.types = new Types[typesCount];
+
+      for (int i = 0; i < typesCount; i++)
+        this.types[i] = tempTypes[i];
+    }
+    /* 
+     * Populate element hierachy:
+     * Port
+     * Binding
+     * PortType
+     * operation(s)
+     * message(s)
+     */
+
+    if (wsdlElement.isPort())
+    {
+
+      Port port = null;
+
+      // Use parentElementName to qualify the port within a service.		
+      QName serviceName = wsdlElement.getParentElementQName();
+      Service[] s = wsdlDocument.getServices();
+      String portName = wsdlElement.getName();
+      for (int i = 0; i < s.length && port == null; i++)
+      {
+        if (s[i].getQName().equals(serviceName))
+        {
+          port = s[i].getPort(portName);
+        }
+      }
+
+      if (port == null)
+      {
+        throw new WSIException(
+          "WSDL Port \'"
+            + portName
+            + "\' for Service \'"
+            + serviceName
+            + "\' not found in service description");
+      }
+      else
+      {
+        this.ports = new Port[] { port };
+        // ADD: do serviceLocation check for soapbind:address?
+        descendents(port);
+      }
+
+      // ADD: the following could be instantiated here instead to refine context info
+      // definitions 
+      // imports 
+      // types
+
+    }
+
+    else if (wsdlElement.isBinding())
+    {
+      if (wsdlElement.getQName() != null
+        && wsdlElement.getQName().getLocalPart() != null
+        && wsdlElement.getQName().getLocalPart().length() > 0)
+      {
+        Binding binding =
+          wsdlDocument.getDefinitions().getBinding(wsdlElement.getQName());
+
+        if (binding == null)
+        {
+          throw new WSIException(
+            "WSDL Binding named \'"
+              + wsdlElement.getQName()
+              + "\' not found in service description");
+        }
+        else
+        {
+          this.bindings = new Binding[] { binding };
+
+          // the rest ... below binding:	
+          // portTypes from binding
+          // operations from portTypes
+          // messages from operations
+          descendents(binding);
+
+          // above binding:
+          // ports
+          // definitions, imports, types (future?)				
+          // ancestors(bindings);
+        }
+      }
+    }
+
+    else if (wsdlElement.isPortType())
+    {
+
+      PortType portType =
+        wsdlDocument.getDefinitions().getPortType(wsdlElement.getQName());
+      this.portTypes = new PortType[] { portType };
+
+      if (portType == null)
+      {
+        throw new WSIException(
+          "WSDL PortType named \'"
+            + wsdlElement.getQName()
+            + "\' not found in service description");
+      }
+      else
+      {
+        this.portTypes = new PortType[] { portType };
+        // the rest ... below portType:	
+        descendents(portType);
+
+        // above portType:
+        // ports
+        // definitions, imports, types (future) ?
+        //ancestors(portTypes);		
+      }
+    }
+    else if (wsdlElement.isOperation())
+    {
+
+      Operation operation = null;
+      String configOpName = wsdlElement.getName();
+
+      // Use parentElementName to qualify the operation within a portType.
+      QName portTypeName = wsdlElement.getParentElementQName();
+      PortType[] p = wsdlDocument.getPortTypes();
+      for (int i = 0; i < p.length && operation == null; i++)
+      {
+        if (p[i].getQName().equals(portTypeName))
+        {
+          // wsdl4j available method call below implies that only 
+          // name+inputname+outputname uniquely defines operation! 
+          // Since we do not have <input> & <output> name information
+          // available in the config, use this instead for now: - 
+          // Get the first operation we find:
+          Iterator opIt = p[i].getOperations().iterator();
+          Operation op = null;
+          while (opIt.hasNext() && operation == null)
+          {
+            op = (Operation) opIt.next();
+            if (configOpName.equals(op.getName()))
+            {
+              operation = op;
+            }
+          }
+        }
+      }
+
+      if (operation == null)
+      {
+        throw new WSIException(
+          "No WSDL Operation named \'"
+            + wsdlElement.getQName()
+            + "\' found in service description");
+      }
+      else
+      {
+        this.operations = new Operation[] { operation };
+
+        descendents(operation);
+        //ancestors(operations);
+      }
+    }
+
+    else if (wsdlElement.isMessage())
+    {
+
+      Message message =
+        wsdlDocument.getDefinitions().getMessage(wsdlElement.getQName());
+      if (message == null)
+      {
+        throw new WSIException(
+          "No WSDL Message named \'"
+            + wsdlElement.getQName()
+            + "\' found in service description");
+      }
+      else
+      {
+        this.messages = new Message[] { message };
+
+        //ancestors(messages); 
+      }
+    }
+
+    else
+    {
+      throw new WSIException(
+        "Unrecognised <WSDLElement type> in config: " + wsdlElement.getType());
+    }
+
+    // get info about the effective service location (s)
+    //this.endPoints = deriveEndpoints(analyzerConfig, this.ports, this.definitions);
+    this.endPoints =
+      deriveEndpoints(serviceReference, this.ports, this.definitions);
+  }
+
+  /** 
+     * ancestor code is not used at present.
+     * 
+     */
+  /*   
+     protected void ancestors(Port[] ports) {
+     	// no ancestors of Port required (for now)
+     } 	    
+     protected void ancestors(Binding[] bindings) {	    
+    		// Ports from Bindings  1-2-1
+     	
+     	// *** cheat for now - get ports from all services in the wsdl doc
+     	// ADD: find correct mapping based on the supplied bindings
+     	Service[] service = wsdlDocument.getServices();
+     	HashSet set = new HashSet();
+  		for (int i=0; i>service.length; i++) {
+  			set.add(service[i].getPorts());  
+  		}
+  			
+  		// assign the parent group and process the grandparents if any								
+  		ancestors(this.ports = (Port[])set.toArray(this.ports = new Port[0]));
+     }
+     protected void ancestors(PortType[] portTypes) {	    
+    		// Bindings from PortTypes  1-2-1
+     	
+     	// add have to start with all bindings in doc and search for those
+     	// with the portType  
+     	HashSet set = new HashSet();
+  		for (int i=0; i>portTypes.length; i++) {
+  		// set.add(portTypes[i].get());  
+  		}
+  			
+  		// assign the parent group and process the grandparents if any								
+  		ancestors(this.bindings = (Binding[])set.toArray(this.bindings = new Binding[0]));
+     }
+     protected void ancestors(Operation[] operations) {	    
+    		// PortTypes from Operations  1-2-1
+     	  
+     	HashSet set = new HashSet();
+  		for (int i=0; i>operations.length; i++) {
+  			// set.add(operations[i].get());  
+  		}
+  			
+  		// assign the parent group and process the grandparents if any								
+  		ancestors(this.portTypes = (PortType[])set.toArray(this.portTypes = new PortType[0]));
+     }
+     protected void ancestors(Message[] messages) {	    
+    		// Operations from Messages  1-2-1
+     	// ADD fix it!  
+     	HashSet set = new HashSet();
+  		for (int i=0; i>messages.length; i++) {
+  			// set.add(messages[i].get());  
+  		}
+  			
+  		// assign the parent group 	
+  		this.portTypes = (PortType[])set.toArray(this.portTypes = new PortType[0]);
+     }
+  */
+
+  /**
+   * Descendant method for completing candidate service context creation.
+   * @param port  a Port object
+   * @throws WSIException if port is null.
+   */
+  protected void descendents(Port port) throws WSIException
+  {
+    // Binding from Port  1-2-1
+
+    if (port == null)
+    {
+      throw new WSIException("Internal error: expected a Port value");
+    }
+    else
+    {
+      this.bindings = new Binding[] { port.getBinding()};
+      if (this.bindings[0] != null)
+      {
+        /* Assign the child group and process the grandchildren if any.
+        * Null argument value passed into the following method would 
+        * suggest a WSDL definition inconsistency
+        * which will be picked up during Description Artifact TA testing.
+        */
+        descendents(this.bindings[0]);
+      }
+    }
+  }
+
+  /**
+   * Descendant method for completing candidate service context creation.
+   * @param binding  a Binding object
+   * @throws WSIException if binding is null.
+   */
+  protected void descendents(Binding binding) throws WSIException
+  {
+    // portType from Binding 1-2-1
+
+    if (binding == null)
+    {
+      throw new WSIException("Internal error: expected a Binding value");
+    }
+    else
+    {
+      this.portTypes = new PortType[] { binding.getPortType()};
+      if (this.portTypes[0] != null)
+      {
+        /* Assign the child group and process the grandchildren if any.
+        	* Null argument value passed into the following method would 
+        	* suggest a WSDL definition inconsistency
+        	* which will be picked up during Description Artifact TA testing.
+        	*/
+        descendents(this.portTypes[0]);
+
+        // Get any messages that are referenced from headers and headerfaults
+
+        // Get reference to definition
+        Definition definition = definitions[0];
+
+        // If there are messages already, then get them as a collection
+        HashSet messageSet = new HashSet();
+        if (messages != null)
+        {
+          for (int i = 0; i < messages.length; i++)
+          {
+            messageSet.add(messages[i]);
+          }
+        }
+
+        // Get the messages that are referenced only by a binding 
+        HashSet bindingMessages = WSDLUtils.findMessages(definition, binding);
+
+        // Add these messages to the complete message list  
+        messageSet.addAll(bindingMessages);
+
+        // Create array from message set
+        this.messages =
+          (Message[]) messageSet.toArray(this.messages = new Message[0]);
+      }
+    }
+  }
+
+  /**
+   * Descendant method for completing candidate service context creation.
+   * @param portType  a PortType object
+   * @throws WSIException if portType is null.
+   */
+  protected void descendents(PortType portType) throws WSIException
+  {
+    // Operations from PortType 1-2-n
+
+    if (portType == null)
+    {
+      throw new WSIException("Internal error: expected a PortType value");
+    }
+    else
+    {
+      this.operations =
+        (Operation[]) (portType
+          .getOperations()
+          .toArray(this.operations = new Operation[0]));
+      if (this.operations.length > 0)
+      {
+        descendents(this.operations);
+      }
+    }
+  }
+
+  /**
+     * Descendant method for completing candidate service context creation.
+     * @param operation  a Operation object
+     * @throws WSIException if operation is null.
+     */
+  protected void descendents(Operation operation) throws WSIException
+  {
+    // Messages from Operation
+
+    if (operation == null)
+    {
+      throw new WSIException("Internal error: expected an Operation value");
+    }
+    else
+    {
+      descendents(new Operation[] { operation });
+    }
+  }
+
+  /**
+   * Descendant method for completing candidate service context creation.
+   * @param operations  an array of operations.
+   * @throws WSIException if operations is null.
+   */
+  protected void descendents(Operation[] operations) throws WSIException
+  {
+    // Messages from Operations 1-2-n
+
+    if (operations == null)
+    {
+      throw new WSIException("Internal error: expected an Operation[] value");
+    }
+
+    HashSet set = new HashSet();
+    for (int i = 0; i < operations.length; i++)
+    {
+      if (operations[i].getInput() != null)
+        set.add(operations[i].getInput().getMessage()); //1-2-1
+      if (operations[i].getOutput() != null)
+        set.add(operations[i].getOutput().getMessage()); //1-2-1
+
+      // get messages associated with faults for this operation 
+      // 1-2-n
+      Iterator it = operations[i].getFaults().values().iterator();
+      while (it.hasNext())
+      {
+        set.add(((Fault) it.next()).getMessage());
+      }
+    }
+    this.messages = (Message[]) set.toArray(this.messages = new Message[0]);
+    // no descendents of messages so stop.
+  }
+
+  /**
+   * Provide a recursive non-repeating list of imports for the specified
+   * WSDL document definition.
+   */
+  /*   private HashSet getAllImports(Definition rootDef) throws WSIException {
+     	
+     	HashSet importSet = new HashSet();
+     	
+     	Collection importList =  rootDef.getImports().values();
+     	Iterator i = importList.iterator();
+     	
+     	while (i.hasNext()) {
+     		Import nextImport = (Import)(i.next());
+     		if (nextImport != null) {
+     			// its a wsdl document
+     			importSet.addAll(getAllImports(nextImport.getDefinition()));
+     		}   			
+     	}
+     	
+     	return (importSet);
+     }
+   */
+  private HashSet getAllImports(Definition rootDef) throws WSIException
+  {
+
+    HashSet importSet = new HashSet();
+
+    Map importMap = rootDef.getImports();
+    Iterator i = importMap.values().iterator();
+
+    while (i.hasNext())
+    {
+      List nextImportList = (List) (i.next());
+      Iterator listIt = nextImportList.iterator();
+      while (listIt.hasNext())
+      {
+        Import nextImport = (Import) listIt.next();
+        if (nextImport != null)
+        {
+          // its a wsdl document
+          importSet.add(nextImport);
+          if (nextImport.getDefinition() != null)
+          {
+            HashSet subTreeImports = getAllImports(nextImport.getDefinition());
+            Iterator subIt = subTreeImports.iterator();
+            while (subIt.hasNext())
+            {
+              importSet.add((Import) (subIt.next()));
+            }
+          }
+        }
+      }
+    }
+
+    return (importSet);
+  }
+
+  /**
+   * get all service location endpoint values
+   * relevant to the service under test.
+   * 
+   * If the service location is specified in the config we use
+   * just that.
+   * Otherwise, if the port is specified, we get all endpoints
+   * associated with that port.
+   * If we have neither the service location value or the port,
+   * then all endpoints in the definition are used.
+   */
+  private URI[] deriveEndpoints(
+  //AnalyzerConfig analyzerConfig, 
+  ServiceReference serviceReference, Port[] ports, Definition[] definitions)
+  {
+
+    URI[] endp = null;
+    //Port port = null;	
+    try
+    {
+      String serviceLocation = null;
+      // try service location...
+      //if ((serviceLocation = analyzerConfig.getServiceLocation()) != null) {      
+      if ((serviceLocation = serviceReference.getServiceLocation()) != null)
+      {
+        endp = new URI[] { new URI(serviceLocation)};
+      }
+      //else if (analyzerConfig.getWSDLElement().isPort()) {
+      else if (serviceReference.getWSDLElement().isPort())
+      {
+        if (ports.length != 1)
+        {
+          throw new WSIException("Internal error - expected 1-element Port array");
+        }
+        //else {
+        //	port = ports[0]; // if Port was given in config, there is just one
+        //}
+        //QName soapAddress = new QName(WSIConstants.NS_URI_WSDL_SOAP, "address");
+        Iterator i = ports[0].getExtensibilityElements().iterator();
+        while (i.hasNext() && serviceLocation == null)
+        {
+          ExtensibilityElement extElem = (ExtensibilityElement) i.next();
+          if (extElem instanceof SOAPAddress)
+          {
+            //if (extEl.getElementType().equals(soapAddress) {
+            // this element is our SOAPAddress - get the location
+            serviceLocation = ((SOAPAddress) extElem).getLocationURI();
+            endp = new URI[] { new URI(serviceLocation)};
+          }
+        }
+      }
+      else
+      { // no port info from config, so supply all in document
+        // QName soapAddress = new QName(WSIConstants.NS_URI_WSDL_SOAP, "address");
+        HashSet endpointSet = new HashSet();
+        Iterator i = definitions[0].getExtensibilityElements().iterator();
+        while (i.hasNext())
+        {
+          ExtensibilityElement extElem = (ExtensibilityElement) i.next();
+          if (extElem instanceof SOAPAddress)
+          {
+            //if (extEl.getElementType().equals(soapAddress) {
+            // this element is our SOAPAddress - get the location
+            endpointSet.add(((SOAPAddress) extElem).getLocationURI());
+          }
+        }
+        // Convert the derived List to a URI array
+        endp = (URI[]) endpointSet.toArray(endp = new URI[0]);
+      }
+    }
+    catch (Exception e)
+    {
+    }
+    return endp;
+  }
+
+  /**
+   * Returns the binding.
+   * @return Binding
+   */
+  public Binding[] getBindings()
+  {
+    return bindings;
+  }
+
+  /**
+   * Returns the endPoints.
+   * @return URI[]
+   */
+  public URI[] getEndPoints()
+  {
+    // get list of matching endpoint(s) associated with service.
+    return endPoints;
+  }
+
+  /**
+  * Returns the endPoints matching the specified host and port.
+  * @param hostAndPort  host and port location.
+  * @return URI[] if matched, null otherwise.
+  */
+  public URI[] getEndPoints(String hostAndPort)
+  {
+    // get list of matching endpoints associated with service,
+    // having the specified host and port configuration
+    String port;
+
+    Vector matchedEndpoints = new Vector();
+    for (int i = 0; i < endPoints.length; i++)
+    {
+      // PB: If the endpoint does not contain a port number, then default it to "80"
+      port =
+        (endPoints[i].getPort() == -1)
+          ? "80"
+          : String.valueOf(endPoints[i].getPort());
+      if (hostAndPort.equals(endPoints[i].getHost() + ":" + port))
+      {
+        matchedEndpoints.add(endPoints[i]);
+      }
+    }
+    return (URI[]) matchedEndpoints.toArray(new URI[0]);
+  }
+
+  /**
+   * Returns the operation.
+   * @return Operation
+   */
+  public Operation[] getOperations()
+  {
+    return operations;
+  }
+
+  /**
+   * Returns the portType.
+   * @return PortType
+   */
+  public PortType[] getPortType()
+  {
+    return portTypes;
+  }
+
+  /**
+   * Returns true if the hostAndPort matches at least one context endpoint.
+   * @param hostAndPortString a host and port location.
+   * @return true if the hostAndPort matches at least one context endpoint.
+   * @throws WSIException if given hostandPort String does not convert to URI.
+   */
+  public boolean hasHostAndPort(String hostAndPortString) throws WSIException
+  {
+    URI hostAndPort;
+    try
+    {
+      hostAndPort = new URI(hostAndPortString);
+    }
+    catch (Exception e)
+    {
+      throw new WSIException(
+        "Could not convert string to URI: " + hostAndPortString);
+    }
+    String host = hostAndPort.getHost();
+    int port = hostAndPort.getPort();
+    for (int i = 0; i < this.endPoints.length; i++)
+    {
+      if (this.endPoints[i].getHost().equals(host)
+        && this.endPoints[i].getPort() == port)
+      {
+        return true;
+      }
+    }
+    return false; // for now
+  }
+
+  /**
+   * Returns the definitions.
+   * @return Definition[]
+   */
+  public Definition[] getDefinitions()
+  {
+    return definitions;
+  }
+
+  /**
+   * Returns the imports.
+   * @return Import[]
+   */
+  public Import[] getImports()
+  {
+    return imports;
+  }
+
+  /**
+   * Returns the messages.
+   * @return Message[]
+   */
+  public Message[] getMessages()
+  {
+    return messages;
+  }
+
+  /**
+   * Returns the ports.
+   * @return Port[]
+   */
+  public Port[] getPorts()
+  {
+    return ports;
+  }
+
+  /**
+   * Returns the portTypes.
+   * @return PortType[]
+   */
+  public PortType[] getPortTypes()
+  {
+    return portTypes;
+  }
+
+  /**
+   * Returns the types.
+   * @return Types[]
+   */
+  public Types[] getTypes()
+  {
+    return types;
+  }
+  /**
+   * Returns the wsdlDocument.
+   * @return WSDLDocument
+   */
+  public WSDLDocument getWsdlDocument()
+  {
+    return wsdlDocument;
+  }
+
+  /**
+   * Return the definition element that contains the types element.
+   * @param types a Types object.
+   * @return the definition element that contains the types element.
+   */
+  public Definition getDefinition(Types types)
+  {
+    Definition definition = null;
+    Types checkTypes;
+
+    for (int i = 0; i < definitions.length && definition == null; i++)
+    {
+      if (((checkTypes = definitions[i].getTypes()) != null)
+        && (checkTypes.equals(types)))
+      {
+        definition = definitions[i];
+      }
+    }
+
+    return definition;
+  }
+
+  /**
+   * Return the definition element that contains the binding element.
+   * @param binding a Binding object.
+   * @return the definition element that contains the binding element.
+   */
+  public Definition getDefinition(Binding binding)
+  {
+    Definition definition = null;
+
+    for (int i = 0; i < definitions.length && definition == null; i++)
+    {
+      if (definitions[i].getBinding(binding.getQName()) != null)
+        definition = definitions[i];
+    }
+
+    return definition;
+  }
+
+  /**
+   * Return the definition element that contains the portType element.
+   * @param portType a PortType object.
+   * @return the definition element that contains the portType element.
+   */
+  public Definition getDefinition(PortType portType)
+  {
+    Definition definition = null;
+
+    for (int i = 0; i < definitions.length && definition == null; i++)
+    {
+      if (definitions[i].getPortType(portType.getQName()) != null)
+        definition = definitions[i];
+    }
+
+    return definition;
+  }
+
+  /**
+   * Return the definition element that contains the message.
+   * @param message a Message object.
+   * @return the definition element that contains the message.
+   */
+  public Definition getDefinition(Message message)
+  {
+    Definition definition = null;
+
+    for (int i = 0; i < definitions.length && definition == null; i++)
+    {
+      if (definitions[i].getMessage(message.getQName()) != null)
+        definition = definitions[i];
+    }
+
+    return definition;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/EnvironmentInfo.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/ServiceReference.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfig.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AnalyzerConfigReader.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultType.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/AssertionResultsOption.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/UDDIReference.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLElement.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/WSDLReference.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java
new file mode 100644
index 0000000..1a4de86
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java
@@ -0,0 +1,559 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.analyzer.config.impl;
+
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSIFileNotFoundException;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
+import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
+import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
+import org.eclipse.wst.wsi.internal.core.util.EntryType;
+import org.eclipse.wst.wsi.internal.core.util.MessageList;
+import org.eclipse.wst.wsi.internal.core.util.TestUtils;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+
+/**
+ * This class is the implementation used to read the analyzer config documents.
+ * 
+ * @version 1.0.1
+ * @author Peter Brittenham (peterbr@us.ibm.com)
+ */
+public class AnalyzerConfigReaderImpl implements AnalyzerConfigReader
+{
+  /**
+   * Message list.
+   */
+  protected MessageList messageList;
+
+  /**
+   * Document location.
+   */
+  protected String documentURI;
+
+  /**
+   * Initialize analyzer config reader.
+   */
+  public void init(MessageList messageList)
+  {
+    this.messageList = messageList;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader#readAnalyzerConfig(String)
+   */
+  public AnalyzerConfig readAnalyzerConfig(String analyzerConfigURI)
+    throws WSIException
+  {
+    FileReader fileReader = null;
+    try
+    {
+      fileReader = new FileReader(analyzerConfigURI);
+    }
+
+    catch (FileNotFoundException fnfe)
+    {
+      throw new WSIFileNotFoundException(
+        getMessage(
+          "config01",
+          analyzerConfigURI,
+          "Could not find analyzer config file: "),
+        fnfe);
+    }
+
+    catch (Exception e)
+    {
+      throw new WSIException(
+        getMessage(
+          "config08",
+          analyzerConfigURI,
+          "Could not read analyzer config file: "),
+        e);
+    }
+
+    return readAnalyzerConfig(fileReader);
+  }
+
+  /**
+   * @see org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader#readAnalyzerConfig(Reader)
+   */
+  public AnalyzerConfig readAnalyzerConfig(Reader reader) throws WSIException
+  {
+    AnalyzerConfig analyzerConfig = new AnalyzerConfigImpl();
+
+    // Parse XML
+    Document doc = XMLUtils.parseXML(reader);
+
+    // Parse elements in the config document
+    parseConfigElement(analyzerConfig, doc.getDocumentElement());
+
+    return analyzerConfig;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#getLocation()
+   */
+  public String getLocation()
+  {
+    return this.documentURI;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#setLocation(String)
+   */
+  public void setLocation(String documentURI)
+  {
+    this.documentURI = documentURI;
+  }
+
+  /**
+   * Parse config element.
+   */
+  private void parseConfigElement(
+    AnalyzerConfig analyzerConfig,
+    Element element)
+    throws WSIException
+  {
+    // ADD: Get name and version
+
+    // ADD: Verify that this is the config element
+
+    // Get first child element
+    Element nextElement = XMLUtils.getFirstChild(element);
+
+    // DEBUG:
+    //System.out.println("Element name: " + nextElement.getClass().getName());
+
+    // Process each child element
+    while (nextElement != null)
+    {
+      // <description>
+      if (isElement(nextElement, WSIConstants.ELEM_DESCRIPTION))
+      {
+        analyzerConfig.setDescription(XMLUtils.getText(nextElement));
+      }
+
+      // <verbose>
+      else if (isElement(nextElement, WSIConstants.ELEM_VERBOSE))
+      {
+        analyzerConfig.setVerboseOption(
+          XMLUtils.getBooleanValue(nextElement, false));
+      }
+
+      // <assertionResults>
+      else if (isElement(nextElement, WSIConstants.ELEM_ASSERTION_RESULTS))
+      {
+        // Create assertion results option object
+        AssertionResultsOption assertionResultsOption =
+          new AssertionResultsOptionImpl();
+        analyzerConfig.setAssertionResultsOption(assertionResultsOption);
+
+        // Set result type
+        String resultType =
+          XMLUtils.getAttributeValue(nextElement, WSIConstants.ATTR_TYPE);
+        assertionResultsOption.setAssertionResultType(
+          AssertionResultType.newInstance(resultType));
+
+        // Set show log entry
+        assertionResultsOption.setShowMessageEntry(
+          XMLUtils.getBooleanValue(
+            nextElement,
+            WSIConstants.ATTR_MESSAGE_ENTRY,
+            assertionResultsOption.getShowMessageEntry()));
+
+        // Set show failure message
+        assertionResultsOption.setShowFailureMessage(
+          XMLUtils.getBooleanValue(
+            nextElement,
+            WSIConstants.ATTR_FAILURE_MESSAGE,
+            assertionResultsOption.getShowFailureMessage()));
+
+        // Set show failure detail
+        assertionResultsOption.setShowFailureDetail(
+          XMLUtils.getBooleanValue(
+            nextElement,
+            WSIConstants.ATTR_FAILURE_DETAIL,
+            assertionResultsOption.getShowFailureDetail()));
+
+        // REMOVE: Set show warning message
+        //assertionResultsOption.setShowWarningMessage(XMLUtils.getBooleanValue(nextElement, 
+        //      WSIConstants.ATTR_WARNING_MESSAGE, assertionResultsOption.getShowWarningMessage()));
+      }
+
+      // <reportFile>
+      else if (isElement(nextElement, WSIConstants.ELEM_REPORT_FILE))
+      {
+        parseReportFileElement(analyzerConfig, nextElement);
+      }
+
+      // <testAssertionFile>
+      else if (isElement(nextElement, WSIConstants.ELEM_TEST_ASSERTIONS_FILE))
+      {
+        analyzerConfig.setTestAssertionsDocumentLocation(
+          XMLUtils.getText(nextElement));
+      }
+
+      // <logFile>
+      else if (isElement(nextElement, WSIConstants.ELEM_LOG_FILE))
+      {
+        String correlationType =
+          XMLUtils.getAttributeValue(
+            nextElement,
+            WSIConstants.ATTR_CORRELATION_TYPE);
+        analyzerConfig.setCorrelationType(
+          correlationType == null ? "operation" : correlationType);
+        analyzerConfig.setLogLocation(XMLUtils.getText(nextElement));
+      }
+
+      // <wsdlReference>
+      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_REFERENCE))
+      {
+        parseWsdlReference(analyzerConfig, nextElement);
+      }
+
+      // <uddiReference>
+      else if (isElement(nextElement, WSIConstants.ELEM_UDDI_REFERENCE))
+      {
+        parseUddiReference(analyzerConfig, nextElement);
+      }
+
+      else
+      {
+        // Throw exception
+        throw new IllegalArgumentException(
+          getMessage(
+            "config06",
+            nextElement.getLocalName(),
+            "Invalid analyzer config element:"));
+      }
+
+      // Get next element
+      nextElement = XMLUtils.getNextSibling(nextElement);
+    }
+  }
+
+  /**
+   * Parse reportFile element.
+   */
+  private void parseReportFileElement(
+    AnalyzerConfig analyzerConfig,
+    Element element)
+    throws WSIException
+  {
+    // Get report location and replace indicator
+    analyzerConfig.setReplaceReport(
+      XMLUtils.getBooleanValue(element, WSIConstants.ATTR_REPLACE, false));
+    analyzerConfig.setReportLocation(
+      XMLUtils.getAttributeValue(
+        element,
+        WSIConstants.ATTR_LOCATION,
+        WSIConstants.DEFAULT_REPORT_URI));
+
+    // ADD: If the report location wasn't specified, then throw an exception
+    //if (analyzerConfig.getReportLocation() == null)
+    //  throw new WSIException("The analyzer configuration file must contain the report file location.");
+
+    // Get first child element
+    Element nextElement = XMLUtils.getFirstChild(element);
+
+    // Process each child element
+    while (nextElement != null)
+    {
+      // <addStyleSheet>
+      if (isElement(nextElement, WSIConstants.ELEM_ADD_STYLE_SHEET))
+      {
+        AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
+
+        // Parse the element  
+        TestUtils.parseAddStyleSheet(
+          nextElement,
+          addStyleSheet,
+          WSIConstants.DEFAULT_REPORT_XSL);
+
+        // Set add style sheet
+        analyzerConfig.setAddStyleSheet(addStyleSheet);
+      }
+
+      else
+      {
+        // Throw exception
+        throw new IllegalArgumentException(
+          getMessage(
+            "config06",
+            nextElement.getLocalName(),
+            "Invalid analyzer config element:"));
+      }
+
+      // Get next element
+      nextElement = XMLUtils.getNextSibling(nextElement);
+    }
+  }
+
+  /**
+   * Parse wsdl reference element.
+   */
+  private void parseWsdlReference(
+    AnalyzerConfig analyzerConfig,
+    Element element)
+    throws WSIException
+  {
+    // Create UDDI reference
+    WSDLReference wsdlReference = new WSDLReferenceImpl();
+
+    // Set WSDL reference
+    analyzerConfig.setWSDLReference(wsdlReference);
+
+    // Get first child element
+    Element nextElement = XMLUtils.getFirstChild(element);
+
+    // Process each child element
+    while (nextElement != null)
+    {
+      // <wsdlURI>
+      if (isElement(nextElement, WSIConstants.ELEM_WSDL_URI))
+      {
+        // Set WSDL location
+        wsdlReference.setWSDLLocation(XMLUtils.getText(nextElement));
+      }
+
+      // <serviceLocation>
+      else if (isElement(nextElement, WSIConstants.ELEM_SERVICE_LOCATION))
+      {
+        // Set service location
+        wsdlReference.setServiceLocation(XMLUtils.getText(nextElement));
+      }
+
+      // <wsdlElement>
+      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT))
+      {
+        // Set WSDL element
+        wsdlReference.setWSDLElement(parseWsdlElement(nextElement));
+      }
+
+      else
+      {
+        // Throw exception
+        throw new IllegalArgumentException(
+          getMessage(
+            "config06",
+            nextElement.getLocalName(),
+            "Invalid analyzer config element:"));
+      }
+
+      // Get next element
+      nextElement = XMLUtils.getNextSibling(nextElement);
+    }
+
+    // If WSDL element or WSL URI not specified, then throw exception
+    if ((wsdlReference.getWSDLElement() == null)
+      || (wsdlReference.getWSDLLocation() == null))
+    {
+      throw new IllegalArgumentException(
+        getMessage(
+          "config07",
+          "Both the <wsdlElement> and <wsdlURI> elements must be specified."));
+    }
+
+    // If type is port or operation, then parent element name must be specified
+    if (((wsdlReference
+      .getWSDLElement()
+      .getType()
+      .equalsIgnoreCase(EntryType.TYPE_DESCRIPTION_PORT))
+      || (wsdlReference
+        .getWSDLElement()
+        .getType()
+        .equalsIgnoreCase(EntryType.TYPE_DESCRIPTION_OPERATION)))
+      && (wsdlReference.getWSDLElement().getParentElementName() == null))
+    {
+      throw new IllegalArgumentException(
+        getMessage(
+          "config09",
+          "The parentElementName attribute must be specified with a WSDL type of "
+            + EntryType.TYPE_DESCRIPTION_PORT
+            + " or "
+            + EntryType.TYPE_DESCRIPTION_OPERATION
+            + "."));
+    }
+  }
+
+  /**
+   * Parse uddi reference.
+   */
+  private void parseUddiReference(
+    AnalyzerConfig analyzerConfig,
+    Element element)
+    throws WSIException
+  {
+    // Create UDDI reference
+    UDDIReference uddiReference = new UDDIReferenceImpl();
+
+    // Set UDDI reference
+    analyzerConfig.setUDDIReference(uddiReference);
+
+    // Get first child element
+    Element nextElement = XMLUtils.getFirstChild(element);
+
+    // Process each child element
+    while (nextElement != null)
+    {
+      // <inquiryURL>
+      if (isElement(nextElement, WSIConstants.ELEM_INQUIRY_URL))
+      {
+        // Set inquiry URL
+        uddiReference.setInquiryURL(XMLUtils.getText(nextElement));
+      }
+
+      // <uddiKey>
+      else if (isElement(nextElement, WSIConstants.ELEM_UDDI_KEY))
+      {
+        // Set UDDI key and key type
+        uddiReference.setKey(XMLUtils.getText(nextElement));
+        uddiReference.setKeyType(
+          XMLUtils.getAttributeValue(nextElement, WSIConstants.ATTR_TYPE));
+      }
+
+      // <wsdlElement>
+      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT))
+      {
+        // Set WSDL element
+        uddiReference.setWSDLElement(parseWsdlElement(nextElement));
+      }
+
+      // <serviceLocation>
+      else if (isElement(nextElement, WSIConstants.ELEM_SERVICE_LOCATION))
+      {
+        // Set service location
+        uddiReference.setServiceLocation(XMLUtils.getText(nextElement));
+      }
+
+      /* REMOVE:
+      // <wsdlElement>
+      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT)) {
+        // Set service location
+        parseWsdlElement(analyzerConfig, nextElement);
+       }
+       */
+
+      else
+      {
+        // Throw exception
+        throw new IllegalArgumentException(
+          getMessage(
+            "config06",
+            nextElement.getLocalName(),
+            "Invalid analyzer config element:"));
+      }
+
+      // Get next element
+      nextElement = XMLUtils.getNextSibling(nextElement);
+    }
+  }
+
+  /**
+   * Parse WSDL element.
+   */
+  private WSDLElement parseWsdlElement(Element element) throws WSIException
+  {
+    WSDLElement wsdlElement = new WSDLElementImpl();
+
+    // Set type, namespace, parent element name and name
+    wsdlElement.setType(
+      XMLUtils.getAttributeValue(element, WSIConstants.ATTR_TYPE));
+    wsdlElement.setNamespace(
+      XMLUtils.getAttributeValue(element, WSIConstants.ATTR_NAMESPACE));
+    wsdlElement.setParentElementName(
+      XMLUtils.getAttributeValue(
+        element,
+        WSIConstants.ATTR_PARENT_ELEMENT_NAME));
+
+    String wsdlElementName = XMLUtils.getText(element);
+    if (wsdlElementName.equals(""))
+    {
+      // Throw exception
+      throw new IllegalArgumentException(
+        getMessage("config19", "The WSDL element name must be specified."));
+    }
+    wsdlElement.setName(wsdlElementName);
+
+    return wsdlElement;
+  }
+
+  /**
+   * Determine if this element matches specified local name in the analyzer config namespace.
+   */
+  private boolean isElement(Element element, String localName)
+  {
+    return isElement(
+      element,
+      getValidWSIAnalyzerConfigNamespaces(),
+      localName);
+  }
+
+  
+  static public List getValidWSIAnalyzerConfigNamespaces()
+  {
+  	ArrayList list = new ArrayList();
+  	list.add(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG_2003);
+  	list.add(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG);
+  	return list;
+  }
+  
+  /**
+   * Determine if this element matches specified local name in the analyzer config namespace.
+   */
+  private boolean isElement(
+    Element element,
+    List namespaces,
+    String localName)
+  {
+    return XMLUtils.isElement(element, namespaces, localName);
+  }
+
+  /**
+   * Get message from resource bundle.
+   */
+  private String getMessage(String messageID, String defaultMessage)
+  {
+    return getMessage(messageID, null, defaultMessage);
+  }
+
+  /**
+   * Get message from resource bundle.
+   */
+  private String getMessage(
+    String messageID,
+    String messageData,
+    String defaultMessage)
+  {
+    String message = defaultMessage;
+    if (messageList != null)
+      message = messageList.getMessage(messageID, messageData, defaultMessage);
+    else
+      message += " " + messageData + ".";
+
+    return message;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AssertionResultsOptionImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/UDDIReferenceImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLElementImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/WSDLReferenceImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/AddStyleSheet.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/common/impl/AddStyleSheetImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentElement.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentFactory.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentReader.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/DocumentWriter.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/WSIDocument.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java
new file mode 100644
index 0000000..f18c74d
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java
@@ -0,0 +1,156 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.document.impl;
+
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AnalyzerConfigImpl;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AnalyzerConfigReaderImpl;
+import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
+import org.eclipse.wst.wsi.internal.core.log.Log;
+import org.eclipse.wst.wsi.internal.core.log.LogReader;
+import org.eclipse.wst.wsi.internal.core.log.LogWriter;
+import org.eclipse.wst.wsi.internal.core.log.impl.LogImpl;
+import org.eclipse.wst.wsi.internal.core.log.impl.LogReaderImpl;
+import org.eclipse.wst.wsi.internal.core.log.impl.LogWriterImpl;
+import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
+import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfigReader;
+import org.eclipse.wst.wsi.internal.core.monitor.config.impl.MonitorConfigImpl;
+import org.eclipse.wst.wsi.internal.core.monitor.config.impl.MonitorConfigReaderImpl;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
+import org.eclipse.wst.wsi.internal.core.profile.impl.ProfileAssertionsImpl;
+import org.eclipse.wst.wsi.internal.core.profile.impl.ProfileAssertionsReaderImpl;
+import org.eclipse.wst.wsi.internal.core.report.Report;
+import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
+import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
+import org.eclipse.wst.wsi.internal.core.report.impl.ReportWriterImpl;
+
+/**
+ * This is the implementation of the Conformance document factory which provides access to
+ * implementations of the documents, readers and writers. 
+ * 
+ * @version 1.0.1
+ * @author Peter Brittenham (peterbr@us.ibm.com)
+ */
+public class DocumentFactoryImpl extends DocumentFactory
+{
+  /**
+   * Document factory implementation.
+   */
+  public DocumentFactoryImpl()
+  {
+  }
+
+  /**
+   * Create log file.
+   */
+  public Log newLog()
+  {
+    return new LogImpl();
+  }
+
+  /**
+   * Create monitor config.
+   */
+  public MonitorConfig newMonitorConfig()
+  {
+    return new MonitorConfigImpl();
+  }
+
+  /**
+   * Create analyzer config.
+   */
+  public AnalyzerConfig newAnalyzerConfig()
+  {
+    return new AnalyzerConfigImpl();
+  }
+
+  /**
+   * Create profile assertions.
+   */
+  public ProfileAssertions newProfileAssertions()
+  {
+    return new ProfileAssertionsImpl();
+  }
+
+  /**
+   * Create report.
+   */
+  public Report newReport()
+  {
+    return new ReportImpl();
+  }
+
+  /**
+   * Create monitor config reader.
+   */
+  public MonitorConfigReader newMonitorConfigReader()
+  {
+    return new MonitorConfigReaderImpl();
+  }
+
+  /**
+   * Create analyzer config reader.
+   */
+  public AnalyzerConfigReader newAnalyzerConfigReader()
+  {
+    return new AnalyzerConfigReaderImpl();
+  }
+
+  /**
+   * Create profile assertions reader.
+   */
+  public ProfileAssertionsReader newProfileAssertionsReader()
+  {
+    // Return implementation
+    return new ProfileAssertionsReaderImpl();
+  }
+
+  /**
+   * Create log reader.
+   */
+  public LogReader newLogReader()
+  {
+    // Return implementation
+    return new LogReaderImpl();
+  }
+
+  // WRITERS
+
+  /**
+   * Create log writer.
+   */
+  public LogWriter newLogWriter()
+  {
+    return new LogWriterImpl();
+  }
+
+  /**
+   * Create a new instance of a DocumentReader.
+   */
+  public ReportWriter newReportWriter()
+  {
+    // Return implementation
+    return new ReportWriterImpl();
+  }
+
+  /**
+   * Find the factory class name which can be specified as a Java property.
+   */
+  //private static String getFactoryClassName()
+  //{
+  //  // Get property value
+  //  return WSIProperties.getProperty(
+  //    WSIProperties.PROP_DOCUMENT_FACTORY,
+  //    WSIProperties.DEF_DOCUMENT_FACTORY);
+  //}
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/document/impl/DocumentWriterImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/Log.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/Log.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/Log.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/Log.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogBuilder.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogBuilder.java
new file mode 100644
index 0000000..2a80668
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogBuilder.java
@@ -0,0 +1,429 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.log;
+
+import java.io.PrintWriter;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.TimeZone;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.ToolInfo;
+import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
+import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
+import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
+import org.eclipse.wst.wsi.internal.core.log.Log;
+import org.eclipse.wst.wsi.internal.core.log.LogWriter;
+import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
+import org.eclipse.wst.wsi.internal.core.log.MimeParts;
+import org.eclipse.wst.wsi.internal.core.log.RequestHandler;
+import org.eclipse.wst.wsi.internal.core.log.impl.LogImpl;
+import org.eclipse.wst.wsi.internal.core.log.impl.LogWriterImpl;
+import org.eclipse.wst.wsi.internal.core.log.impl.MessageEntryImpl;
+import org.eclipse.wst.wsi.internal.core.monitor.config.Comment;
+import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
+import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
+import org.eclipse.wst.wsi.internal.core.monitor.config.impl.CommentImpl;
+import org.eclipse.wst.wsi.internal.core.monitor.config.impl.ManInTheMiddleImpl;
+import org.eclipse.wst.wsi.internal.core.util.Utils;
+
+/**
+ * Given a list of RequestHandlers, this class builds a 
+ * WS-I compliant Message Log file.
+ * 
+ * @author David Lauzon, IBM
+ */
+public class LogBuilder
+{
+  public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
+
+  /**
+   * IDs to identify requests and corresponding responses.
+   */
+  protected int conversationId = 1;
+
+  /**
+   * IDs to uniquely identify each and every message within the log file.
+   */
+  protected int id = 1;
+
+  /**
+   * The actual log object.
+   */
+  protected Log log = null;
+
+  /**
+   * The log file.
+   */
+  protected IFile ifile;
+
+  /**
+   * Tool information property values.
+   */
+  private static final String TOOL_NAME = "Monitor";
+  private static final String TOOL_VERSION = "1.0";
+  private static final String TOOL_RELEASE_DATE = "2003-03-20";
+  private static final String TOOL_IMPLEMENTER = "IBM";
+  private static final String TOOL_LOCATION = "";
+
+  /**
+   * Common timestamp format.
+   */
+  public static final SimpleDateFormat timestampFormat = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+
+  /**
+   * Constructor.
+   * @param ifile: the file handler for the log.
+   */
+  public LogBuilder(IFile ifile)
+  {
+    this.ifile = ifile;
+  }
+
+  /**
+   * This builds and then returns a log based on the list of request-response pairs.
+   * @param requestResponses: a list of messages in the form of request-response pairs.
+   * @return a log based on a list of request-response pairs.
+   */
+  public Log buildLog(List requestResponses)
+  {
+    log = new LogImpl();
+    logMonitorInformation();
+
+    // log the messages
+    for (Iterator i = requestResponses.iterator(); i.hasNext();)
+    {
+      RequestHandler rr = (RequestHandler)i.next();
+      if ((rr != null) && (!omitRequestResponse(rr)))
+      {
+        logRequestResponse(rr);
+      }
+    }
+    return log;
+  }
+
+  /**
+   * Currently a no-op.
+   */
+  public void logMonitorInformation()
+  {
+  }
+
+  /**
+   * Log the request-response pair.
+   *@param rr: a request-response pair.
+   */
+  protected void logRequestResponse(RequestHandler rr)
+  {
+    if (rr != null)
+    {
+      String requestHeader = new String(rr.getRequestHeader());
+      String responseHeader = new String(rr.getResponseHeader());
+      
+      byte[] unchunkedRequestBody = rr.getRequestContent();
+      byte[] unchunkedResponseBody = rr.getResponseContent();
+ 
+      long timestamp = rr.getDate().getTime();
+      String localHostAndPort = "localhost:" + rr.getLocalPort();
+      String remoteHostAndPort = rr.getRemoteHost() + ":" + rr.getRemotePort();
+
+      int requestId  = getNextAvailableId();
+      int responseId = getNextAvailableId();
+      int conversationId = getNextAvailableConversationId();
+
+      MessageEntry messageEntryRequest = createMessageEntry(requestId, conversationId, 
+                MessageEntry.TYPE_REQUEST, timestamp, localHostAndPort,
+                remoteHostAndPort, unchunkedRequestBody, requestHeader);
+
+      MessageEntry messageEntryResponse = createMessageEntry(responseId, conversationId, 
+                MessageEntry.TYPE_RESPONSE, timestamp + rr.getResponseTime(), remoteHostAndPort,
+                localHostAndPort, unchunkedResponseBody, responseHeader);
+      try
+      {
+        if ((messageEntryRequest != null) &&
+            (messageEntryResponse != null) &&
+            ((messageEntryRequest.isMimeContent()) ||
+			 (isMessageWithBrackets(messageEntryRequest.getMessage()))))
+        {
+                log.addLogEntry(messageEntryRequest);
+               log.addLogEntry(messageEntryResponse);
+        }
+      }
+      catch (Exception e)
+      {
+        // ignore the request response pair
+      }
+    }
+  }
+
+  /**
+   * Returns true if the content of the message has at least
+   * one left and one right bracket.
+   * @param message: a message content.
+   * @return true if the content of the message has at least
+   *         one left and one right bracket.
+   */
+  public boolean isMessageWithBrackets(String message)
+  {
+    return ((message != null) && 
+            (message.indexOf("<")!= -1) && 
+            (message.indexOf(">") != -1));
+  }
+  /**
+   * Returns the header of a message.
+   * @param requestOrResponse: a message.
+   * @param headerLength: the length of the header in the message.
+   * @return the header of a message.
+   */ 
+  protected String getHeader(byte[] requestOrResponse,  int headerLength)
+  {
+    String result = null;
+    
+    if ((requestOrResponse != null) && 
+        (headerLength > 0) && 
+        (requestOrResponse.length >= headerLength))
+    {
+      byte[] header = new byte[headerLength];
+      System.arraycopy(requestOrResponse, 0, header, 0, headerLength);
+      result = new String(header);
+    }
+    return result;
+  }
+
+  /**
+   * Returns the body of a message.
+   * @param requestOrResponse: a message.
+   * @param headerLength: the length of the header in the message.
+   * @return the body of a message.
+   */ 
+  protected String getBody(byte[] requestOrResponse,  int headerLength)
+  {
+    String result = null;
+    
+    if ((requestOrResponse != null) && 
+        (headerLength > 0) && 
+        (requestOrResponse.length > headerLength))
+    {
+      int bodyLength = requestOrResponse.length - headerLength;
+      byte[] body = new byte[bodyLength];
+      System.arraycopy(requestOrResponse, headerLength, body, 0, bodyLength);
+      result = new String(body);
+    }
+    return result;
+  }
+      
+  /**
+   * Create a log entry.
+   * @param id: unique message id within the log.
+   * @param conversationId: conversation id to identify request-response pairs.
+   * @param type: type indicating a request or response.
+   * @param timestamp: the date and time of the message.
+   * @param senderHostAndPort: the host and port of the sender.
+   * @param receiverHostAndPort: the host and port of the receiver.
+   * @param messageContent: the content or body of the message.
+   * @param header: the header of the message.
+   * @return a log entry.
+   */
+  protected MessageEntry createMessageEntry(int id, int conversationId, String type, long timestamp, 
+        String senderHostAndPort, String receiverHostAndPort, byte[] messageContent, String header) 
+  {
+ 	// Create log entry
+    MessageEntry messageEntry = new MessageEntryImpl();
+    messageEntry.setId(String.valueOf(id));
+    messageEntry.setConversationId(String.valueOf(conversationId));
+    messageEntry.setType(type);
+    messageEntry.setTimestamp(getTimestamp(new Date(timestamp)));
+    messageEntry.setSenderHostAndPort(senderHostAndPort);
+    messageEntry.setReceiverHostAndPort(receiverHostAndPort);
+    messageEntry.setEncoding(WSIConstants.DEFAULT_XML_ENCODING);
+    
+    messageEntry.setHTTPHeaders(header);
+
+    if (Utils.isMultipartRelatedMessage(header))
+    {
+    	MimeParts mimeParts = Utils.parseMultipartRelatedMessage(messageContent, header, WSIConstants.DEFAULT_XML_ENCODING);
+    	if (mimeParts == null)
+    	{
+    	  // problem creating Mimeparts -- treat it as simple SOAP message
+    	  messageEntry.setMessage(new String(messageContent));
+    	  messageEntry.setMimeContent(false);
+    	}
+    	else
+    	{
+          messageEntry.setMimeParts(mimeParts);
+          messageEntry.setMimeContent(true);
+    	}
+    }
+    else
+    {
+      // Get the message content
+      messageEntry.setMessage(new String(messageContent));
+      messageEntry.setMimeContent(false);
+    }
+    return messageEntry;
+  }
+
+  /**
+   * Returns the next available id, then increments the id value.
+   * @return the next available id.
+   */
+  protected int getNextAvailableId()
+  {
+    return id++;
+  }
+
+  /**
+   * Returns the next available conversation id, then increments the conversation id value.
+   * A conversation id identfies a request and its corresponding response.
+   * @return the next available converasationid.
+   */
+  protected int getNextAvailableConversationId()
+  {
+    return conversationId++;
+  }
+
+  public int getHeaderLength(Integer obj)
+  {
+    int result = 0;
+    if (obj != null)
+    {
+      result = obj.intValue();
+    }
+    return result;
+  }
+
+  /**
+   * Check for HTTP messages that should not be logged.
+   * @param rr: a request-response pair.
+   * @return true if the request-response pair should be omitted from the log.
+   */
+  private boolean omitRequestResponse(RequestHandler rr) 
+  {
+    boolean omit = false;
+    if (rr != null)
+    {
+      String request = rr.getRequestHeader().toString();
+      if ((request != null) &&
+          ((request.startsWith("CONNECT")) ||
+           (request.startsWith("TRACE")) || 
+           (request.startsWith("DELETE")) || 
+           (request.startsWith("OPTIONS")) || 
+           (request.startsWith("HEAD"))))
+      { 
+        omit = true;
+      }
+    }
+    return omit;
+  }
+
+  /**
+   * Write log out to file.
+   * @param log: log to be written to file.
+   */
+
+  public void writeLog(Log log)
+  {
+    try
+    {
+      // Get log writer
+      LogWriter logWriter = new LogWriterImpl();
+    
+      logWriter.setWriter(ifile.getLocation().toString());
+      
+      // Write start of log file
+      logWriter.write(new StringReader(log.getStartXMLString("")));
+    
+      // Write monitor tool information
+      String monitorInfo = generateMonitorToolInfo();
+      logWriter.write(new StringReader(monitorInfo));
+
+      for (int i=0; i<log.getEntryCount(); i++)
+      {
+        MessageEntry me = log.getLogEntry(i);
+        logWriter.write(new StringReader(me.toXMLString("")));
+      }
+      logWriter.write(new StringReader(log.getEndXMLString("")));
+      logWriter.close();
+    }
+    catch (Exception e)
+    {
+      System.out.println("Exception thrown when printing log file.");
+    }
+  }
+
+
+  /**
+   * Returns XML string representation of the Monitor tool.
+   * @return XML string representation of the Monitor tool.
+   */
+  protected String generateMonitorToolInfo()
+  {
+
+    StringWriter sw = new StringWriter();
+    PrintWriter pw = new PrintWriter(sw); 
+
+    try
+    {
+      // Tool information
+      ToolInfo toolInfo = new ToolInfo(TOOL_NAME, TOOL_VERSION, TOOL_RELEASE_DATE, TOOL_IMPLEMENTER, TOOL_LOCATION);
+
+      DocumentFactory documentFactory = DocumentFactory.newInstance();
+      MonitorConfig monitorConfig = documentFactory.newMonitorConfig();
+    
+      Comment comment = new CommentImpl();
+      comment.setText("Comment");
+      monitorConfig.setComment(comment);
+      monitorConfig.setLogLocation("URL");
+      monitorConfig.setReplaceLog(true);
+
+      AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
+      monitorConfig.setAddStyleSheet(addStyleSheet);
+
+      monitorConfig.setLogDuration(600);
+      monitorConfig.setTimeout(3);
+     
+      ManInTheMiddle manInTheMiddle = new ManInTheMiddleImpl();
+      monitorConfig.setManInTheMiddle(manInTheMiddle);
+
+      monitorConfig.setLocation("documentURI");
+      monitorConfig.setVerboseOption(false);
+
+      // Start     
+      pw.print(toolInfo.getStartXMLString(""));
+    
+      // Config
+      pw.print(monitorConfig.toXMLString(WSIConstants.NS_NAME_WSI_MONITOR_CONFIG));
+
+      // End
+      pw.println(toolInfo.getEndXMLString(""));
+    }
+    catch (Exception e)
+    {
+    }
+    return sw.toString();
+  }
+
+  /**
+   * Get the given date and time as a timestamp.
+   * @param date: a date object.
+   * @return the given date and time as a timestamp.
+   */
+  public static String getTimestamp(Date date)
+  {
+    timestampFormat.setTimeZone(TimeZone.getDefault());
+    return timestampFormat.format(date);
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/LogReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogReader.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/LogReader.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogReader.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/LogWriter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogWriter.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/LogWriter.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/LogWriter.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntry.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MessageEntryHandler.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimePart.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimePart.java
new file mode 100644
index 0000000..ee46dc5
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimePart.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.log;
+
+import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
+
+/**
+ * @author lauzond
+ * 
+ * TODO To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Style - Code Templates
+ */
+public interface MimePart extends DocumentElement {
+
+	/**
+	 * Gets the content for the mime part.
+	 * 
+	 * @return the mime content.
+	 * @see #setContent
+	 */
+	public String getContent();
+
+	/**
+	 * Sets the content for the mime part.
+	 * 
+	 * @param mimeContent
+	 *            the mime content.
+	 * @see #getContent
+	 */
+	public void setContent(String mimeContent);
+
+	/**
+	 * Gets the headers for the mime part.
+	 * 
+	 * @return the mime headers.
+	 * @see #setMimeHeaders
+	 */
+	public String getHeaders();
+
+	/**
+	 * Sets the headers for the mime part.
+	 * 
+	 * @param mimeHeaders
+	 *            the mime headers.
+	 * @see #getHeaders
+	 */
+	public void setHeaders(String mimeHeaders);
+
+	/**
+	 * Gets the boundary strings for the mime part. Note that the last part of a
+	 * multipart/ related message will have 2 boundary strings. All other parts
+	 * will have one.
+	 * 
+	 * @return the boundary strings.
+	 * @see #setBoundaryStrings
+	 */
+	public String[] getBoundaryStrings();
+
+	/**
+	 * Sets the boundary strings for the mime part. Note that the last part of a
+	 * multipart/ related message will have 2 boundary strings. All other parts
+	 * will have one.
+	 * 
+	 * @param boundaryStrings
+	 *            the boundary strings.
+	 * @see #getBoundaryStrings
+	 */
+	public void setBoundaryStrings(String[] mimeHeaders);
+
+	public String toXMLString(String namespaceName);
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MimeParts.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimeParts.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MimeParts.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/MimeParts.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/RequestHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/RequestHandler.java
new file mode 100644
index 0000000..8a92df4
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/RequestHandler.java
@@ -0,0 +1,132 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.log;
+
+import java.util.Date;
+
+/**
+ * Represents a TCP/IP request made between the client and the server.
+ * Each request represents a request-response pair, where the request
+ * is from client -> server, and the response is from server -> client.
+ * 
+ * @author lauzond
+ */
+
+public interface RequestHandler 
+{
+	/**
+	 * Returns just the HTTP header of the request portion of this request.
+	 * @return the content bytes
+	 */
+	byte[] getRequestHeader();
+
+	/**
+	 * Add the HTTP header of the request portion of this request.
+	 * @param requestHeader byte[]
+	 */
+	void setRequestHeader(byte[] requestHeader);
+
+	/**
+	 * Returns just the HTTP header of the response portion of this request.
+	 * @return the content bytes
+	 */
+	byte[] getResponseHeader();
+
+	/**
+	 * Add the HTTP header of the response portion of this request.
+	 * @param responseHeader byte[]
+	 */
+	void setResponseHeader(byte[] responseHeader);
+
+	/**
+	 * Returns just the HTTP body of the request portion of this request.
+	 * @return the content bytes
+	 */
+	byte[] getRequestContent();
+
+	/**
+	 * Add the HTTP body of the request portion of this request.
+	 * @param requestContent byte[]
+	 */
+	void setRequestContent(byte[] requestContent);
+
+	/**
+	 * Returns just the HTTP body of the response portion of this request.
+	 * @return the content bytes
+	 */
+	byte[] getResponseContent();
+
+	/**
+	 * Add the HTTP body of the response portion of this request.
+	 * @param responseContent byte[]
+	 */
+	void setResponseContent(byte[] responseContent);
+
+	/**
+	 * Returns the time this request was made.
+	 * @return the timestamp
+	 */
+	Date getDate();
+
+	/**
+	 * Add the time this request was made.
+	 * @param date the time
+	 */
+    void setDate(Date date);
+
+    /**
+	 * Returns the local (client) port.
+	 * @return the local port number
+	 */
+	int getLocalPort();
+
+	/**
+	 * Add the local (client) port.
+	 * @param localPort the local port
+	 */
+	void setLocalPort(int localPort);
+
+	/**
+	 * Returns the remote (server) port.
+	 * @return the remote port number
+	 */
+	int getRemotePort();
+
+	/**
+	 * Add the the remote (server) port.
+	 * @param remotePort the remote port
+	 */
+	void setRemotePort(int remotePort);
+
+	/**
+	 * Returns the remote (server) host.
+     * @return the remote host
+	 */
+	String getRemoteHost();
+
+	/**
+	 * Add the remote (server) host.
+	 * @param remoteHost the remote host
+	 */
+	void setRemoteHost(String remoteHost);
+
+	/**
+	 * Returns the server's response time in milliseconds. 
+	 * @return the server's response time
+	 */
+	long getResponseTime();
+
+	/**
+	 * Add the the server's response time in milliseconds. 
+	 * @param responseTime the response time
+	 */
+	void setResponseTime(long responseTime);
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogReaderImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/LogWriterImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MessageEntryImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java
new file mode 100644
index 0000000..c9e7dfe
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.log.impl;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.log.MimePart;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+
+/**
+ * @author lauzond
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class MimePartImpl implements MimePart 
+{
+  private String mimeContent;
+  private String mimeHeaders;
+  private String[] boundaryStrings = new String[0];
+  
+  public MimePartImpl ()
+  {
+  }
+  
+  /* (non-Javadoc)
+   * @see org.wsi.test.log.MimePart#getContent()
+   */
+  public String getContent()
+  {
+    return this.mimeContent;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.log.MimePart#setContent(String)
+   */
+  public void setContent(String mimeContent)
+  {
+  	this.mimeContent = mimeContent;
+  }
+
+  /**
+  /* (non-Javadoc)
+   * @see org.eclipse.wst.wsi.internal.core.log.MimePart#getHeaders()
+   */
+  public String getHeaders()
+  {
+  	return this.mimeHeaders;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.log.MimePart#setHeaders(String)
+   */
+  public void setHeaders(String mimeHeaders)
+  {
+  	this.mimeHeaders = mimeHeaders;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.log.MimePart#getBoundaryStrings()
+   */
+  public String[] getBoundaryStrings()
+  {
+  	return this.boundaryStrings;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.log.MimePart#setBoundaryStrings(String[])
+   */
+  public void setBoundaryStrings(String[] boundaryStrings)
+  {
+  	this.boundaryStrings = boundaryStrings;
+  }
+
+  /**
+   * Get string representation of this object.
+   */
+  public String toString()
+  {
+    return toXMLString(WSIConstants.NS_NAME_WSI_LOG);
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.document.DocumentElement#toXMLString(String)
+   */
+  public String toXMLString(String namespaceName)
+  {
+    StringWriter sw = new StringWriter();
+    PrintWriter pw = new PrintWriter(sw);
+
+    String nsName = namespaceName;
+    if ((!nsName.equals("") && (!nsName.endsWith(":"))))
+      nsName += ":";
+
+    // Add mimePart element
+    pw.println("<" + nsName + WSIConstants.ELEM_MIME_PART  + ">");
+    
+    // Add boundary string element
+     for (int i = 0; i < boundaryStrings.length; i++)
+    {
+        pw.print("<" + nsName + WSIConstants.ELEM_BOUNDARY_STRING + ">");
+        pw.print(boundaryStrings[i]);
+        pw.println("</" + nsName + WSIConstants.ELEM_BOUNDARY_STRING + ">");
+    }
+   
+    // Add mimeHeaders element
+    pw.print("<" + nsName + WSIConstants.ELEM_MIME_HEADERS + ">");
+    pw.print(XMLUtils.xmlEscapedString(mimeHeaders));
+    pw.println("</" + nsName + WSIConstants.ELEM_MIME_HEADERS + ">");
+
+    // Add encoded content
+    pw.print("<" + nsName + WSIConstants.ELEM_MIME_CONTENT + ">");
+    if ((mimeContent.indexOf("<") != -1)  || 
+        (mimeContent.indexOf(">") != -1)  || 
+		(mimeContent.indexOf("\"") != -1) ||
+		(mimeContent.indexOf("\'") != -1))
+    	pw.print(XMLUtils.xmlEscapedString(mimeContent));
+    else
+        pw.print(getContent());
+    pw.println("</" + nsName + WSIConstants.ELEM_MIME_CONTENT + ">");
+ 
+    // Add end message element
+    pw.println("</" + nsName + WSIConstants.ELEM_MIME_PART + ">");
+
+    // Return string
+    return sw.toString();
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/log/impl/MimePartsImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java
new file mode 100644
index 0000000..c6b1a01
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java
@@ -0,0 +1,221 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.monitor;
+
+/**
+ * This class will process chunked data.
+ * 
+ * @author Peter  Brittenham (peterbr@us.ibm.com)
+ * @version 1.0.1
+ */
+public class ChunkedData
+{
+  protected boolean moreChunkedData = false;
+  protected String chunkedData = "";
+  protected SocketHandler socketHandler = null;
+
+  /**
+   * Constructs a ChunkedData object.
+   */
+  public ChunkedData()
+  {
+  }
+
+  /**
+   * Constructs a ChunkedData object.
+   * @param socketHandler socket handler.
+   * @param moreChunkedData chunked data.
+   */
+  public ChunkedData(SocketHandler socketHandler, boolean moreChunkedData)
+  {
+    this.socketHandler = socketHandler;
+    this.moreChunkedData = moreChunkedData;
+  }
+
+  /**
+   * Constructs a ChunkedData object.
+   * @param socketHandler socket handler.
+   * @param chunkedData chunked data.
+   */
+  public ChunkedData(SocketHandler socketHandler, String chunkedData)
+  {
+    this.socketHandler = socketHandler;
+    this.chunkedData = chunkedData;
+    this.moreChunkedData = checkData(chunkedData);
+  }
+
+  /**
+   * Add the chunked data to the buffer.
+   * @param chunkedData chunked data.
+   */
+  public void addData(String chunkedData)
+  {
+    this.chunkedData += chunkedData;
+    this.moreChunkedData = checkData(chunkedData);
+  }
+
+  /**
+   * Get data buffer.
+   * @return  data buffer.
+   */
+  public String getData()
+  {
+    return this.chunkedData;
+  }
+
+  /**
+   * Clear data buffer.
+   */
+  public void clearData()
+  {
+    this.chunkedData = "";
+  }
+
+  /**
+   * Returns true if there is more chunked data.
+   * @return true if there is more chunked data.
+   */
+  public boolean isMoreChunkedData()
+  {
+    return this.moreChunkedData;
+  }
+
+  /**
+   * Decode and add data to the buffer.
+   * @param messageBuffer a StringBuffer object.
+   * @return true if data is added to the buffer.
+   */
+  public boolean decodeAndAddDataToBuffer(StringBuffer messageBuffer)
+  {
+    boolean moreChunkedData = false;
+    if (!this.moreChunkedData)
+    {
+      // DEBUG:
+      debug("decodeAndAddDataToBuffer", "chunkedData: " + chunkedData);
+
+      moreChunkedData = decodeData(chunkedData, messageBuffer);
+    }
+
+    return moreChunkedData;
+  }
+
+  /**
+   * Check data.
+   */
+  private boolean checkData(String chunkedData)
+  {
+    boolean moreChunkedData = false;
+    // Look for [CRLF][0][CRLF] in the chunked data      
+    if (chunkedData.indexOf(SocketHandler.CRLF + "0" + SocketHandler.CRLF) != -1)
+    {
+      moreChunkedData = false;
+
+      // DEBUG:
+      debug(
+        "checkData",
+        "Chunk contains [CRLF][0][CRLF], so there is no more data.");
+    }
+
+    // Look for [0][CRLF] at start of chunked data      
+    else if (chunkedData.startsWith("0" + SocketHandler.CRLF))
+    {
+      moreChunkedData = false;
+
+      // DEBUG:
+      debug(
+        "checkData",
+        "Chunk data starts with [0][CRLF], so there is no more data.");
+    }
+
+    // Otherwise step through it to see if we have all of the data
+    else
+    {
+      moreChunkedData = true;
+    }
+
+    return moreChunkedData;
+  }
+
+  /**
+   * Decode chunked data.
+   * 
+   * Data format:
+   * <pre>
+   *   [Chunk Size][CRLF][Data Chunk][CRLF][Chunk Size][CRLF][Data Chunk][CRLF]...[0][CRLF][Optional Footer][CRLF]
+   * </pre>
+   * 
+   * @param chunkedData
+   * @param messageLoggingBuffer
+   */
+  private boolean decodeData(String chunkedData, StringBuffer messageBuffer)
+  {
+    boolean endOfData = false;
+    int nextIndex = 0;
+    int prevIndex = 0;
+    int chunkSize = 0;
+
+    String nextChunkData = null;
+
+    // Process each chunk of data
+    while (!(endOfData)
+      && (nextIndex < chunkedData.length())
+      && (nextIndex = chunkedData.indexOf(SocketHandler.CRLF, prevIndex)) != -1)
+    {
+      // Get the data length which is right after this
+      String hexChunkedSize = chunkedData.substring(prevIndex, nextIndex);
+
+      // Decode length
+      chunkSize = Integer.decode("0x" + hexChunkedSize).intValue();
+
+      // DEBUG:
+      debug("decodeData", "chunkedSize: " + chunkSize);
+
+      // If size is zero, then we have hit the end of the chunked data
+      if (chunkSize == 0)
+      {
+        endOfData = true;
+      }
+
+      // If we don't have all of the data then stop
+      else if (nextIndex + 2 + chunkSize > chunkedData.length())
+      {
+        break;
+      }
+
+      else
+      {
+        nextChunkData =
+          chunkedData.substring(nextIndex + 2, nextIndex + 2 + chunkSize);
+
+        // DEBUG:
+        debug("decodeData", "nextChunkData: " + nextChunkData);
+
+        // Get message based on length
+        if (messageBuffer != null)
+          messageBuffer.append(nextChunkData);
+      }
+
+      // Point at the next chunk size
+      prevIndex = nextIndex + 2 + chunkSize + 2;
+    }
+
+    return endOfData;
+  }
+
+  /**
+   * Debug.
+   */
+  private void debug(String method, String message)
+  {
+    this.socketHandler.debug("ChunkedData", method, message);
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ConnectionListener.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java
new file mode 100644
index 0000000..59e2fd6
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java
@@ -0,0 +1,505 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.monitor;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Iterator;
+import java.util.Vector;
+
+import org.eclipse.wst.wsi.internal.core.ToolInfo;
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSIFileNotFoundException;
+import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
+import org.eclipse.wst.wsi.internal.core.log.Log;
+import org.eclipse.wst.wsi.internal.core.log.LogWriter;
+import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
+import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
+import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
+import org.eclipse.wst.wsi.internal.core.util.MessageList;
+import org.eclipse.wst.wsi.internal.core.util.TestUtils;
+
+/**
+ * Message Monitor.
+ *
+ * @author Peter Brittenham (peterbr.us.ibm.com)
+ */
+
+public class Monitor
+{
+  /**
+   * Message list.
+   */
+  protected MessageList messageList = null;
+
+  private final static String RESOURCE_BUNDLE_NAME =
+    "org.wsi.test.monitor.Monitor";
+
+  public final static String USAGE_MESSAGE =
+    "Usage: Monitor -config <configFilename>";
+
+  /**
+   * Converstation ID.
+   */
+  private int conversationId = 1;
+
+  private Log log = null;
+  private LogWriter logWriter = null;
+  private MonitorConfig monitorConfig = null;
+
+  /**
+  * Tool information.
+  */
+  public static final String TOOL_NAME = "Monitor";
+
+  protected ToolInfo toolInfo = null;
+
+  protected Vector listenerList = new Vector();
+
+  protected MessageEntryQueue messageEntryQueue = null;
+
+  /**
+   * Message monitor.
+   * @param args command line arguments.
+   * @throws WSIException if there is a problem creating a Monitor object.
+   */
+  public Monitor(String[] args) throws WSIException
+  {
+    // Create message list
+    this.messageList = new MessageList(RESOURCE_BUNDLE_NAME);
+
+    // Tool information
+    toolInfo = new ToolInfo(TOOL_NAME);
+
+    // Create document factory
+    DocumentFactory documentFactory = DocumentFactory.newInstance();
+
+    // Get new config object
+    monitorConfig = documentFactory.newMonitorConfig();
+    monitorConfig.init(this.messageList);
+
+    // Parse command line arguments
+    monitorConfig.parseArgs(args);
+
+    String logLocation = monitorConfig.getLogLocation();
+    if (logLocation.indexOf(WSIConstants.PATH_SEPARATOR) > -1)
+    {
+      throw new WSIException(
+        messageList.getMessage(
+          "config11",
+          monitorConfig.getLogLocation(),
+          "The log file location value cannot contain the pass separator character:"));
+    }
+
+    File file = null;
+    try
+    {
+      // Get file object for log file
+      file = new File(monitorConfig.getLogLocation());
+    }
+
+    catch (Exception e)
+    {
+      throw new WSIException(
+        messageList.getMessage("config07", "Could not get log file location."),
+        e);
+    }
+
+    // If replace flag is false and file exists, then throw exception
+    if (file.exists() && !monitorConfig.getReplaceLog())
+    {
+      throw new IllegalArgumentException(
+        messageList.getMessage(
+          "config08",
+          monitorConfig.getLogLocation(),
+          "Log file already exists:"));
+    }
+
+    try
+    {
+      // Create output file
+      log = documentFactory.newLog();
+
+      // Set style sheet string
+      log.setStyleSheetString(
+        monitorConfig.getAddStyleSheet().getStyleSheetString());
+
+      // Get log writer
+      logWriter = documentFactory.newLogWriter();
+      logWriter.setWriter(monitorConfig.getLogLocation());
+
+      // Write start of log file
+      logWriter.write(new StringReader(log.getStartXMLString("")));
+
+      // Write monitor tool information
+      logWriter.write(new StringReader(toXMLString("")));
+
+      // Create log entry queue
+      messageEntryQueue = new MessageEntryQueue(this, log, logWriter);
+    }
+
+    catch (Exception e)
+    {
+      throw new WSIException(
+        messageList.getMessage(
+          "error03",
+          "Could not create log or log writer."),
+        e);
+    }
+
+    // Get manInTheMiddle settings
+    ManInTheMiddle manInTheMiddle = monitorConfig.getManInTheMiddle();
+
+    // Get list of redirects
+    Iterator iterator = manInTheMiddle.getRedirectList().iterator();
+
+    // Process each redirect
+    Redirect redirect;
+    while (iterator.hasNext())
+    {
+      // Get next redirect
+      redirect = (Redirect) iterator.next();
+
+      // Create server socket socket listener
+      listenerList.add(new ServerSocketListener(this, redirect));
+    }
+
+    // Add shutdown hook
+    Runtime.getRuntime().addShutdownHook(new ShutdownHook());
+
+    // Create and start console
+    Console console = new Console();
+    console.start();
+  }
+
+  /**
+   * Get the monitor config file.
+   * @return the monitor config file.
+   */
+  public MonitorConfig getMonitorConfig()
+  {
+    return monitorConfig;
+  }
+
+  /**
+   * Get the log object.
+   * @return the log object.
+   */
+  public Log getLog()
+  {
+    return this.log;
+  }
+
+  /**
+   * Get the log entry queue object.
+   * @return the log entry queue object.
+   */
+  public MessageEntryQueue getMessageEntryQueue()
+  {
+    return this.messageEntryQueue;
+  }
+
+  /**
+   * Terminate the monitor.
+   */
+  void exitMonitor()
+  {
+    printMessage("stopping01", "Stopping the monitor...");
+    System.exit(0);
+  }
+
+  /**
+   * Stop the monitor because an exception occurred.
+   */
+  void exitMonitor(Exception e)
+  {
+    // Display error message
+    printMessage(
+      "stopping02",
+      "Stopping monitor because an exception occurred.");
+    System.err.println("EXCEPTION: " + e.toString());
+    if (this.monitorConfig.getVerboseOption())
+      e.printStackTrace();
+
+    // Exit monitor
+    exitMonitor();
+  }
+
+  /**
+   * Stop the monitor.
+   */
+  void stopMonitor()
+  {
+    try
+    {
+      // Get list of listeners to stop
+      Iterator iterator = listenerList.iterator();
+
+      while (iterator.hasNext())
+      {
+        ((ServerSocketListener) iterator.next()).shutdown();
+      }
+
+      // Wait for the cleanup timeout seconds
+      Thread.sleep(monitorConfig.getTimeout() * 1000);
+
+      // Write end of log file
+      if (logWriter != null)
+      {
+        logWriter.write(new StringReader(log.getEndXMLString("")));
+
+        logWriter.close();
+      }
+    }
+
+    catch (Exception e)
+    {
+      // ADD: How should this execption be handled?
+    }
+
+    printMessage("stopped01", "Monitor stopped.");
+  }
+
+  /**
+   * Command line interface.
+   * @param args command line arguments.
+   */
+  public static void main(String[] args)
+  {
+    Monitor monitor = null;
+
+    try
+    {
+      if (args.length < 2)
+      {
+        staticPrintMessage("usage01", USAGE_MESSAGE);
+        System.exit(1);
+      }
+
+      if (!args[0].equalsIgnoreCase("-config"))
+      {
+        staticPrintMessage("usage01", USAGE_MESSAGE);
+        System.exit(1);
+      }
+
+      // Run the monitor
+      monitor = new Monitor(args);
+    }
+
+    catch (Exception e)
+    {
+      boolean printStackTrace = true;
+      String messageID;
+      String defaultMessage;
+      String messageData;
+
+      if ((e instanceof WSIFileNotFoundException)
+        || (e instanceof IllegalArgumentException))
+      {
+        printStackTrace = false;
+        messageID = "error01";
+        defaultMessage = "Monitor Error:";
+        messageData = e.getMessage();
+      }
+
+      else
+      {
+        printStackTrace = true;
+        messageID = "error02";
+        defaultMessage = "Monitor Stopped By Exception:";
+        messageData = e.toString();
+      }
+
+      if (monitor != null)
+        monitor.printMessage(messageID, messageData, defaultMessage);
+      else
+        Monitor.staticPrintMessage(messageID, messageData, defaultMessage);
+
+      if (printStackTrace)
+        e.printStackTrace();
+
+      // Exit
+      if (monitor != null)
+        monitor.exitMonitor();
+      else
+        System.exit(2);
+    }
+  }
+
+  /**
+   * Print a message from the resource bundle.
+   * @param key a key.
+   * @param defaultMessage a default message.
+   */
+  public void printMessage(String key, String defaultMessage)
+  {
+    printMessage(key, null, defaultMessage);
+  }
+
+  /**
+   * Print a message from the resource bundle.
+   * @param key a key.
+   * @param messageData message data.
+   * @param defaultMessage a default message.
+   */
+  public void printMessage(
+    String key,
+    String messageData,
+    String defaultMessage)
+  {
+    messageList.printMessage(key, messageData, defaultMessage);
+  }
+
+  /**
+   * Print message.
+   * @param key a key.
+   * @param defaultMessage a default message.
+   */
+  public static void staticPrintMessage(String key, String defaultMessage)
+  {
+    staticPrintMessage(key, null, defaultMessage);
+  }
+
+  /**
+   * Print message.
+   * @param key a key.
+   * @param messageData message data.
+   * @param defaultMessage a default message.
+  
+   */
+  public static void staticPrintMessage(
+    String key,
+    String messageData,
+    String defaultMessage)
+  {
+    MessageList.printMessage(
+      RESOURCE_BUNDLE_NAME,
+      key,
+      messageData,
+      defaultMessage);
+  }
+
+  /**
+   * Get the next conversation identifier.
+   * @return the next conversation identifier.
+   */
+  synchronized int getNextConversationId()
+  {
+    return conversationId++;
+  }
+
+  /**
+   * Return XML string representation of this object.
+   * @param namespaceName namespace prefix.
+   * @return XML string representation of this object.
+   */
+  public String toXMLString(String namespaceName)
+  {
+    StringWriter sw = new StringWriter();
+    PrintWriter pw = new PrintWriter(sw);
+
+    // Start
+    pw.print(toolInfo.getStartXMLString(namespaceName));
+
+    // Config
+    pw.print(
+      monitorConfig.toXMLString(WSIConstants.NS_NAME_WSI_MONITOR_CONFIG));
+
+    // End
+    pw.println(toolInfo.getEndXMLString(namespaceName));
+
+    return sw.toString();
+  }
+
+  /**
+   * Shutdown hook.
+   */
+  class ShutdownHook extends Thread
+  {
+    /**
+     * Run shutdown procedure.
+     */
+    public void run()
+    {
+      stopMonitor();
+    }
+  }
+
+  /**
+   * Run command from console.
+   */
+  class Console extends Thread
+  {
+    /**
+     * Prompt user and wait for input.
+     */
+    public void run()
+    {
+      // Get the exit string
+      String exitString = messageList.getMessage("exit01", "exit");
+
+      // Display options and how to stop application
+      TestUtils.printToolInfo(toolInfo);
+      System.out.print(monitorConfig.toString());
+      System.out.println(" ");
+      printMessage(
+        "start01",
+        "The "
+          + toolInfo.getName()
+          + " tool is ready to intercept and log web service messages.");
+      printMessage(
+        "start02",
+        "Type \"exit\" to stop the " + toolInfo.getName() + ".");
+      System.out.println(" ");
+
+      // Get the time to stop accepting connections
+      long stopTime =
+        System.currentTimeMillis() + (monitorConfig.getLogDuration() * 1000);
+      // SS
+
+      try
+      {
+        // Get stdin as a buffered reader
+        BufferedReader reader =
+          new BufferedReader(new InputStreamReader(System.in));
+
+        // Process input from console
+        boolean exit = false;
+        while ((!exit) && (System.currentTimeMillis() < stopTime))
+        { // SS
+          // Sleep
+          Thread.sleep(500);
+
+          // Check for user input
+          if (reader.ready())
+          {
+            if (reader.readLine().equalsIgnoreCase(exitString))
+              exit = true;
+          }
+        }
+      }
+
+      catch (Exception e)
+      {
+        // ADD: How should this be handled?
+        System.err.println(e.toString());
+      }
+
+      // Exit
+      exitMonitor();
+    }
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/Monitor.properties
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/ServerSocketListener.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java
new file mode 100644
index 0000000..8a38a26
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java
@@ -0,0 +1,963 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2003 IBM Corporation, Beacon Information Technology Inc. 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      - Initial API and implementation
+ *   BeaconIT - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.monitor;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InterruptedIOException;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.Socket;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
+import org.eclipse.wst.wsi.internal.core.util.Utils;
+
+/**
+ * Socket Handler.
+ * 
+ * @author Peter  Brittenham (peterbr@us.ibm.com)
+ * @version 1.0.1
+ */
+public class SocketHandler extends Thread
+{
+  protected SocketConnection socketConnection;
+  protected SocketHandler pairedSocketHandler;
+  protected String connectionType;
+  protected int conversationID;
+  protected String targetHost;
+  protected int readTimeoutSeconds;
+
+  protected Socket inSocket;
+  protected Socket outSocket;
+  protected InputStream inputStream = null;
+  protected OutputStream outputStream = null;
+
+  protected boolean verbose = false;
+
+  protected boolean readTimedOut = false;
+
+  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
+  private String mimeCharset = null;
+  private String xmlEncoding = null;
+
+  protected static final String CRLF = "\r\n";
+
+  protected static final String HTTP_100_CONTINUE =
+    "100 Continue".toUpperCase();
+  protected static final String CHUNKED =
+    "Transfer-Encoding: chunked".toUpperCase();
+  protected static final String CHUNKED_WITH_QUOTES =
+    "Transfer-Encoding: \"chunked\"".toUpperCase();
+  protected static final String CONTENT_LENGTH =
+    "Content-Length:".toUpperCase();
+
+  /**
+   * Create socket handler.
+   * @param socketConnection   socket connection.
+   * @param connectionType     connection type.
+   * @param conversationID     conversation id.
+   * @param targetHost         target host.
+   * @param inSocket           in socket.
+   * @param outSocket          out socket.
+   * @param readTimeoutSeconds read timeout seconds.
+   */
+  public SocketHandler(
+    SocketConnection socketConnection,
+    String connectionType,
+    int conversationID,
+    String targetHost,
+    Socket inSocket,
+    Socket outSocket,
+    int readTimeoutSeconds)
+  {
+    this.socketConnection = socketConnection;
+    this.connectionType = connectionType;
+    this.conversationID = conversationID;
+    this.targetHost = targetHost;
+    this.inSocket = inSocket;
+    this.outSocket = outSocket;
+    this.readTimeoutSeconds = readTimeoutSeconds;
+
+    // ADD:
+    verbose =
+      socketConnection.getMonitor().getMonitorConfig().getVerboseOption();
+
+    start();
+  }
+
+  /**
+   * Set paired socket handler.
+   * @param pairedSocketHandler paired socket handler.
+   */
+  public void setPairedSocketHandler(SocketHandler pairedSocketHandler)
+  {
+    this.pairedSocketHandler = pairedSocketHandler;
+  }
+
+  /**
+   * Send the data from the input socket to the output socket.
+   */
+  public void run()
+  {
+    int readLen;
+    String readMsg;
+    MessageContext messageContext = null;
+
+    // Create read buffer      
+    byte[] readBuffer = new byte[4096];
+
+    try
+    {
+      // Get the input and output streams
+      this.inputStream = this.inSocket.getInputStream();
+      this.outputStream = this.outSocket.getOutputStream();
+
+      // Process while the connection is active 
+      // (NOTE: there might be more than 1 message per connection)
+      boolean connectionActive = true;
+      while (connectionActive)
+      {
+        // Reset all data
+        readLen = 0;
+        messageContext = new MessageContext();
+
+        // Read until message is complete
+        boolean messageComplete = false;
+        while (!messageComplete)
+        {
+          try
+          {
+            // DEBUG:
+            debug("run", "Read data from the input stream.");
+
+            // Read data from the input stream
+            readLen = inputStream.read(readBuffer, 0, readBuffer.length);
+
+            // Reset read timeout flag
+            readTimedOut = false;
+
+            // DEBUG:
+            debug("run", "readLen: " + readLen);
+
+            if (readLen == -1)
+            {
+              connectionActive = false;
+              messageComplete = true;
+            }
+
+            // If data was read, then check for 100 continue
+            else if (readLen > 0)
+            {
+              // If this is the first data that was read, then get the timestamp
+              if (messageContext.timestamp == null)
+                messageContext.timestamp = Utils.getTimestamp();
+
+              if (connectionType.equals(MessageEntry.TYPE_REQUEST))
+              {
+                byte[] toHost =
+                  new String(
+                    socketConnection.redirect.getToHost()
+                      + ":"
+                      + socketConnection.redirect.getToPort())
+                    .getBytes();
+
+                String message = new String(readBuffer, 0, readLen);
+
+                int index = message.indexOf(CRLF + "Host: ");
+                if (index > -1)
+                {
+                  index += 8;
+                  int secondPart = message.indexOf(CRLF, index);
+
+                  // Write the data to the output stream and then go format it
+                  write(this.outputStream, readBuffer, 0, index);
+                  write(this.outputStream, toHost, 0, toHost.length);
+                  write(
+                    this.outputStream,
+                    readBuffer,
+                    secondPart,
+                    readLen - secondPart);
+                }
+                else
+                {
+                  // Write the data to the output stream and then go format it
+                  write(this.outputStream, readBuffer, 0, readLen);
+                }
+              }
+              else
+              {
+                // Write the data to the output stream and then go format it
+                write(this.outputStream, readBuffer, 0, readLen);
+              }
+
+              // DEBUG:
+              if (verbose)
+              {
+                String bufferString = new String(readBuffer, 0, readLen);
+                debug("run", "buffer as string: [" + bufferString + "]");
+                if (bufferString.length() <= 50)
+                  debug(
+                    "run",
+                    "buffer as hexstring: ["
+                      + Utils.toHexString(bufferString)
+                      + "]");
+                else
+                  debug(
+                    "run",
+                    "buffer as hexstring: ["
+                      + Utils.toHexString(bufferString.substring(0, 50))
+                      + " ...]");
+              }
+
+              // See if this part of the buffer contains the BOM
+              if (messageContext.bom == 0)
+              {
+                messageContext.bom = getBOM(readBuffer);
+              }
+
+              // DEBUG
+              debug("run", "bom: " + messageContext.bom);
+
+              String encoding;
+
+              try
+              {
+                encoding = getEncoding();
+                readMsg =
+                  new String(
+                    readBuffer,
+                    0,
+                    readLen,
+                    Utils.getJavaEncoding(encoding));
+                setEncoding(readMsg);
+                if (!encoding.equals(getEncoding()))
+                {
+                  encoding = getEncoding();
+                  readMsg =
+                    new String(
+                      readBuffer,
+                      0,
+                      readLen,
+                      Utils.getJavaEncoding(encoding));
+                }
+              }
+
+              catch (UnsupportedEncodingException uee)
+              {
+                debug("run", "EXCEPTION (3): " + uee.toString());
+                throw new RuntimeException(uee.toString());
+              }
+
+              // Set encoding in the message context
+              messageContext.encoding = encoding;
+
+              // DEBUG
+              debug("run", "encoding: " + messageContext.encoding);
+
+              // Process message
+              messageContext = processMessage(readLen, readMsg, messageContext);
+            }
+
+            // If message is complete, then log it and reset buffer
+            if ((isMessageComplete(messageContext))
+              || ((readLen == -1) && (messageContext.messageBuffer.length() > 0)))
+            {
+              // Log message
+              logMessage(messageContext);
+
+              // Set message complete
+              messageComplete = true;
+            }
+          }
+
+          catch (InterruptedIOException ie)
+          {
+            // Set read timeout flag
+            readTimedOut = true;
+
+            debug("run", "InterruptedIOException: " + ie.toString());
+
+            // If the read is not done, then shutdown 
+            if (pairedSocketHandler != null
+              && pairedSocketHandler.isReadWaiting()
+              && pairedSocketHandler.isReadTimedOut())
+            {
+              // DEBUG:
+              debug("run", "read timed out on both sockets");
+
+              // If there is data in the message buffer and it is complete, then log it
+              if ((isMessageComplete(messageContext))
+                || (messageContext.messageBuffer.length() > 0))
+              {
+                // Log message
+                logMessage(messageContext);
+              }
+
+              // Set message complete
+              connectionActive = false;
+              messageComplete = true;
+            }
+          }
+
+          catch (Exception e2)
+          {
+            // DEBUG:
+            debug(
+              "run",
+              "EXCEPTION (2): "
+                + e2.toString()
+                + "\n"
+                + Utils.getExceptionDetails(e2));
+            //e2.printStackTrace();
+
+            // If there is data in the message buffer and it is complete, then log it
+            if ((isMessageComplete(messageContext))
+              || (messageContext.messageBuffer.length() > 0))
+            {
+              // Log message
+              logMessage(messageContext);
+            }
+
+            // Set message complete
+            connectionActive = false;
+            messageComplete = true;
+          }
+        }
+      }
+    }
+
+    catch (Exception e)
+    {
+      // DEBUG:
+      debug(
+        "run",
+        "EXCEPTION (1): "
+          + e.getMessage()
+          + "\n"
+          + Utils.getExceptionDetails(e));
+      //e.printStackTrace();
+    }
+
+    catch (Error err)
+    {
+      // DEBUG:
+      debug("run", "ERROR: " + err.getMessage());
+      //err.printStackTrace();
+    }
+
+    finally
+    {
+      shutdown();
+      socketConnection.wakeUp();
+    }
+  }
+
+  /**
+   * Process the message.
+   */
+  private MessageContext processMessage(
+    int readLen,
+    String readMsg,
+    MessageContext inMessageContext)
+    throws WSIException
+  {
+    boolean continueRead = false;
+
+    // Initialize message context                                       
+    MessageContext messageContext = inMessageContext;
+
+    // Get message buffer and chunked data from message context
+    StringBuffer messageBuffer = messageContext.messageBuffer;
+    ChunkedData chunkedData = messageContext.chunkedData;
+
+    // If all we received was the header with 100 continue, then ignore it
+    if ((readMsg.toUpperCase().indexOf(HTTP_100_CONTINUE) != -1)
+      && (readLen >= 25))
+    {
+      // DEBUG:
+      debug("processMessage", "Ignore HTTP 100 Continue.");
+
+      // Find the end of the HTTP 100 message
+      int index = Utils.getFirstCRLFCRLF(readMsg);
+
+      // If there is only the HTTP 100 message, then just ignore it
+      if (index == readMsg.length())
+        continueRead = true;
+
+      // Otherwise remove the HTTP 100 message and continue
+      else
+        readMsg = readMsg.substring(index);
+    }
+
+    // ADD: What if a bypassed message contains another message after it?
+    if (!continueRead && bypassMessage(readMsg))
+    {
+      // DEBUG:
+      debug(
+        "processMessage",
+        "Do not log message as defined in the monitor spec, but it will be sent.");
+
+      continueRead = true;
+    }
+
+    if (!continueRead)
+    {
+      int index = 0;
+
+      // If there is chunked data, then get the length
+      if ((readMsg.toUpperCase().indexOf(CHUNKED) != -1)
+        || (readMsg.toUpperCase().indexOf(CHUNKED_WITH_QUOTES) != -1))
+      {
+        // DEBUG:
+        debug("processMessage", "Processing chunked data...");
+
+        // Get the location of the first CFLF
+        if ((index = readMsg.indexOf(CRLF + CRLF)) == -1)
+        {
+          throw new WSIException("Could not locate end of HTTP header.");
+        }
+
+        // Include the CRLF+CRLF in the index
+        index += 4;
+
+        // DEBUG:
+        debug(
+          "processMessage",
+          "Add header before decoding chunked data: ["
+            + readMsg.substring(0, index)
+            + "]");
+
+        // Add HTTP header to buffer
+        messageBuffer.append(readMsg.substring(0, index));
+
+        // If there is no more data (i.e. header only), then just indicate that there is more chunked data
+        if (readMsg.length() == index)
+        {
+          chunkedData = new ChunkedData(this, true);
+
+          // DEBUG:
+          debug(
+            "processMessage",
+            "There is chunk data, but none in this part of the message.");
+        }
+
+        // Determine if the remainder of the data is complete (i.e. ends with [0][CRLF][Optional Footer][CRLF])
+        else
+        {
+          // Create chunked data object
+          chunkedData = new ChunkedData(this, readMsg.substring(index));
+
+          if (!chunkedData.isMoreChunkedData())
+          {
+            chunkedData.decodeAndAddDataToBuffer(messageBuffer);
+          }
+        }
+      }
+
+      else if (chunkedData != null && chunkedData.isMoreChunkedData())
+      {
+        // DEBUG:
+        debug("processMessage", "Processing MORE chunked data...");
+
+        // Add data
+        chunkedData.addData(readMsg);
+
+        // Decode data
+        if (!chunkedData.isMoreChunkedData())
+        {
+          chunkedData.decodeAndAddDataToBuffer(messageBuffer);
+        }
+      }
+
+      // Else just append the data to the buffer
+      else
+      {
+        // DEBUG:
+        debug(
+          "processMessage",
+          "Add data to message entry buffer: [" + readMsg + "]");
+
+        messageBuffer.append(readMsg);
+      }
+    }
+
+    // Set updated message buffer and chunked data in message context    
+    messageContext.messageBuffer = messageBuffer;
+    messageContext.chunkedData = chunkedData;
+
+    // Return message context 
+    return messageContext;
+  }
+
+  /**
+   * Shutdown input socket and close input stream.
+   * @param inSocket in socket.
+   * @param inputStream input stream.
+   */
+  protected void stopInput(Socket inSocket, InputStream inputStream)
+  {
+    try
+    {
+      // If there is a input socket, then shutdown the input
+      if (inSocket != null)
+      {
+        inSocket.shutdownInput();
+      }
+
+      // If there is an input stream then close it
+      if (inputStream != null)
+      {
+        inputStream.close();
+      }
+    }
+    catch (Exception e)
+    {
+      // Ignore since we are stopping everything
+    }
+
+    inputStream = null;
+  }
+
+  /**
+   * Shutdown output socket and close output stream.
+   * @param outSocket out socket.
+   * @param outputStream output stream.
+   */
+  protected void stopOutput(Socket outSocket, OutputStream outputStream)
+  {
+    try
+    {
+      // If there is an output stream, then flush it
+      if (outputStream != null)
+      {
+        outputStream.flush();
+      }
+
+      // If there is a input socket, then shutdown the input
+      if (outSocket != null)
+      {
+        outSocket.shutdownOutput();
+      }
+
+      // If there is an output stream then close it
+      if (outputStream != null)
+      {
+        outputStream.close();
+      }
+    }
+
+    catch (Exception e)
+    {
+      // Ignore since we are stopping everything
+    }
+
+    outputStream = null;
+  }
+
+  /**
+   * Shutdown handler.
+   */
+  public void shutdown()
+  {
+    // Stop both the input and output
+    stopInput(this.inSocket, this.inputStream);
+    stopOutput(this.outSocket, this.outputStream);
+  }
+
+  /**
+   * Display debug messages.
+   */
+  void debug(String method, String message)
+  {
+    debug("SocketHandler", method, message);
+  }
+
+  /**
+   * Display debug messages.
+   */
+  void debug(String className, String method, String message)
+  {
+    if (verbose)
+      print(className, method, message);
+  }
+
+  /**
+   * Display messages.
+   */
+  void print(String className, String method, String message)
+  {
+    System.out.println(
+      "["
+        + Thread.currentThread().getName()
+        + "] ["
+        + className
+        + "."
+        + method
+        + "] ["
+        + this.connectionType
+        + "] "
+        + message);
+  }
+
+  /** 
+   * Write data.
+   */
+  private void write(
+    OutputStream outputStream,
+    byte[] buffer,
+    int start,
+    int length)
+    throws IOException
+  {
+    if (outputStream == null)
+    {
+      // DEBUG:
+      debug("write", "Could not write buffer because output stream is null.");
+    }
+    else
+    {
+      // DEBUG:
+      debug("write", "buffer: [" + new String(buffer, start, length) + "]");
+
+      outputStream.write(buffer, start, length);
+    }
+  }
+
+  /** 
+   * Check if message is complete.
+   * 
+   * @param messageContext
+   */
+  private boolean isMessageComplete(MessageContext messageContext)
+    throws WSIException
+  {
+    int index, index2, contentLen;
+    boolean messageComplete = false;
+
+    boolean moreChunkedData = messageContext.chunkedData.isMoreChunkedData();
+
+    String message = messageContext.messageBuffer.toString();
+
+    // Find the first CRLF + CRLF which marks the end of the HTTP header
+    String httpHeader;
+    index = Utils.getFirstCRLFCRLF(message);
+    if (index == -1)
+      httpHeader = message;
+    else
+      httpHeader = message.substring(0, index);
+
+    // If chunked data, then complete only if there is no more data
+    if (((httpHeader.toUpperCase().indexOf(CHUNKED) != -1)
+      || (httpHeader.toUpperCase().indexOf(CHUNKED_WITH_QUOTES) != -1))
+      && (!moreChunkedData))
+    {
+      debug(
+        "isMessageComplete",
+        "HTTP header indicates chunked data and there is no more chunked data");
+      messageComplete = true;
+    }
+
+    // Check for content length
+    else if ((index = httpHeader.toUpperCase().indexOf(CONTENT_LENGTH)) == -1)
+    {
+      debug("isMessageComplete", "HTTP header does not contain content length");
+
+      // Should not have complete POST header without content length
+      if (httpHeader.startsWith("POST"))
+      {
+        if (httpHeader.endsWith(CRLF + CRLF))
+        {
+          throw new WSIException("Could not locate content-length in HTTP POST header.");
+        }
+
+        messageComplete = false;
+      }
+
+      // This could be a GET, so see if the the complete header has been received
+      else if (
+        httpHeader.startsWith("GET")
+          && (message.length() == httpHeader.length()
+            && message.endsWith(CRLF + CRLF)))
+      {
+        messageComplete = true;
+      }
+
+      else
+      {
+        messageComplete = false;
+      }
+    }
+
+    // If there is content length, then see if the entire message has been received
+    else if ((index = httpHeader.toUpperCase().indexOf(CONTENT_LENGTH)) != -1)
+    {
+      // Find end of content length value
+      index2 = httpHeader.indexOf(CRLF, index);
+
+      debug("isMessageComplete", "CRLF: " + Utils.toHexString(CRLF));
+      debug(
+        "isMessageComplete",
+        "httpHeader/index: " + Utils.toHexString(httpHeader.substring(index)));
+
+      // Get content length
+      contentLen =
+        Integer
+          .decode(
+            httpHeader.substring(index + CONTENT_LENGTH.length() + 1, index2))
+          .intValue();
+
+      // DEBUG:
+      debug("isMessageComplete", "contentLen: " + contentLen);
+
+      // Find the first CRLF + CRLF which marks the end of the HTTP header
+      index = Utils.getFirstCRLFCRLF(message);
+
+      // DEBUG:
+      debug(
+        "isMessageComplete",
+        "actual received message length: " + (message.length() - (index)));
+
+      // If content length is equal to actual message content length, then message is complete
+      if (contentLen == message.length() - index)
+      {
+        messageComplete = true;
+
+        // DEBUG:
+        debug(
+          "isMessageComplete",
+          "contentLen = actual received message length.");
+      }
+    }
+
+    // Message is not complete
+    else
+    {
+      messageComplete = false;
+    }
+
+    // DEBUG:
+    debug("isMessageComplete", "messageComplete: " + messageComplete);
+
+    return messageComplete;
+  }
+
+  /** 
+   * Log message.
+   * 
+   * @param messageBuffer
+   */
+  private void logMessage(MessageContext messageContext) throws WSIException
+  {
+    // Determine sender and receiver host/port
+    String senderHostAndPort, receiverHostAndPort;
+
+    // Request
+    if (connectionType.equals(MessageEntry.TYPE_REQUEST))
+    {
+      senderHostAndPort =
+        inSocket.getInetAddress().getHostAddress() + ":" + inSocket.getPort();
+      receiverHostAndPort = targetHost + ":" + outSocket.getPort();
+    }
+
+    // Response      
+    else
+    {
+      senderHostAndPort = targetHost + ":" + inSocket.getPort();
+      receiverHostAndPort =
+        outSocket.getInetAddress().getHostAddress() + ":" + outSocket.getPort();
+    }
+
+    // Create message entry
+    this.socketConnection.logMessage(
+      conversationID,
+      this.connectionType,
+      messageContext.timestamp,
+      senderHostAndPort,
+      receiverHostAndPort,
+      messageContext.messageBuffer,
+      messageContext.bom,
+      messageContext.encoding);
+  }
+
+  /**
+   * Check for HTTP messages that should not be logged.
+   */
+  private boolean bypassMessage(String message)
+  {
+    boolean bypass = false;
+    if ((message.startsWith("CONNECT"))
+      || (message.startsWith("TRACE"))
+      || (message.startsWith("DELETE"))
+      || (message.startsWith("OPTIONS"))
+      || (message.startsWith("HEAD")))
+    {
+      bypass = true;
+    }
+
+    return bypass;
+  }
+
+  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
+  /**
+   * Set Encoding Parameters
+   * @param messageFragment String of a HTTP message fragment.
+   * @author K.Nakagome@BeaconIT Japan SIG 
+   */
+  private void setEncoding(String messageFragment)
+  {
+    if (mimeCharset == null || mimeCharset.length() == 0)
+    {
+      mimeCharset = Utils.getHTTPCharset(messageFragment);
+    }
+    if (xmlEncoding == null || xmlEncoding.length() == 0)
+    {
+      xmlEncoding = Utils.getXMLEncoding(messageFragment);
+    }
+    return;
+  }
+
+  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
+  /**
+   * Get Encoding Parameter
+   * @return Character encoding of HTTP message.
+   * @author K.Nakagome@BeaconIT Japan SIG 
+   */
+  private String getEncoding()
+  {
+    String encoding = WSIConstants.DEFAULT_XML_ENCODING;
+    if (mimeCharset != null && mimeCharset.length() > 0)
+    {
+      encoding = mimeCharset;
+    }
+    if (xmlEncoding != null && xmlEncoding.length() > 0)
+    {
+      encoding = xmlEncoding;
+    }
+    return encoding;
+  }
+
+  /**
+   * Get the Byte Order Mark from the message (if there is one).
+   */
+  private int getBOM(byte[] message)
+  {
+    int bom = 0;
+
+    byte FF = (byte) 0xFF;
+    byte FE = (byte) 0xFE;
+    byte EF = (byte) 0xEF;
+    byte BB = (byte) 0xBB;
+    byte BF = (byte) 0xBF;
+
+    // Search through the byte array for CRLF+CRLF.  This will mark the end of the header.
+    int i = Utils.getFirstCRLFCRLF(message, 0);
+    if (i != -1)
+    {
+      // DEBUG:
+      debug(
+        "getBOM",
+        "message[i]: "
+          + message[i]
+          + ", message[i+1]: "
+          + message[i+1]);
+
+      // Check for UTF-8 BOM
+      if (((i + 2) < message.length)
+        && message[i] == EF
+        && message[i+1] == BB
+        && message[i+2] == BF)
+      {
+        bom = 0xEFBBBF;
+      }
+      // Check for UTF-16 big-endian BOM
+      else if (
+        ((i+1) < message.length)
+          && message[i] == FE
+          && message[i + 1] == FF)
+      {
+        bom = 0xFEFF;
+      }
+      // Check for UTF-16 little-endian BOM
+      else if (
+        ((i+1) < message.length)
+          && message[i] == FF
+          && message[i+1] == FE)
+      {
+        bom = 0xFFFE;
+      }
+      // ADD: Do we need to check for other BOMs
+    }
+    return bom;
+  }
+
+  /**
+   * Determine if the read is still waiting for data.
+   */
+  boolean isReadWaiting()
+  {
+    boolean readWaiting = false;
+
+    try
+    {
+      // DEBUG:
+      debug(
+        "isReadWaiting",
+        "inSocket.getInputStream().available(): "
+          + inSocket.getInputStream().available());
+
+      if (inSocket.getInputStream().available() == 0)
+      {
+        readWaiting = true;
+      }
+    }
+
+    catch (IOException ioe)
+    {
+    }
+
+    return readWaiting;
+  }
+
+  /**
+   * Get read timed out flag.
+   */
+  boolean isReadTimedOut()
+  {
+    return this.readTimedOut;
+  }
+
+  /**
+   * Message context contains information about the message that is being processed.
+   */
+  class MessageContext
+  {
+    StringBuffer messageBuffer;
+    ChunkedData chunkedData;
+    String timestamp;
+    int bom;
+    String encoding;
+
+    /**
+     * Create new message context.
+     */
+    MessageContext()
+    {
+      messageBuffer = new StringBuffer();
+      chunkedData = new ChunkedData();
+      timestamp = null;
+      bom = 0;
+      encoding = WSIConstants.DEFAULT_XML_ENCODING;
+    }
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Comment.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/ManInTheMiddle.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfig.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/MonitorConfigReader.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/Redirect.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/CommentImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/ManInTheMiddleImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/MonitorConfigReaderImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/config/impl/RedirectImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/EntryTypeList.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/Profile.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/Profile.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/Profile.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/Profile.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileArtifact.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertions.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/ProfileAssertionsReader.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/TestAssertion.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/EntryTypeListImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileArtifactImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java
new file mode 100644
index 0000000..3b2a9d9
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java
@@ -0,0 +1,543 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.impl;
+
+import java.io.Reader;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.TreeMap;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.profile.EntryTypeList;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
+import org.eclipse.wst.wsi.internal.core.util.Utils;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * This class ...
+ * 
+ * @version 1.0.1
+ * @author Peter Brittenham  (peterbr@us.ibm.com)
+ */
+public class ProfileAssertionsReaderImpl implements ProfileAssertionsReader
+{
+  /**
+   * Profile assertions.
+   */
+  protected ProfileAssertions profileAssertions;
+
+  /**
+   * ReportArtifact list.
+   */
+  protected TreeMap artifactList = new TreeMap();
+
+  /**
+   * Create new reader.
+   */
+  public ProfileAssertionsReaderImpl()
+  {
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.ProfileAssertionsReader#readProfileAssertions(String)
+   */
+  public ProfileAssertions readProfileAssertions(String assertionsURI)
+    throws WSIException
+  {
+    return readProfileAssertions(new InputSource(assertionsURI));
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.ProfileAssertionsReader#readProfileAssertions(Reader)
+   */
+  public ProfileAssertions readProfileAssertions(Reader reader)
+    throws WSIException
+  {
+    return readProfileAssertions(new InputSource(reader));
+  }
+
+  /**
+   * Read profile assertions.
+   */
+  private ProfileAssertions readProfileAssertions(InputSource inputSource)
+    throws WSIException
+  {
+    // Create profile assertions
+    profileAssertions = new ProfileAssertionsImpl();
+
+    // Profile parts are put into a vector
+    artifactList = new TreeMap();
+
+    try
+    {
+      // Create xml reader
+      XMLReader reader = XMLUtils.getXMLReader();
+
+      // Set content handler to inner class
+      reader.setContentHandler(new ProfileAssertionsHandler());
+
+      // Parse profile definition file
+      reader.parse(inputSource);
+    }
+
+    catch (Exception e)
+    {
+      throw new WSIException("Could not read and parse profile definition.", e);
+    }
+    finally
+    {
+      //Check to see if the version of test asssertion document is supported
+      if (!Utils.isValidProfileTADVersion(profileAssertions))
+      {
+        throw new WSIException(
+          "\nVersion "
+            + profileAssertions.getTADVersion()
+            + " of the \""
+            + profileAssertions.getTADName()
+            + "\"\n"
+            + "document is not compatible with this version of"
+            + "\n"
+            + "the test tools.");
+      }
+    }
+
+    // The assertions from the TAD are reordered for purposes of processing. All
+    // assertions of an artifact are reordered such that prerequisites occur
+    // before the assertions they prereq. The assumption is that  prerequisites do
+    // not cross artifact types.
+    //
+    Iterator it = artifactList.keySet().iterator();
+    // for each artifact type do reordering assertion 
+    while (it.hasNext())
+    {
+      ProfileArtifact art = (ProfileArtifact) artifactList.get(it.next());
+      // result list of the reordering assertions 
+      LinkedList res = new LinkedList();
+      Iterator it2 = art.getTestAssertionList().iterator();
+      // sort the artifact assertions into result list 
+      while (it2.hasNext())
+      {
+        // call for each assertion , 
+        // if the assertion has the prereq, the prereq will added first into res list
+        sortTestAssertions(art, (TestAssertion) it2.next(), res);
+      }
+      // replace the original assertions list to the prereq reordering assertions list
+      art.getTestAssertionList().clear();
+      art.getTestAssertionList().addAll(res);
+    }
+    // Put the profile parts into the profile definition
+    profileAssertions.setArtifactList(artifactList);
+
+    return profileAssertions;
+  }
+  
+  /* (non-Javadoc)
+   * @see org.wsi.test.document.DocumentReader#getLocation()
+   */
+  public String getLocation()
+  {
+    return null;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.document.DocumentReader#setLocation(String)
+   */
+  public void setLocation(String documentURI)
+  {
+  }
+
+  /**
+   * Recursive walk to order assertions so that assertions are 
+   * processed following the ones that prereq them.
+   * If assertion has prereq, then add it to the result list first.
+   *  
+   * @param art profile artifact for call @link ProfileArtifact#getTestAssertion(String)
+   * @param asrt test assertion
+   * @param list result list to sort
+   */
+  private void sortTestAssertions(ProfileArtifact art, TestAssertion asrt, List list)
+  {
+    // if assertion is null or does not exist, then exit
+    if((asrt == null) || list.contains(asrt)) 
+      return;
+    
+    // if it has not prereq, add the asertion and exit
+    if(asrt.getPrereqIdList().isEmpty()) 
+    {
+      list.add(asrt);
+      return;
+    }
+    // get list prereq assertion and reqursive call sortTestAssertions this each    
+    Iterator it = asrt.getPrereqIdList().iterator();
+    while(it.hasNext()) {
+      String id = (String) it.next();
+      sortTestAssertions(art, art.getTestAssertion(id), list);
+    }
+    list.add(asrt);
+  }
+
+  /**
+   * Inner class: ProfileAssertionsHandler
+   */
+  class ProfileAssertionsHandler extends DefaultHandler
+  {
+    private ProfileArtifact artifact = profileAssertions.createArtifact();
+    private StringBuffer context = null;
+    private StringBuffer assertionDescription = null;
+    private StringBuffer failureMessage = null;
+    private StringBuffer failureDetailDescription = null;
+    private StringBuffer detailDescription = null;
+    private StringBuffer testAssertionId = null;
+    private String currentElement = null;
+    private TestAssertion testAssertion = null;
+    private StringBuffer logInput = null;
+    private StringBuffer wsdlInput = null;
+    private EntryTypeList entryTypeList = null;
+
+    // Process start element event
+    public void startElement(
+      String namespaceURI,
+      String localName,
+      String qName,
+      Attributes atts)
+    {
+      if (namespaceURI != null
+        && (namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS_2003)
+        ||  namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS)))
+      {
+        // Save element name
+        currentElement = localName;
+
+        // <artifact>
+        if (localName.equals(WSIConstants.ELEM_ARTIFACT))
+        {
+          // Create a new profile artifact object
+          artifact = profileAssertions.createArtifact();
+
+          // Set type
+          artifact.setType(
+            ArtifactType.newArtifactType(
+              atts.getValue(WSIConstants.ATTR_TYPE)));
+
+          // ADD: Get specification list
+
+          // Add artifact to list of artifact list
+          artifactList.put(artifact.getType().getTypeName(), artifact);
+        }
+
+        // <testAssertion>
+        else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION))
+        {
+          // Create test assertion
+          testAssertion = new TestAssertionImpl();
+
+          // Get attribute values
+          String id = atts.getValue("", WSIConstants.ATTR_ID);
+          testAssertion.setId(id);
+          testAssertion.setType(atts.getValue("", WSIConstants.ATTR_TYPE));
+          testAssertion.setEntryTypeName(
+            atts.getValue("", WSIConstants.ATTR_ENTRY_TYPE));
+          
+          // if assertion already checked then disable it
+          if (alreadyChecked(id))
+        	  testAssertion.setEnabled(false);
+          else
+        	  testAssertion.setEnabled(Boolean.valueOf(atts.getValue("", WSIConstants.ATTR_ENABLED)).booleanValue());
+
+          // Add test assertion to artifact
+          artifact.addTestAssertion(testAssertion);
+        }
+
+        // <context>
+        else if (localName.equals(WSIConstants.ELEM_CONTEXT))
+        {
+          context = new StringBuffer();
+        }
+
+        // <assertionDescription>
+        else if (localName.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION))
+        {
+          assertionDescription = new StringBuffer();
+        }
+
+        // <failureMessage>
+        else if (localName.equals(WSIConstants.ELEM_FAILURE_MESSAGE))
+        {
+          failureMessage = new StringBuffer();
+        }
+
+        // <failureDetailDescription>
+        else if (localName.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION))
+        {
+          failureDetailDescription = new StringBuffer();
+        }
+
+        // <detailDescription>
+        else if (localName.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION))
+        {
+          detailDescription = new StringBuffer();
+        }
+
+        // <testAssertionID>
+        else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION_ID))
+        {
+          testAssertionId = new StringBuffer();
+        }
+
+        // <additionalEntryTypeList>
+        else if (
+          localName.equals(WSIConstants.ELEM_ADDITIONAL_ENTRY_TYPE_LIST))
+        {
+          // Create entry type list
+          entryTypeList = new EntryTypeListImpl();
+        }
+
+        // <messageInput>
+        else if (localName.equals(WSIConstants.ELEM_MESSAGE_INPUT))
+        {
+          logInput = new StringBuffer();
+        }
+
+        // <wsdlInput>
+        else if (localName.equals(WSIConstants.ELEM_WSDL_INPUT))
+        {
+          wsdlInput = new StringBuffer();
+        }
+        // <profileAssertions>
+        else if (localName.equals(WSIConstants.ELEM_PROFILE_ASSERTIONS))
+        {
+          profileAssertions.setTADName(
+            atts.getValue("", WSIConstants.ATTR_NAME));
+          profileAssertions.setTADVersion(
+            atts.getValue("", WSIConstants.ATTR_VERSION));
+        }
+
+        /* REMOVE:     
+        // <uddiInput>
+        else if (localName.equals(WSIConstants.ELEM_UDDI_INPUT)) {
+          uddiInput = new StringBuffer();
+        } 
+        */
+      }
+    } // END startElement
+
+    public void endElement(String namespaceURI, String localName, String qname)
+    {
+      // If this is the profile namespace, then check for and process selected elements
+      if (namespaceURI != null
+        && (namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS_2003)
+        || namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS)))
+      {
+        // <context>
+        if (localName.equals(WSIConstants.ELEM_CONTEXT))
+        {
+          // Set context in test assertion
+          testAssertion.setContext(context.toString());
+          context = null;
+        }
+
+        // <assertionDescription>
+        else if (localName.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION))
+        {
+          // Set assertion description in test assertion
+          testAssertion.setAssertionDescription(
+            assertionDescription.toString());
+          assertionDescription = null;
+        }
+
+        // <failureMessage>
+        else if (localName.equals(WSIConstants.ELEM_FAILURE_MESSAGE))
+        {
+          // Set failure message in test assertion
+          testAssertion.setFailureMessage(failureMessage.toString());
+          failureMessage = null;
+        }
+
+        // <failureDetailDescription>
+        else if (localName.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION))
+        {
+          // Set failure detail description in test assertion
+          testAssertion.setFailureDetailDescription(
+            failureDetailDescription.toString());
+          failureDetailDescription = null;
+        }
+
+        // <detailDescription>
+        else if (localName.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION))
+        {
+          // Set detail description in test assertion
+          testAssertion.setDetailDescription(detailDescription.toString());
+          detailDescription = null;
+        }
+
+        // <testAssertionID>
+        else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION_ID))
+        {
+          // Set test assertion id in prereq list
+          testAssertion.addPrereqId(testAssertionId.toString());
+          testAssertionId = null;
+        }
+
+        // <addtionalEntryTypeList>
+        else if (
+          localName.equals(WSIConstants.ELEM_ADDITIONAL_ENTRY_TYPE_LIST))
+        {
+          // Set target list
+          testAssertion.setAdditionalEntryTypeList(entryTypeList);
+          entryTypeList = null;
+        }
+
+        // <messageInput>
+        else if (localName.equals(WSIConstants.ELEM_MESSAGE_INPUT))
+        {
+          // Set test assertion id in prereq list
+          entryTypeList.setLogInput(logInput.toString());
+          logInput = null;
+        }
+
+        // <wsdlInput>
+        else if (localName.equals(WSIConstants.ELEM_WSDL_INPUT))
+        {
+          // Set test assertion id in prereq list
+          entryTypeList.setWSDLInput(wsdlInput.toString());
+          wsdlInput = null;
+        }
+
+        // <profileAssertions>
+        else if (localName.equals(WSIConstants.ELEM_PROFILE_ASSERTIONS))
+        {
+          // a no-op
+        }
+
+        /* REMOVE:
+        // <uddiInput>
+        else if (localName.equals(WSIConstants.ELEM_UDDI_INPUT)) {
+          // Set test assertion id in prereq list
+           entryTypeList.setUDDIInput(uddiInput.toString());         
+          uddiInput = null;
+        }
+        */
+      }
+    } // END endElement
+
+    public void characters(char[] ch, int start, int length)
+    {
+      // <context>
+      if ((context != null)
+        && (currentElement.equals(WSIConstants.ELEM_CONTEXT)))
+      {
+        context.append(ch, start, length);
+      }
+
+      // <assertionDescription>
+      else if (
+        (assertionDescription != null)
+          && (currentElement.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION)))
+      {
+        assertionDescription.append(ch, start, length);
+      }
+
+      // <failureMessage>
+      else if (
+        (failureMessage != null)
+          && (currentElement.equals(WSIConstants.ELEM_FAILURE_MESSAGE)))
+      {
+        failureMessage.append(ch, start, length);
+      }
+
+      // <failureDetailDescription>
+      else if (
+        (failureDetailDescription != null) && (
+          currentElement.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION)))
+      {
+        failureDetailDescription.append(ch, start, length);
+      }
+
+      // <detailDescription>
+      else if (
+        (detailDescription != null)
+          && (currentElement.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION)))
+      {
+        detailDescription.append(ch, start, length);
+      }
+
+      // <testAssertionID>
+      else if (
+        (testAssertionId != null)
+          && (currentElement.equals(WSIConstants.ELEM_TEST_ASSERTION_ID)))
+      {
+        testAssertionId.append(ch, start, length);
+      }
+
+      // <messageInput>
+      else if (
+        (logInput != null)
+          && (currentElement.equals(WSIConstants.ELEM_MESSAGE_INPUT)))
+      {
+        logInput.append(ch, start, length);
+      }
+
+      // <wsdlInput>
+      else if (
+        (wsdlInput != null)
+          && (currentElement.equals(WSIConstants.ELEM_WSDL_INPUT)))
+      {
+        wsdlInput.append(ch, start, length);
+      }
+
+      /* REMOVE:
+      // <uddiInput>
+      else if ((uddiInput != null) && (currentElement.equals(WSIConstants.ELEM_UDDI_INPUT))) {
+        uddiInput.append(ch, start, length);
+      }
+      */
+    }
+  }
+
+  /**
+   * NOTE that this api assumes that base wsdl validator has already validated
+   * the wsdl document and corresponding schemas against the wsdl 1.1 specification.
+   * Note also that there are a number of duplicate checks between the base validator
+   * and the ws-i validator. Since some of these checks are cpu intensive, we disable 
+   * those assertions here. 
+   *
+   * Returns true if the assertion has already been checked by the base validator. 
+   * @param testAssertion
+   * @return true if the assertion has already been checked by the base validator. 
+   */
+  protected boolean alreadyChecked(String id)
+  {
+	 boolean result = false;
+	 if (id != null)
+	 {
+       result = (id.equals("BP2110") ||
+    		   	 id.equals("BP2115") ||
+		         id.equals("BP2417") ||
+		         id.equals("BP2114") ||
+		         id.equals("BP2123") ||
+		         id.equals("SSBP2209") ||
+		         id.equals("AP2209"));
+	 }
+	 return result;
+}
+
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/impl/TestAssertionImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
new file mode 100644
index 0000000..4ccceed
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
@@ -0,0 +1,154 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingFault;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Import;
+import javax.wsdl.Input;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Output;
+import javax.wsdl.Part;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.soap.SOAPBinding;
+import javax.wsdl.extensions.soap.SOAPBody;
+import javax.wsdl.extensions.soap.SOAPFault;
+import javax.wsdl.extensions.soap.SOAPHeader;
+import javax.wsdl.extensions.soap.SOAPHeaderFault;
+import javax.wsdl.extensions.soap.SOAPOperation;
+
+import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
+import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor;
+import org.w3c.dom.Element;
+
+
+/**
+ * Process assertion using WSDLVisitor interface.
+ */
+public abstract class AssertionProcessVisitor
+  extends AssertionProcess
+  implements WSDLVisitor
+{
+  /**
+   * @param BaseValidatorImpl
+   */
+  public AssertionProcessVisitor(BaseValidatorImpl impl)
+  {
+    super(impl);
+  }
+  
+  public void visit(Part obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Service obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Types obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Input obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Output obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Fault obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Binding obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(
+    BindingOperation obj,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(
+    BindingInput obj,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(
+    BindingOutput obj,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(
+    BindingFault obj,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Import obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Element obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Message obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(PortType obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(Definition obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(
+    ExtensibilityElement obj,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(SOAPBinding obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(SOAPBody obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(SOAPHeader obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(
+    SOAPHeaderFault obj,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(SOAPFault obj, Object parent, WSDLTraversalContext ctx)
+  {
+  }
+  public void visit(
+    SOAPOperation obj,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
new file mode 100644
index 0000000..7672745
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
@@ -0,0 +1,1837 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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      - Initial API and implementation
+ *   Parasoft - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Definition;
+import javax.wsdl.Message;
+import javax.wsdl.Part;
+import javax.wsdl.Port;
+import javax.wsdl.Service;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.mime.MIMEMultipartRelated;
+import javax.wsdl.extensions.mime.MIMEPart;
+import javax.wsdl.extensions.soap.SOAPBinding;
+import javax.wsdl.extensions.soap.SOAPBody;
+import javax.wsdl.extensions.soap.SOAPHeader;
+import javax.wsdl.extensions.soap.SOAPOperation;
+import javax.xml.namespace.QName;
+
+import org.apache.xerces.util.URI;
+import org.apache.xerces.xs.XSConstants;
+import org.apache.xerces.xs.XSModel;
+import org.apache.xerces.xs.XSTypeDefinition;
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
+import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
+import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
+import org.eclipse.wst.wsi.internal.core.log.Log;
+import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl;
+import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
+import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
+import org.eclipse.wst.wsi.internal.core.report.Reporter;
+import org.eclipse.wst.wsi.internal.core.util.EntryType;
+import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import com.ibm.wsdl.Constants;
+import com.ibm.wsdl.util.xml.DOM2Writer;
+import com.ibm.wsdl.util.xml.DOMUtils;
+
+/**
+ * The WSDL validator will verify that the WSDL and associated XML schema definitions
+ * are in conformance with the profile.
+ *
+ * @version 1.0.1
+ * @author Peter Brittenham (peterbr@us.ibm.com)
+ * @author Jim Clune
+ * @author Graham Turrell (gturrell@uk.ibm.com)
+ * @author Neil Delima (nddelima@ca.ibm.com) 
+ */
+public abstract class BaseMessageValidator
+  extends BaseValidatorImpl
+{
+  /**
+  * WSDL document.
+  */
+  private WSDLDocument wsdlDocument;
+
+  /**
+   * Log entry.
+   */
+  protected MessageEntry logEntry;
+  protected Log log;
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.MessageValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
+   */
+  public void init(
+    AnalyzerContext analyzerContext,
+    ProfileArtifact profileArtifact,
+    ReportArtifact reportArtifact,
+    WSDLDocument wsdlDocument,
+    Reporter reporter)
+    throws WSIException
+  {
+    // BaseValidatorImpl
+    super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
+
+    // Save input references
+    this.wsdlDocument = wsdlDocument;
+  }
+
+  /**
+   * Returns wsdlDocument
+   * @return wsdlDocument
+   */
+  public WSDLDocument getWSDLDocument()
+  {
+    return wsdlDocument;
+  }
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.MessageValidator#validate(org.wsi.test.profile.validator.EntryContext)
+   */
+  public void validate(EntryContext entryContext) throws WSIException
+  {
+    //Entry entry = null;
+
+    // Save log entry to be referenced by other methods
+    this.logEntry = entryContext.getMessageEntry();
+
+    // Get reference to the analyzer config object
+    AnalyzerConfig analyzerConfig =
+      reporter.getReport().getReportContext().getAnalyzer().getAnalyzerConfig();
+
+    /* If Service Description (WSDL/UDDI) NOT supplied in analyzer config OR
+     * Service Description IS supplied and the current message correlates to it...
+     */
+    if ((wsdlDocument == null)
+      || messageCorrelatesToService(
+        entryContext,
+        analyzerConfig.getCorrelationType()))
+    {
+      // now inner classes moved out from the validator
+      //String classPrefix = this.getClass().getName() + "$";
+      String classPrefix = this.getClass().getPackage().getName()+".";
+
+      // Process assertions for this artifact against the target context
+      processAssertions(classPrefix, entryContext);
+    }
+  }
+
+  /**
+   * Check whether the message correlates to the service under test.
+   * Use the request part of the request-response pair, from which the correlation of the response is implied.
+   * Entities from the Service under test are determined once for all.
+   * @param entryContext    an entry context.
+   * @param correlationType a correlation type.
+   * @return true if the message correlates to the service under test.
+   * @throws WSIException if correlation type is not appropriate.
+   */
+  private boolean messageCorrelatesToService(
+    EntryContext entryContext,
+    String correlationType)
+    throws WSIException
+  {
+
+    URI[] endpoints = null;
+    boolean correlation = false;
+
+    /* TEMP: Get it from analyzer config passed in on init method
+    CandidateInfo candidate = entryContext
+                              .getAnalyzerContext()
+                              .getCandidateInfo();
+    */
+    CandidateInfo candidate = analyzerContext.getCandidateInfo();
+
+    // Service reference 
+    ServiceReference serviceReference = analyzerContext.getServiceReference();
+
+    // Get the definition element
+    Definition definition = candidate.getWsdlDocument().getDefinitions();
+
+    Binding binding = null;
+    if (serviceReference.getWSDLElement().isPort())
+    {
+      // Get service
+      Service service =
+        definition.getService(
+          serviceReference.getWSDLElement().getParentElementQName());
+
+      // Get port
+      Port port = service.getPort(serviceReference.getWSDLElement().getName());
+
+      // Get binding
+      binding = port.getBinding();
+    }
+    else if (serviceReference.getWSDLElement().isBinding())
+    {
+      // Get binding
+      binding =
+        definition.getBinding(serviceReference.getWSDLElement().getQName());
+    }
+
+    if (binding == null)
+    {
+      return false;
+    }
+
+    if ((endpoints = hostAndPortCorrelation(entryContext)) != null
+      && urlPathCorrelation(entryContext, endpoints))
+    {
+
+      /* If correlation type is "endpoint", this is all the correlation that can be done.
+       * (Note - this is incomplete correlation since >1 service could be associated with the endpoint.
+       *  Therefore , if messages for different services on the same endpoint appear in the log file
+       *  and correlation type is "endpoint", all those messages will be analyzed).
+       */
+      if (correlationType
+        .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_ENDPOINT))
+      {
+        correlation = true;
+      }
+      else
+      {
+        // always allow GET requests right through if they've passed Endpoint Correlation
+        String requestType = getHttpRequestType(entryContext);
+        if ((requestType != null) && requestType.equalsIgnoreCase("GET"))
+        {
+          correlation = true;
+        }
+        else
+        {
+          // The correlationType is not "endpoint" so continue on to processing for at least 
+          // "namespace" correlation...
+
+          // get the operation signature (input & output) from request & response messages...	   
+          // and do a quick DOM parse 
+          Document requestMessage = entryContext.getRequestDocument();
+
+          // Check if namespace is found in request message only
+          if (namespaceCorrelation(binding, requestMessage))
+          {
+            // If namespace found and the correlation type is namespace, then process messages
+            if (correlationType
+              .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_NAMESPACE))
+            {
+              correlation = true;
+            }
+
+            // If operation is found and correlation type is operation, then process messages
+            else if (
+              (operationCorrelation(binding, requestMessage))
+                && (correlationType
+                  .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_OPERATION)))
+            {
+              correlation = true;
+            }
+            else
+            {
+              // this should never happen if config schema was followed correctly
+              throw new WSIException(
+                "Bad correlation type found in config: " + correlationType);
+            }
+          }
+        }
+      }
+    }
+
+    return correlation;
+  }
+
+  /** 
+   *  Correlation Check 1: Service Description endpoint vs HTTP Header (test 1)
+   *  Check if receiverHostAndPort from request message log matches host & port from WSDL SOAP binding for
+   *  the Service under test.
+   *  If it does not, stop processing this message pair.
+   * @param entryContext an entry context.
+   * @return if receiverHostAndPort from request message log matches 
+   *         host & port from WSDL SOAP binding for the Service.
+   * @throws WSIException if problem occurs during correlation check.
+   */
+  private URI[] hostAndPortCorrelation(EntryContext entryContext)
+    throws WSIException
+  {
+
+    // get <receiverHostAndPort> from request message
+    String httpHostAndPort = entryContext.getRequest().getReceiverHostAndPort();
+    // Search endpoint list for a match with <receiverHostAndPort>
+
+    /* TEMP: Get it from analyzer config passed in on init method
+    return entryContext.getAnalyzerContext()
+                       .getCandidateInfo()
+                       .getEndPoints(httpHostAndPort);
+    */
+    return analyzerContext.getCandidateInfo().getEndPoints(httpHostAndPort);
+  }
+
+  /** 
+   * Correlation Check 2: Service Description endpoint vs HTTP Header (test 2)
+   * 
+   * Use analyzer config host & port, plus URL path (from request message header HTTP POST)
+   * to look for the corresponding endpoint in the Service Definition.
+   * If it does not, stop processing this message pair.
+   * @param entryContext an entry context.
+   * @param endpoints an array of endpoints.
+   * @return true if corresponding endpoints are found in the Service Definition.
+   * @throws WSIException if problem occurs during correlation check.
+   */
+  private boolean urlPathCorrelation(
+    EntryContext entryContext,
+    URI[] endpoints)
+    throws WSIException
+  {
+
+    // compares: protocol (must be http for POST), host, port and path.
+
+    // get POST URI path from message using Tokenizer	
+    Vector requestLine =
+      getHttpRequest(entryContext.getRequest().getHTTPHeaders());
+    if (requestLine == null)
+    {
+      return false; // an unexpected HTTP request type !
+    }
+
+    String requestPath = (String) requestLine.get(1);
+    // Path immediately follows POST
+
+    // compare path with those in the previous generated URI list	
+    Vector filteredEndpoints = new Vector();
+    for (int i = 0; i < endpoints.length; i++)
+    {
+      if (endpoints[i].toString().endsWith(requestPath))
+      {
+        filteredEndpoints.add(endpoints[i]);
+      }
+    }
+
+    if (filteredEndpoints.size() == 0)
+      return false;
+
+    // this URI should be unique in the WSDL - there should be at most one match
+    // but if we have at least one, that's sufficient to accept the message
+
+    return true;
+  }
+
+  /** 
+   * Correlation Check 3: Service Description namespace.
+   * 
+   * Determine if the Service Description declares the namespace that appears in the (request?) message soap body.
+   * Location of relevent namespace :
+   * Operation type                    	- Message Namespace: (compare with)  Service Definition Namespace:
+   * (from message? endpoint? where?)
+   * rpc-literal                           &lt;soap:Body&gt; child namespace.        &lt;soapbind:body&gt; namespace.
+   * doc-literal			                 &lt;soap:Body&gt; child namespace.       targetNameSpace of schema that
+   *                                                                          defines  &lt;soap:body&gt; child.
+   * If it doesn't match, stop processing this message pair.
+   * @param binding a binding.
+   * @param request a request.
+   * @return true if description declared in the description are the 
+   *         same as those that appear in the message soap body.
+   * @throws WSIException if problem occurs during correlationcheck.                                                                       
+   */
+  private boolean namespaceCorrelation(Binding binding, Document request)
+    throws WSIException
+  {
+    boolean namespaceFound = false;
+    String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
+
+    // Get operation namespace from the request soap message
+    String soapOpNS = getSoapBodyChild(request).getNamespaceURI();
+
+    // Get soapbind:binding
+    SOAPBinding soapBinding = null;
+    if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
+    {
+      bindingStyle = soapBinding.getStyle();
+    }
+
+    // Go through each operation in the binding and check for namespace match
+    Iterator operations = binding.getBindingOperations().iterator();
+    while (operations.hasNext() && !(namespaceFound))
+    {
+      BindingOperation bindingOperation = (BindingOperation) operations.next();
+
+      // If rpc-literal, then look at namespace attribute on soapbind:body
+      if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
+      {
+        // Get soapbind:body element 
+        SOAPBody soapBody = WSDLUtils.getInputSoapBody(bindingOperation);
+
+        if ((soapBody.getNamespaceURI() != null)
+          && (soapBody.getNamespaceURI().equals(soapOpNS)))
+        {
+          namespaceFound = true;
+        }
+      }
+
+      // If doc-literal, then check namespace
+      else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
+      {
+        int partCount;
+        Iterator partsIterator = null;
+
+        // Get first part name from soapbind:body element parts attribute
+        String partName = getFirstPartName(bindingOperation);
+
+        // Get the list of parts from the message           
+        Map partsMap = null;
+        if ((partsMap =
+          bindingOperation.getOperation().getInput().getMessage().getParts())
+          != null)
+        {
+          partsIterator = partsMap.values().iterator();
+
+          // If the part name wasn't specified on the soapbind:body element, then process just the first one
+          if (partName == null)
+            partCount = 1;
+          else
+            partCount = partsMap.size();
+
+          for (int i = 0; i < partCount && !namespaceFound; i++)
+          {
+            // Get next part
+            Part part = (Part) partsIterator.next();
+
+            // If part name matches or there is no part name, then check namespace
+            if ((partName == null)
+              || ((partName != null) && (part.getName().equals(partName))))
+            {
+              if ((part.getElementName().getNamespaceURI() != null)
+                && (part.getElementName().getNamespaceURI().equals(soapOpNS)))
+              {
+                namespaceFound = true;
+              }
+            }
+          }
+        }
+      }
+    }
+
+    return namespaceFound;
+  }
+
+  /** 
+  * Correlation Check 4 : Service Description "operation"
+  *
+  * Check if the message content matches any of the candidate operation definitions 
+  * for request and response in the Service Description.
+  *  
+  * For both request and response, look for the soap body child element name
+  * in the list of candidate operation names.
+  * @param binding        a binding.
+  * @param requestMessage a request message.
+  * @return true if the message content matches any of the candidate 
+  *         operation definitions for request and response in the 
+  *         Service Description.
+  * @throws WSIException if problem occurs during correlationcheck.
+  */
+  private boolean operationCorrelation(
+    Binding binding,
+    Document requestMessage)
+    throws WSIException
+  {
+    boolean operationFound = false;
+
+    String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
+
+    // Get soapbind:binding
+    SOAPBinding soapBinding = null;
+    if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
+    {
+      bindingStyle = soapBinding.getStyle();
+    }
+
+    // Get the first child element from the soap body
+    Element soapBodyChild = getSoapBodyChild(requestMessage);
+
+    // If there is a child element, then check it
+    if (soapBodyChild != null)
+    {
+      // Get operation name from the soap:body
+      String operationName = soapBodyChild.getLocalName();
+
+      // Get operation QName
+      QName operationQName =
+        new QName(soapBodyChild.getNamespaceURI(), operationName);
+
+      // Go through each operation in the binding and check for namespace match
+      Iterator operations = binding.getBindingOperations().iterator();
+      while (operations.hasNext() && !(operationFound))
+      {
+        BindingOperation bindingOperation =
+          (BindingOperation) operations.next();
+
+        // If rpc-literal, then look at namespace attribute on soapbind:body
+        if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
+        {
+          // Get soapbind:body element 
+          if (bindingOperation.getName().equals(operationName))
+            operationFound = true;
+        }
+
+        // If doc-literal, then check namespace
+        else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
+        {
+          int partCount;
+          Iterator partsIterator = null;
+
+          // Get first part name from soapbind:body element parts attribute
+          String partName = getFirstPartName(bindingOperation);
+
+          // Get the list of parts from the message           
+          Map partsMap = null;
+          if ((partsMap =
+            bindingOperation.getOperation().getInput().getMessage().getParts())
+            != null)
+          {
+            partsIterator = partsMap.values().iterator();
+
+            // If the part name wasn't specified on the soapbind:body element, then process just the first one
+            if (partName == null)
+              partCount = 1;
+            else
+              partCount = partsMap.size();
+
+            for (int i = 0; i < partCount && !operationFound; i++)
+            {
+              // Get next part
+              Part part = (Part) partsIterator.next();
+
+              // If part name matches or there is no part name, then check namespace
+              if ((partName == null)
+                || ((partName != null) && (part.getName().equals(partName))))
+              {
+                if ((part.getElementName() != null)
+                  && (part.getElementName().equals(operationQName)))
+                {
+                  operationFound = true;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+
+    // Go through each operation to find a match
+    return operationFound;
+  }
+
+  /**
+   * Create failure detail.
+   * @param message       a message.
+   * @param entryContext  an entry context.
+   * @return failure detail.
+   */
+  public FailureDetail createFailureDetail(
+    String message,
+    EntryContext entryContext)
+  {
+    FailureDetail failureDetail = reporter.createFailureDetail();
+    failureDetail.setFailureMessage(message);
+    failureDetail.setElementLocation(
+      entryContext.getMessageEntry().getElementLocation());
+    return failureDetail;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
+   */
+  protected boolean isNotApplicable(TestAssertion testAssertion)
+  {
+    boolean notApplicable = false;
+
+    // If the additional entry is not available, then set notApplicable
+    if (testAssertion.getAdditionalEntryTypeList().getWSDLInput() != null
+      && !testAssertion.getAdditionalEntryTypeList().getWSDLInput().equals("none")
+      && analyzerContext.getServiceReference().getWSDLLocation() == null)
+    {
+      notApplicable = true;
+    }
+
+    return notApplicable;
+  }
+
+
+  /**
+   * Get POST request.
+   * @param httpHeader an HTTP 
+   * @return POST request.
+   */
+  public Vector getPostRequest(String httpHeader)
+  {
+    //Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
+    Vector requestLine = new Vector();
+    String startLine = null;
+
+    StringTokenizer httpMessageTokenizer =
+      new StringTokenizer(httpHeader, "\n\r\f");
+
+    if (httpMessageTokenizer.hasMoreTokens())
+    {
+      startLine = httpMessageTokenizer.nextToken();
+    }
+
+    if (startLine.startsWith("POST"))
+    {
+      StringTokenizer startLineTokenizer =
+        new StringTokenizer(startLine, "\u0020");
+      while (startLineTokenizer.hasMoreTokens())
+      {
+        requestLine.add(startLineTokenizer.nextToken());
+      }
+    }
+    return requestLine;
+  }
+
+  /**
+   * Get HTTP request.
+   * @param httpHeader an HTTP 
+   * @return HTTP request.
+  */
+  private Vector getHttpRequest(String httpHeader)
+  {
+    //Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
+    Vector requestLine = new Vector();
+    String startLine = null;
+
+    StringTokenizer httpMessageTokenizer =
+      new StringTokenizer(httpHeader, "\n\r\f");
+
+    if (httpMessageTokenizer.hasMoreTokens())
+    {
+      startLine = httpMessageTokenizer.nextToken();
+    }
+
+    if (startLine.startsWith("POST") || startLine.startsWith("GET"))
+    {
+      StringTokenizer startLineTokenizer =
+        new StringTokenizer(startLine, "\u0020");
+      while (startLineTokenizer.hasMoreTokens())
+      {
+        requestLine.add(startLineTokenizer.nextToken());
+      }
+    }
+    else
+    {
+      requestLine = null; // signify not POST or GET
+    }
+
+    return requestLine;
+  }
+
+  /**
+   * Get HTTP request type.
+   * @param entryContext an entry context.
+   * @return HTTP request type.
+   */
+  private String getHttpRequestType(EntryContext entryContext)
+  {
+    //Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
+
+    String httpHeader = entryContext.getRequest().getHTTPHeaders();
+    String httpRequestType = null;
+    String startLine = null;
+
+    StringTokenizer httpMessageTokenizer =
+      new StringTokenizer(httpHeader, "\n\r\f");
+
+    if (httpMessageTokenizer.hasMoreTokens())
+    {
+      startLine = httpMessageTokenizer.nextToken();
+      StringTokenizer startLineTokenizer =
+        new StringTokenizer(startLine, "\u0020");
+      if (startLineTokenizer.hasMoreTokens())
+      {
+        httpRequestType = startLineTokenizer.nextToken();
+      }
+    }
+    return httpRequestType;
+  }
+
+  /**
+   * Determine if the message is a response for a one-way operation.
+   * @param entryContext an entry context.
+   * @return true if the message is a response for a one-way operation.
+   */
+  public boolean isOneWayResponse(EntryContext entryContext)
+  {
+    boolean oneway = false;
+
+    // TEMP: If this is a response message and there is no content, then set one-way to true
+    // TEMP: Need to find a way to determine if the response is for a one-way message
+    if (entryContext
+      .getMessageEntry()
+      .getType()
+      .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE)
+      && entryContext.getMessageEntry().getMessage().length() == 0)
+    {
+      oneway = true;
+    }
+
+    return oneway;
+  }
+
+  /**
+   * messageIsDocLitSchemaValid.
+   *
+   * Validates the doc-lit messages against the schema found in a candidate wsdl document.
+   *
+   * Identify (or be given) a reference in the wsdl to elements (found in &lt;wsdl:types&gt;&lt;schema&gt;...)
+   * that are immediate children elements in the soap body.
+   * @param entryContext an entry context.
+   * @return true if the document literal message is compliant to the 
+   *         schema found in a candidate WSDL document.
+   * @throws WSIException if there is a parsing problem during validation.
+   */
+  public boolean messageIsDocLitSchemaValid(EntryContext entryContext)
+    throws WSIException
+  {
+
+    // This method should use a validating parser that is capable of acceppting multiple schema references
+    // programmatically. Then, every schema in candidate wsdl can be passed in to the validator. This avoids the
+    // need to pinpoint a particular schema element from all candidate wsdl:types, corresponding to the 
+    // wsdl:operation being used. The pinpointing is an incomplete workaround for parsers not capable 
+    // of accepting arrays of scehma references 
+    // [ i.e. the DOM factory.setAttribute(JAXP_SCHEMA SOURCE, Object[] {...}) ]
+    // get all xs:schema from all candidate wsdl:types                    
+    // add each <schema> to an array and pass this array to the validating parser
+    // when validating the/each soap body child.
+
+    // use the referenced WSDL file and its imported files to find schemas
+    List schemaWSDLs = new ArrayList();
+    List inlineSchemas = new ArrayList();
+    List schemaStrings = new ArrayList();
+
+    Definition[] allDefs =
+      analyzerContext.getCandidateInfo().getDefinitions();
+    for (int thisDef = 0; thisDef < allDefs.length; thisDef++)
+    {
+      schemaWSDLs.add(allDefs[thisDef].getDocumentBaseURI());
+    }
+    Iterator fileIterator = schemaWSDLs.iterator();
+    while (fileIterator.hasNext())
+    {
+      // parse file if possible
+      Document wsdlDoc = null;
+      String wsdlURI = (String) fileIterator.next();
+      try
+      {
+        wsdlDoc = XMLUtils.parseXMLDocumentURL(wsdlURI, null);
+      }
+      catch (Exception e)
+      {
+        continue;
+      }
+      Element root = wsdlDoc.getDocumentElement();
+      // find the schema
+      NodeList schemaElements = root.getElementsByTagNameNS(
+        WSITag.ELEM_XSD_SCHEMA.getNamespaceURI(),
+        WSITag.ELEM_XSD_SCHEMA.getLocalPart());
+
+      for (int elem = 0; elem < schemaElements.getLength(); elem++)
+      {     
+        Element schema = (Element) schemaElements.item(elem);
+        // copying all the NS declarations from wsdl:definitions wsdl:types
+        copyNSDeclarations(root, schema);
+        copyNSDeclarations((Element) schema.getParentNode(), schema);
+        // Replacing all relative schemaLocation URIs with absolute ones
+        replaceRelativeURIs(schema, wsdlURI);
+        inlineSchemas.add(schema);
+      }
+    }
+
+    // Note that the Xerces parser ONLY accepts an array
+    // of schemas with unique namespaces.
+    if (!duplicateNamespacesDetected(inlineSchemas))
+    {
+      // Serialize the schema elements inside the Types, then use this as
+      // the schema string for the validation
+      Iterator i = inlineSchemas.iterator();
+      while (i.hasNext())
+      {
+    	Element schema = (Element)i.next(); 
+        String schemaString = DOM2Writer.nodeToString(schema);
+        schemaStrings.add(schemaString);
+      }
+
+      NodeList elementList = entryContext.getMessageEntryDocument()
+        .getElementsByTagNameNS(WSITag.ELEM_SOAP_BODY.getNamespaceURI(),
+            WSITag.ELEM_SOAP_BODY.getLocalPart());
+      if (elementList == null || elementList.getLength() != 1)
+      {
+        // should only be a single soap body !
+        return false; // probably an error condition though
+      }
+
+      NodeList soapBodyChildList = ((Element)elementList.item(0)).getChildNodes();
+      for (int child = 0; child < soapBodyChildList.getLength(); child++)
+      {
+        Node soapBodyChild = soapBodyChildList.item(child);
+        if (soapBodyChild.getNodeType() == Node.ELEMENT_NODE)
+        {
+          // do all for now
+          try
+          {
+            // Write out element tree to String
+            String messageContent = DOM2Writer.nodeToString(soapBodyChild);
+            // parse the child element, validating against the schema 
+            XMLUtils.parseXML(messageContent, schemaStrings);
+          }
+          catch (WSIException e)
+          {
+            if (e.getTargetException() instanceof SAXException)
+            {
+              // validation failed
+              throw new WSIException(e.getTargetException().getMessage());
+            }
+            throw e;
+          }
+          catch (Exception e)
+          {
+            throw new WSIException("Validating Parsing problem", e);
+            // Bad things have happened
+          }
+        }
+      }   
+    }
+    return true;
+  }
+
+  /**
+   * Copy the namespace declarations.
+   * @param parent a message.
+   * @param child a stripped message.
+   */
+  private void copyNSDeclarations(Element parent, Element child)
+  {
+    NamedNodeMap nodeMap = parent.getAttributes();
+    for (int nodeId = 0; nodeId < nodeMap.getLength(); nodeId++)
+    {
+      Node node = nodeMap.item(nodeId);
+
+      if ((node.getNodeType() == Node.ATTRIBUTE_NODE)
+        && (node.getNodeName().startsWith("xmlns:")))
+      {
+        String nodeName = node.getNodeName();
+        // If an NS being copied is not the same as the child element has, copy it
+        if (!child.getNodeName().startsWith(
+          nodeName.substring(nodeName.indexOf(":") + 1) + ":"))
+        {
+          child.setAttribute(nodeName, node.getNodeValue());
+        }
+      }
+    }
+  }
+
+  /**
+   * Replaces all relative URIs for schemaLocation attributes.
+   * @param schema an xsd:schema element.
+   * @param wsdlURI an URI of WSDL that contains xsd:schema being processed.
+   */
+  private void replaceRelativeURIs(Element schema, String wsdlURI)
+  {
+    // Retrieving all xsd:import elements
+    NodeList imports = schema.getElementsByTagNameNS(
+      WSITag.ELEM_XSD_IMPORT.getNamespaceURI(),
+      WSITag.ELEM_XSD_IMPORT.getLocalPart());
+    // Going through the elements
+    for (int i = 0; i < imports.getLength(); i++)
+    {
+      Element imp = (Element) imports.item(i);
+      // Getting the schemaLocation attribute
+      Attr schemaLocation =
+        XMLUtils.getAttribute(imp, WSITag.ATTR_XSD_SCHEMALOCATION);
+      // If the attribute is present
+      if (schemaLocation != null)
+      {
+        // Trying to create an URI object using attribute's value
+        URI uri = null;
+        try
+        {
+          uri = new URI(schemaLocation.getValue());
+        }
+        catch (Exception e) {}
+        // If the value is not an absolute URI (the URI constructor throws the
+        // MalformedURIException), creating the absolute URI using wsdlURI
+        if (uri == null)
+        {
+          String newURI = wsdlURI.substring(0, wsdlURI.lastIndexOf("/") + 1)
+            + schemaLocation.getValue();
+          try
+          {
+            uri = new URI(newURI);
+            // Setting a new URI as a value for the schemaLocation attribute
+            schemaLocation.setValue(uri.toString());
+          }
+          catch (Exception e) {}
+        }
+      }
+    }
+  }
+
+  /**
+   * Returns binding operation matched for SOAP message.
+   * @param entryType message entry type.
+   * @param doc a message.
+   * @return any binding operation matched, null if it is not found.
+   */
+  public BindingOperation getOperationMatch(EntryType entryType, Document doc) 
+  {
+    BindingOperation bindingOperation = null;
+    try
+    {
+      // Getting the name of the first SOAP Body child element
+      QName operation = getOperationFromMessage(doc);
+      if (operation != null)
+      {
+        // Retrieving all the RPC binding operations from wsdl:binding
+        BindingOperation[] rpcBindingOps = getMatchingBindingOps(
+          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
+          analyzerContext.getCandidateInfo().getBindings());
+        // Retrieving binding operation by the given operation name
+        bindingOperation = getOperationMatch(
+          entryType, operation, rpcBindingOps);
+        // If no one RPC operation matched
+        if(bindingOperation == null)
+        {
+          // Retrieving all the document binding operations from wsdl:binding
+          BindingOperation[] docBindingOperations = getMatchingBindingOps(
+            WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
+            analyzerContext.getCandidateInfo().getBindings());
+          // Retrieving binding operation by given element name
+          BindingOperation[] potentialDocLitOps =
+            getDocLitOperations(entryType, operation, docBindingOperations);
+          // If there is exactly one operation matched
+          if (potentialDocLitOps.length == 1)
+            bindingOperation = potentialDocLitOps[0];
+        }
+      }
+    }
+    catch (Exception e) {}
+
+    return bindingOperation;
+  }
+
+  /**
+   * Match either Input or Output.
+   * @param messageEntryType message entry type.
+   * @param soapMessage soap message.
+   * @param op binding operations.
+   * @return matched operation.
+   */
+  public BindingOperation getOperationMatch(
+    EntryType messageEntryType,
+    Document soapMessage,
+    BindingOperation[] op)
+  {
+    // Get operation from message
+    QName operation = getOperationFromMessage(soapMessage);
+    // list of QNames
+
+    return getOperationMatch(messageEntryType, operation, op);
+  }
+
+  /**
+   * Match either Input or Output.
+   * @param messageEntryType message entry type.
+   * @param operation SOAP operation name.
+   * @param op binding operations.
+   * @return matched operation.
+   */
+  public BindingOperation getOperationMatch(
+    EntryType messageEntryType,
+    QName operation,
+    BindingOperation[] op)
+  {
+    QName checkOperation;
+
+    // Look for a candidate operation in the wsdl that matches this signature.
+    for (int k = 0; k < op.length; k++)
+    {
+      String name = null;
+      List extensibles = null;
+      BindingOperation bindingOp = op[k];
+
+      if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
+        && (bindingOp.getOperation().getInput() != null))
+      {
+        name = bindingOp.getOperation().getName();
+        extensibles = bindingOp.getBindingInput().getExtensibilityElements();
+      }
+      else if (
+        messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
+          && (bindingOp.getOperation().getOutput() != null))
+      {
+        name = bindingOp.getOperation().getName() + "Response";
+        extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
+      }
+
+      // Get soap:body
+      SOAPBody soapBody = getSoapBody(extensibles);
+      if (soapBody == null)
+        checkOperation = new QName(name);
+      else
+        checkOperation = new QName(soapBody.getNamespaceURI(), name);
+
+      if (operation != null && operation.equals(checkOperation))
+      {
+        return (bindingOp);
+      }
+    }
+    return null;
+  }
+
+  /**
+   * Match either Input or Output.
+   * @param messageEntryType a message entry type.
+   * @param soapMessage a soap message.
+   * @param op binsing operations.
+   * @return matched operation.
+   */
+  public BindingOperation getOperationPartsMatch(
+    EntryType messageEntryType,
+    Document soapMessage,
+    BindingOperation[] op)
+  {
+    Map parts = getPartListFromMessage(soapMessage); // list of QNames
+
+    // Look for a candidate operation in the wsdl that matches this signature.
+    for (int k = 0; k < op.length; k++)
+    {
+
+      Message wsdlMessage = null;
+      List extensibles = null;
+      BindingOperation bindingOp = op[k];
+
+      if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
+        && (bindingOp.getOperation().getInput() != null))
+      {
+        wsdlMessage = bindingOp.getOperation().getInput().getMessage();
+        extensibles = bindingOp.getBindingInput().getExtensibilityElements();
+      }
+      else if (
+        messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
+          && (bindingOp.getOperation().getOutput() != null))
+      {
+        wsdlMessage = bindingOp.getOperation().getOutput().getMessage();
+        extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
+      }
+      //wsdlFaultParts = op[k].getFaults();
+      // ADD: check for case when response message is a fault
+
+      if (sameParts(parts, wsdlMessage, getSoapHeader(extensibles)))
+      {
+        return (bindingOp);
+      }
+    }
+    return null;
+  }
+
+  /** 
+   * BindingOperation getOperationPartsMatch(..).
+   * 
+   * Find one or more matching binding operations from the WSDL corresponding to the
+   * given request-response signature.
+   * 
+   * This overloaded version is intended for possible Correlation only (not assertions),
+   * since it checks for an operation signature on a request-response pair.
+   * Assertions now check request & response messages independently. 
+   * @param requestMessage a request message.
+   * @param responseMessage a response message.
+   * @param op binding operations.
+   * @return matched operation.
+   */
+  //private BindingOperation getOperationPartsMatch(
+  //  Document requestMessage,
+  //  Document responseMessage,
+  //  BindingOperation[] op)
+  //{
+  //  Map inParts = getPartListFromMessage(requestMessage); // list of QNames
+  //  Map outParts = getPartListFromMessage(responseMessage);
+  //  // list of QNames
+  //
+  //  // Look for a candidate operation in the wsdl that matches this signature.
+  //  for (int k = 0; k < op.length; k++)
+  //  {
+  //
+  //    //Map wsdlFaultParts = null;
+  //    Message wsdlInMessage = null;
+  //    Message wsdlOutMessage = null;
+  //
+  //    BindingOperation bindingOp = op[k];
+  //    if (bindingOp.getOperation().getInput() != null)
+  //    {
+  //      wsdlInMessage = bindingOp.getOperation().getInput().getMessage();
+  //    }
+  //
+  //    if (bindingOp.getOperation().getOutput() != null)
+  //    {
+  //      wsdlOutMessage = bindingOp.getOperation().getOutput().getMessage();
+  //    }
+  //    //wsdlFaultParts = op[k].getFaults();
+  //    // ADD: check for case when response message is a fault
+  //
+  //    if (sameParts(inParts,
+  //      wsdlInMessage,
+  //      getSoapHeader(bindingOp.getBindingInput().getExtensibilityElements())))
+  //    {
+  //      // match on the request - now check response if its not a fault
+  //      if (responseMessage != null && isFault(responseMessage))
+  //      {
+  //        return (bindingOp);
+  //      }
+  //      else if (
+  //        sameParts(
+  //          outParts,
+  //          wsdlOutMessage,
+  //          getSoapHeader(
+  //            bindingOp.getBindingOutput().getExtensibilityElements())))
+  //      {
+  //        // It does match so treat this as a relevant message pair. 
+  //        // Let the message through for validation.
+  //        //ADD: could pass the operations list back to the entryContext for the message.
+  //        return (bindingOp);
+  //      }
+  //    }
+  //  }
+  //  return null;
+  //}
+
+  /**
+   * Get the soap:body from a List of extensibility elements.
+   * @param extElems a list of extensibility elements.
+   * @return the soap:body from a List of extensibility elements.
+   */
+  private SOAPBody getSoapBody(List extElems)
+  {
+    // Find the soap body
+    if (extElems != null)
+    {
+      for (int i = 0; i < extElems.size(); i++)
+      {
+        ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
+        if (extElem.getElementType().equals(WSITag.WSDL_SOAP_BODY))
+        {
+          return (SOAPBody) extElem;
+        }
+        // If the element is mime:multipartRelated
+        else if (extElem.getElementType().equals(WSITag.WSDL_MIME_MULTIPART))
+        {
+          // Getting the mime:part elements of the mime:multipartRelated
+          List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
+          // Going through all the mime:part elements
+          for (int j = 0; j < mimeParts.size(); j++)
+          {
+            // Collecting all the mime:content elements of this mime:part
+            SOAPBody soapBody = getSoapBody(
+              ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
+            if (soapBody != null)
+              return soapBody;
+          }
+        }
+      }
+    }
+
+    return null;
+  }
+
+  /**
+   * Get the SOAPHeader from a List of extensibility elements.
+   * @param extensibles a list of extensibility elements.
+   * @return the SOAPHeader from a List of extensibility elements.
+   */
+  private SOAPHeader getSoapHeader(List extensibles)
+  {
+    SOAPHeader soapHeader = null;
+
+    // find the soap header
+    if (extensibles != null)
+    {
+      Iterator i = extensibles.iterator();
+      while (i.hasNext() && soapHeader == null)
+      {
+        try
+        {
+          soapHeader = (SOAPHeader) i.next();
+        }
+        catch (ClassCastException c)
+        {
+        }
+      }
+    }
+    return soapHeader;
+  }
+
+  /**
+   * Get first part name from soapbind:body element.
+   */
+  private String getFirstPartName(BindingOperation bindingOperation)
+  {
+    String partName = null;
+    List extList = null;
+    Iterator partsIterator = null;
+
+    // Determine if there is a list of parts by finding the soapbind:body element
+    if ((extList =
+      bindingOperation.getBindingInput().getExtensibilityElements())
+      != null)
+    {
+      List partsList = null;
+      Iterator extIterator = extList.iterator();
+      while (extIterator.hasNext() && (partName == null))
+      {
+        Object extElement = extIterator.next();
+        if (extElement instanceof SOAPBody)
+        {
+          if ((partsList = ((SOAPBody) extElement).getParts()) != null)
+          {
+            partsIterator = partsList.iterator();
+
+            // Since this is a doc literal binding there should be only one part name
+            if (partsIterator.hasNext())
+              partName = (String) partsIterator.next();
+          }
+        }
+      }
+    }
+
+    return partName;
+  }
+
+  public BindingOperation[] getDocLitOperations(
+    EntryType messageType,
+    QName partElementQName,
+    BindingOperation[] wsdlOperations)
+  {
+
+    if (messageType.isType(EntryType.ENTRY_TYPE_REQUEST))
+    {
+      return getInputDocLitOperations(partElementQName, wsdlOperations);
+    }
+    else if (messageType.isType(EntryType.ENTRY_TYPE_RESPONSE))
+    {
+      return getOutputDocLitOperations(partElementQName, wsdlOperations);
+    }
+    else
+    {
+      return null; // should be one or the other
+    }
+  }
+
+  private BindingOperation[] getInputDocLitOperations(
+    QName partElementQName,
+    BindingOperation[] wsdlOperations)
+  {
+
+    Vector potentialOps = new Vector();
+
+    for (int i = 0; i < wsdlOperations.length; i++)
+    {
+      if (wsdlOperations[i].getOperation().getInput() != null)
+      {
+        Message message = wsdlOperations[i].getOperation().getInput().getMessage();
+        // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match 
+        if (partElementQName == null)
+        {
+          if (message.getParts().isEmpty())
+            potentialOps.add(wsdlOperations[i]);
+          continue;
+        }
+
+        Iterator partsIt = message.getParts().values().iterator();
+        while (partsIt.hasNext())
+        {
+          Part nextPart = (Part) partsIt.next();
+          if (partElementQName.equals(nextPart.getElementName()))
+          {
+            // matching part found (doc-lit) - add to list of possible operation matches
+            potentialOps.add(wsdlOperations[i]);
+            break;
+          }
+        }
+      }
+    }
+    return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
+  }
+
+  private BindingOperation[] getOutputDocLitOperations(
+    QName partElementQName,
+    BindingOperation[] wsdlOperations)
+  {
+
+    Vector potentialOps = new Vector();
+
+    for (int i = 0; i < wsdlOperations.length; i++)
+    {
+      if (wsdlOperations[i].getOperation().getOutput() != null)
+      {
+        Message message = wsdlOperations[i].getOperation().getOutput().getMessage();
+        // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match
+        if (partElementQName == null)
+        {
+          if (message.getParts().isEmpty())
+            potentialOps.add(wsdlOperations[i]);
+          continue;
+        }
+
+        Iterator partsIt = message.getParts().values().iterator();
+        while (partsIt.hasNext())
+        {
+          Part nextPart = (Part) partsIt.next();
+          if (partElementQName.equals(nextPart.getElementName()))
+          {
+            // matching part found (doc-lit) - add to list of possible operation matches
+            potentialOps.add(wsdlOperations[i]);
+            break;
+          }
+        }
+      }
+    }
+    return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
+  }
+
+  /**
+   * Compare soap message element part names with Parts from specified wsdl Operation
+   */
+  //private boolean sameParts(HashSet messageParts, Map wsdlParts)
+  //{
+  //
+  //  // look for the soap-message operation signature
+  //  Iterator i = wsdlParts.values().iterator();
+  //  // build a set of Part names
+  //  HashSet h = new HashSet();
+  //  while (i.hasNext())
+  //  {
+  //    Part p = (Part) i.next();
+  //    h.add(p.getName());
+  //  }
+  //
+  //  // compare with the parts list from the message	(unordered)
+  //  return (h.equals(messageParts));
+  //}
+
+  /**
+   * Compare soap message element part names with Parts from specified wsdl Operation
+   */
+  private boolean sameParts(
+    Map messageParts,
+    Message wsdlMessage,
+    SOAPHeader soapHeader)
+  {
+
+    String soapHeaderPart = null;
+    if (soapHeader != null)
+      soapHeaderPart = soapHeader.getPart();
+
+    // check null conditions
+    if (messageParts == null && wsdlMessage == null)
+    {
+      return true; // simple equality test
+    }
+    else if (messageParts == null || wsdlMessage == null)
+    {
+      return false;
+    }
+
+    Vector v = new Vector();
+    //List wsdlParts = wsdlMessage.getOrderedParts(null);
+    Map wsdlParts = null;
+    if (wsdlMessage.getParts() != null)
+    {
+      wsdlParts = wsdlMessage.getParts();
+      // look for the soap-message operation signature
+      Iterator i = wsdlParts.values().iterator();
+      // build a set of Part names    
+      while (i.hasNext())
+      {
+        Part p = (Part) i.next();
+        // do not include the part for the soap:header (if any)
+        if (!p.getName().equals(soapHeaderPart))
+        {
+          // check that the part is associated with the soap:body
+          v.add(new QName(p.getName()));
+        }
+      }
+      // if one of the parts is associated with a soap:header in the binding
+      // (by <soap:header part="{partname}">), remove this from the set
+
+    }
+
+    // compare with the parts list from the message	(ordered)
+    if (v.isEmpty() && messageParts.isEmpty())
+    {
+      return true;
+    }
+
+    // PB: Changed to containsAll() since equals() fails when using JRE 1.4
+    if (v.containsAll(messageParts.keySet())
+      && (v.size() == messageParts.size()))
+    {
+      // Check for xsi:type mismatch
+      Iterator parts = messageParts.keySet().iterator();
+      QName partName, xsiType;
+      while (parts.hasNext())
+      {
+        partName = (QName) parts.next();
+
+        // Get xsi:type QName
+        if ((xsiType = (QName) messageParts.get(partName)) != null
+          && wsdlParts != null)
+        {
+          // Get the WSDL part definition
+          Part part = (Part) wsdlParts.get(partName.getLocalPart());
+
+          // If xsiType is NOT derived from the type of the corresponding WSDL part
+          if (!isDerivedType(xsiType, part.getTypeName()))
+          {
+            // return false
+            return false;
+          }
+        }
+      }
+
+      return true;
+    }
+    else
+      return false;
+    //return (v.equals(messageParts));
+  }
+
+  /**
+   * Checks whether one schema type is derived from another.
+   * @param extType an assumed derived type.
+   * @param type an assumed base type.
+   * @return true if extType is derived from type, false otherwise
+   */
+  public boolean isDerivedType(QName extType, QName type)
+  {
+    // If either of types is null, return false
+    if (extType == null || type == null)
+      return false;
+    // If the types are equal, return true
+    if (extType.equals(type))
+      return true;
+
+    // Going through all schemas 
+    Iterator i = wsdlDocument.getSchemas().values().iterator();
+    while (i.hasNext())
+    {
+      XSModel xsModel = (XSModel) i.next();
+      // Retrieving the derived type definition
+      XSTypeDefinition xsType = xsModel.getTypeDefinition(
+        extType.getLocalPart(), extType.getNamespaceURI());
+      // If it is found and derived from the base type, return true
+      if (xsType != null && xsType.derivedFrom(type.getNamespaceURI(),
+        type.getLocalPart(), XSConstants.DERIVATION_NONE))
+      {
+        return true;
+      }
+    }
+    // extType is not derived from type, return false
+    return false;
+  }
+
+  /**
+  	* Get a list of QNames of parts from the soap body of the specified message
+  	*/
+  public Element getSoapBodyChild(Document doc)
+  {
+
+    Element opElem = null;
+    if (doc != null)
+    {
+      Element root = doc.getDocumentElement();
+      NodeList bodies =
+        root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
+      // Get the list of soap:body child element names from the request message
+      if (bodies != null && bodies.getLength() > 0)
+      {
+        Element body = (Element) bodies.item(0);
+        NodeList children = body.getChildNodes();
+        for (int i = 0; i < children.getLength() && opElem == null; ++i)
+        {
+          Node n = children.item(i);
+          if (n instanceof Element)
+          {
+            opElem = (Element) n;
+          }
+        }
+      }
+    }
+    return opElem;
+  }
+
+  /** Check whether this message is a soap fault
+   */
+  public boolean isFault(Document doc)
+  {
+    boolean isFault = false;
+
+    if (doc != null)
+    {
+      Element root = doc.getDocumentElement();
+      isFault =
+        (root
+          .getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Fault")
+          .getLength()
+          > 0);
+    }
+
+    return isFault;
+  }
+
+  /** 
+   * Check whether this message has a soap body with a child element.
+   */
+  public boolean containsSoapBodyWithChild(Document doc)
+  {
+    boolean contains = false;
+
+    if (doc != null)
+    {
+      contains = ((getSoapBodyChild(doc) == null) ? false : true);
+    }
+
+    return contains;
+  }
+
+  /**
+   * Get SOAPAction value from the HTTP headers.
+   * @param headers HTTP headers
+   * @return SOAPAction value
+   */
+  public String getSoapAction(String headers) throws WSIException
+  {
+    // get SOAPAction
+    String action = null;
+    if (headers != null)
+      action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
+    return action;
+  }
+
+  /**
+   * Get a list of QNames of parts from the soap body of the specified message.
+   * This method assumes RPC style message content
+   */
+  private QName getOperationFromMessage(Document doc)
+  {
+    QName operation = null;
+    if (doc != null)
+    {
+      Element root = doc.getDocumentElement();
+      NodeList bodies =
+        root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
+      if (bodies != null && bodies.getLength() > 0)
+      {
+        Element body = (Element) bodies.item(0);
+        NodeList children = body.getChildNodes();
+        for (int i = 0; i < children.getLength(); ++i)
+        {
+          Node n = children.item(i);
+          // If element, then this is the operation name
+          if (n instanceof Element)
+          {
+            operation = new QName(n.getNamespaceURI(), n.getLocalName());
+          }
+        }
+      }
+    }
+
+    return operation;
+  }
+
+  /**
+   * Get a list of QNames of parts from the soap body of the specified message.
+   * This method assumes RPC style message content
+   */
+  private Map getPartListFromMessage(Document doc)
+  {
+    Map parts = new HashMap();
+    if (doc != null)
+    {
+      Element root = doc.getDocumentElement();
+      NodeList bodies =
+        root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
+      // Get the list of soap:body grand-child element names from the request message
+      // (immediate child is the message name)
+      if (bodies != null && bodies.getLength() > 0)
+      {
+        Element body = (Element) bodies.item(0);
+        NodeList children = body.getChildNodes();
+        for (int i = 0; i < children.getLength(); ++i)
+        {
+          Node n = children.item(i);
+          if (n instanceof Element)
+          {
+            // this is the operation name. Its children are the parts
+            NodeList grandChildren = n.getChildNodes();
+            for (int j = 0; j < grandChildren.getLength(); j++)
+            {
+              Node m = grandChildren.item(j);
+              if (m instanceof Element)
+              {
+                // Determine if the part has an xsi:type
+                Attr attr =
+                  XMLUtils.getAttribute(
+                    (Element) m,
+                    new QName(WSIConstants.NS_URI_XSI, "type"));
+
+                QName xsiType = null;
+
+                // If there is an xsi:type attribute, then get the value as a QName 
+                try
+                {
+                  if (attr != null)
+                    xsiType =
+                      DOMUtils.getQName(attr.getNodeValue(), (Element) m);
+                }
+                catch (javax.wsdl.WSDLException we)
+                {
+                }
+
+                // add to the child element list
+                parts.put(
+                  new QName(m.getNamespaceURI(), m.getLocalName()),
+                  xsiType);
+              }
+            }
+          }
+        }
+      }
+    }
+    return parts;
+  }
+
+  public BindingOperation[] getMatchingBindingOps(
+    String bindingStyle,
+    Binding[] bindings)
+    throws WSIException
+  {
+
+    HashSet bindingOperationsSet = new HashSet();
+
+    // whizz through the bindings, checking for a bindingOperation matching the message
+    for (int i = 0; i < bindings.length; i++)
+    {
+
+      Binding tryBinding = bindings[i];
+      List bindingOps = tryBinding.getBindingOperations();
+
+      if (bindingOps != null)
+      {
+
+        // search through binding Operations
+        Iterator bindingOpIt = tryBinding.getBindingOperations().iterator();
+        while (bindingOpIt.hasNext())
+        {
+
+          BindingOperation bindingOp = (BindingOperation) bindingOpIt.next();
+          // check depends on which binding style is declared in the wsdl
+          SOAPOperation soapOp = WSDLValidatorImpl.getSoapOperation(bindingOp);
+          //GT: move this method to utils
+
+          String style;
+          if ((soapOp == null) || (style = soapOp.getStyle()) == null)
+          {
+            // use the style of the parent bindingOp
+
+            SOAPBinding soapBind = WSDLValidatorImpl.getSoapBinding(tryBinding);
+            //GT: move this method to utils
+            if ((style = soapBind.getStyle()) == null)
+            {
+              style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
+              //default
+            }
+          }
+          if (style.equals(bindingStyle))
+          {
+
+            bindingOperationsSet.add(bindingOp);
+
+          }
+        }
+      } // current binding has no bindingOperations, ignore
+    }
+    return (BindingOperation[]) bindingOperationsSet.toArray(
+      new BindingOperation[0]);
+  }
+
+  /**
+   * Checks whether soap:body element is literal.
+   * @param extElements extensibility elements of wsdl:input or wsdl:output
+   * of a binding
+   */
+  public boolean isLiteral(List extElems)
+  {
+    SOAPBody soapBody = getSOAPBody(extElems);
+    if (soapBody != null
+      && soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
+      return true;
+    else
+      return false;
+  }
+
+  /**
+   * Orders wsdl:part names keeping in mind the "parts" attribute of WSDL soap:body
+   * @param messageParts a list of wsdl:partS
+   * @param extElems extensibility elements in the binding
+   * @return the ordered list of part names
+   */
+  public List orderPartNames(List messageParts, List extElems)
+  {
+    List orderedPartNames = new ArrayList();
+    List bodyParts = null;
+
+    SOAPBody soapBody = getSOAPBody(extElems);
+    if (soapBody != null)
+      bodyParts = soapBody.getParts();
+
+    Iterator i = messageParts.iterator();
+    while (i.hasNext())
+    {
+      String partName = ((Part) i.next()).getName();
+      // If the parts attribute is not specified or contains
+      // the wsdl:part name, then adding part name to the ordered list
+      if (bodyParts == null || bodyParts.contains(partName))
+        orderedPartNames.add(partName);
+    }
+
+    return orderedPartNames;
+  }
+
+  /**
+   * Retrieves the SOAPBody object from a list of extensibility elments in binding
+   * @param extElems extensibility elements
+   * @return the SOAPBody element
+   */
+  public SOAPBody getSOAPBody(List extElems)
+  {
+    if (extElems == null)
+      return null;
+    for (Iterator i = extElems.iterator(); i.hasNext();)
+    {
+      Object obj = i.next();
+      if (obj instanceof SOAPBody)
+        return (SOAPBody) obj;
+    }
+
+    return null;
+  }
+ 
+  public List resolveSameNamespaces(List schemaElements)
+  {
+  	List namespaces = new ArrayList();
+  	List result = new ArrayList();
+  	Iterator i = schemaElements.iterator();
+    while (i.hasNext())
+    {
+      Element schema = (Element) i.next();
+      String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
+      if (!namespaces.contains(targetNamespace))
+      {
+        namespaces.add(targetNamespace);
+    	List schemas = getSchemasWithSameNamespace(schemaElements, targetNamespace);
+    	if (schemas.size() == 1)
+      	{
+      	  result.add(schema);
+      	}
+    	else
+    	{
+    		// copying all the NS declarations from wsdl:definitions wsdl:types
+      //copyNSDeclarations(root, schema);
+      copyNSDeclarations((Element) schema.getParentNode(), schema);
+      // Replacing all relative schemaLocation URIs with absolute ones
+      //replaceRelativeURIs(schema, wsdlURI);
+      // Serialize the schema elements inside the Types, then use this as
+      // the schema string for the validation
+      //String schemaString =
+      //  DOM2Writer.nodeToString(schema);
+      // schemaStrings.add(schemaString);
+      	}
+      }
+    }
+  	return null;
+  }
+  	
+  public List getSchemasWithSameNamespace(List schemaElements, String targetNamespace)
+  { 
+  	List result = new ArrayList();
+    Iterator i = schemaElements.iterator();
+    while (i.hasNext())
+    {
+      Element schema = (Element)i.next();
+      String schemaTargetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
+      if (schemaTargetNamespace == null)
+       	schemaTargetNamespace = "";
+        
+      if (schemaTargetNamespace.equals(targetNamespace))
+      {
+       	result.add(schema);
+      }
+    }
+    return result;
+  }
+
+  public boolean duplicateNamespacesDetected(List schemaElements)
+  { 
+  	boolean result = false;
+    List namespaces = new ArrayList();
+    Iterator i = schemaElements.iterator();
+    while (i.hasNext())
+    {
+    	Element schema = (Element)i.next();
+        String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
+        if (targetNamespace == null)
+        	targetNamespace = "";
+        
+        if (namespaces.contains(targetNamespace))
+        {
+        	result = true;
+        	break;
+        }
+        else
+        {
+        	namespaces.add(targetNamespace);
+        }
+    }
+    return result;
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
new file mode 100644
index 0000000..32e401b
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
@@ -0,0 +1,313 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Definition;
+import javax.wsdl.Message;
+import javax.wsdl.OperationType;
+import javax.wsdl.Part;
+import javax.wsdl.extensions.soap.SOAPHeader;
+import javax.xml.namespace.QName;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
+import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
+import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
+import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+
+/**
+ * BP1009.
+ * Message includes all soapbind:headers specified in the wsdl:input 
+ * (if request) or wsdl:output (if response) of the operation referred 
+ * to by its wsdl:binding, and may also include headers that were not specified.
+ */
+public class BP1009 extends AssertionProcess
+{
+  private final BaseMessageValidator validator;
+
+  /**
+   * @param BaseMessageValidator
+   */
+  public BP1009(BaseMessageValidator impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    try
+    {
+      if (this.validator.isOneWayResponse(entryContext))
+      {
+        throw new AssertionNotApplicableException();
+      }
+
+      // Parse message
+      Document doc = entryContext.getMessageEntryDocument();
+
+      // Parse request message
+      Document docRequest = entryContext.getRequestDocument();
+
+      if (doc == null || docRequest == null)
+        throw new AssertionNotApplicableException();
+
+      // Check if there is a soap body element
+      if (!this.validator.containsSoapBodyWithChild(doc))
+      {
+        throw new AssertionNotApplicableException();
+      }
+
+      if (this.validator.isFault(doc))
+      {
+        throw new AssertionFailException(
+          AssertionResult.RESULT_NOT_APPLICABLE);
+      }
+
+      // get SOAPAction
+      String headers = entryContext.getRequest().getHTTPHeaders();
+      String action = null;
+      if (headers != null)
+        action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
+
+      Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
+      TypesRegistry registry =
+        new TypesRegistry(
+          this.validator.getWSDLDocument().getDefinitions(),
+          validator);
+      OperationSignature.OperationMatch match =
+        OperationSignature.matchOperation(
+          docRequest,
+          action,
+          binding,
+          registry);
+
+      if (match == null)
+      {
+        throw new AssertionNotApplicableException();
+      }
+
+      BindingOperation bindingOperation = match.getOperation();
+
+      // If this is a one-way operation and we are processing a response, then set result to notApplicable
+      if (bindingOperation
+        .getOperation()
+        .getStyle()
+        .equals(OperationType.ONE_WAY)
+        && (entryContext
+          .getMessageEntry()
+          .getType()
+          .equals(MessageEntry.TYPE_RESPONSE)))
+      {
+        throw new AssertionNotApplicableException();
+      }
+
+      // find body
+      NodeList soapBodyList =
+        doc.getElementsByTagNameNS(
+          WSIConstants.NS_URI_SOAP,
+          XMLUtils.SOAP_ELEM_BODY);
+      if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
+      {
+        // There is not a body or more than one bodies in the envlope.
+        throw new AssertionPassException();
+      }
+      // find headers
+      NodeList soapHeaders =
+        doc.getElementsByTagNameNS(
+          WSITag.ELEM_SOAP_HEADER.getNamespaceURI(),
+          WSITag.ELEM_SOAP_HEADER.getLocalPart());
+
+      //find all operation
+      //Element soapOperation = XMLUtils.getFirstChild(soapBodyElem);
+
+      // gets soapbind:headers
+      List bindingHeaders = null;
+      if (entryContext
+        .getMessageEntry()
+        .getType()
+        .equals(MessageEntry.TYPE_REQUEST))
+      {
+        if (bindingOperation.getBindingInput() != null)
+          bindingHeaders =
+            bindingOperation.getBindingInput().getExtensibilityElements();
+        else
+          throw new AssertionFailException();
+
+      }
+      else
+      {
+        if (entryContext
+          .getMessageEntry()
+          .getType()
+          .equals(MessageEntry.TYPE_RESPONSE))
+        {
+          if (bindingOperation.getBindingOutput() != null)
+            bindingHeaders =
+              bindingOperation.getBindingOutput().getExtensibilityElements();
+          else
+            throw new AssertionFailException();
+        }
+      }
+      if (bindingHeaders == null || bindingHeaders.size() == 0)
+      {
+        throw new AssertionPassException();
+      }
+
+      Iterator iterator = bindingHeaders.iterator();
+      while (iterator.hasNext())
+      {
+        Object bindingHeader = iterator.next();
+        if (bindingHeader instanceof SOAPHeader)
+        {
+          // find soapbind:header in SOAP message
+          if (!isBindingHeaderInSOAPMessage(entryContext,
+            soapHeaders,
+            (SOAPHeader) bindingHeader))
+          {
+            throw new AssertionFailException();
+          }
+        }
+      }
+
+      result = AssertionResult.RESULT_PASSED;
+
+    }
+    catch (AssertionFailException e)
+    {
+      if (e.getMessage() != null && e.getMessage().length() > 0)
+        result = e.getMessage();
+      else
+        result = AssertionResult.RESULT_FAILED;
+    }
+    catch (AssertionPassException e)
+    {
+      result = AssertionResult.RESULT_PASSED;
+    }
+    catch (Exception e)
+    {
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+    }
+
+    if (result == AssertionResult.RESULT_FAILED)
+    {
+      failureDetail = this.validator.createFailureDetail(null, entryContext);
+    }
+
+    // Return assertion result
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+
+  /**
+  * Checks whether specified SOAPHeader is in the SOAPMessage.
+  * @param soapHeaderList
+  * @param SOAPHeader
+  * @return boolean
+  */
+  private boolean isBindingHeaderInSOAPMessage(
+    EntryContext entryContext,
+    NodeList soapHeaders,
+    SOAPHeader bindingHeader)
+  {
+
+    Message msg = getMessageByQName(entryContext, bindingHeader.getMessage());
+    if (msg == null)
+      return false;
+
+    Part part = msg.getPart(bindingHeader.getPart());
+    if (part == null)
+      return false;
+
+    QName partElementName = part.getElementName();
+    QName partTypeName = part.getTypeName();
+
+    if (partTypeName == null && partElementName == null)
+      return false;
+
+    if (soapHeaders == null || soapHeaders.getLength() == 0)
+    {
+      return false;
+    }
+    Vector headersList =
+      XMLUtils.getChildElements((Element) soapHeaders.item(0));
+
+    for (int indexHeader = 0;
+      indexHeader < headersList.size();
+      indexHeader++)
+    {
+      Element soapHeaderPart = (Element) headersList.get(indexHeader);
+      if (soapHeaderPart != null)
+      {
+        QName soapHeaderPartQName =
+          new QName(
+            soapHeaderPart.getNamespaceURI(),
+            soapHeaderPart.getLocalName());
+        if ((partTypeName != null
+          && partTypeName.equals(soapHeaderPartQName))
+          || (partElementName != null
+            && partElementName.equals(soapHeaderPartQName)))
+        {
+          return true;
+        }
+      }
+    }
+
+    return false;
+  }
+
+  /**
+   * Gets message by QName.
+   * @param entryContext
+   * @param messageName
+   * @return Message
+   */
+  private Message getMessageByQName(
+    EntryContext entryContext,
+    QName messageName)
+  {
+    Definition[] defs = validator.analyzerContext.getCandidateInfo().getDefinitions();
+    for (int i = 0; i < defs.length; i++)
+    {
+      Message msg = defs[i].getMessage(messageName);
+      if (msg != null)
+        return msg;
+    }
+    return null;
+  }
+
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
new file mode 100644
index 0000000..3a37ab6
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
@@ -0,0 +1,203 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingOperation;
+import javax.xml.namespace.QName;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+
+/**
+ * BP1011.
+ */
+public class BP1011 extends AssertionProcess
+{
+  private final BaseMessageValidator validator;
+
+  /**
+   * @param BaseMessageValidator
+   */
+  public BP1011(BaseMessageValidator impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    try
+    {
+      // TODO need to handle soap with attachments
+      if (entryContext.getMessageEntry().isMimeContent())
+      	 throw new AssertionNotApplicableException();
+         
+      Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
+
+      // get soap message child name
+      // Get the DOM contents of the message soap:body (if non-empty)
+      Document messageDoc = null;
+
+      QName messagePartElementQName = null;
+
+      if (!entryContext.getMessageEntry().getMessage().equals(""))
+      {
+        messageDoc = entryContext.getMessageEntryDocument();
+        //messageDoc = XMLUtils.parseXML(entryContext.getMessageEntry().getMessage(), 
+        //	WSIProperties.DEF_SOAP_SCHEMA);
+        // get soap operation name from the soap:body
+
+        // NOTE: getSoapBodyChild() may return null, if the soap:body did not contain any child elements
+        Element soapMessageElement = validator.getSoapBodyChild(messageDoc);
+
+        // for doc-lit... find the wsdl:part from one of the specified operations that has 
+        // the soap element used in the message.      
+        // we are looking for a part with an element attrib val matching the soap message element
+        if (soapMessageElement != null)
+        {
+          messagePartElementQName =
+            new QName(
+              soapMessageElement.getNamespaceURI(),
+              soapMessageElement.getLocalName());
+        }
+      }
+
+      if ((messageDoc == null) || this.validator.isFault(messageDoc))
+      {
+        // empty messages and fault messages do not qualify for this TA
+        throw new AssertionNotApplicableException();
+      }
+
+      // look for match(s) in doc operations
+      // if found, we're done, else
+      // look for match(s) in rpc operations
+
+      /* Doc-lit 
+       * get list of operations (from candidates) for which the first soap:body child QName is the
+       * <part element="..."> value of that operation's <wsdl:input> or <wsdl:output> element (depending
+       * on whether message is a request or a response).
+       */
+
+      BindingOperation[] docBindingOperations =
+        validator.getMatchingBindingOps(
+          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
+          bindings);
+      // list of operations that match the <wsdl:input> or <wsdl:output> (depending on entryType)
+      // for part element="..."
+      // (ISSUE: what about part type="..."?)
+      BindingOperation[] potentialDocLitOps =
+        validator.getDocLitOperations(
+          entryContext.getEntry().getEntryType(),
+          messagePartElementQName,
+          docBindingOperations);
+      if (potentialDocLitOps.length != 0)
+      {
+        // found at least one doc lit match
+
+        // *** Now we know it's document-literal, schema-validate the SOAP payload accordingly            		
+        try
+        {
+          this.validator.messageIsDocLitSchemaValid(entryContext);
+        }
+        catch (Exception e)
+        {
+          throw new AssertionFailException(e.getMessage());
+        }
+        throw new AssertionPassException();
+      }
+
+      /* soap message is not doc-lit so try :
+       * Rpc-lit
+       */
+      BindingOperation[] rpcBindingOperations =
+        this.validator.getMatchingBindingOps(
+          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
+          bindings);
+
+      // Determine if there is an operation match
+      BindingOperation rcpOpMatch =
+        this.validator.getOperationMatch(
+          entryContext.getEntry().getEntryType(),
+          messageDoc,
+          rpcBindingOperations);
+      if (rcpOpMatch != null)
+      {
+        // Determine if the parts match
+        rcpOpMatch =
+          this.validator.getOperationPartsMatch(
+            entryContext.getEntry().getEntryType(),
+            messageDoc,
+            rpcBindingOperations);
+      }
+
+      if (rcpOpMatch == null)
+      {
+        //not matched with rpc either. Prepare assertion failure.
+        StringBuffer rpcOperationList = new StringBuffer();
+        for (int i = 0; i < rpcBindingOperations.length; i++)
+        {
+          rpcOperationList.append(rpcBindingOperations[i].toString() + "\n");
+        }
+
+        StringBuffer docOperationList = new StringBuffer();
+        for (int i = 0; i < docBindingOperations.length; i++)
+        {
+          docOperationList.append(docBindingOperations[i].toString() + "\n");
+        }
+
+        throw new AssertionFailException(
+          "--MESSAGE:\n"
+            + entryContext.getMessageEntry().getMessage()
+            + "\n--CANDIDATE RPC STYLE OPERATIONS ("
+            + (rpcBindingOperations.length != 0
+              ? (rpcBindingOperations.length + "):\n" + rpcOperationList)
+              : "NONE)")
+            + "\n--CANDIDATE DOCUMENT STYLE OPERATIONS ("
+            + (docBindingOperations.length != 0
+              ? (docBindingOperations.length + "):\n" + docOperationList)
+              : "NONE)"));
+
+      }
+    }
+    catch (AssertionPassException e)
+    {
+    }
+    catch (AssertionFailException e)
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
+    }
+    catch (AssertionNotApplicableException e)
+    {
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+    }
+
+    // Return assertion result
+
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
new file mode 100644
index 0000000..cca1c89
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.TestUtils;
+import org.eclipse.wst.wsi.internal.core.util.Utils;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import com.ibm.wsdl.util.xml.DOM2Writer;
+
+
+/**
+ * BP1701.
+ */
+public class BP1701 extends AssertionProcess
+{
+  private final BaseMessageValidator validator;
+
+  /**
+   * @param BaseMessageValidator
+   */
+  public BP1701(BaseMessageValidator impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    if (this.validator.isOneWayResponse(entryContext))
+    {
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+    }
+    else
+    {
+      try
+      {
+        // TEMP: Use local copy of schema for now
+        // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), WSIConstants.NS_URI_SOAP);
+        // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), "schemas/soapEnvelope.xsd");
+
+        // Get a non-validated but (well-formed) DOM tree of the message content
+        Document doc =
+          XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
+
+        // Remove any xsi:types attributes from the message (SOAP Header, Body and Envelope itself)
+
+        NodeList elementList = doc.getElementsByTagName("*");
+        if (elementList != null)
+        {
+          for (int i = 0; i < elementList.getLength(); i++)
+          {
+            Element element = (Element) elementList.item(i);
+            element.removeAttributeNS(WSIConstants.NS_URI_XSI, "type");
+          }
+        }
+
+        // Write out the (potentially) modified tree to String
+        String filteredMessage = DOM2Writer.nodeToString(doc);
+
+        // Parse the result with validation "on"
+        XMLUtils.parseXML(
+          filteredMessage,
+          TestUtils.getSOAPSchemaLocation());
+      }
+      catch (WSIException e)
+      {
+        if (e.getTargetException() instanceof SAXException)
+        {
+          result = AssertionResult.RESULT_FAILED;
+          failureDetail =
+            this.validator.createFailureDetail(
+              Utils.getExceptionDetails(e.getTargetException()),
+              entryContext);
+        }
+      }
+      catch (Exception e)
+      {
+        result = AssertionResult.RESULT_FAILED;
+        failureDetail =
+          this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
+      }
+    }
+
+    // Return assertion result
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
new file mode 100644
index 0000000..b01a2b8
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
@@ -0,0 +1,133 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
+
+import java.util.List;
+
+import javax.wsdl.BindingOperation;
+import javax.wsdl.extensions.mime.MIMEMultipartRelated;
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
+import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
+import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
+
+/**
+ * AP1925
+ *
+ * <context>For a candidate message</context>
+ * <assertionDescription>If the WSDL description lists at least one non-root
+ * MIME part, then the corresponding message has a Content-Type HTTP header
+ * field-value with a media-type of "multipart/related.</assertionDescription>
+ */
+public class AP1925 extends AssertionProcess
+{
+  private final BaseMessageValidator validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public AP1925(BaseMessageValidator impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  /* Validates the test assertion.
+  * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+  */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    try
+    {
+      BindingOperation bindingOperation = validator.getOperationMatch(
+          entryContext.getEntry().getEntryType(),
+          entryContext.getMessageEntryDocument());
+  
+      // If there is no matched operation, the assertion is not applicable
+      if (bindingOperation == null)
+        throw new AssertionNotApplicableException();
+  
+      // Finding operation extensibility elems
+      // in the binding depending on message type
+      List extElems = null;
+      if (entryContext.getMessageEntry().getType().equals(
+        MessageEntry.TYPE_REQUEST)
+        && bindingOperation.getBindingInput() != null)
+      {
+        extElems = bindingOperation
+          .getBindingInput().getExtensibilityElements();
+      }
+      else if (entryContext.getMessageEntry().getType().equals(
+        MessageEntry.TYPE_RESPONSE)
+        && bindingOperation.getBindingOutput() != null)
+      {
+        extElems = bindingOperation
+          .getBindingOutput().getExtensibilityElements();
+      }
+      // check list on first element
+      if((extElems == null) || (extElems.size() == 0) || 
+         !(extElems.get(0) instanceof MIMEMultipartRelated))
+        throw new AssertionNotApplicableException();
+      
+      // get list mime parts from definition
+      MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
+      List parts = mime.getMIMEParts();
+      // if parts count is more than one, than assertion is notApplicable
+      if(parts.size() <= 1)
+        throw new AssertionNotApplicableException();
+      String contentType = HTTPUtils.getHttpHeaderAttribute(
+          entryContext.getMessageEntry().getHTTPHeaders(),
+          HTTPConstants.HEADER_CONTENT_TYPE); 
+      if((contentType == null) || 
+         !contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART))
+      {
+        throw new AssertionFailException("Incorrect Content-Type value \"" +
+            contentType + "\" in HTTP header");
+      }
+    }
+    catch (AssertionNotApplicableException e)
+    {
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+    }
+    catch (AssertionFailException e)
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = 
+        validator.createFailureDetail(e.getMessage(), entryContext);
+    }
+    // Return assertion result
+    return validator.createAssertionResult(
+      testAssertion, result, failureDetail);
+  }
+
+  /**
+   * Returns the part value from MIMEContent element
+   * @param part MIMEPart element
+   * @return the part value from MIMEContent element
+   */
+  //private String getMIMEContentPart(MIMEPart part) {
+  //  List list = part.getExtensibilityElements();
+  //  if(list.size() == 0)
+  //    return null;
+  //  return ((MIMEContent) list.get(0)).getPart();
+  //}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
new file mode 100644
index 0000000..0ffdce8
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
@@ -0,0 +1,590 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.UnknownHostException;
+import java.util.Iterator;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.WSDLException;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
+import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.UDDIValidator;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
+import org.eclipse.wst.wsi.internal.core.report.Entry;
+import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
+import org.eclipse.wst.wsi.internal.core.report.Reporter;
+import org.eclipse.wst.wsi.internal.core.util.EntryType;
+import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
+import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.binding.BindingTemplate;
+import org.uddi4j.datatype.binding.TModelInstanceInfo;
+import org.uddi4j.datatype.tmodel.TModel;
+import org.uddi4j.response.BindingDetail;
+import org.uddi4j.response.TModelDetail;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.KeyedReference;
+
+import com.ibm.wsdl.util.StringUtils;
+
+/**
+ * The UDDI validator will verify that a web service description was published correctly in a UDDI registry.
+ *
+ * @version 1.0.1
+ * @author Peter Brittenham (peterbr@us.ibm.com)
+ */
+public class UDDIValidatorImpl
+  extends BaseValidatorImpl
+  implements UDDIValidator
+{
+  /**
+   * UDDI reference.
+   */
+  protected UDDIReference uddiReference;
+  /**
+   * UDDI proxy.
+   */
+  protected UDDIProxy uddiProxy;
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.UDDIValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.test.analyzer.config.UDDIReference, org.wsi.test.report.Reporter)
+   */
+  public void init(
+    AnalyzerContext analyzerContext,
+    ProfileArtifact profileArtifact,
+    ReportArtifact reportArtifact,
+    UDDIReference uddiReference,
+    Reporter reporter)
+    throws WSIException
+  {
+    // BaseValidatorImpl
+    super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
+
+    // Save input references
+    this.uddiReference = uddiReference;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.UDDIValidator#validate()
+   */
+  public String validate() throws WSIException
+  {
+    String wsdlURL = null;
+    Entry entry = null;
+
+    BindingTemplate bindingTemplate = null;
+    TModel tModel = null;
+
+    // it depricated after refactoring 
+    // now the inner classes moved out from validator
+    //String classPrefix = this.getClass().getName() + "$";
+    String classPrefix = this.getClass().getPackage().getName()+".";
+
+    try
+    {
+      // Set up a reference to the UDDI registry
+      uddiProxy = new UDDIProxy();
+
+      //new Socket(new InetAddress(uddiReference.getInquiryURL()));
+      uddiProxy.setInquiryURL(uddiReference.getInquiryURL());
+      boolean wasEx = false;
+      InputStream stream;
+      try
+      {
+        URL url = StringUtils.getURL(null, uddiReference.getInquiryURL());
+        stream = url.openStream();
+        stream.close();
+      }
+
+      catch (UnknownHostException ex)
+      {
+        wasEx = true;
+      }
+
+      catch (IOException ex)
+      {
+      }
+
+      if (!wasEx)
+      {
+
+        // If the UDDI reference is to a bindingTemplate then get it
+        if (uddiReference.getKeyType().equals(UDDIReference.BINDING_KEY))
+        {
+          // Get binding detail which will contain the bindingTemplate
+          BindingDetail bindingDetail =
+            uddiProxy.get_bindingDetail(uddiReference.getKey());
+
+          // Get bindingTemplate
+          bindingTemplate =
+            (BindingTemplate) bindingDetail
+              .getBindingTemplateVector()
+              .elementAt(
+              0);
+
+          if (verboseOption)
+          {
+            System.err.println(
+              "    BindingTemplate - "
+                + UDDIUtils.bindingTemplateToString(bindingTemplate));
+          }
+
+          // Get the wsdlSpec tModel
+          tModel = findTModel(uddiProxy, bindingTemplate);
+        }
+
+        // Else it has to be a tModel
+        else
+        {
+          TModelDetail tModelDetail =
+            uddiProxy.get_tModelDetail(uddiReference.getKey());
+          tModel = (TModel) tModelDetail.getTModelVector().elementAt(0);
+        }
+
+        if (verboseOption)
+        {
+          System.err.println(
+            "    TModel specified or found in bindingTemplate - "
+              + UDDIUtils.tModelToString(tModel));
+        }
+      }
+
+      if (bindingTemplate == null)
+      {
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
+      }
+
+      // If there is a bindingTemplate, then process test assertions for it
+      else
+      {
+        // Create entry
+        entry = this.reporter.getReport().createEntry();
+        entry.setEntryType(
+          EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
+        entry.setReferenceID(bindingTemplate.getBindingKey());
+        entry.setEntryDetail(bindingTemplate);
+
+        // Process test assertions
+        processAssertions(
+          classPrefix,
+          new EntryContext(entry, this.analyzerContext));
+      }
+
+      // NOTE: From this point forward, if a bindingTemplate does NOT have a wsdlSpec tModel,
+      //       the tModel will be NULL.
+
+      //Parse WSDL document, and get WSDL document url, binding name and namespace
+      try
+      {
+        String overviewURL = getOverviewURL(tModel);
+        wsdlURL = getWSDLLocation(overviewURL);
+        WSDLDocument wsdlDocument = getWSDLDocument(wsdlURL);
+
+        // ADD: The WSDL binding is used in WSI3001 and should be moved to the entryContext
+        getBinding(overviewURL, wsdlDocument);
+      }
+
+      catch (Exception e)
+      {
+        // ADD:
+        if (verboseOption)
+        {
+          System.err.println("    EXCEPTION: " + e.toString());
+        }
+      }
+
+      // Create entry
+      entry = this.reporter.getReport().createEntry();
+      entry.setEntryType(
+        EntryType.getEntryType(EntryType.TYPE_DISCOVERY_TMODEL));
+      entry.setReferenceID(
+        (tModel == null ? "[tModel]" : tModel.getTModelKey()));
+      entry.setEntryDetail(tModel);
+
+      // Process test assertions
+      processAssertions(
+        classPrefix,
+        new EntryContext(entry, this.analyzerContext));
+    }
+
+    catch (Exception e)
+    {
+      // Throw WSIException
+      if (e instanceof WSIException)
+        throw (WSIException) e;
+      else
+        throw new WSIException(
+          "An exception occurred while processing the discovery test assertions.",
+          e);
+    }
+
+    // Cleanup
+    cleanup();
+
+    // Get WSDL location
+    wsdlURL = this.analyzerContext.getServiceReference().getWSDLLocation();
+
+    // Return WSDL URL
+    return wsdlURL;
+  }
+
+  /**
+   * Set WSDL binding in the service reference portion of the analyzer context.
+   */
+  protected void setWSDLBinding(Binding binding)
+  {
+    String bindingName =
+      binding == null ? null : binding.getQName().getLocalPart();
+    String namespace =
+      binding == null ? null : binding.getQName().getNamespaceURI();
+
+    // Set the WSDL document location in analyzerContext
+    ServiceReference serviceReference =
+      this.analyzerContext.getServiceReference();
+
+    // If the wsdlElement does not exist, then set it
+    WSDLElement wsdlElement;
+    if ((wsdlElement = serviceReference.getWSDLElement()) == null)
+    {
+      // Get the WSDL binding from the overviewURL and set in analyzerContext
+      wsdlElement = new WSDLElementImpl();
+      wsdlElement.setName(bindingName);
+      wsdlElement.setNamespace(namespace);
+      wsdlElement.setType(EntryType.TYPE_DESCRIPTION_BINDING);
+    }
+
+    // Set the wsdlElement in the service reference
+    serviceReference.setWSDLElement(wsdlElement);
+
+    // Set the service reference back into the analyzerContext
+    analyzerContext.setServiceReference(serviceReference);
+  }
+
+  /**
+   * Set the WSDL location in the service reference portion of the analyzer context.
+   */
+  protected void setWSDLLocation(String wsdlURL)
+  {
+    // Set the WSDL document location in analyzerContext
+    ServiceReference serviceReference =
+      this.analyzerContext.getServiceReference();
+    serviceReference.setWSDLLocation(wsdlURL);
+
+    // Set the service reference back into the analyzerContext
+    analyzerContext.setServiceReference(serviceReference);
+  }
+
+  /**
+   * Find the wsdlSpec tModel associated with a binding.
+   */
+  private TModel findTModel(
+    UDDIProxy uddiProxy,
+    BindingTemplate bindingTemplate)
+    throws WSIException
+  {
+    TModel tModel = null;
+
+    // Get the list of tModel references associated with this bindingTemplate
+    Iterator iterator =
+      bindingTemplate
+        .getTModelInstanceDetails()
+        .getTModelInstanceInfoVector()
+        .iterator();
+
+    // Process each tModel reference
+    Vector tModelKeyList = new Vector();
+    while (iterator.hasNext())
+    {
+      // Get tModelInstanceInfo
+      TModelInstanceInfo tModelInstanceInfo =
+        (TModelInstanceInfo) iterator.next();
+
+      // Add key to list
+      tModelKeyList.add(tModelInstanceInfo.getTModelKey());
+    }
+
+    // Get the tModels associated with the bindingTemplate
+    if (tModelKeyList.size() > 0)
+    {
+      try
+      {
+        // Get the tModel details
+        TModelDetail tModelDetail = uddiProxy.get_tModelDetail(tModelKeyList);
+
+        // Get the list of tModels
+        Iterator tModelIterator = tModelDetail.getTModelVector().iterator();
+
+        //boolean tModelFound = false;
+        TModel nextTModel = null;
+
+        // Go through the list of tModels
+        while ((tModelIterator.hasNext()) && (tModel == null))
+        {
+          // Get next tModel in list
+          nextTModel = (TModel) tModelIterator.next();
+
+          if (verboseOption)
+          {
+            System.err.println(
+              "      TModel referenced from bindingTemplate - "
+                + UDDIUtils.tModelToString(nextTModel));
+          }
+
+          // If this is a wsdlSpec tModel, then this is the tModel we want
+          if (isWsdlSpec(nextTModel))
+            tModel = nextTModel;
+        }
+      }
+
+      catch (Exception e)
+      {
+        // Throw WSIException
+        throw new WSIException("Could not get tModel details.", e);
+      }
+    }
+
+    else
+    {
+      // Throw exception
+      //throw new WSIException("UDDI bindingTemplate did not contain any tModel references.");
+    }
+
+    return tModel;
+  }
+
+  /**
+   * Determine if this is a wsdlSpec tModel.
+   */
+  protected boolean isWsdlSpec(TModel tModel)
+  {
+    boolean tModelFound = false;
+    CategoryBag categoryBag = null;
+    Iterator categoryBagIterator = null;
+
+    // Determine if the catetgoryBag contains wsdlSpec
+    if ((categoryBag = tModel.getCategoryBag()) != null)
+    {
+      // Get the list of keyed references
+      categoryBagIterator = categoryBag.getKeyedReferenceVector().iterator();
+
+      KeyedReference keyedReference = null;
+
+      // Go through the list of keyed references
+      while (categoryBagIterator.hasNext() && !(tModelFound))
+      {
+        // Get next keyed reference
+        keyedReference = (KeyedReference) categoryBagIterator.next();
+
+        // If this is a types taxonomy tModel and the value is wsdlSpec, then this is the tModel we want
+        // REMOVE: It is not necessary to check the key name
+        //if (keyedReference.getTModelKey().equalsIgnoreCase(TModel.TYPES_TMODEL_KEY) &&
+        //   "wsdlSpec".equals(keyedReference.getKeyValue()) &&
+        //   ("types".equals(keyedReference.getKeyName()) ||
+        //    "uddi-org:types".equals(keyedReference.getKeyName()))) {
+        //  tModelFound = true;
+        //}
+        if (keyedReference
+          .getTModelKey()
+          .equalsIgnoreCase(TModel.TYPES_TMODEL_KEY)
+          && "wsdlSpec".equals(keyedReference.getKeyValue()))
+        {
+          tModelFound = true;
+        }
+      }
+    }
+
+    return tModelFound;
+  }
+
+  /**
+   * Get an OverviewURL from tModel.
+   */
+  protected String getOverviewURL(TModel tModel)
+  {
+    if (tModel != null
+      && tModel.getOverviewDoc() != null
+      && tModel.getOverviewDoc().getOverviewURL() != null)
+    {
+      return tModel.getOverviewDoc().getOverviewURL().getText();
+    }
+    return null;
+  }
+
+  /**
+   * Get WSDL document.
+   */
+  protected String getWSDLLocation(String wsdlLocation)
+  {
+    int index;
+
+    // Check if the overviewURL contains a fragment identifier
+    if ((index = wsdlLocation.indexOf("#")) > -1)
+    {
+      wsdlLocation = wsdlLocation.substring(0, index);
+    }
+    return wsdlLocation;
+  }
+
+  /**
+   * Get WSDL document.
+   */
+  protected WSDLDocument getWSDLDocument(String wsdlLocation)
+    throws MalformedURLException, WSDLException
+  {
+    return new WSDLDocument(getWSDLLocation(wsdlLocation));
+  }
+
+  /**
+   * Get WSDL binding from the overviewURL in the tModel.
+   */
+  protected Binding getBinding(String overviewURL, WSDLDocument wsdlDocument)
+  {
+    int index;
+    int nameIndex;
+
+    Binding[] bindings = wsdlDocument.getBindings();
+    if (bindings == null || bindings.length == 0)
+      return null;
+
+    if (overviewURL != null)
+    {
+      // Check if the overviewURL contains a fragment identifier
+      if ((index = overviewURL.indexOf("#")) > -1)
+      {
+        // TEMP: Need to use a real XPath evaluator like Xalan
+        String nameAttribute = "@name=";
+
+        // Locate name reference
+        if ((nameIndex =
+          overviewURL.substring(index + 1).indexOf(nameAttribute))
+          > -1)
+        {
+          // Get the next character which should be a quote
+          int firstQuoteIndex = index + 1 + nameIndex + nameAttribute.length();
+          String quote =
+            overviewURL.substring(firstQuoteIndex, firstQuoteIndex + 1);
+
+          // Get the part of the URL which should contain the binding name
+          String urlPart = overviewURL.substring(firstQuoteIndex + 1);
+
+          // Find the next quote
+          int nextQuoteIndex;
+          if ((nextQuoteIndex = urlPart.indexOf(quote)) > -1)
+          {
+            String bindingName = urlPart.substring(0, nextQuoteIndex);
+            //look for binding with the specified name
+            for (int i = 0; i < bindings.length; i++)
+            {
+              if (bindingName.equals(bindings[i].getQName().getLocalPart()))
+                return bindings[i];
+            }
+          }
+        }
+      }
+    }
+
+    return bindings[0];
+  }
+
+  /**
+   * Get string representation of categoryBag.
+   * @param categoryBag a CategoryBag object.
+   * @return string representation of categoryBag.
+   */
+  protected String categoryBagToString(CategoryBag categoryBag)
+  {
+    String toString = "";
+
+    if (categoryBag != null)
+    {
+      Vector keyedReferenceList = null;
+      if (((keyedReferenceList = categoryBag.getKeyedReferenceVector())
+        == null)
+        || (keyedReferenceList.size() == 0))
+      {
+        toString += "No KeyedReferences";
+      }
+
+      else
+      {
+        int count = 1;
+        KeyedReference keyedReference;
+        Iterator iterator = keyedReferenceList.iterator();
+        while (iterator.hasNext())
+        {
+          keyedReference = (KeyedReference) iterator.next();
+          toString += "\n  ["
+            + count++
+            + "] tModelKey: "
+            + keyedReference.getTModelKey()
+            + ", keyName: "
+            + keyedReference.getKeyName()
+            + ", keyValue: "
+            + keyedReference.getKeyValue();
+        }
+      }
+    }
+    else
+    {
+      toString = "null";
+    }
+
+    return toString;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  protected boolean isPrimaryEntryTypeMatch(
+    TestAssertion testAssertion,
+    EntryContext targetContext)
+  {
+    boolean match = false;
+
+    // If the test assertion entry type matches the target context entry type, then contine
+    if (testAssertion
+      .getEntryTypeName()
+      .equals(targetContext.getEntry().getEntryType().getTypeName()))
+    {
+      match = true;
+    }
+
+    return match;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
+   */
+  protected boolean isNotApplicable(TestAssertion testAssertion)
+  {
+    boolean notApplicable = false;
+
+    // ADD:
+
+    return notApplicable;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
new file mode 100644
index 0000000..06674dd
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
@@ -0,0 +1,155 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
+
+import java.util.Vector;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
+import org.uddi4j.client.UDDIProxy;
+import org.uddi4j.datatype.binding.BindingTemplate;
+import org.uddi4j.datatype.business.BusinessEntity;
+import org.uddi4j.datatype.service.BusinessService;
+import org.uddi4j.util.CategoryBag;
+import org.uddi4j.util.KeyedReference;
+
+
+/**
+ * WSI3007 - A uddi:businessEntity or uddi:businessService associated
+ * with this uddi:bindingTemplate is not categorized using
+ * the ws-i-org:conformsTo:2002_12 taxonomy.
+ */
+public class WSI3007 extends AssertionProcess
+{
+  private final UDDIValidatorImpl validator;
+
+  /**
+   * @param UDDIValidatorImpl
+   */
+  public WSI3007(UDDIValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  /**
+   * Validates the test assertion.
+   * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    result = AssertionResult.RESULT_PASSED;
+
+    // Get the bindingTemplate from the entryContext
+    BindingTemplate bindingTemplate =
+      (BindingTemplate) entryContext.getEntry().getEntryDetail();
+
+    boolean validService = false;
+    boolean validBusiness = false;
+
+    String serviceKey = null;
+    String businessKey = null;
+    try
+    {
+      serviceKey = bindingTemplate.getServiceKey();
+      BusinessService service =
+        UDDIUtils.getBusinessServiceByKey(this.validator.uddiProxy, serviceKey);
+
+      businessKey = service.getBusinessKey();
+      BusinessEntity business =
+        UDDIUtils.getBusinessByKey(this.validator.uddiProxy, businessKey);
+
+      validService = checkCategoryBag(this.validator.uddiProxy, service.getCategoryBag());
+      validBusiness = checkCategoryBag(this.validator.uddiProxy, business.getCategoryBag());
+
+      if (!validBusiness || !validService)
+      {
+        result = AssertionResult.RESULT_FAILED;
+
+        if (!validBusiness)
+        {
+          failureDetailMessage =
+            "The businessEntity key is: [" + businessKey + "].";
+        }
+
+        if (!validService)
+        {
+          if (!validBusiness)
+            failureDetailMessage += " ";
+          else
+            failureDetailMessage = "";
+
+          failureDetailMessage += "The businessService key is: ["
+            + serviceKey
+            + "].";
+        }
+      }
+    }
+    catch (IllegalStateException e)
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetailMessage =
+        "The UDDI registry does not contain WSI conformance taxonomy"
+          + " tModel (\"ws-i-org:conformsTo:2002_12\").";
+    }
+    catch (Throwable e)
+    {
+      throw new WSIException(
+        "An exception occurred while processing the discovery test assertions.",
+        e);
+    }
+
+    // Return assertion result
+    return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
+  }
+
+  /**
+   * Checks whether the category bag contains the conformance claim.
+   * Returns <b>true</b> if the bag does not contain the conformance claim.
+   * @param proxy
+   * @param bag
+   * @return boolean
+   */
+  private boolean checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
+  {
+    String conformanceKey = null;
+    try
+    {
+      conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
+    }
+    catch (IllegalStateException ex)
+    {
+      return false;
+    }
+
+    boolean result = true;
+
+    if (bag != null)
+    {
+      Vector references = bag.getKeyedReferenceVector();
+      for (int i = 0; i < references.size() && result; i++)
+      {
+        KeyedReference ref = (KeyedReference) references.get(i);
+
+        result = !ref.getTModelKey().equalsIgnoreCase(conformanceKey);
+      }
+    }
+
+    return result;
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
new file mode 100644
index 0000000..c5a9716
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+
+/**
+ * AP2904
+ * <context>For a candidate wsdl:binding with at least one mime:content element</context>
+ * <assertionDescription>The part attribute of each mime:content element in a wsdl:binding
+ * does not reference a sub-component of a wsdl:part of the wsdl:message that is present in the
+ * respective wsdl:input or wsdl:output of the corresponding wsdl:operation of the corresponding
+ * wsdl:portType.</assertionDescription>
+ */
+public class AP2904 extends AP2903
+{
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public AP2904(WSDLValidatorImpl impl)
+  {
+    super(impl);
+  }
+
+  /* Validates the test assertion.
+  * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+  */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    // Return assertion result
+    return super.validate(testAssertion, entryContext);
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
new file mode 100644
index 0000000..2d5fd18
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
@@ -0,0 +1,341 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Definition;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.ErrorList;
+import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+
+/**
+ * BP2011.
+ * The imported XML schema is a well-formed XML 1.0 document and if it contains an 
+ * XML declaration, it is version 1.0. 
+ *
+ * @version 1.0.1 27.06.2003
+ * @author Vitali Fedosenko
+**/
+public class BP2011 extends AssertionProcess implements WSITag
+{
+  private final WSDLValidatorImpl validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public BP2011(WSDLValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  private ErrorList errors = new ErrorList();
+
+  private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
+    new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
+  private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
+  private final String VERSION_TOKEN = "version";
+  private final String VERSION = "1.0";
+
+  /* Validates the test assertion.
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    result = result = AssertionResult.RESULT_NOT_APPLICABLE;
+
+    //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
+    Types types = (Types) entryContext.getEntry().getEntryDetail();
+
+    List exts = null;
+    //if (def.getTypes()!=null)
+    if (types != null)
+    {
+      exts = types.getExtensibilityElements();
+    }
+    if (exts != null)
+    {
+      Definition definition = null;
+      if ((definition =
+        validator.analyzerContext.getCandidateInfo().getDefinition(types))
+        == null)
+      {
+        throw new WSIException("Could not find types definition in any WSDL document.");
+      }
+
+      Iterator it = exts.iterator();
+      while (it.hasNext())
+      {
+        ExtensibilityElement el = (ExtensibilityElement) it.next();
+        if (el instanceof UnknownExtensibilityElement)
+          searchForSchema(((UnknownExtensibilityElement) el).getElement(),
+              definition.getDocumentBaseURI());
+      }
+    }
+
+    if (!errors.isEmpty())
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
+    } /*else
+         			result = AssertionResult.RESULT_PASSED;*/
+
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+
+  /* Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
+   * @param n - UnknownExtencibilityElement
+  */
+  private void searchForSchema(Node n, String context)
+  {
+    while (n != null)
+    {
+      // searches for xsd:import element
+      if (Node.ELEMENT_NODE == n.getNodeType())
+      {
+        // if xsd:schema element is found -> process schema
+        if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
+          processSchema(n, context);
+        else
+          // if xsd:import element is found -> load schema and process schema
+          // FIXED: if xsd:import is found and parent element is xsd:schema
+          if (XMLUtils.equals(n, ELEM_XSD_IMPORT)
+            && XMLUtils.equals(n.getParentNode(), ELEM_XSD_SCHEMA))
+            loadSchema(n, context);
+          else
+            // else iterate element recursively
+            searchForSchema(n.getFirstChild(), context);
+      }
+      n = n.getNextSibling();
+    }
+  }
+
+  /*
+   * It loads xsd schema and then check the version 1.0 and looking for xsd:schema element for next process.
+   * @param importNode xsd schema
+  */
+  private void loadSchema(Node importNode, String context)
+  {
+    Element im = (Element) importNode;
+    Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
+    // try to parse imported XSD
+    if (schemaLocation != null && schemaLocation.getValue() != null)
+    {
+      try
+      {
+        // if any error or root element is not XSD schema -> error
+        String decl =
+          readXMLDeclarationStatement(schemaLocation.getValue(), context);
+        if (!validVersion(decl))
+        {
+          Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
+          errors.add((a != null) ? a.getValue() : "");
+        }
+        Document schema =
+          validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
+        if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
+        {
+          processSchema(schema.getDocumentElement(),
+            XMLUtils.createURLString(schemaLocation.getValue(), context));
+        }
+        result = AssertionResult.RESULT_PASSED;
+      }
+      catch (Throwable t)
+      {
+      }
+    }
+    // else if there is only the namespace attribute, the import relates to inline schema
+    else if (XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE) != null)
+    {
+      result = AssertionResult.RESULT_PASSED;
+    }
+  }
+
+  /**
+  * Reads an XML declaration statement.
+  * @param location
+  * @return String
+  */
+  private String readXMLDeclarationStatement(String location, String baseURI)
+  {
+    String result = null;
+    try
+    {
+      new URL(location);
+    }
+    catch (Throwable t)
+    {
+      // nothing
+      int i = baseURI.lastIndexOf('/');
+      int j = baseURI.lastIndexOf('\\');
+      if (j > i)
+        i = j;
+      location = baseURI.substring(0, i + 1) + location;
+    }
+
+    if (location != null)
+    {
+      URL url = null;
+      Reader reader = null;
+
+      try
+      {
+        try
+        {
+          url = new URL(location);
+        }
+        catch (MalformedURLException e)
+        {
+          // we should try to access location as file
+        }
+
+        if (url != null)
+        {
+          reader = new InputStreamReader(url.openStream());
+        }
+        else
+        {
+          reader = new InputStreamReader(new FileInputStream(location));
+        }
+
+        int charCode;
+        boolean end = false;
+        if (reader.ready())
+        {
+          charCode = reader.read();
+
+          while (reader.ready() && !(charCode == '<'))
+          {
+            charCode = reader.read();
+          }
+
+          StringBuffer buf = new StringBuffer();
+          if (charCode == '<')
+          {
+            buf.append((char) charCode);
+            while (reader.ready() && !end)
+            {
+              charCode = reader.read();
+              buf.append((char) charCode);
+
+              end = charCode == '>';
+            }
+          }
+          else
+          {
+            // NOTE: This result does not get propogated back!
+            result = AssertionResult.RESULT_FAILED;
+            failureDetailMessage =
+              "Cannot read the XML declaration statement.";
+          }
+
+          result = buf.toString();
+        }
+      }
+      catch (Exception e)
+      {
+      }
+      finally
+      {
+        if (reader != null)
+        {
+          try
+          {
+            reader.close();
+          }
+          catch (Throwable e)
+          {
+          }
+        }
+      }
+    }
+
+    return result;
+  }
+
+  /*
+   * @param xmlDecl - xml declaration
+   * @return if xml declaration contains version="1.0" it retirns true. 
+  */
+  private boolean validVersion(String xmlDecl)
+  {
+    //boolean result = false;
+    boolean result = true;
+    if (xmlDecl != null)
+    {
+      StringTokenizer st =
+        new StringTokenizer(
+          OMMITED_XML_DECLARATION_DELIMITERS,
+          XML_DECLARATION_DELIMITERS);
+      Enumeration tokens = st.parse(xmlDecl);
+      boolean found = false;
+      while (tokens.hasMoreElements() && !found)
+      {
+        String token = (String) tokens.nextElement();
+
+        if (token.equalsIgnoreCase(VERSION_TOKEN))
+        {
+          found = true;
+
+          tokens.nextElement();
+          String ver = (String) tokens.nextElement();
+
+          result = VERSION.equals(ver);
+        }
+      }
+    }
+
+    return result;
+  }
+
+  /*
+   * It's loking for xsd import and load it if find.
+   * @param schema xsd schema
+  */
+  private void processSchema(Node schema, String context)
+  {
+    Node n = schema.getFirstChild();
+    while (n != null)
+    {
+      if (Node.ELEMENT_NODE == n.getNodeType()
+        && XMLUtils.equals(n, ELEM_XSD_IMPORT))
+        loadSchema(n, context);
+
+      n = n.getNextSibling();
+    }
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
new file mode 100644
index 0000000..5a670bf
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import java.util.Iterator;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.soap.SOAPBinding;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.Utils;
+
+
+/**
+ * BP2019.
+ * <context>For a candidate wsdl:binding element, if the contained soap:binding element has a "style" attribute equal to "document" and soap:operations have "use" attribute equal to "literal":</context>
+ * <assertionDescription>The "namespace" attribute is not specified in any contained soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault elements </assertionDescription>
+ * @version 1.0.1 27.06.2003
+ * @author Vitali Fedosenko
+ */
+public class BP2019 extends AssertionProcess
+{
+  private final WSDLValidatorImpl validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public BP2019(WSDLValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  /* Validates the test assertion.
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    boolean docLitFound = false;
+    String errantElements = new String("");
+    // Get the binding from the entry context
+    Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
+
+    // Try to get the SOAP binding
+    SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
+
+    if (soapBinding != null)
+    {
+      String style =
+        (soapBinding.getStyle() == null)
+          ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
+          : soapBinding.getStyle();
+      if (style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC))
+      {
+        Vector soapElements = Utils.arrayToVector(this.validator.getSoapBodies(binding));
+        soapElements.addAll(Utils.arrayToVector(this.validator.getSoapFaults(binding)));
+        soapElements.addAll(Utils.arrayToVector(this.validator.getSoapHeaders(binding)));
+        soapElements.addAll(
+          Utils.arrayToVector(this.validator.getSoapHeaderFaults(binding)));
+
+        Iterator i = soapElements.iterator();
+        while (i.hasNext())
+        {
+          ExtensibilityElement soapElement =
+            (ExtensibilityElement) (i.next());
+          try
+          {
+            if (this.validator.isLiteral(soapElement))
+            {
+              docLitFound = true;
+              if (this.validator.namespaceFoundInSoapLiteral(soapElement))
+              {
+                errantElements += "\n--- " + (soapElement.toString());
+              }
+            }
+          }
+          catch (Exception e)
+          {
+          } // continue with clenched teeth
+        }
+      }
+    }
+
+    if (!docLitFound)
+    {
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+    }
+    else
+    {
+      // If a namespace was not found then test assertion passed
+      if (errantElements.length() != 0)
+      {
+        result = AssertionResult.RESULT_FAILED;
+        failureDetail =
+          this.validator.createFailureDetail(
+            "Failing elements:" + errantElements,
+            entryContext);
+      }
+    }
+
+    // Return assertion result
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
new file mode 100644
index 0000000..f9a73ef
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import javax.wsdl.Definition;
+import javax.wsdl.Import;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.ErrorList;
+import org.eclipse.wst.wsi.internal.core.util.TestUtils;
+import org.eclipse.wst.wsi.internal.core.util.Utils;
+import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
+import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
+
+
+/**
+ * BP2101.
+   * <context>For a candidate wsdl:definition, if it contains wsdl:import statements</context>
+   * <assertionDescription>Each wsdl:import statement is only used to import another WSDL description.</assertionDescription>
+ */
+public class BP2101 extends AssertionProcessVisitor implements WSITag
+{
+  private final WSDLValidatorImpl validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public BP2101(WSDLValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  private ErrorList errors = new ErrorList();
+
+  boolean importFound = false;
+
+  /* Create falure report if import contains reference to non WSDL description. 
+   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
+   */
+  public void visit(Import im, Object parent, WSDLTraversalContext ctx)
+  {
+    importFound = true;
+
+    // by the way : WSDL4J throws Exception if imported WSDL is not resolved
+    // but documentation says that im.getDefinition() will be equal to null
+    if (im.getDefinition() == null)
+      errors.add(
+        im.getNamespaceURI()
+          + ":"
+          + im.getLocationURI()
+          + "\nImport element does not reference a WSDL definition.");
+    else
+      try
+      {
+        // try to parse WSDL according to the WSDL schema
+        validator.parseXMLDocumentURL(
+           im.getLocationURI(),
+           ((Definition)parent).getDocumentBaseURI(),
+           TestUtils.getWSDLSchemaLocation());
+      }
+      catch (Throwable t)
+      {
+        errors.add(
+          im.getNamespaceURI()
+            + ":"
+            + im.getLocationURI()
+            + "\n"
+            + Utils.getExceptionDetails(t));
+      }
+  }
+
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    result = AssertionResult.RESULT_FAILED;
+
+    WSDLTraversal traversal = new WSDLTraversal();
+    //VisitorAdaptor.adapt(this);
+    traversal.setVisitor(this);
+    traversal.visitImport(true);
+    traversal.ignoreReferences();
+    traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
+
+    if (!errors.isEmpty())
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
+    }
+
+    else if (!importFound)
+    {
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+    }
+
+    else
+      result = AssertionResult.RESULT_PASSED;
+
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
new file mode 100644
index 0000000..7fffb02
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.ErrorList;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+
+/**
+ * BP2107.
+ * <context>For a candidate wsdl:types element containing an xsd:schema element</context>
+ * <assertionDescription>The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s).</assertionDescription>
+ */
+public class BP2107 extends AssertionProcess implements WSITag
+{
+  private final WSDLValidatorImpl validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public BP2107(WSDLValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  private boolean schemaFound = false;
+  private ErrorList errors = new ErrorList();
+  //private String context;
+
+  /* 
+   * Validates the test assertion.
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    result = AssertionResult.RESULT_FAILED;
+
+    Types t = (Types) entryContext.getEntry().getEntryDetail();
+    List exts = t.getExtensibilityElements();
+    if (exts != null)
+    {
+      //context = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
+      Iterator it = exts.iterator();
+      while (it.hasNext())
+      {
+        ExtensibilityElement el = (ExtensibilityElement) it.next();
+        if (el instanceof UnknownExtensibilityElement)
+          searchForSchema(((UnknownExtensibilityElement) el).getElement());
+      }
+    }
+
+    //			  context = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
+    //			  processWSDL(entryContext.getWSDLDocument().getFilename());
+
+    if (!errors.isEmpty())
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
+    }
+
+    else if (!schemaFound)
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+
+    else
+      result = AssertionResult.RESULT_PASSED;
+
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+
+  /*
+   * Check node schema or load schema from inmport if it exists and process it. 
+   * @param n - node
+  */
+  private void searchForSchema(Node n)
+  {
+    while (n != null)
+    {
+      // searches for xsd:import element
+      if (Node.ELEMENT_NODE == n.getNodeType())
+      {
+        // if xsd:schema element is found -> process schema
+        if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
+        {
+          schemaFound = true;
+          processSchema(n, null);
+        }
+
+        else
+        {
+          // if xsd:import element is found -> load schema and process schema
+          //if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
+          //  loadSchema(n);
+          //else
+          // else iterate element recursively
+          searchForSchema(n.getFirstChild());
+        }
+      }
+
+      n = n.getNextSibling();
+    }
+  }
+
+  /*
+   * Load schema and process it.
+   * @param importNode - xsd:import element
+  */
+  //private void loadSchema(Node importNode)
+  //{
+  //  Element im = (Element) importNode;
+  //  Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
+  //  // try to parse imported XSD
+  //  if (schemaLocation != null && schemaLocation.getValue() != null)
+  //    try
+  //    {
+  //      // if any error or root element is not XSD schema -> error
+  //      Document schema =
+  //        validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
+  //      if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
+  //      {
+  //        Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
+  //        String namespace = (a != null) ? a.getValue() : "";
+  //        processSchema(schema.getDocumentElement(), namespace);
+  //      }
+  //    }
+  //    catch (Throwable t)
+  //    {
+  //      // nothing. it's not a schema
+  //    }
+  //}
+
+  /*
+   * Create falure report if it's not correspons assertion description.
+   * @param schema - xsd:schema
+   * @param namespace - namespace of schema
+  */
+  private void processSchema(Node schema, String namespace)
+  {
+    Attr a =
+      XMLUtils.getAttribute((Element) schema, ATTR_XSD_TARGETNAMESPACE);
+    String targetNamespace = (a != null) ? a.getValue() : null;
+
+    Node n = schema.getFirstChild();
+    //	   !! we suppose that xsd:import element is occured only within xsd:schema element
+    boolean containsOnlyImportAndAnnotation = true;
+    while (n != null)
+    {
+      if (n.getNodeType() == Node.ELEMENT_NODE)
+      {
+        containsOnlyImportAndAnnotation
+          &= (XMLUtils.equals(n, ELEM_XSD_IMPORT)
+            || XMLUtils.equals(n, ELEM_XSD_ANNOTATION));
+      }
+
+      //if (Node.ELEMENT_NODE == n.getNodeType() && XMLUtils.equals(n, ELEM_XSD_IMPORT))
+      //	loadSchema(n);
+
+      n = n.getNextSibling();
+    }
+
+    // If the target namespace is not set and there are elements in addition to import and annotation, then error
+    if ((targetNamespace == null || targetNamespace.length() == 0)
+      && (!containsOnlyImportAndAnnotation))
+    {
+      errors.add(targetNamespace, XMLUtils.serialize((Element) schema));
+    }
+
+    if (namespace != null && !namespace.equals(targetNamespace))
+    {
+      errors.add(namespace, XMLUtils.serialize((Element) schema));
+    }
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
new file mode 100644
index 0000000..262bc9f
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
@@ -0,0 +1,203 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Part;
+import javax.wsdl.extensions.soap.SOAPBinding;
+import javax.wsdl.extensions.soap.SOAPBody;
+import javax.wsdl.extensions.soap.SOAPOperation;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.ErrorList;
+import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
+import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
+import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
+
+
+/**
+ * BP2112.
+   * <context>For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element</context>
+   * <assertionDescription>No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute.</assertionDescription>
+ */
+public class BP2112 extends AssertionProcessVisitor implements WSITag
+{
+  private final WSDLValidatorImpl validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public BP2112(WSDLValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  private boolean rpcLiteralFound = false;
+  private ErrorList errors = new ErrorList();
+
+  /* 
+   * Put in context soap binding's style
+   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
+   */
+
+  public void visit(
+    SOAPBinding binding,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+    String style =
+      (binding.getStyle() == null)
+        ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
+        : binding.getStyle();
+    ctx.addParameter("bindingStyle", style);
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.BindingOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
+   */
+  public void visit(
+    BindingOperation op,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+    ctx.removeParameter("operationStyle");
+  }
+
+  /* 
+   * Verify style of soap operation is "rpc" if not then it's canceled process. 
+   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
+   */
+  public void visit(
+    SOAPOperation operation,
+    Object parent,
+    WSDLTraversalContext ctx)
+  {
+    ctx.addParameter("operationStyle", operation.getStyle());
+  }
+
+  /* 
+   * If use of soap body is "literal" and if at least one part is define using "element" attribute it creates falure report.    
+   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
+   */
+  public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
+  {
+    String opStyle = (String) ctx.getParameter("operationStyle");
+    String bStyle = (String) ctx.getParameter("bindingStyle");
+
+    if ((opStyle == null
+        && !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(bStyle))
+      || (opStyle != null 
+      	&& !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(opStyle)))
+    {
+      ctx.cancelBindingOperationProcessing();
+      return;
+    }
+    // assert use == "literal"
+    if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
+    {
+      rpcLiteralFound = true;
+
+      // find corresponding message
+      Operation op = ctx.getBindingOperation().getOperation();
+      // if some links are broken, cancel processing
+      if (op == null
+        || (parent instanceof BindingInput && op.getInput() == null)
+        || (parent instanceof BindingOutput && op.getOutput() == null))
+        return;
+
+      Message m =
+        (parent instanceof BindingInput)
+          ? op.getInput().getMessage()
+          : op.getOutput().getMessage();
+      // REMOVE: current message should equals to message given as entry
+      //if (m == null || message != m)
+      if (m == null)
+        return;
+
+      List parts =
+        WSDLUtil.getParts(
+          op,
+          m,
+          body,
+          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC);
+      if (parts == null)
+        return;
+
+      /* check whether parts list contains a parts which uses
+       * element attribute. If so, part name will be added into
+       * errors set.
+       */
+      Iterator it = parts.iterator();
+      while (it.hasNext())
+      {
+        Part part = (Part) it.next();
+        if (part.getElementName() != null)
+          errors.add(part.getName());
+      }
+    }
+  }
+
+  /* 
+   * Validates the test assertion.
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    result = AssertionResult.RESULT_FAILED;
+    // save message 
+    //message = (Message)entryContext.getEntry().getEntryDetail();
+
+    WSDLTraversal traversal = new WSDLTraversal();
+    //VisitorAdaptor.adapt(this);;
+    traversal.setVisitor(this);
+    traversal.visitSOAPBinding(true);
+    traversal.visitBindingOperation(true);
+    traversal.visitSOAPOperation(true);
+    traversal.visitSOAPBody(true);
+
+    traversal.ignoreReferences();
+    traversal.ignoreImport();
+
+    traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
+
+    if (!errors.isEmpty())
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
+    }
+
+    else if (!rpcLiteralFound)
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+
+    else
+      result = AssertionResult.RESULT_PASSED;
+
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
new file mode 100644
index 0000000..f6caf11
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import java.util.List;
+
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.ErrorList;
+
+
+/**
+ * BP2122. 
+ *    <context>For a candidate wsdl:types element</context>
+ *    <assertionDescription>The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema".</assertionDescription>
+ */
+public class BP2122 extends AssertionProcess
+{
+  private final WSDLValidatorImpl validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public BP2122(WSDLValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  /**
+   * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    result = AssertionResult.RESULT_PASSED;
+    ErrorList errorList = new ErrorList();
+
+    // Get the types from the entry context
+    Types types = (Types) entryContext.getEntry().getEntryDetail();
+
+    if (types != null)
+    {
+      ExtensibilityElement extElement;
+      List extElements = types.getExtensibilityElements();
+
+      // Process each ext. element
+      for (int i = 0; i < extElements.size(); i++)
+      {
+        // If it is an unknown ext. element and it is a schema, then check it
+        if ((extElement = (ExtensibilityElement) extElements.get(i))
+          instanceof UnknownExtensibilityElement)
+        {
+          if (!extElement.getElementType().equals(WSITag.ELEM_XSD_SCHEMA))
+          {
+            // If it is not a schema definition, then it is an error
+            errorList.add(
+              extElement.getElementType().toString()
+                + " can not be a child of the wsdl:types element.");
+          }
+        }
+      }
+    }
+
+    // If XMLSchemaValidator could not find any errors, check errors from the inline schema validator
+    if (errorList.isEmpty())
+      errorList.add(validator.wsdlDocument.getSchemasValidationErrors());
+
+    if (!errorList.isEmpty())
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = this.validator.createFailureDetail(errorList.toString(), entryContext);
+    }
+
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
new file mode 100644
index 0000000..64c7934
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
@@ -0,0 +1,420 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Definition;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
+import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.core.util.ErrorList;
+import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+
+/**
+ * BP2202.
+ *  <context>For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly.</context>
+ * <assertionDescription>The imported schema uses UTF-8 or UTF-16 for the encoding.</assertionDescription>
+ */
+public class BP2202 extends AssertionProcess implements WSITag
+{
+  private final WSDLValidatorImpl validator;
+
+  /**
+   * @param WSDLValidatorImpl
+   */
+  public BP2202(WSDLValidatorImpl impl)
+  {
+    super(impl);
+    this.validator = impl;
+  }
+
+  private ErrorList errors = new ErrorList();
+  private boolean importFound = false;
+
+  private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
+    new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
+  private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
+  private final String UTF_8_ENCODING = "UTF-8";
+  private final String UTF_16_ENCODING = "UTF-16";
+
+  private final String ENCODING_TOKEN = "encoding";
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  public AssertionResult validate(
+    TestAssertion testAssertion,
+    EntryContext entryContext)
+    throws WSIException
+  {
+    result = result = AssertionResult.RESULT_NOT_APPLICABLE;
+
+    //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
+    Types types = (Types) entryContext.getEntry().getEntryDetail();
+    List exts = null;
+    //if (def.getTypes() != null)
+    if (types != null)
+      //exts = def.getTypes().getExtensibilityElements();
+      exts = types.getExtensibilityElements();
+    if (exts != null)
+    {
+      Definition definition = null;
+      if ((definition =
+        validator.analyzerContext.getCandidateInfo().getDefinition(types))
+        == null)
+      {
+        throw new WSIException("Could not find types definition in any WSDL document.");
+      }
+
+      Iterator it = exts.iterator();
+      while (it.hasNext())
+      {
+        ExtensibilityElement el = (ExtensibilityElement) it.next();
+        if (el instanceof UnknownExtensibilityElement
+          && el.getElementType().equals(ELEM_XSD_SCHEMA))
+          searchForSchema(((UnknownExtensibilityElement) el).getElement(),
+              definition.getDocumentBaseURI());
+      }
+    }
+
+    if (!errors.isEmpty())
+    {
+      result = AssertionResult.RESULT_FAILED;
+      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
+    }
+
+    else if (!importFound)
+      result = AssertionResult.RESULT_NOT_APPLICABLE;
+
+    else
+      result = AssertionResult.RESULT_PASSED;
+
+    return validator.createAssertionResult(testAssertion, result, failureDetail);
+  }
+
+  /*
+   * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
+   * @param n - node
+  */
+  private void searchForSchema(Node n, String context)
+  {
+    while (n != null)
+    {
+      // searches for xsd:import element
+      if (Node.ELEMENT_NODE == n.getNodeType())
+      {
+        // if xsd:schema element is found -> process schema
+        if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
+        {
+          processSchema(n, context);
+        }
+        else
+        {
+          // if xsd:import element is found -> load schema and process schema
+          if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
+          {
+            importFound = true;
+            loadSchema(n, context);
+          }
+          else
+            // else iterate element recursively
+            searchForSchema(n.getFirstChild(), context);
+        }
+      }
+      n = n.getNextSibling();
+    }
+  }
+
+  /*
+   * It loads xsd schema and then check valid encoding and looking for xsd:schema element for next process. 
+   * @param importNode - xsd schema
+  */
+  private void loadSchema(Node importNode, String context)
+  {
+    Element im = (Element) importNode;
+    Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
+    // try to parse imported XSD
+    if (schemaLocation != null && schemaLocation.getValue() != null)
+      try
+      {
+        // if any error or root element is not XSD schema -> error
+        String decl =
+          readXMLDeclarationStatement(schemaLocation.getValue(), context);
+        if (!validDeclaration(decl,
+          ENCODING_TOKEN,
+          new String[] { UTF_8_ENCODING, UTF_16_ENCODING }))
+        {
+          Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
+          errors.add((a != null) ? a.getValue() : "");
+        }
+
+        if (!validDeclaration(decl, "version", new String[] { "1.0" }))
+        {
+          errors.add(
+            "Version number in XML declaration is not 1.0.  XML schema file: "
+              + schemaLocation.getValue());
+        }
+
+        // DEBUG:
+        // System.out.println(schemaLocation.getValue() + ":" + context);
+
+        Document schema =
+          validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
+
+        if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
+        {
+           processSchema(schema.getDocumentElement(),
+              XMLUtils.createURLString(schemaLocation.getValue(), context));
+        }
+        result = result = AssertionResult.RESULT_PASSED;
+      }
+      catch (Throwable t)
+      {
+      }
+  }
+
+  /**
+  * Reads an XML declaration statement.
+  * @param location
+  * @return String
+  */
+  private String readXMLDeclarationStatement(String location, String baseURI)
+  {
+    String result = null;
+    try
+    {
+      new URL(location);
+    }
+    catch (Throwable t)
+    {
+      // nothing
+      int i = baseURI.lastIndexOf('/');
+      int j = baseURI.lastIndexOf('\\');
+      if (j > i)
+        i = j;
+      location = baseURI.substring(0, i + 1) + location;
+    }
+
+    if (location != null)
+    {
+      URL url = null;
+      Reader reader = null;
+
+      try
+      {
+        try
+        {
+          url = new URL(location);
+        }
+        catch (MalformedURLException e)
+        {
+          // we should try to access location as file
+        }
+
+        if (url != null)
+        {
+          reader = new InputStreamReader(url.openStream());
+        }
+        else
+        {
+          reader = new InputStreamReader(new FileInputStream(location));
+        }
+
+        int charCode;
+        boolean end = false;
+        if (reader.ready())
+        {
+          charCode = reader.read();
+
+          while (reader.ready() && !(charCode == '<'))
+          {
+            charCode = reader.read();
+          }
+
+          StringBuffer buf = new StringBuffer();
+          if (charCode == '<')
+          {
+            buf.append((char) charCode);
+            while (reader.ready() && !end)
+            {
+              charCode = reader.read();
+              buf.append((char) charCode);
+
+              end = charCode == '>';
+            }
+          }
+          else
+          {
+            // NOTE: This result does not get propogated back!
+            result = AssertionResult.RESULT_FAILED;
+            failureDetailMessage =
+              "Cannot read the XML declaration statement.";
+          }
+
+          result = buf.toString();
+        }
+      }
+      catch (Exception e)
+      {
+        errors.add(e.getMessage());
+      }
+      finally
+      {
+        if (reader != null)
+        {
+          try
+          {
+            reader.close();
+          }
+          catch (Throwable e)
+          {
+          }
+        }
+      }
+    }
+
+    return result;
+  }
+
+  /*
+   * @param xmlDecl - xml declaration
+   * @return if xml declaration contains encoding="utf-16" or encoding="utf-8" it retirns true. 
+  */
+
+  //private boolean validEncoding(String xmlDecl)
+  //{
+  //  //boolean result = false;
+  //  boolean result = true;
+  //  if (xmlDecl != null)
+  //  {
+  //    StringTokenizer st =
+  //      new StringTokenizer(
+  //        OMMITED_XML_DECLARATION_DELIMITERS,
+  //        XML_DECLARATION_DELIMITERS);
+  //    Enumeration tokens = st.parse(xmlDecl);
+  //   boolean found = false;
+  //    while (tokens.hasMoreElements() && !found)
+  //    {
+  //      String token = (String) tokens.nextElement();
+  //
+  //      if (token.equals(ENCODING_TOKEN))
+  //      {
+  //        found = true;
+  //
+  //        tokens.nextElement();
+  //        String enc = (String) tokens.nextElement();
+  //
+  //        result =
+  //         UTF_8_ENCODING.equalsIgnoreCase(enc)
+  //            || UTF_16_ENCODING.equalsIgnoreCase(enc);
+  //      }
+  //    }
+  //  }
+  //
+  //  return result;
+  //}
+
+  /**
+   * @param xmlDecl - xml declaration
+   * @return if xml declaration contains valid version number then true is returned. 
+  */
+  private boolean validDeclaration(
+    String xmlDecl,
+    String tokenName,
+    String[] checkValueList)
+  {
+    //boolean result = false;
+    boolean result = true;
+    if (xmlDecl != null)
+    {
+      StringTokenizer st =
+        new StringTokenizer(
+          OMMITED_XML_DECLARATION_DELIMITERS,
+          XML_DECLARATION_DELIMITERS);
+      Enumeration tokens = st.parse(xmlDecl);
+
+      if (tokens.hasMoreElements())
+      {
+        boolean found = false;
+        while (tokens.hasMoreElements() && !found)
+        {
+          String token = (String) tokens.nextElement();
+
+          if (token.equals(tokenName))
+          {
+            found = true;
+            result = false;
+
+            tokens.nextElement();
+            String tokenValue = (String) tokens.nextElement();
+
+            for (int i = 0; i < checkValueList.length && !result; i++)
+            {
+              if (checkValueList[i].equalsIgnoreCase(tokenValue))
+                result = true;
+            }
+          }
+        }
+      }
+
+      // If there are no tokens then it is not a valid declaraction
+      else
+      {
+        result = false;
+      }
+    }
+
+    return result;
+  }
+
+  /*
+   * It's looking for xsd import and load it if find.
+   * @param schema - xsd schema
+   * @param namespace - namespace of schema
+   */
+  private void processSchema(Node schema, String context)
+  {
+    Node n = schema.getFirstChild();
+    while (n != null)
+    {
+      if (Node.ELEMENT_NODE == n.getNodeType()
+        && XMLUtils.equals(n, ELEM_XSD_IMPORT))
+      {
+        importFound = true;
+        loadSchema(n, context);
+      }
+
+      n = n.getNextSibling();
+    }
+  }
+
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
new file mode 100644
index 0000000..0ecafd7
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
@@ -0,0 +1,2314 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingFault;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Import;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Part;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.wsdl.extensions.soap.SOAPBinding;
+import javax.wsdl.extensions.soap.SOAPBody;
+import javax.wsdl.extensions.soap.SOAPFault;
+import javax.wsdl.extensions.soap.SOAPHeader;
+import javax.wsdl.extensions.soap.SOAPHeaderFault;
+import javax.wsdl.extensions.soap.SOAPOperation;
+import javax.xml.namespace.QName;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSIRuntimeException;
+import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
+import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
+import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
+import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
+import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
+import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
+import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
+import org.eclipse.wst.wsi.internal.core.profile.validator.WSDLValidator;
+import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
+import org.eclipse.wst.wsi.internal.core.report.Entry;
+import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
+import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
+import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
+import org.eclipse.wst.wsi.internal.core.report.Reporter;
+import org.eclipse.wst.wsi.internal.core.util.EntryType;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLElementList;
+import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
+import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
+import org.eclipse.wst.wsi.internal.core.xml.schema.TargetNamespaceProcessor;
+import org.eclipse.wst.wsi.internal.core.xml.schema.XMLSchemaValidator;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+
+/**
+ * The WSDL validator will verify that the WSDL and associated XML schema definitions
+ * are in conformance with the profile.
+ *
+ * @version 1.0.1
+ * @author Peter Brittenham (peterbr@us.ibm.com)
+ * @author Graham Turrell 	(gturrell@uk.ibm.com)
+ */
+public class WSDLValidatorImpl
+  extends BaseValidatorImpl
+  implements WSDLValidator
+{
+  /**
+   * WSDL URL.
+   */
+  protected String wsdlURL;
+
+  /**
+   * WSDL document.
+   */
+  protected WSDLDocument wsdlDocument = null;
+
+  /**
+   * Entry container map.
+   */
+  protected HashMap containerMap = new HashMap();
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.WSDLValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, java.lang.String, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
+   */
+  public void init(
+    AnalyzerContext analyzerContext,
+    ProfileArtifact profileArtifact,
+    ReportArtifact reportArtifact,
+    String wsdlURL,
+    WSDLDocument wsdlDocument,
+    Reporter reporter)
+    throws WSIException
+  {
+    // BaseValidatorImpl
+    super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
+    this.wsdlDocument = wsdlDocument;
+    if (wsdlDocument != null)
+      this.wsdlURL = wsdlDocument.getLocation();
+
+    if (wsdlURL != null)
+      this.wsdlURL = wsdlURL;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.WSDLValidator#validate()
+   */
+  public WSDLDocument validate() throws WSIException
+  {
+    //WSDLDocument wsdlDocument = null;
+    Service service = null;
+    Port port = null;
+    Binding binding = null;
+    PortType portType = null;
+    Operation operation = null;
+    Message message = null;
+
+    // it depricated after refactoring 
+    // now the inner classes moved out from validator
+    //String classPrefix = this.getClass().getName() + "$";
+    String classPrefix = this.getClass().getPackage().getName()+".";
+
+    try
+    {
+      // Validate the WSDL service description
+      if (this.wsdlDocument == null)
+        this.wsdlDocument = new WSDLDocument(wsdlURL);
+    }
+
+    catch (Exception e)
+    {
+      // ADD: Certain exceptions should result in validation errors
+
+      throw new WSIException(e.getMessage(), e);
+    }
+
+    // Get the definition element
+    Definition definition = wsdlDocument.getDefinitions();
+
+    // Get service reference from analyzer context
+    ServiceReference serviceReference = analyzerContext.getServiceReference();
+
+    // Create normalized data about the service under test.
+    CandidateInfo candidate = new CandidateInfo(serviceReference, wsdlDocument);
+
+    analyzerContext.setCandidateInfo(candidate);
+
+    // Set prereq type to entry container
+    reporter.setPrereqType(Reporter.PREREQ_TYPE_ENTRY_CONTAINER);
+
+    // always process Import, Definitions & Types assertions 
+    // TEMP:
+    processDefinitionAssertions(classPrefix, candidate);
+    processTypesAssertions(classPrefix, candidate);
+    processImportAssertions(classPrefix, candidate);
+
+    // Process the element hierarchy in the WSDL document starting with the one that was specified  
+    // FIX: Element finding already completed by CandidateInfo constructor - so use that rather than retest here  
+
+    // ---------------------------
+    // wsdl:port
+    // ---------------------------
+    if (serviceReference.getWSDLElement().isPort())
+    {
+      // Find the service element
+      if ((service =
+        definition.getService(
+          serviceReference.getWSDLElement().getParentElementQName()))
+        == null)
+      {
+        throw new WSIRuntimeException(
+          "Could not locate WSDL service: "
+            + serviceReference.getWSDLElement().getParentElementName());
+      }
+
+      // Find the port element
+      if ((port = service.getPort(serviceReference.getWSDLElement().getName()))
+        == null)
+      {
+        throw new WSIRuntimeException(
+          "Could not locate WSDL port: "
+            + serviceReference.getWSDLElement().getName());
+      }
+
+      // TEMP: Remove until there are port test assertions      
+      //processPortAssertions(port, serviceReference, classPrefix, wsdlDocument);	     
+
+      // Next, process the binding
+      if (((binding = port.getBinding()) == null) || (binding.isUndefined()))
+      {
+        //throw new WSIRuntimeException("Could not locate WSDL binding for port: " + port.getName());  
+        // Set missingInput for all binding, portType, operation and message test assertions 
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
+      }
+
+      else
+      {
+        processBindingAssertions(
+          binding,
+          serviceReference,
+          classPrefix,
+          wsdlDocument);
+
+        // Next, process the portType
+        if (((portType = binding.getPortType()) == null)
+          || (portType.isUndefined()))
+        {
+          //throw new WSIRuntimeException("Could not locate WSDL portType for binding: " + binding.getQName().getLocalPart());
+          // Set missingInput for all portType, operation and message test assertions 
+          setMissingInput(
+            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
+          setMissingInput(
+            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+          setMissingInput(
+            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
+        }
+
+        else
+        {
+          processMessageAssertions(
+            binding,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+          processPortTypeAssertions(
+            portType,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+          processOperationAssertions(
+            portType,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+          processMessageAssertions(
+            portType,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+        }
+      }
+
+    }
+
+    // ---------------------------
+    // wsdl:binding
+    // ---------------------------
+    else if (serviceReference.getWSDLElement().isBinding())
+    {
+      WSDLElement wsdlElement = serviceReference.getWSDLElement();
+      // Find the binding element
+      if (wsdlElement.getQName() != null
+        && wsdlElement.getQName().getLocalPart() != null
+        && wsdlElement.getQName().getLocalPart().length() > 0)
+      {
+        if (((binding =
+          definition.getBinding(serviceReference.getWSDLElement().getQName()))
+          == null)
+          || (binding.isUndefined()))
+        {
+          throw new WSIRuntimeException(
+            "Could not locate WSDL binding: "
+              + serviceReference.getWSDLElement().getName());
+        }
+
+        processBindingAssertions(
+          binding,
+          serviceReference,
+          classPrefix,
+          wsdlDocument);
+        processMessageAssertions(
+          binding,
+          serviceReference,
+          classPrefix,
+          wsdlDocument);
+
+        // Next, process the portType
+        if (((portType = binding.getPortType()) == null)
+          || (portType.isUndefined()))
+        {
+          //throw new WSIRuntimeException("Could not locate WSDL PortType for Binding: " + binding.getQName().getLocalPart());
+
+          // Set missingInput for all portType, operation and message test assertions 
+          setMissingInput(
+            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
+          setMissingInput(
+            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+          setMissingInput(
+            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
+        }
+
+        else
+        {
+          processPortTypeAssertions(
+            portType,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+          processOperationAssertions(
+            portType,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+
+          // Process each message within each operation of the portType associated with the binding
+          processMessageAssertions(
+            portType,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+        }
+      }
+
+      // There was a problem with the binding element specification.  This can 
+      // happen when a UDDI tModel did not have a valid binding reference.
+      else
+      {
+        // Set missingInput for all binding, portType, operation and message test assertions 
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
+      }
+    }
+
+    // ---------------------------
+    // wsdl:portType
+    // ---------------------------
+    else if (serviceReference.getWSDLElement().isPortType())
+    {
+      // Find the PortType element
+      if (((portType =
+        definition.getPortType(serviceReference.getWSDLElement().getQName()))
+        == null)
+        || (portType.isUndefined()))
+      {
+        throw new WSIRuntimeException(
+          "Could not locate WSDL PortType: "
+            + serviceReference.getWSDLElement().getName());
+      }
+
+      // Set missingInput for all binding test assertions 
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
+
+      processPortTypeAssertions(
+        portType,
+        serviceReference,
+        classPrefix,
+        wsdlDocument);
+      processOperationAssertions(
+        portType,
+        serviceReference,
+        classPrefix,
+        wsdlDocument);
+
+      // Process each message within each operation of the portType
+      processMessageAssertions(
+        portType,
+        serviceReference,
+        classPrefix,
+        wsdlDocument);
+    }
+
+    // ---------------------------
+    // wsdl:operation
+    // ---------------------------
+    else if (serviceReference.getWSDLElement().isOperation())
+    {
+      // Find the operation
+      // get portType from config parent element
+      if (((portType =
+        definition.getPortType(
+          serviceReference.getWSDLElement().getParentElementQName()))
+        == null)
+        || (portType.isUndefined()))
+      {
+        throw new WSIRuntimeException(
+          "Could not locate WSDL portType: "
+            + serviceReference.getWSDLElement().getParentElementQName());
+      }
+
+      if (((operation =
+        getOperationFromPortType(
+          portType,
+          serviceReference.getWSDLElement().getName()))
+        == null)
+        || (operation.isUndefined()))
+      {
+        throw new WSIRuntimeException(
+          "Could not locate WSDL Operation: "
+            + serviceReference.getWSDLElement().getName()
+            + "in portType: "
+            + portType.getQName());
+      }
+
+      // Set missingInput for all binding and portType test assertions 
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
+
+      processOperationAssertions(
+        operation,
+        portType,
+        serviceReference,
+        classPrefix,
+        wsdlDocument);
+      processMessageAssertions(
+        operation,
+        serviceReference,
+        classPrefix,
+        wsdlDocument);
+    }
+
+    // ---------------------------
+    // wsdl:message
+    // ---------------------------
+    else if (serviceReference.getWSDLElement().isMessage())
+    {
+      // Find the message
+      if (((message =
+        definition.getMessage(serviceReference.getWSDLElement().getQName()))
+        == null)
+        || (message.isUndefined()))
+      {
+        throw new WSIRuntimeException(
+          "Could not locate WSDL Message: "
+            + serviceReference.getWSDLElement().getName());
+      }
+
+      // Set missingInput for all binding, portType, and operation test assertions 
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+
+      processMessageAssertions(
+        message,
+        serviceReference,
+        classPrefix,
+        wsdlDocument);
+    }
+
+    else
+    {
+      throw new WSIRuntimeException(
+        "The following WSDL type is not supported: "
+          + serviceReference.getWSDLElement().getType());
+    }
+
+    // Cleanup
+    cleanup();
+
+    // Return WSDL document
+    return this.wsdlDocument;
+  }
+
+  /**
+   * Get entry container using the filename for WSDL document.
+   * @param filename a file name.
+   * @return entry container using the filename for WSDL document.
+   */
+  protected EntryContainer getEntryContainer(String filename)
+  {
+    EntryContainer entryContainer = null;
+
+    // If the entry container already exists, then use it
+    if ((entryContainer = (EntryContainer) containerMap.get(filename)) == null)
+    {
+      // Create new entry container
+      entryContainer = this.reporter.createEntryContainer();
+
+      // Set container id using the filename for the WSDL document
+      entryContainer.setId(filename);
+
+      // Put the new entry container into the container map
+      containerMap.put(filename, entryContainer);
+    }
+
+    return entryContainer;
+  }
+
+  /**
+   * Get operation from port type.
+   * @param portType port type.
+   * @param operationName operation name.
+   * @return operation from port type.
+   */
+  protected Operation getOperationFromPortType(
+    PortType portType,
+    String operationName)
+  {
+    // FIX: wsdl4j available method call below implies that only 
+    // name+inputname+outputname uniquely defines operation 
+    // Use this instead for now: - get the first operation we find...
+    Operation op = null;
+    if (portType.getOperations() != null)
+    {
+      Iterator opIt = portType.getOperations().iterator();
+
+      while (opIt.hasNext())
+      {
+        op = (Operation) opIt.next();
+        if (operationName.equals(op.getName()))
+        {
+          return op;
+        }
+      }
+    }
+
+    return null; // no matching operation found
+  }
+
+  /**
+   * Process definition assertions.
+   * @param classPrefix class prefix.
+   * @param candidate candidate.
+   * @throws WSIException if problems occur during processing.
+   */
+  protected void processDefinitionAssertions(
+    String classPrefix,
+    CandidateInfo candidate)
+    throws WSIException
+  {
+
+    Entry entry = null;
+
+    Definition[] wsdlDefinitions = candidate.getDefinitions();
+
+    for (int i = 0; i < wsdlDefinitions.length; i++)
+    {
+      Definition definition = wsdlDefinitions[i];
+      if (definition == null)
+        continue;
+      // Create entry 
+      entry = this.reporter.getReport().createEntry();
+      entry.setEntryType(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_DEFINITIONS));
+      entry.setReferenceID(definition.getDocumentBaseURI());
+      entry.setEntryDetail(definition);
+
+      // Set entry container
+      entry.setEntryContainer(
+        getEntryContainer(definition.getDocumentBaseURI()));
+
+      // Process all of the definition related test assertions
+      processAssertions(
+        classPrefix,
+        new EntryContext(entry, candidate.getWsdlDocument()));
+      // ADD: need to use here the specific document corresponding to the definition??
+
+    }
+  }
+
+  /**
+   * Process types assertions.
+   * @param classPrefix class prefix.
+   * @param candidate candidate.
+   * @throws WSIException if problem occurs during processing 
+   *         type assertions.
+   */
+  protected void processTypesAssertions(
+    String classPrefix,
+    CandidateInfo candidate)
+    throws WSIException
+  {
+    Entry entry = null;
+
+    Types[] wsdlTypes = candidate.getTypes();
+    Definition[] wsdlDefinitions = candidate.getDefinitions();
+
+    // If there are no types elements, then set all results to missingInput   
+    if (wsdlTypes == null || wsdlTypes.length == 0)
+    {
+      // Set missingInput for all test assertions with this entry type
+      setMissingInput(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
+    }
+
+    else
+    {
+      for (int i = 0; i < wsdlTypes.length; i++)
+      {
+        Types types = wsdlTypes[i];
+        if (types == null)
+        {
+          // no Types element in i-th document
+          continue;
+        }
+
+        // Create entry 
+        entry = this.reporter.getReport().createEntry();
+        entry.setEntryType(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
+        entry.setReferenceID(
+          candidate.getDefinition(types).getDocumentBaseURI() + "-Types");
+        entry.setEntryDetail(types);
+
+        // Set entry container
+        entry.setEntryContainer(
+          getEntryContainer(wsdlDefinitions[i].getDocumentBaseURI()));
+
+        // Process all of the Types related test assertions
+        processAssertions(
+          classPrefix,
+          new EntryContext(entry, candidate.getWsdlDocument()));
+      }
+    }
+  }
+
+  /**
+   * Process import assertions. 
+   * @param classPrefix class prefix.
+   * @param candidate candidate.
+   * @throws WSIException if problem occurs during processing 
+   *         import assertions.
+   */
+  protected void processImportAssertions(
+    String classPrefix,
+    CandidateInfo candidate)
+    throws WSIException
+  {
+
+    Entry entry = null;
+
+    Import[] wsdlImports = candidate.getImports();
+
+    // If there are no import elements, then set all results to missingInput   
+    if (wsdlImports == null || wsdlImports.length == 0)
+    {
+      // Set missingInput for all test assertions with this entry type
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
+    }
+
+    else
+    {
+      for (int i = 0; i < wsdlImports.length; i++)
+      {
+        Import wsdlImport = wsdlImports[i];
+        // Create entry 
+        entry = this.reporter.getReport().createEntry();
+        entry.setEntryType(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
+        entry.setReferenceID(wsdlImport.getNamespaceURI());
+        entry.setEntryDetail(wsdlImport);
+
+        // Set entry container
+        entry.setEntryContainer(getEntryContainer(wsdlImport.getLocationURI()));
+
+        // Process all of the import related test assertions
+        processAssertions(
+          classPrefix,
+          new EntryContext(entry, candidate.getWsdlDocument()));
+        // ADD: need to use here the specific document corresponding to the import!!
+      }
+    }
+  }
+
+  /**
+   * Process port assertions.
+   * @param port a port.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         port assertions.
+   */
+  protected void processPortAssertions(
+    Port port,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+    Entry entry = null;
+
+    // Create entry 	  
+    entry = this.reporter.getReport().createEntry();
+    entry.setEntryType(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORT));
+    entry.setReferenceID(port.getName());
+    entry.setParentElementName(
+      serviceReference.getWSDLElement().getParentElementName());
+    entry.setEntryDetail(port);
+
+    // Process assertions for this artifact against the target context
+    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
+  }
+
+  /**
+   * Process binding assertions.
+   * @param binding binding.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         binding assertions.
+   */
+  protected void processBindingAssertions(
+    Binding binding,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+    Entry entry = null;
+    QName bindingQName = binding.getQName();
+
+    // Create entry 
+    entry = this.reporter.getReport().createEntry();
+    entry.setEntryType(
+      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
+    entry.setReferenceID(bindingQName.toString());
+    entry.setEntryDetail(binding);
+
+    // Set entry container
+    Definition definition =
+      analyzerContext.getCandidateInfo().getDefinition(binding);
+    entry.setEntryContainer(
+      getEntryContainer(
+        (definition == null ? null : definition.getDocumentBaseURI())));
+
+    // Process binding test assertions
+    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
+  }
+
+  /**
+   * Process port type assertions.
+   * @param portType port type.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         port type assertions.
+  */
+  protected void processPortTypeAssertions(
+    PortType portType,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+
+    Entry entry = null;
+    QName portTypeQName = portType.getQName();
+
+    // Create entry 
+    entry = this.reporter.getReport().createEntry();
+    entry.setEntryType(
+      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
+    entry.setReferenceID(portTypeQName.toString());
+    entry.setEntryDetail(portType);
+
+    // Set entry container
+    Definition definition =
+      analyzerContext.getCandidateInfo().getDefinition(portType);
+    entry.setEntryContainer(
+      getEntryContainer(
+        (definition == null ? null : definition.getDocumentBaseURI())));
+
+    // Process test assertions
+    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
+  }
+
+  /**
+   * Process operation assertions.
+   * @param operation an operation.
+   * @param portType port type.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         operation assertions.
+  */
+  protected void processOperationAssertions(
+    Operation operation,
+    PortType portType,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+    // qualify operation with service location from config.	
+    Entry entry = null;
+
+    // Create entry 
+    entry = this.reporter.getReport().createEntry();
+    entry.setEntryType(
+      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+    entry.setReferenceID(operation.getName());
+    entry.setParentElementName(portType.getQName().getLocalPart());
+    entry.setEntryDetail(operation);
+
+    // Set entry container
+    Definition definition =
+      analyzerContext.getCandidateInfo().getDefinition(portType);
+    entry.setEntryContainer(
+      getEntryContainer(
+        (definition == null ? null : definition.getDocumentBaseURI())));
+
+    // Process test assertions
+    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
+  }
+
+  /**
+   * Process operation assertions.
+   * @param portType port type.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         operation assertions.
+   */
+  protected void processOperationAssertions(
+    PortType portType,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+    // For each operation, 
+    if (portType.getOperations() == null)
+    {
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+    }
+
+    else
+    {
+      Operation operation;
+      Iterator opIt = portType.getOperations().iterator();
+      while (opIt.hasNext())
+      {
+        operation = (Operation) opIt.next();
+        if (operation == null || operation.isUndefined())
+          setMissingInput(
+            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
+        else
+          processOperationAssertions(
+            operation,
+            portType,
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+      }
+    }
+  }
+
+  /**
+   * Process message assertions.
+   * @param message a message.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         message assertions.
+   */
+  protected void processMessageAssertions(
+    Message message,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+
+    Entry entry = null;
+    QName messageQName = message.getQName();
+
+    // Create entry 
+    entry = this.reporter.getReport().createEntry();
+    entry.setEntryType(
+      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
+    entry.setReferenceID(messageQName.toString());
+    entry.setEntryDetail(message);
+
+    // Set entry container
+    Definition definition =
+      analyzerContext.getCandidateInfo().getDefinition(message);
+    entry.setEntryContainer(
+      getEntryContainer(
+        (definition == null ? null : definition.getDocumentBaseURI())));
+
+    // Process binding test assertions
+    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
+  }
+
+  /**
+   * Process message assertions.
+   * @param binding a binding.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         message assertions.
+   */
+  protected void processMessageAssertions(
+    Binding binding,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+    HashSet messageSet;
+
+    if (binding.getBindingOperations() != null)
+    { // can do nothing if have no operations defined
+      messageSet =
+        WSDLUtils.findMessages(wsdlDocument.getDefinitions(), binding);
+
+      // Process any messages that were found    
+      if (messageSet.size() > 0)
+      {
+        Iterator messageIt = messageSet.iterator();
+        while (messageIt.hasNext())
+        {
+          Message message = (Message) messageIt.next();
+          if (!message.isUndefined())
+            processMessageAssertions(
+              message,
+              serviceReference,
+              classPrefix,
+              wsdlDocument);
+        }
+      }
+    }
+  }
+
+  /**
+   * Process message assertions.
+   * @param portType port type.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         message assertions.
+   */
+  protected void processMessageAssertions(
+    PortType portType,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+
+    HashSet messageSet = new HashSet();
+
+    if (portType.getOperations() != null)
+    {
+      // can do nothing if have no operations defined
+
+      Iterator opIt = portType.getOperations().iterator();
+
+      while (opIt.hasNext())
+      {
+        Operation op = (Operation) opIt.next();
+
+        // Since there is no guarantee that we have both and input and output message, 
+        // check for its existence before adding it
+        if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
+          messageSet.add(op.getInput().getMessage());
+
+        if (op.getOutput() != null
+          && !op.getOutput().getMessage().isUndefined())
+          messageSet.add(op.getOutput().getMessage());
+
+        // also messages from any Faults defined within the operation
+        if (op.getFaults() != null)
+        {
+          Iterator faultIt = op.getFaults().values().iterator();
+          Message message;
+          while (faultIt.hasNext())
+          {
+            message = ((Fault) faultIt.next()).getMessage();
+            if (!message.isUndefined())
+              messageSet.add(message);
+          }
+        }
+      }
+
+      if (messageSet.size() == 0)
+      {
+        // Set all message test assertion results to missingInput
+        setMissingInput(
+          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
+      }
+
+      else
+      {
+        // now step through each derived Message
+        Iterator messageIt = messageSet.iterator();
+        while (messageIt.hasNext())
+        {
+          processMessageAssertions(
+            (Message) (messageIt.next()),
+            serviceReference,
+            classPrefix,
+            wsdlDocument);
+        }
+      }
+    }
+  }
+
+  /**
+   * Process message assertions.
+   * @param op - operation.
+   * @param serviceReference service reference.
+   * @param classPrefix class prefix.
+   * @param wsdlDocument WSDL document.
+   * @throws WSIException if problem occurs during processing 
+   *         message assertions.
+   */
+  protected void processMessageAssertions(
+    Operation op,
+    ServiceReference serviceReference,
+    String classPrefix,
+    WSDLDocument wsdlDocument)
+    throws WSIException
+  {
+
+    HashSet messageSet = new HashSet();
+    if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
+      messageSet.add(op.getInput().getMessage());
+
+    if (op.getOutput() != null && !op.getOutput().getMessage().isUndefined())
+      messageSet.add(op.getOutput().getMessage());
+
+    // also messages from any Faults defined within the operation
+    Iterator faultIt = op.getFaults().values().iterator();
+    Message message;
+    while (faultIt.hasNext())
+    {
+      message = ((Fault) faultIt.next()).getMessage();
+      if (!message.isUndefined())
+        messageSet.add(message);
+    }
+
+    if (messageSet.size() == 0)
+    {
+      // Set all message test assertion results to missingInput
+      setMissingInput(
+        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
+    }
+
+    else
+    {
+      // now step through each derived Message
+      Iterator messageIt = messageSet.iterator();
+      while (messageIt.hasNext())
+      {
+        processMessageAssertions(
+          (Message) (messageIt.next()),
+          serviceReference,
+          classPrefix,
+          wsdlDocument);
+      }
+    }
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
+   */
+  protected boolean isPrimaryEntryTypeMatch(
+    TestAssertion testAssertion,
+    EntryContext targetContext)
+  {
+    boolean match = false;
+
+    // If the test assertion entry type matches the target context entry type, then contine
+    if (testAssertion
+      .getEntryTypeName()
+      .equals(targetContext.getEntry().getEntryType().getTypeName()))
+    {
+      match = true;
+    }
+
+    return match;
+  }
+
+  /* (non-Javadoc)
+   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
+   */
+  protected boolean isNotApplicable(TestAssertion testAssertion)
+  {
+    boolean notApplicable = false;
+
+    // ADD:
+
+    return notApplicable;
+  }
+
+  /**
+   * Method getSoapFaults.
+   * 
+   * @param inBinding in binding.
+   * @return soap faults.
+   * @throws WSIException if problems occur while processing binding faults.
+   */
+  protected SOAPFault[] getSoapFaults(Binding inBinding) throws WSIException
+  {
+
+    Vector soapFaults = new Vector();
+
+    // Go through each bindingFault one at a time
+    BindingFault[] bindingFaults = getAllBindingFaults(inBinding);
+    for (int fault = 0; fault < bindingFaults.length; fault++)
+    {
+      SOAPFault soapFault = getSoapFault(bindingFaults[fault]);
+      if (soapFault != null)
+      {
+        soapFaults.add(soapFault);
+      }
+    }
+
+    SOAPFault[] soapFaultArray = new SOAPFault[soapFaults.size()];
+    soapFaults.copyInto(soapFaultArray);
+
+    return soapFaultArray;
+  }
+
+  /**
+  * Method getAllBindingFaults.
+  * 
+  * @param inBinding binding.
+  * @return all binding faults.
+  * @throws WSIException if problems occur during processing.
+  */
+  protected BindingFault[] getAllBindingFaults(Binding inBinding)
+    throws WSIException
+  {
+
+    Vector faults = new Vector();
+
+    try
+    {
+
+      Iterator bindingOperations = inBinding.getBindingOperations().iterator();
+
+      while (bindingOperations.hasNext())
+      {
+
+        try
+        {
+          BindingOperation bo = (BindingOperation) bindingOperations.next();
+          Iterator bindingFaults = bo.getBindingFaults().values().iterator();
+          while (bindingFaults.hasNext())
+          {
+
+            faults.add((BindingFault) bindingFaults.next());
+          }
+        }
+        catch (NullPointerException e)
+        {
+
+        }
+      }
+    }
+    catch (NullPointerException e)
+    {
+      // no binding operations in this binding - ignore & continue
+    }
+
+    BindingFault[] faultArray = new BindingFault[faults.size()];
+    faults.copyInto(faultArray);
+
+    return faultArray;
+  }
+
+  /**
+   * Method getWSDLFaults.
+   * 
+   * @param bindingFault a binding fault.
+   * @return WSDL faults.
+   * @throws WSIException if problems occur during processing.
+   */
+  protected SOAPFault getSoapFault(BindingFault bindingFault)
+    throws WSIException
+  {
+
+    SOAPFault soapFault = null;
+    try
+    {
+      Iterator faultExtensibles =
+        bindingFault.getExtensibilityElements().iterator();
+
+      while (faultExtensibles.hasNext() && soapFault == null)
+      {
+        try
+        {
+          soapFault = (SOAPFault) faultExtensibles.next();
+        }
+        catch (ClassCastException e)
+        { // ignore everything but SOAP Fault elements.
+        }
+      }
+    }
+    catch (NullPointerException e)
+    {
+    }
+
+    return soapFault;
+  }
+
+  /**
+   * Method getSoapHeader.
+   * 
+   * @param inBinding a binding.
+   * @return SOAP headers.
+   * @throws WSIException if problems occur during processing.
+   */
+  protected SOAPHeader[] getSoapHeaders(Binding inBinding) throws WSIException
+  {
+    // Get all bindings
+    Binding[] bindingList = new Binding[1];
+    bindingList[0] = inBinding;
+
+    Vector soapHeaderList = new Vector();
+
+    // Go through each binding one at a time
+    for (int binding = 0; binding < bindingList.length; binding++)
+    {
+      try
+      {
+        // get the list of binding Operations
+        BindingOperation[] bindingOperations =
+          (BindingOperation[]) bindingList[binding]
+            .getBindingOperations()
+            .toArray(
+            new BindingOperation[0]);
+
+        // get references to the extensible elements within the <input> and <output> elements of this binding <operation>. 
+        for (int bo = 0; bo < bindingOperations.length; bo++)
+        {
+
+          // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
+          try
+          {
+            BindingInput bindingInput = bindingOperations[bo].getBindingInput();
+            BindingOutput bindingOutput =
+              bindingOperations[bo].getBindingOutput();
+
+            Iterator extElements =
+              bindingInput.getExtensibilityElements().iterator();
+            while (extElements.hasNext())
+            {
+              try
+              {
+                soapHeaderList.add((SOAPHeader) extElements.next());
+              }
+              catch (ClassCastException e)
+              { // ignore everything but SOAP Header.
+              }
+            }
+
+            extElements = bindingOutput.getExtensibilityElements().iterator();
+            while (extElements.hasNext())
+            {
+              try
+              {
+                soapHeaderList.add((SOAPHeader) extElements.next());
+              }
+              catch (ClassCastException e)
+              { // ignore everything but SOAP Header.
+              }
+            }
+          }
+          catch (NullPointerException e)
+          { // no extensibility elements for <input> or <output> - ignore : not checking this here.
+          }
+        }
+      }
+      catch (NullPointerException e)
+      {
+        // no binding operations in this binding - ignore & continue
+      }
+    }
+
+    SOAPHeader[] soapHeaderArray = new SOAPHeader[soapHeaderList.size()];
+    soapHeaderList.copyInto(soapHeaderArray);
+
+    return soapHeaderArray;
+  }
+
+  /**
+   * Method getSoapHeaderFaults.
+   * 
+   * WSDLDocument getter method - maybe better off in class WSDLDocument...
+   * 
+   * @param inBinding a binding.
+   * @return SOAP header faults.
+   * @throws WSIException if problems occur during processing.
+   */
+  protected SOAPHeaderFault[] getSoapHeaderFaults(Binding inBinding)
+    throws WSIException
+  {
+    Vector soapHeaderFaultList = new Vector();
+
+    // Get the list of SOAP headers
+    SOAPHeader[] soapHeaderArray = getSoapHeaders(inBinding);
+
+    // Go through the list and get the header faults
+    List list = null;
+    for (int header = 0; header < soapHeaderArray.length; header++)
+    {
+      // Get list for this header
+      if ((list = soapHeaderArray[header].getSOAPHeaderFaults()) != null)
+      {
+        // Add to primary list      
+        soapHeaderFaultList.addAll(list);
+      }
+    }
+
+    SOAPHeaderFault[] soapHeaderFaultArray =
+      new SOAPHeaderFault[soapHeaderFaultList.size()];
+    soapHeaderFaultList.copyInto(soapHeaderFaultArray);
+
+    return soapHeaderFaultArray;
+  }
+
+  /**
+   * Method getSoapBodies.
+   * 
+   * WSDLDocument getter method - maybe better off in class WSDLDocument...
+   * 
+   * @param inBinding a binding.
+   * @return SOAP bodies.
+   * @throws WSIException if if problems occur during processing.
+   */
+  protected SOAPBody[] getSoapBodies(Binding inBinding) throws WSIException
+  {
+    // REMOVE: Get all bindings
+    //Binding[] bindingList = wsdlDocument.getBindings();
+    Binding[] bindingList = new Binding[1];
+    bindingList[0] = inBinding;
+
+    Vector soapBodies = new Vector();
+
+    // Go through each binding one at a time
+    for (int binding = 0; binding < bindingList.length; binding++)
+    {
+      // get the list of binding Operations
+      BindingOperation[] bindingOperations =
+        (BindingOperation[]) bindingList[binding]
+          .getBindingOperations()
+          .toArray(
+          new BindingOperation[0]);
+
+      // get references to the extensible elements within the <input> and <output> elements of this binding <operation>. 
+      for (int bo = 0; bo < bindingOperations.length; bo++)
+      {
+
+        // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
+        try
+        {
+          Iterator inputExtensibles =
+            bindingOperations[bo]
+              .getBindingInput()
+              .getExtensibilityElements()
+              .iterator();
+          while (inputExtensibles.hasNext())
+          {
+            try
+            {
+              soapBodies.add((SOAPBody) inputExtensibles.next());
+            }
+            catch (ClassCastException e)
+            { // ignore everything but SOAP Body elements.
+            }
+          }
+        }
+        catch (NullPointerException e)
+        { // no extensibility elements for <input> - ignore : not checking this here.
+        }
+
+        try
+        {
+          Iterator outputExtensibles =
+            bindingOperations[bo]
+              .getBindingOutput()
+              .getExtensibilityElements()
+              .iterator();
+          while (outputExtensibles.hasNext())
+          {
+            try
+            {
+              soapBodies.add((SOAPBody) outputExtensibles.next());
+            }
+            catch (ClassCastException e)
+            { // ignore everything but SOAP Body elements.
+            }
+          }
+        }
+        catch (NullPointerException e)
+        { // no extensibility elements for <output>.
+        }
+      }
+    }
+
+    SOAPBody[] soapBodyArray = new SOAPBody[soapBodies.size()];
+    soapBodies.copyInto(soapBodyArray);
+
+    return soapBodyArray;
+  }
+
+  /**
+   * Method getSoapBody.
+   * 
+   * @param bindingInput a BindingInput object.
+   * @return  body.
+   * @throws WSIException if problems occur during processing.
+   */
+  protected SOAPBody getSoapBody(BindingInput bindingInput) throws WSIException
+  {
+
+    SOAPBody soapBody = null;
+
+    Iterator extensibles = bindingInput.getExtensibilityElements().iterator();
+    while (extensibles.hasNext())
+    {
+      Object extensible = extensibles.next();
+      if (extensible instanceof SOAPBody)
+      {
+        soapBody = (SOAPBody) extensible;
+        break;
+      }
+    }
+    return soapBody;
+  }
+
+  /**
+   * Method getSoapBody.
+   * 
+   * @param bindingOutput a BindingOutput object.
+   * @return SOAP body.
+   * @throws WSIException if problems occur during processing.
+   */
+  protected SOAPBody getSoapBody(BindingOutput bindingOutput)
+    throws WSIException
+  {
+
+    SOAPBody soapBody = null;
+
+    Iterator extensibles = bindingOutput.getExtensibilityElements().iterator();
+    while (extensibles.hasNext())
+    {
+      Object extensible = extensibles.next();
+      if (extensible instanceof SOAPBody)
+      {
+        soapBody = (SOAPBody) extensible;
+        break;
+      }
+    }
+    return soapBody;
+  }
+
+  /**
+   * Get schema used.
+   * @param def definition.
+   * @return Schema used.
+   * @throws AssertionFailException if problem getting WSDL defintions 
+   *         namespace.
+   */
+  protected String getSchemaUsed(Definition def) throws AssertionFailException
+  {
+    String schemaUsed = "";
+
+    try
+    {
+      // Need to read the file directly, since WSDL4J always puts in the default WSDL namespace
+      Document document = parseXMLDocumentURL(def.getDocumentBaseURI(), null);
+
+      if (document != null)
+      {
+        // Get the root element
+        Element element = document.getDocumentElement();
+
+        // Get the namespace for this element
+        if (element != null)
+          schemaUsed = element.getNamespaceURI();
+      }
+    }
+
+    catch (WSIException we)
+    {
+      throw new AssertionFailException("problem getting WSDL defintions namespace");
+    }
+
+    /*
+    // Get the default namespace
+    String schemaUsed = def.getNamespace("");
+    
+    // If the default was set, then process it to get the namespace
+    if (schemaUsed == null) {
+      // do it the hard way (still better than another DOM parse)... 				
+      //WSDLWriter w = new WSDLWriterImpl();
+      try {
+        WSDLWriter w = WSDLFactory.newInstance().newWSDLWriter();
+      	Document doc = w.getDocument(def);
+      	Element e = doc.getDocumentElement();
+      	schemaUsed = e.getNamespaceURI();
+      } 
+      catch (NullPointerException e) {
+      	throw new AssertionFailException("problem getting WSDL defintions namespace");
+      } 
+      catch (WSDLException e) {
+      	throw new AssertionFailException("problem getting document defintion");
+      }      	
+    }
+    */
+
+    return schemaUsed;
+  }
+
+  /**
+   * Method getSoapBinding.
+   * 
+   * Get the SOAP binding for a Binding.
+    * 
+   * @param binding a binding.
+   * @return a SOAP binding.
+   * @throws WSIException if problems occur during processing.
+   */
+  public static SOAPBinding getSoapBinding(Binding binding) throws WSIException
+  {
+    SOAPBinding soapBinding = null;
+
+    // Get the list of extensibility elements
+    List exElements = binding.getExtensibilityElements();
+    if (exElements != null)
+    {
+      Iterator iterator = binding.getExtensibilityElements().iterator();
+
+      //  Check for <soap:binding> element
+      while ((iterator.hasNext()) && (soapBinding == null))
+      {
+        try
+        {
+          soapBinding = (SOAPBinding) iterator.next();
+        }
+        catch (ClassCastException e)
+        { // ignore everything but SOAP Binding element
+        }
+      }
+    }
+
+    return soapBinding;
+  }
+
+  /** 
+   * Create XML schema validator.  This is done here because some compilers do not allow
+   * the documentList field to be accessed from within an inner class.
+   * @param documentBaseURI the base URL.
+   * @return newly created XML schema validator.
+   */
+  protected XMLSchemaValidator createXMLSchemaValidator(String documentBaseURI)
+  {
+    // Create XML schema validator
+    return new XMLSchemaValidator(documentBaseURI);
+  }
+
+  /**
+   * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
+   * @param definition a Definition object.
+   * @return a list of schema target namespaces.
+   * @throws WSIException if problem during processing method.
+   */
+  protected List getSchemaTargetNamespaceList(Definition definition)
+    throws WSIException
+  {
+    List list = null, nextList = null;
+
+    // Get list of extension elements within the types element
+    Types types = null;
+    if ((types = definition.getTypes()) != null)
+    {
+      Iterator iterator = types.getExtensibilityElements().iterator();
+
+      ExtensibilityElement extElement = null;
+      while (iterator.hasNext())
+      {
+        // Get next ext. element
+        extElement = (ExtensibilityElement) iterator.next();
+        // If this is an unknown ext. element, then see if it is a schema element
+        TargetNamespaceProcessor tnsProcessor = null;
+        if (extElement instanceof UnknownExtensibilityElement)
+        {
+          tnsProcessor = new TargetNamespaceProcessor(definition.getDocumentBaseURI());
+
+
+          if ((nextList =
+            tnsProcessor.processAllSchema(
+              ((UnknownExtensibilityElement) extElement).getElement()))
+            != null)
+            if (list == null)
+              list = new Vector();
+          list.addAll(nextList);
+        }
+      }
+    }
+
+    return list;
+  }
+ /**
+   * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
+   * @param definition a Definition object.
+   * @return a list of schema target namespaces.
+   * @throws WSIException if problem during processing method.
+   */
+  protected List getSchemaNamespaceList(Definition definition)
+    throws WSIException
+  {
+    List list = new Vector();
+    
+    // Always add current document targetNamespace
+    List targetNamespaceList = getSchemaTargetNamespaceList(definition);
+    
+    if ((targetNamespaceList != null) && !targetNamespaceList.isEmpty())
+      list.addAll(targetNamespaceList);
+    
+    // Get list of imported WSDL documents
+    Map importMap = definition.getImports();
+
+    Import imp;
+
+    // Add each imports targetNamespace to the list
+    if (importMap != null && !importMap.isEmpty())
+    {
+      Iterator values = importMap.values().iterator();
+      List importList;
+      while (values.hasNext())
+      {
+        importList = (List) values.next();
+        Iterator imports = importList.iterator();
+        while (imports.hasNext())
+        {
+          imp = (Import) imports.next();
+          if (imp != null && imp.getDefinition() != null)
+          	list.addAll(getSchemaNamespaceList(imp.getDefinition()));
+        }
+      }
+    }
+
+    return list;
+  }
+
+  /**
+   * Build list of WSDL targetNamespaces.
+   * @param definition a Definition object.
+   * @return list of WSDL targetNamespaces.
+   */
+  protected List getWSDLTargetNamespaceList(Definition definition)
+  {
+    List list = new Vector();
+
+    // Always add current document targetNamespace
+    if (definition.getTargetNamespace() != null)
+      list.add(definition.getTargetNamespace());
+
+    // Get list of imported WSDL documents
+    Map importMap = definition.getImports();
+
+    Import imp;
+
+    // Add each imports targetNamespace to the list
+    if (importMap != null && !importMap.isEmpty())
+    {
+      Iterator values = importMap.values().iterator();
+      List importList;
+      while (values.hasNext())
+      {
+        importList = (List) values.next();
+        Iterator imports = importList.iterator();
+        while (imports.hasNext())
+        {
+          imp = (Import) imports.next();
+          if (imp != null && imp.getDefinition() != null)
+          list.addAll(getWSDLTargetNamespaceList(imp.getDefinition()));
+            // list.add(imp.getDefinition().getTargetNamespace());
+        }
+      }
+    }
+
+    return list;
+  }
+
+  protected class BindingMatch
+  {
+    private Binding binding;
+    private BindingOperation bindingOperation;
+    private SOAPBinding soapBinding;
+    //private Vector bindingArgs; // set of BindingInputs and BindingOutputs
+    private BindingInput bindingInput;
+    private BindingOutput bindingOutput;
+
+    // ADD: need to include BindingFault support...
+    public BindingMatch(
+      Binding b,
+      BindingOperation bo,
+      SOAPBinding sb,
+      BindingInput bin,
+      BindingOutput bout)
+    {
+      binding = b;
+      bindingOperation = bo;
+      soapBinding = sb;
+      //bindingArgs = new Vector();
+      //if (bin  != null) { bindingArgs.add(bin);  }
+      //if (bout != null) { bindingArgs.add(bout); }
+      bindingInput = bin;
+      bindingOutput = bout;
+    }
+
+    public BindingMatch(
+      Binding b,
+      BindingOperation bo,
+      SOAPBinding sb,
+      BindingInput bin)
+    {
+      this(b, bo, sb, bin, null);
+    }
+
+    public BindingMatch(
+      Binding b,
+      BindingOperation bo,
+      SOAPBinding sb,
+      BindingOutput bout)
+    {
+      this(b, bo, sb, null, bout);
+    }
+
+    /**
+     * Returns the soapBinding.
+     * @return SOAPBinding
+     */
+    public SOAPBinding getSoapBinding()
+    {
+      return soapBinding;
+    }
+
+    /**
+     * Returns the bindingOperation.
+     * @return BindingOperation
+     */
+    public BindingOperation getBindingOperation()
+    {
+      return bindingOperation;
+    }
+
+    /**
+     * Returns the bindingInput.
+     * @return BindingInput
+     */
+    public BindingInput getBindingInput()
+    {
+      return bindingInput;
+    }
+
+    /**
+     * Returns the bindingOutput.
+     * @return BindingOutput
+     */
+    public BindingOutput getBindingOutput()
+    {
+      return bindingOutput;
+    }
+
+    public boolean hasBindingInput()
+    {
+      return (this.bindingInput != null);
+    }
+
+    public boolean hasBindingOutput()
+    {
+      return (this.bindingOutput != null);
+    }
+
+    /**
+     * Returns the binding.
+     * @return Binding
+     */
+    public Binding getBinding()
+    {
+      return binding;
+    }
+
+  }
+
+  /**
+   * Get binding matches.
+  * @param binding a binding.
+  * @param soapBindingStyle soap binding style.
+  * @param soapBodyUse soap body use.
+  * @return binding matches.
+  * @throws WSIException if problems occur during processing.
+  */
+  public BindingMatch[] getBindingMatches(
+    Binding binding,
+    String soapBindingStyle,
+    String soapBodyUse)
+    throws WSIException
+  {
+
+    Vector bindingMatches = new Vector();
+
+    // Check binding
+    SOAPBinding soapBinding = getSoapBinding(binding);
+
+    // check that the soap:binding for this WSDL binding is the specified style
+    // ADD: check for null pointer
+    if (soapBinding != null)
+    {
+      String defaultStyle = soapBinding.getStyle();
+
+      if (defaultStyle == null)
+      {
+        defaultStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
+      }
+
+      // Get the set of operations for this WSDL binding
+      List bindingOpsList = binding.getBindingOperations();
+      if (bindingOpsList != null)
+      {
+        Iterator bindingOps = bindingOpsList.iterator();
+        // for each binding operation:
+        while (bindingOps.hasNext())
+        {
+          BindingOperation bindingOp = (BindingOperation) bindingOps.next();
+
+          SOAPOperation soapOp = getSoapOperation(bindingOp);
+
+          if ((soapOp == null && defaultStyle.equals(soapBindingStyle))
+            || (soapOp != null
+              && soapOp.getStyle() == null
+              && defaultStyle.equals(soapBindingStyle))
+            || (soapOp != null
+              && soapOp.getStyle() != null
+              && soapOp.getStyle().equals(soapBindingStyle)))
+          {
+            // check binding input & output
+            BindingInput bInput = bindingOp.getBindingInput();
+            if (bInput != null)
+            {
+              SOAPBody inputSoapBody = getSoapBody(bInput);
+              if (inputSoapBody == null
+                || (inputSoapBody.getUse() != null
+                  && !inputSoapBody.getUse().equals(soapBodyUse)))
+              {
+                bInput = null;
+              }
+            }
+
+            BindingOutput bOutput = bindingOp.getBindingOutput();
+            if (bOutput != null)
+            {
+              SOAPBody outputSoapBody = getSoapBody(bOutput);
+
+              if (outputSoapBody == null
+                || (outputSoapBody.getUse() != null
+                  && !outputSoapBody.getUse().equals(soapBodyUse)))
+              {
+                bOutput = null;
+              }
+            }
+
+            if ((bOutput != null) || (bInput != null))
+            {
+              // we have a match, add to the vector
+              bindingMatches.add(
+                new BindingMatch(
+                  binding,
+                  bindingOp,
+                  soapBinding,
+                  bInput,
+                  bOutput));
+            }
+          }
+        }
+      }
+    }
+
+    BindingMatch[] BindingMatchArray = new BindingMatch[bindingMatches.size()];
+    bindingMatches.copyInto(BindingMatchArray);
+    return BindingMatchArray;
+  }
+
+  /**
+   * Method getSoapOperation.
+   *
+   * @param bindingOperation a binding operation.
+   * @return a soap operation.
+   * @throws WSIException if problems while processing.
+   */
+  public static SOAPOperation getSoapOperation(BindingOperation bindingOperation)
+    throws WSIException
+  {
+
+    if (bindingOperation.getExtensibilityElements() == null)
+    {
+      return null;
+    }
+
+    Iterator extensibles =
+      bindingOperation.getExtensibilityElements().iterator();
+    while (extensibles.hasNext())
+    {
+      Object extensible = extensibles.next();
+      if (extensible instanceof SOAPOperation)
+      {
+        return (SOAPOperation) extensible;
+      }
+    }
+    return null;
+  }
+
+  /* 
+   * Returns an array of SOAPOperations corresponding to the wsdl:binding supplied.
+   */
+  protected HashMap getSoapOperations(Binding binding) throws WSIException
+  {
+    HashMap soapOperationList = new HashMap();
+
+    if (binding.getBindingOperations() == null)
+    {
+      return null;
+    }
+
+    //Vector soapOpVector = new Vector();
+
+    // Get the list of binding operations
+    Iterator operations = binding.getBindingOperations().iterator();
+
+    // Check each binding operation to see if it has a soap operation element
+    BindingOperation bindingOperation = null;
+    while (operations.hasNext())
+    {
+      bindingOperation = (BindingOperation) operations.next();
+      Iterator extensibles =
+        bindingOperation.getExtensibilityElements().iterator();
+      while (extensibles.hasNext())
+      {
+        Object extensible = extensibles.next();
+        if (extensible instanceof SOAPOperation)
+        {
+          soapOperationList.put(extensible, bindingOperation.getName());
+        }
+      }
+    }
+
+    //return (SOAPOperation[])soapOpVector.toArray(new SOAPOperation[] {});
+    return soapOperationList;
+  }
+
+  /**
+   * Check part attributes.
+   * @param bindingMatch an array of BindingMatch objects.
+   * @param inOrOut a String object.
+   * @param attrib attribute.
+   * @return a boolean.
+   * @throws AssertionFailException if the part is not compliant.
+   */
+  // GT - rework this method with a better way of parameterizing the getters required for the invocation.
+  protected boolean checkPartAttributes(
+    BindingMatch[] bindingMatch,
+    String inOrOut,
+    String attrib)
+    throws AssertionFailException
+  {
+
+    if (!(inOrOut.equals("useInput") || inOrOut.equals("useOutput"))
+      || !(attrib.equals("useType") || attrib.equals("useElement")))
+    {
+      // invalid argument value supplied by calling method - "internal error"
+      return false;
+    }
+
+    for (int i = 0; i < bindingMatch.length; i++)
+    {
+      BindingMatch nextMatch = bindingMatch[i];
+
+      // check the associated parts
+      Message msg;
+      Map parts;
+      Iterator partIteration;
+
+      BindingOperation bindingOp = nextMatch.getBindingOperation();
+      if (bindingOp == null)
+      {
+        continue; // no Binding Operation for some reason
+      }
+
+      Operation op = bindingOp.getOperation();
+
+      /*	ADD: handle soap:faults in similar way	   		
+      try {
+      // check faults - remarkably similar.... (need to retain operation id for failuredetail msg)
+      	if (nextMatch.hasBindingFault()) {
+      				
+      		msg = op.getFault().getMessage();
+      		parts = msg.getParts();
+      				    					     			
+      		//check that each part has an element attribute    			
+      		partIteration = parts.values().iterator();
+      		while (partIteration.hasNext()) {
+      			Part part = (Part)partIteration.next();
+      			if (part.getElementName() == null) {
+      				throw new AssertionFailException("OPERATION: " + op + "MESSAGE: " + msg);
+      			}
+      		}	 			
+      	}
+      }
+      catch (NullPointerException n) {
+      	// no parts found - this qualifies an assertion failure
+      	throw new AssertionFailException(n.getMessage());
+      }
+      */
+
+      try
+      {
+
+        QName attributeName;
+
+        //GT: Do we need to check BindingInput / Output here ??
+
+        if (inOrOut.equals("useInput"))
+        {
+          if (op.getInput() == null || !nextMatch.hasBindingInput())
+          {
+            // No Input so nothing to check
+            continue;
+          }
+
+          msg = op.getInput().getMessage();
+
+        }
+        else
+        { // Looking for Output
+          if (op.getOutput() == null || !nextMatch.hasBindingOutput())
+          {
+            // No Output so nothing to check
+            continue;
+          }
+
+          msg = op.getOutput().getMessage();
+        }
+
+        if (msg == null)
+        {
+          continue; // nothing to check from this Binding Match (?)
+        }
+
+        // Get the list of parts 
+        parts = msg.getParts();
+
+        // If there is a parts attribute, then only process those parts
+        List partsNameList = null;
+        if ((partsNameList = getPartsList(nextMatch, inOrOut)) != null)
+        {
+          Vector partsList = new Vector();
+          Iterator partsNameIterator = partsNameList.iterator();
+          while (partsNameIterator.hasNext())
+          {
+            partsList.add(parts.get((String) partsNameIterator.next()));
+          }
+          partIteration = partsList.iterator();
+        }
+
+        // Otherwise use the complete list of parts
+        else
+        {
+          partIteration = parts.values().iterator();
+        }
+
+        //check that each part has an element or type attribute    			
+        while (partIteration.hasNext())
+        {
+          Part part = (Part) partIteration.next();
+          if (attrib.equals("useElement"))
+          {
+            attributeName = part.getElementName();
+          }
+          else
+          { // "useType"
+            attributeName = part.getTypeName();
+          }
+
+          if (attributeName == null)
+          {
+            throw new AssertionFailException(
+              "Name of operation that failed: "
+                + op.getName()
+                + "\n"
+                + op.toString()
+                + "\n"
+                + "\nName of message that failed: "
+                + msg.getQName()
+                + "\n"
+                + msg.toString());
+          }
+        }
+      }
+      catch (NullPointerException n)
+      {
+        // no parts found - this qualifies an assertion failure
+        throw new AssertionFailException(n.toString());
+      }
+    }
+    return true; // tests successful
+  }
+
+  /**
+   * Get parts list from a soapbind:body element.
+   */
+  private List getPartsList(BindingMatch bindingMatch, String type)
+  {
+    List partsList = null;
+    Iterator iterator = null;
+
+    BindingOperation bindingOp;
+
+    try
+    {
+      // Get the binding operation
+      bindingOp = bindingMatch.getBindingOperation();
+
+      // Determine if the binding operation contains a soapbind:body with a parts attribute
+      if (type.equals("useInput"))
+      {
+        iterator =
+          bindingOp.getBindingInput().getExtensibilityElements().iterator();
+      }
+      else
+      {
+        iterator =
+          bindingOp.getBindingOutput().getExtensibilityElements().iterator();
+      }
+    }
+    catch (NullPointerException e)
+    {
+      return null;
+      // either no binding operation, binding input/output, or SOAP element
+    }
+
+    // Determine if the binding operation contains a soapbind:body with a parts attribute
+    while ((iterator.hasNext()) && (partsList == null))
+    {
+      try
+      {
+        SOAPBody soapBody = (SOAPBody) iterator.next();
+        partsList = soapBody.getParts();
+      }
+      catch (ClassCastException cce)
+      { // not a SOAPBody extensibility element so ignore
+      }
+    }
+
+    return partsList;
+  }
+
+  /**
+   * Get element location.
+   * @param wsdlDocument WSDL document.
+   * @param wsdlElement WSDL element.
+   * @return element location.
+   */
+  protected ElementLocation getElementLocation(
+    WSDLDocument wsdlDocument,
+    Object wsdlElement)
+  {
+    ElementLocation elementLocation = null;
+    WSDLElementList wsdlElementList;
+
+    if ((wsdlElementList = wsdlDocument.getElementList()) != null)
+    {
+      elementLocation = wsdlElementList.getElementLocation(wsdlElement);
+    }
+
+    return elementLocation;
+  }
+
+  /**
+   * Create failure detail.
+   * @param message a message.
+   * @param entryContext entry context.
+   * @return failure detail.
+   */
+  protected FailureDetail createFailureDetail(
+    String message,
+    EntryContext entryContext)
+  {
+    return createFailureDetail(
+      message,
+      entryContext,
+      entryContext.getEntry().getEntryDetail());
+  }
+
+  /**
+   * Create failure detail.
+   * @param message a message.
+   * @param entryContext entry context.
+   * @param wsdlElement WSDL element.
+   * @return failure detail.
+   */
+  protected FailureDetail createFailureDetail(
+    String message,
+    EntryContext entryContext,
+    Object wsdlElement)
+  {
+    FailureDetail failureDetail = reporter.createFailureDetail();
+    failureDetail.setFailureMessage(message);
+    failureDetail.setElementLocation(
+      getElementLocation(entryContext.getWSDLDocument(), wsdlElement));
+    return failureDetail;
+  }
+
+  /** 
+   * SOAPBody, SOAPFault, SOAPHeader and SOAPHeaderFault class 
+   * interfaces have compatible getUse() and getNamespaceURI() 
+   * methods, but wsdl4j does not declare them at the parent interface. 
+   * Therefore use reflection to access these common methods.
+   * 
+   * @param extElement extensibility element.
+   * @return true if namespace is found in SOAP literal.
+   * @throws NoSuchMethodException if this method cannot be found.
+   * @throws InvocationTargetException if problems occur in an invoked method or constructor
+   * @throws IllegalAccessException if there is am attempt to load a
+   *         class that it does not have access to.
+   */
+  protected boolean namespaceFoundInSoapLiteral(ExtensibilityElement extElement)
+    throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
+  {
+    Class c = extElement.getClass();
+    Method getUseMethod = c.getMethod("getUse", new Class[0]);
+    Method getNamespaceURIMethod = c.getMethod("getNamespaceURI", new Class[0]);
+
+    // (use attribute is mandatory but the null case is checked for since a missing use is not
+    // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).     		
+    if (getUseMethod.invoke(extElement, null) == null
+      || !getUseMethod.invoke(extElement, null).equals(
+        WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
+    {
+      return false;
+    }
+
+    // return true if namespace found
+    boolean namespaceFound =
+      (getNamespaceURIMethod.invoke(extElement, null) != null);
+
+    // return true if namespace found
+    return namespaceFound;
+
+  }
+
+  /**
+   * Verify extensibility element uses literal.
+   * @param extensible - extensibility element
+   * @return boolean
+   * @throws NoSuchMethodException if this method cannot be found.
+   * @throws InvocationTargetException if problems occur in an invoked method or constructor
+   * @throws IllegalAccessException if there is am attempt to load a
+   *         class that it does not have access to.
+   */
+  protected boolean isLiteral(ExtensibilityElement extensible)
+    throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
+  {
+
+    Class c = extensible.getClass();
+    Method getUseMethod = c.getMethod("getUse", new Class[0]);
+
+    // (use attribute is mandatory but the null case is checked for since a missing use is not
+    // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).     		
+    if (getUseMethod.invoke(extensible, null) == null
+      || !getUseMethod.invoke(extensible, null).equals(
+        WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
+    {
+      return false;
+    }
+
+    // return true if shown to have use="literal"
+    return true;
+
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ArtifactReference.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/AssertionResult.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/BuildReport.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/BuildReport.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/BuildReport.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/BuildReport.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/Entry.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Entry.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/Entry.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Entry.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryContainer.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/EntryResult.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryResult.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/EntryResult.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/EntryResult.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/FailureDetail.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/PrereqFailedList.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/Report.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Report.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/Report.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Report.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportArtifact.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ReportContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportContext.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ReportContext.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportContext.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/ReportWriter.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/Reporter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Reporter.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/Reporter.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/Reporter.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/WriteReport.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/WriteReport.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/WriteReport.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/WriteReport.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ArtifactReferenceImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/AssertionResultImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/DefaultReporter.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryContainerImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/EntryResultImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/FailureDetailImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/PrereqFailedListImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportArtifactImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java
new file mode 100644
index 0000000..73eeb35
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.report.impl;
+
+import java.io.PrintWriter;
+import java.io.Writer;
+
+import org.eclipse.wst.wsi.internal.core.document.impl.DocumentWriterImpl;
+import org.eclipse.wst.wsi.internal.core.report.Report;
+import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
+
+/**
+ * Defines the interface used to write the Conformance XML documents.
+ * 
+ * @version 1.0.1
+ * @author Peter Brittenham (peterbr@us.ibm.com)
+ */
+public class ReportWriterImpl
+  extends DocumentWriterImpl
+  implements ReportWriter
+{
+  /**
+   * Report writer.
+   */
+  public ReportWriterImpl()
+  {
+  }
+
+  /**
+   * Write the entire contents of the document using the writer
+   * that was previously set using the setWriter method.
+   */
+  public void write(Report report) throws IllegalStateException
+  {
+    // If writer was not set previously, then throw exception
+    if (writer == null)
+    {
+      throw new IllegalStateException("Report writer must be set before writing report.");
+    }
+
+    // Write report
+    write(report, this.writer);
+  }
+
+  /**
+   * Write the entire contents of the document.
+   */
+  public void write(Report report, Writer writer)
+  {
+    // Create print writer
+    new PrintWriter(writer);
+
+    // ADD: Write out complete report
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/toolinfo.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/toolinfo.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/toolinfo.properties
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/toolinfo.properties
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ArtifactType.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/BasicRules.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/BasicRules.java
new file mode 100644
index 0000000..d232b0e
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/BasicRules.java
@@ -0,0 +1,477 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.util;
+
+/**
+ * This class validates basic constructs of RFC 2616.
+ * 
+ * @author Volodin
+ */
+public class BasicRules
+{
+
+  public static final char CR = 13;
+  public static final char LF = 10;
+  public static final char SP = 32;
+  public static final char HT = 9;
+  public static final char DQ = 34;
+  public static final String CRLF = "" + CR + LF;
+
+  public static final char[] SEPARATORS =
+    {
+      '(',
+      ')',
+      '<',
+      '>',
+      '@',
+      ',',
+      ';',
+      ':',
+      '\\',
+      '\"',
+      '/',
+      '[',
+      ']',
+      '?',
+      '=',
+      '{',
+      '}',
+      SP,
+      HT };
+
+  /**
+   * Checking rule.
+   * 		OCTET = &lt;any 8-bit sequence of data&gt;
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isOCTET(char ch)
+  {
+    return true;
+  }
+
+  /**
+   * Checking rule:
+   * 		CHAR = &lt;any US-ASCII character (octets 0 - 127)&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isCHAR(char ch)
+  {
+    return (ch >= 0 && ch <= 127) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		UPALPHA = &lt;any US-ASCII uppercase letter "A".."Z"&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isUPALPHA(char ch)
+  {
+    return (ch >= 'A' && ch <= 'Z') ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		LOALPHA = &lt;any US-ASCII lowercase letter "a".."z"&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isLOALPHA(char ch)
+  {
+    return (ch >= 'a' && ch <= 'z') ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		ALPHA = UPALPHA | LOALPHA.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isALPHA(char ch)
+  {
+    return (isLOALPHA(ch) || isUPALPHA(ch)) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		DIGIT = &lt;any US-ASCII digit "0".."9"&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isDIGIT(char ch)
+  {
+    return (ch >= '0' && ch <= '9') ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		CTL = &lt;any US-ASCII control character (octets 0 - 31) and DEL (127)&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isCTL(char ch)
+  {
+    return ((ch >= 0 && ch <= 31) || ch == 127) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		CR = &lt;US-ASCII CR, carriage return (13)&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isCR(char ch)
+  {
+    return (ch == CR) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		LF = &lt;US-ASCII LF, linefeed (10)&gt;.
+   * @param ch character
+   * @return boolean true if ch is conform to rule, false otherwise
+   */
+  public static boolean isLF(char ch)
+  {
+    return (ch == LF) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		SP = &lt;US-ASCII SP, space (32)&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isSP(char ch)
+  {
+    return (ch == SP) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		HT = &lt;US-ASCII HT, horizontal-tab (9)&gt;.
+   * @param ch character
+   * @return boolean true if ch is conform to rule, false otherwise
+   */
+  public static boolean isHT(char ch)
+  {
+    return (ch == HT) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		&lt;"&gt; = &lt;US-ASCII double-quote mark (34)&gt;.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isDoubleQuote(char ch)
+  {
+    return (ch == DQ) ? true : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		CRLF = CR LF.
+   * @param str string.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isCRLF(String str)
+  {
+    return CRLF.equals(str);
+  }
+
+  /**
+   * Checking rule:
+   * 		LWS = [CRLF] 1*( SP | HT ).
+   * @param str string.
+   * @return boolean true if str is conform to rule, false otherwise.
+   */
+  public static boolean isLWS(String str)
+  {
+
+    int index = getLastIndexLWS(str, 0);
+    if (index == -1 || index != str.length())
+      return false;
+
+    return true;
+  }
+
+  /**
+   * Gets last index of the LWS string.
+   * @param str string.
+   * @param startIndex start index.
+   * @return int an index of the first symbol which isn't LWS.
+   */
+  public static int getLastIndexLWS(String str, int startIndex)
+  {
+    int index = str.indexOf(CRLF, startIndex);
+    if (index == -1)
+      index = startIndex;
+    else if (index == startIndex)
+      index += CRLF.length();
+    else
+      return -1;
+
+    if (!isSP(str.charAt(index)) && isHT(str.charAt(index)))
+      return -1;
+
+    index++;
+    for (; index < str.length(); index++)
+      if (!isSP(str.charAt(index)) && isHT(str.charAt(index)))
+        return index;
+    return index;
+  }
+
+  /**
+   * Gets last index of the TEXT string.
+   * TEXT = &lt;any OCTET except CTLs, but including LWS&gt;
+   * @param str string.
+   * @param startIndex start index.
+   * @return int an index of the first symbol which isn't TEXT.
+   */
+  public static int getLastTEXT(String str, int startIndex)
+  {
+    int index;
+    for (index = startIndex; index < str.length(); index++)
+    {
+      if (!isOCTET(str.charAt(index)))
+        return index;
+      if (isCTL(str.charAt(index)))
+      {
+        int lastLWS = getLastIndexLWS(str, index);
+        if (lastLWS == -1)
+          return index;
+        index = lastLWS - 1;
+      }
+    }
+    return index;
+  }
+
+  /**
+   * Checking rule:
+   * 		HEX = "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isHEX(char ch)
+  {
+    return (
+      (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f') || isDIGIT(ch))
+      ? true
+      : false;
+  }
+
+  /**
+   * Checking rule:
+   * 		token = 1*&lt;any CHAR except CTLs or separators&gt;.
+   * @param str string.
+   * @return boolean true if str is conform to rule, false otherwise.
+   */
+  public static boolean isToken(String str)
+  {
+    if (str.length() == 0)
+      return false;
+
+    for (int index = 0; index < str.length(); index++)
+    {
+      char ch = str.charAt(index);
+      if (!isCHAR(ch) || isSEPARATOR(ch) || isCTL(ch))
+        return false;
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Gets last index of the "token" string.
+   * @param str string.
+   * @param startIndex start index.
+   * @return int an index of the first symbol which isn't "token".
+   */
+  public static int getLastToken(String str, int startIndex)
+  {
+    int index = startIndex;
+    for (; index < str.length(); index++)
+    {
+      char ch = str.charAt(index);
+      if (!isCHAR(ch) || isSEPARATOR(ch) || isCTL(ch))
+        return index;
+
+    }
+    return index;
+  }
+
+  /**
+   * Checking rule:
+   * 		separators = "(" | ")" | "<" | ">" | "@"
+     *                 | "," | ";" | ":" | "\" | <">
+     *                 | "/" | "[" | "]" | "?" | "="
+     *                 | "{" | "}" | SP | HT.
+   * @param ch character.
+   * @return boolean true if ch is conform to rule, false otherwise.
+   */
+  public static boolean isSEPARATOR(char ch)
+  {
+    for (int index = 0; index < SEPARATORS.length; index++)
+    {
+      if (ch == SEPARATORS[index])
+        return true;
+    }
+    return false;
+  }
+
+  /**
+   * Gets last index of the "comment" string.
+   * 		comment = "(" *( ctext | quoted-pair | comment ) ")".
+   * @param str string.
+   * @param startIndex start index.
+   * @return int an index of the first symbol which isn't "comment".
+   */
+  public static int getLastComment(String str, int startIndex)
+  {
+
+    int index = startIndex;
+    if (str.length() <= startIndex)
+      return startIndex;
+    if (str.charAt(index) != '(')
+      return startIndex;
+
+    boolean bExit = false;
+    boolean bQuotedPair = false;
+    int idx = startIndex + 1;
+    while (bExit == false)
+    {
+      while (bQuotedPair == false)
+      {
+        idx = getLastCtext(str, idx);
+        if (idx == str.length())
+          return idx;
+        if (!isQuotedPair(str, idx - 1))
+          bQuotedPair = true;
+        else
+          idx++;
+      }
+      if (str.charAt(idx) == '(')
+      {
+        getLastComment(str, idx);
+      }
+      else if (str.charAt(idx) == ')')
+      {
+        return idx + 1;
+      }
+    }
+
+    return idx;
+  }
+
+  /**
+   * Gets last index of the "ctext" string.
+   * 		ctext = &lt;any TEXT excluding "(" and ")"&gt;
+   * @param str string.
+   * @param startIndex start index.
+   * @return int an index of the first symbol which isn't "ctext".
+   */
+  private static int getLastCtext(String str, int startIndex)
+  {
+    int idx = getLastTEXT(str, startIndex);
+    int iBracket = startIndex;
+    for (; iBracket < idx; iBracket++)
+    {
+      if (str.charAt(iBracket) == '(' || str.charAt(iBracket) == ')')
+        break;
+    }
+    if (iBracket < idx)
+      idx = iBracket;
+    return idx;
+  }
+
+  /**
+   * Gets last index of the "qdtext" string.
+   * 		qdtext = &lt;any TEXT except &lt;"&gt;&gt;
+   * @param str string.
+   * @param startIndex start index.
+   * @return int an index of the first symbol which isn't "qdtext".
+   */
+  private static int getLastQdtext(String str, int startIndex)
+  {
+    int idx = getLastTEXT(str, startIndex);
+    int iBracket = startIndex;
+    for (; iBracket < idx; iBracket++)
+    {
+      if (str.charAt(iBracket) == '\"')
+        break;
+    }
+    if (iBracket < idx)
+      idx = iBracket;
+    return idx;
+  }
+
+  /**
+   * Checking rule:
+   * 		quoted-pair = "\" CHAR.
+   * @param str string.
+   * @param startIndex start index.
+   * @return boolean true if str is conform to rule, false otherwise.
+   */
+  public static boolean isQuotedPair(String str, int startIndex)
+  {
+    if (str.length() >= startIndex + 2
+      && str.charAt(startIndex) == '\\'
+      && isCHAR(str.charAt(startIndex + 1)))
+      return true;
+    else
+      return false;
+  }
+
+  /**
+   * Gets last index of the "quoted-string" string.
+   * 		quoted-string  = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
+   * @param str string.
+   * @param startIndex start index.
+   * @return int an index of the first symbol which isn't "quoted-string".
+   */
+  public static int getLastQuotedString(String str, int startIndex)
+  {
+    int index = startIndex;
+
+    // if end if the string
+    if (startIndex == str.length())
+      return startIndex;
+    // if the begin is not '"'
+    if (str.charAt(index) != DQ)
+      return startIndex;
+
+    index++;
+    while (true)
+    {
+      index = getLastQdtext(str, index);
+      if (index == str.length())
+        return startIndex;
+      if (isQuotedPair(str, index - 1))
+      {
+        index++;
+        if (index == str.length())
+          return startIndex;
+      }
+      else
+        break;
+    }
+    // if the end is not '"'
+    if (str.charAt(index) != DQ)
+      return startIndex;
+
+    index++;
+    return index;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/EntryType.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/EntryType.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/EntryType.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/EntryType.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/ErrorList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ErrorList.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/ErrorList.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/ErrorList.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPConstants.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HTTPUtils.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java
new file mode 100644
index 0000000..3c68a88
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java
@@ -0,0 +1,1720 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Locale;
+import java.util.StringTokenizer;
+
+import sun.net.www.MessageHeader;
+
+/**
+ * This class checks HTTP request headers about RFC 2616.
+ *
+ * @author Volodin 
+ */
+public class HttpHeadersValidator
+{
+
+  private static final String HEADER_ALLOW = "Allow";
+  private static final String HEADER_CONTENT_TYPE = "Content-Type";
+  private static final String HEADER_CONTENT_ENCODING = "Content-Encoding";
+  private static final String HEADER_CONTENT_LANGUAGE = "Content-Language";
+  private static final String HEADER_CONTENT_LENGHT = "Content-Length";
+  private static final String HEADER_CONTENT_LOCATION = "Content-Location";
+  private static final String HEADER_CONTENT_RANGE = "Content-Range";
+  private static final String HEADER_EXPIRES = "Expires";
+  private static final String HEADER_LAST_MODIFIED = "Last-Modified";
+  private static final String HEADER_CACHE_CONTROL = "Cache-Control";
+  private static final String HEADER_CONNECTION = "Connection";
+  private static final String HEADER_DATE = "Date";
+  private static final String HEADER_PRAGMA = "Pragma";
+  private static final String HEADER_TRAILER = "Trailer";
+  private static final String HEADER_TRANSFER_ENCODING = "Transfer-Encoding";
+
+  private static final String HEADER_UPGRADE = "Upgrade";
+  private static final String HEADER_VIA = "Via";
+  private static final String HEADER_WARNING = "Warning";
+
+  private static final String HEADER_ACCEPT = "Accept";
+  private static final String HEADER_ACCEPT_CHARSET = "Accept-Charset";
+  private static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding";
+  private static final String HEADER_ACCEPT_LANGUAGE = "Accept-Language";
+  private static final String HEADER_AUTHORIZATION = "Authorization";
+  private static final String HEADER_EXPECT = "Expect";
+  private static final String HEADER_FROM = "From";
+  private static final String HEADER_HOST = "Host";
+  private static final String HEADER_IF_MATCH = "If-Match";
+  private static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since";
+  private static final String HEADER_IF_NONE_MATCH = "If-None-Match";
+  private static final String HEADER_IF_RANGE = "If-Range";
+  private static final String HEADER_IF_UNMODIFIED_SINCE =
+    "If-Unmodified-Since";
+  private static final String HEADER_MAX_FORWARDS = "Max-Forwards";
+  private static final String HEADER_PROXY_AUTHORIZATION =
+    "Proxy-Authorization";
+  private static final String HEADER_RANGE = "Range";
+  private static final String HEADER_REFERER = "Referer";
+  private static final String HEADER_TE = "TE";
+  private static final String HEADER_USER_AGENT = "User-Agent";
+
+  /**
+   * This class checks e-mail string about RFC 822.
+   */
+  public static class MailboxValidator
+  {
+    private static final char[] SPECIAL =
+      { '(', ')', '<', '>', '@', ',', ';', ':', '\\', '\"', '.', '[', ']' };
+
+    /**
+    	* Validates e-mail string.
+    * @param mailbox e-mail string
+    * @return boolean  true if e-mail string is conform to RFC 822, false otherwise.
+    */
+
+    public static boolean validateMailbox(String mailbox)
+    {
+
+      if (!isFullAddr(mailbox) && !isShortAddr(mailbox))
+        return false;
+
+      return true;
+    }
+
+    /**
+     * Method isSimpleAddr.
+     * @param mailbox
+     * @return boolean
+     */
+    private static boolean isShortAddr(String mailbox)
+    {
+      int indexAt = mailbox.indexOf('@');
+      if (indexAt == -1)
+        return false;
+
+      if (!isLocalPart(mailbox.substring(0, indexAt))
+        || !isDomain(mailbox.substring(indexAt + 1)))
+        return false;
+
+      return true;
+    }
+
+    /**
+     * Method isDomaim.
+     * @param string
+     * return boolean
+     */
+    private static boolean isDomain(String string)
+    {
+      if (string.trim().length() == 0)
+        return false;
+      StringTokenizer st = new StringTokenizer(string, ".");
+      while (st.hasMoreTokens())
+      {
+        String subDomain = st.nextToken();
+        if (!isAtom(subDomain) && !isDomainLiteral(subDomain))
+          return false;
+
+      }
+      return true;
+    }
+
+    /**
+     * Method isDomainLiteral.
+     * @param subDomain
+     * @return boolean
+     */
+    private static boolean isDomainLiteral(String subDomain)
+    {
+      if (getLastDomainLiteral(subDomain, 0) == subDomain.length())
+      {
+        return true;
+      }
+      else
+      {
+        return false;
+      }
+    }
+
+    private static int getLastDomainLiteral(String str, int startIndex)
+    {
+
+      int index = startIndex;
+      //int newIndex = 0;
+
+      // if end if the string
+      if (startIndex == str.length())
+        return startIndex;
+      // if the begin is not '['
+      if (str.charAt(index) != '[')
+        return startIndex;
+
+      index++;
+      while (true)
+      {
+        index = getLastDtext(str, index);
+        if (index == str.length())
+          return startIndex;
+        if (BasicRules.isQuotedPair(str, index - 1))
+        {
+          index++;
+          if (index == str.length())
+            return startIndex;
+        }
+        else
+          break;
+      }
+      // if the end is not ']'
+      if (str.charAt(index) != ']')
+        return startIndex;
+
+      index++;
+      return index;
+    }
+
+    private static int getLastDtext(String str, int startIndex)
+    {
+      if (str.length() == startIndex)
+        return startIndex;
+      int i = 0;
+      for (; i < str.length(); i++)
+      {
+        char ch = str.charAt(i);
+        i = BasicRules.getLastIndexLWS(str, i);
+        if (!BasicRules.isCHAR(ch)
+          || str.charAt(i) == '['
+          || str.charAt(i) == ']'
+          || str.charAt(i) == '\\'
+          || str.charAt(i) == BasicRules.CR)
+        {
+          return i + 1;
+        }
+      }
+      return i + 1;
+    }
+
+    /**
+     * Method isLocalPart.
+     * @param string
+     * @return boolean
+     */
+    private static boolean isLocalPart(String string)
+    {
+      if (string.trim().length() == 0)
+        return false;
+      StringTokenizer st = new StringTokenizer(string, ".");
+      while (st.hasMoreTokens())
+      {
+        if (!isWord(st.nextToken()))
+          return false;
+      }
+      return true;
+    }
+
+    /**
+     * Method isWord.
+     * @param string
+     * @return boolean
+     */
+    private static boolean isWord(String string)
+    {
+      if (!isAtom(string) && !isQuotedString(string))
+        return false;
+      return true;
+    }
+
+    /**
+     * Method isAtom.
+     * @param string
+     * @return boolean
+     */
+    private static boolean isAtom(String string)
+    {
+      if (string.length() == 0)
+        return false;
+      for (int i = 0; i < string.length(); i++)
+      {
+        if (!BasicRules.isCHAR(string.charAt(i))
+          || isSpecial(string.charAt(i))
+          || string.charAt(i) == ' '
+          || BasicRules.isCTL(string.charAt(i)))
+        {
+          return false;
+        }
+      }
+      return true;
+    }
+
+    /**
+     * Method isSpecial.
+     * @param c
+     * @return boolean
+     */
+    private static boolean isSpecial(char ch)
+    {
+      for (int index = 0; index < SPECIAL.length; index++)
+      {
+        if (ch == SPECIAL[index])
+          return true;
+      }
+      return false;
+    }
+
+    /**
+     * Method isFullAddr.
+     * @param mailbox
+     * @return boolean
+     */
+    private static boolean isFullAddr(String mailbox)
+    {
+      if (mailbox.length() == 0)
+        return false;
+      int idxLT = mailbox.indexOf('<');
+      if (idxLT == -1)
+        return false;
+
+      //is phrase
+      String phrase = mailbox.substring(0, idxLT);
+      StringTokenizer st = new StringTokenizer(phrase, " ");
+      if (st.countTokens() == 0)
+        return false;
+      while (st.hasMoreTokens())
+      {
+        if (!isWord(st.nextToken()))
+          return false;
+      }
+      if (phrase.charAt(phrase.length() - 1) != BasicRules.SP)
+      {
+        return false;
+      }
+
+      //is route-addr
+      String routeAddr = mailbox.substring(idxLT + 1);
+      // is route
+      int idxTwoSpot = routeAddr.indexOf(':');
+      if (idxTwoSpot != -1)
+      {
+        StringTokenizer stRouteAddr =
+          new StringTokenizer(routeAddr.substring(0, idxTwoSpot), ",");
+        if (!stRouteAddr.hasMoreTokens())
+          return false;
+        while (stRouteAddr.hasMoreTokens())
+        {
+          if (!isDomain(stRouteAddr.nextToken()))
+            return false;
+        }
+      }
+
+      //is addr spec
+      int idxGT = routeAddr.indexOf('>');
+      if (idxGT == -1 || idxGT != (routeAddr.length() - 1))
+        return false;
+
+      if (!isShortAddr(routeAddr.substring(idxTwoSpot + 1, idxGT)))
+        return false;
+
+      return true;
+    }
+
+  }
+
+  /**
+   * Validates HTTP request headers.
+   * @param headers HTTP request headers
+   * @return boolean  true if all HTTP headers string is conform to RFC 2616, false otherwise.
+   */
+
+  public static boolean validateHttpRequestHeaders(String headers)
+  {
+
+    MessageHeader mh = new MessageHeader();
+    try
+    {
+      mh.parseHeader(new ByteArrayInputStream(headers.getBytes()));
+    }
+    catch (IOException e)
+    {
+      return false;
+    }
+
+    String header = null;
+    String value = null;
+
+    header = mh.getKey(0);
+    if (header != null)
+      return false;
+
+    value = mh.getValue(0);
+    if (value == null)
+      return false;
+
+    //method
+    StringTokenizer st = new StringTokenizer(value, " ");
+    if (!st.hasMoreElements())
+      return false;
+    String str = st.nextToken();
+    if (!isToken(str))
+      return false;
+
+    if (!st.hasMoreElements())
+      return false;
+    str = st.nextToken();
+    if (!isURI(str) && !str.equals("*"))
+      return false;
+
+    if (!st.hasMoreElements())
+      return false;
+    str = st.nextToken();
+    if (!isHTTPVersion(str))
+      return false;
+
+    int i = 1;
+    try
+    {
+      while ((header = mh.getKey(i)) != null)
+      {
+        value = mh.getValue(i);
+        i++;
+
+        // is message-header token
+        if (!isToken(header))
+          return false;
+
+        //---- entity-headers
+
+        if (header.equals(HEADER_ALLOW))
+        {
+          if (!isValidAllow(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_CONTENT_TYPE))
+        {
+          if (!isMediaType(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_CONTENT_ENCODING))
+        {
+          if (!isToken(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_CONTENT_LANGUAGE))
+        {
+          if (!isLanguageTag(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_CONTENT_LENGHT))
+        {
+          if (!isDidgit(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_CONTENT_LOCATION))
+        {
+          if (!isURI(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_CONTENT_RANGE))
+        {
+          if (!isValidContentRange(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_EXPIRES)
+          || header.equals(HEADER_LAST_MODIFIED))
+        {
+          if (!isHTTPDate(value))
+            return false;
+          else
+            continue;
+        }
+
+        //---- general-headers
+        if (header.equals(HEADER_CACHE_CONTROL))
+        {
+          if (!isValidCacheControl(value))
+            return false;
+
+          continue;
+          //return true;
+        }
+
+        if (header.equals(HEADER_CONNECTION))
+        {
+          if (!isToken(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_DATE))
+        {
+          if (!isHTTPDate(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_PRAGMA))
+        {
+          if (!isPragmaDerective(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_TRAILER))
+        {
+          if (!isToken(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_TRANSFER_ENCODING))
+        {
+          if (!isTransferCoding(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_UPGRADE))
+        {
+          if (!isValidUpgrade(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_VIA))
+        {
+          if (!isValidVia(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_WARNING))
+        {
+          if (!isValidWarning(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_ACCEPT))
+        {
+          if (!isValidAccept(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_ACCEPT_CHARSET))
+        {
+          if (!isValidAcceptCharSet(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_ACCEPT_ENCODING))
+        {
+          if (!isValidAcceptEncoding(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_ACCEPT_LANGUAGE))
+        {
+          if (!isValidAcceptLanguage(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_AUTHORIZATION)
+          || header.equals(HEADER_PROXY_AUTHORIZATION))
+        {
+          if (!isCredentials(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_EXPECT))
+        {
+          if (!isExpectation(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_FROM))
+        {
+          if (!MailboxValidator.validateMailbox(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_IF_MATCH)
+          || header.equals(HEADER_IF_NONE_MATCH))
+        {
+          if (!isValidIfMatch(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_IF_RANGE))
+        {
+          if (!isEntityTag(value) && !isHTTPDate(value))
+            return false;
+          else
+            continue;
+        }
+
+        //---			
+        if (header.equals(HEADER_IF_MODIFIED_SINCE))
+        {
+          if (!isHTTPDate(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_IF_UNMODIFIED_SINCE))
+        {
+          if (!isHTTPDate(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_MAX_FORWARDS))
+        {
+          if (!isDidgit(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_USER_AGENT))
+        {
+          if (!isValidUserAgent(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_TE))
+        {
+          if (!isValidTE(value))
+            return false;
+          else
+            continue;
+        }
+
+        if (header.equals(HEADER_RANGE))
+        {
+          if (!isRange(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_HOST))
+        {
+          if (!isHost(value))
+            return false;
+          else
+            continue;
+        }
+        if (header.equals(HEADER_REFERER))
+        {
+          if (!isURI(value))
+            return false;
+          else
+            continue;
+        }
+
+      }
+    }
+    catch (Exception e)
+    {
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isValidIfMatch.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidIfMatch(String value)
+  {
+    if (value.trim().length() == 0)
+      return true;
+    if ("*".equals(value.trim()))
+      return true;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      if (!isEntityTag(str))
+        return false;
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isValidUpgrade.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidUpgrade(String value)
+  {
+    if (value.trim().length() == 0)
+      return false;
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      if (!isProduct(str))
+        return false;
+
+    }
+    return true;
+  }
+
+  /**
+   * Method isValidCacheControl.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidCacheControl(String value)
+  {
+
+    if (value.trim().length() == 0)
+      return false;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      int index = str.indexOf('=');
+      if (index == -1)
+      {
+
+      }
+      else
+      {
+        if (!isToken(str.substring(0, index)))
+          return false;
+        String strAfterEq = str.substring(index + 1);
+        if (!isToken(strAfterEq) && !isQuotedString(strAfterEq))
+        {
+          return false;
+        }
+      }
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isHTTPVersion.
+   * @param str
+   * @return boolean
+   */
+  private static boolean isHTTPVersion(String str)
+  {
+    if (!str.startsWith("HTTP/"))
+      return false;
+    int idx = "HTTP/".length();
+
+    int idx2 = str.indexOf(".");
+
+    // 1*DIGIT
+    String s = str.substring(idx, idx2);
+    if (!isDidgit(s))
+      return false;
+
+    s = str.substring(idx2 + 1);
+    if (!isDidgit(s))
+      return false;
+
+    return true;
+  }
+
+  /**
+   * Method isValidWarning.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidWarning(String value)
+  {
+    if (value.length() == 0)
+      return false;
+    value = value.trim();
+    StringTokenizer st = new StringTokenizer(value, " ");
+    String str = st.nextToken();
+
+    if (str.length() > 3 || !isDidgit(str))
+      return false;
+
+    if (!st.hasMoreTokens())
+      return false;
+    str = st.nextToken();
+    if (!isHost(str) && !isToken(str))
+      return false;
+
+    //if(!st.hasMoreTokens()) return false;
+    str = st.nextToken("").trim();
+    //???
+
+    int lastQuotedString = BasicRules.getLastQuotedString(str, 0);
+    if (lastQuotedString == str.length())
+    {
+      return true;
+    }
+    else
+    {
+      String data = str.substring(lastQuotedString);
+      if (data.charAt(data.length()) != '\"')
+        return false;
+      if (str.charAt(0) != '\"')
+        return false;
+      if (!isHTTPDate(str.substring(1, data.length() - 1)))
+        return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isValidVia.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidVia(String value)
+  {
+    if (value.trim().length() == 0)
+      return false;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+
+      String str = st.nextToken().trim();
+
+      StringTokenizer st2 = new StringTokenizer(str, " ");
+
+      // protocol/version
+      str = st2.nextToken();
+      int idx = str.indexOf("/");
+      if (idx == -1)
+      {
+        if (!isToken(str))
+          return false;
+      }
+      else
+      {
+        if (!isToken(str.substring(0, idx))
+          || !isToken(str.substring(idx + 1)))
+          return false;
+      }
+
+      //host
+      str = st2.nextToken();
+      if (!isHost(str) && !isToken(str))
+        return false;
+
+      //comment
+      if (st2.hasMoreTokens())
+      {
+        str = st2.nextToken("");
+        if (!isComment(str.trim()))
+          return false;
+      }
+    }
+    return true;
+  }
+
+  /**
+   * Method isHost.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isHost(String value)
+  {
+
+    try
+    {
+      new URL("http://" + value);
+    }
+    catch (MalformedURLException e)
+    {
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isValidAllow.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidAllow(String value)
+  {
+    if (value.trim().length() == 0)
+      return true;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      if (!isToken(str))
+        return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isValidContentRange.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidContentRange(String value)
+  {
+    if (value.length() == 0)
+      return false;
+    if (!value.startsWith("bytes"))
+      return false;
+    String str = value.substring("bytes".length()).trim();
+
+    int idx = str.indexOf("/");
+    if (idx == -1)
+      return false;
+
+    String byteRange = str.substring(0, idx);
+    int idx2 = byteRange.indexOf("-");
+    if (idx2 == -1)
+    {
+      if (!byteRange.equals("*"))
+        return false;
+    }
+    else
+    {
+      if (!isDidgit(byteRange.substring(0, idx2))
+        || !isDidgit(byteRange.substring(idx2 + 1)))
+        return false;
+    }
+
+    if (!isDidgit(str.substring(idx + 1))
+      && !str.substring(idx + 1).equals("*"))
+      return false;
+
+    return true;
+  }
+
+  /**
+   * Method isRange.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isRange(String value)
+  {
+    if (value.length() == 0)
+      return false;
+    if (!value.startsWith("bytes="))
+      return false;
+    String strByteRange = value.substring("bytes=".length());
+
+    StringTokenizer st = new StringTokenizer(strByteRange, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken();
+      int idx = str.indexOf("-");
+      if (idx == -1)
+        return false;
+      if (idx == 0)
+      {
+        if (!isDidgit(str.substring(1)))
+          return false;
+      }
+      else
+      {
+        if (idx == (str.length() - 1))
+        {
+          if (!isDidgit(str.substring(0, str.length() - 1)))
+            return false;
+        }
+        else
+        {
+          if (!isDidgit(str.substring(0, idx))
+            || !isDidgit(str.substring(idx + 1)))
+            return false;
+        }
+
+      }
+
+    }
+    return true;
+  }
+
+  /**
+   * Method isValidTE.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidTE(String value)
+  {
+    if (value.trim().length() == 0)
+      return true;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      if (st.equals("trailers"))
+        return true;
+
+      int idx = str.indexOf(";");
+      if (idx == -1)
+      {
+        if (!isLanguageRange(str))
+          return false;
+      }
+      else
+      {
+        String _1 = str.substring(0, idx).trim();
+        String _2 = str.substring(idx + 1).trim();
+        if (!isLanguageRange(_1))
+          return false;
+        if (!isQAndQValue(_2))
+          return false;
+      }
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isValidUserAgent.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidUserAgent(String value)
+  {
+    if (value.length() == 0)
+      return false;
+    StringTokenizer st = new StringTokenizer(value, " ");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken();
+      if (!isProduct(str) && !isComment(str))
+        return false;
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isComment.
+   * @param str
+   * @return boolean
+   */
+  private static boolean isComment(String str)
+  {
+    if (BasicRules.getLastComment(str, 0) != str.length())
+      return false;
+    return true;
+  }
+
+  /**
+   * Method isValidAcceptLanguage.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidAcceptLanguage(String value)
+  {
+    if (value.trim().length() == 0)
+      return false;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      int idx = str.indexOf(";");
+      if (idx == -1)
+      {
+        if (!isToken(str))
+          return false;
+      }
+      else
+      {
+        String _1 = str.substring(0, idx).trim();
+        String _2 = str.substring(idx + 1).trim();
+        if (!isToken(_1))
+          return false;
+        if (!isAcceptParams(_2))
+          return false;
+      }
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isLanguageRange.
+   * @param str
+   * @return boolean
+   */
+  private static boolean isLanguageRange(String str)
+  {
+    if (str.trim().equals("*"))
+      return true;
+    StringTokenizer st = new StringTokenizer(str, "-");
+    while (st.hasMoreElements())
+    {
+      if (!is8ALPHA(st.nextToken()))
+        return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isValidAcceptEncoding.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidAcceptEncoding(String value)
+  {
+    if (value.trim().length() == 0)
+      return false;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      int idx = str.indexOf(";");
+      if (idx == -1)
+      {
+        if (!isToken(str) && !str.equals("*"))
+          return false;
+      }
+      else
+      {
+        String _1 = str.substring(0, idx).trim();
+        String _2 = str.substring(idx + 1).trim();
+
+        if ((!isToken(_1) && !_1.equals("*")))
+          return false;
+        if (!isQAndQValue(_2))
+          return false;
+      }
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isValidAcceptCharSet.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidAcceptCharSet(String value)
+  {
+    if (value.trim().length() == 0)
+      return false;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      int idx = str.indexOf(";");
+      if (idx == -1)
+      {
+        if (!isToken(str) && !str.equals("*"))
+          return false;
+      }
+      else
+      {
+        String _1 = str.substring(0, idx).trim();
+        String _2 = str.substring(idx + 1).trim();
+
+        if ((!isToken(_1) && !_1.equals("*")))
+          return false;
+        if (!isQAndQValue(_2))
+          return false;
+      }
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isValidAccept.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isValidAccept(String value)
+  {
+    if (value.trim().length() == 0)
+      return true;
+
+    StringTokenizer st = new StringTokenizer(value, ",");
+    while (st.hasMoreElements())
+    {
+      String str = st.nextToken().trim();
+      int idx = str.indexOf(";");
+      if (idx == -1)
+      {
+        if (!isMediaRange(str))
+          return false;
+      }
+      else
+      {
+        if (!isMediaRange(str.substring(0, idx).trim())
+          || !isAcceptParams(str.substring(idx + 1).trim()))
+          return false;
+
+      }
+
+    }
+    return true;
+  }
+
+  /**
+   * Method isAcceptParams.
+   * @param string
+   * @return boolean
+   */
+  private static boolean isAcceptParams(String string)
+  {
+    if (string.trim().length() == 0)
+      return false;
+
+    StringTokenizer st = new StringTokenizer(string, ";");
+    String str = st.nextToken();
+
+    int idx = str.indexOf("=");
+    if (idx == -1)
+    {
+      if (str.equals("q") || !isToken(str))
+        return false;
+    }
+    else
+    {
+      if (str.substring(0, idx).equals("q"))
+      {
+        if (!isQValue(str.substring(idx + 1)))
+          return false;
+      }
+      else
+      {
+        if (!isParameterWithoutValue(str))
+          return false;
+      }
+    }
+
+    while (st.hasMoreElements())
+    {
+      str = st.nextToken();
+      if (!isParameterWithoutValue(str))
+        return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isQAndQValue.
+   * @param str
+   * @return boolean
+   */
+  private static boolean isQAndQValue(String str)
+  {
+    str = str.trim();
+    if (!str.trim().startsWith("q="))
+      return false;
+    if (!isQValue(str.substring("q=".length())))
+      return false;
+    return true;
+  }
+
+  /**
+   * Method isQValue.
+   * @param string
+   * @return boolean
+   */
+  private static boolean isQValue(String string)
+  {
+    if (string.trim().length() == 0)
+      return false;
+
+    int idx = string.indexOf(".");
+    if (idx == -1)
+    {
+      if (!"0".equals(string) && !"1".equals(string))
+        return false;
+    }
+    else
+    {
+      String strDig = string.substring(idx + 1);
+      if (strDig.length() > 3)
+        return false;
+
+      if (string.substring(0, idx).equals("0"))
+      {
+        if (!isDidgit(strDig))
+          return false;
+
+      }
+      else
+      {
+        if (!string.substring(0, idx).equals("1"))
+          return false;
+
+        for (int i = 0; i < strDig.length(); i++)
+        {
+          if (strDig.charAt(i) != '0')
+            return false;
+        }
+      }
+
+    }
+    return true;
+  }
+
+  /**
+   * Method isMediaRange.
+   * @param str
+   * @return boolean
+   */
+  private static boolean isMediaRange(String str)
+  {
+    if (str.trim().length() == 0)
+      return false;
+
+    int idx = str.indexOf("/");
+    if (idx == -1)
+      return false;
+
+    if (!isToken(str.substring(0, idx)) && !str.substring(0, idx).equals("*"))
+      return false;
+    if (!isToken(str.substring(idx + 1))
+      && !str.substring(idx + 1).equals("*"))
+      return false;
+
+    return true;
+  }
+
+  /**
+   * Method isEntityTag.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isEntityTag(String value)
+  {
+
+    int idx = 0;
+    if (value.startsWith("W/"))
+      idx = 2;
+    if (!isQuotedString(value.substring(idx)))
+      return false;
+    return true;
+  }
+
+  /**
+   * Method isExpectation.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isExpectation(String value)
+  {
+    if (value.equals("100-continue"))
+      return true;
+
+    StringTokenizer st = new StringTokenizer(value, ";");
+    while (st.hasMoreElements())
+    {
+      if (!isParameterWithoutValue(st.nextToken()))
+        return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isCredentials.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isCredentials(String value)
+  {
+    StringTokenizer st = new StringTokenizer(value, " ");
+    if (!isToken(st.nextToken()))
+      return false;
+
+    while (st.hasMoreElements())
+    {
+      String param = st.nextToken(",");
+      if (!isParameter(param))
+        return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isProduct.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isProduct(String value)
+  {
+    int idx = value.indexOf("/");
+    if (idx == -1)
+    {
+      if (!isToken(value))
+        return false;
+    }
+    else
+    {
+      if (!isToken(value.substring(0, idx))
+        || !isToken(value.substring(idx + 1)))
+        return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isTransferCoding.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isTransferCoding(String value)
+  {
+    if (value.equals("chunked"))
+    {
+      return true;
+    }
+    else
+    {
+      StringTokenizer st = new StringTokenizer(value, ";");
+      if (!isToken(st.nextToken()))
+        return false;
+
+      while (st.hasMoreElements())
+      {
+        if (!isParameter(st.nextToken()))
+          return false;
+      }
+
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isParameter.
+   * @param string
+   * @return boolean
+   */
+  private static boolean isParameter(String string)
+  {
+
+    // check parameter	
+    int idx = string.indexOf("=");
+    if (!isToken(string.substring(0, idx)))
+      return false;
+
+    String parValue = string.substring(idx + 1);
+    if (!isToken(parValue) && !isQuotedString(parValue))
+      return false;
+
+    return true;
+  }
+
+  /**
+   * Method isParameterWithoutValue.
+   * @param string
+   * @return boolean
+   */
+  private static boolean isParameterWithoutValue(String string)
+  {
+
+    // check parameter	
+    int idx = string.indexOf("=");
+    if (idx != -1)
+    {
+      if (!isToken(string.substring(0, idx)))
+        return false;
+      String parValue = string.substring(idx + 1);
+      if (!isToken(parValue) && !isQuotedString(parValue))
+        return false;
+
+    }
+    else
+    {
+      if (!isToken(string))
+        return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isPragmaDerective.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isPragmaDerective(String value)
+  {
+    if (value.equals("no-cache"))
+      return true;
+    else
+    {
+      int idx = value.indexOf("=");
+      if (idx == -1)
+      {
+        if (isToken(value))
+          return true;
+      }
+      else
+      {
+        String str = value.substring(idx + 1);
+        if (isToken(value.substring(0, idx))
+          && (isToken(str) || isQuotedString(str)))
+          return true;
+      }
+    }
+    return true;
+  }
+
+  /**
+   * Method isHTTPDate.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isHTTPDate(String value)
+  {
+
+    String rfc1123_date = "EEE, dd MMM yyyy hh:mm:ss 'GMT'";
+    String rfc850_date = "EEEE, dd-MMM-yy hh:mm:ss 'GMT'";
+    String asctime_date = "EEE MMM d hh:mm:ss yyyy";
+
+    try
+    {
+      SimpleDateFormat sdf = new SimpleDateFormat(rfc1123_date, Locale.US);
+      if (sdf.parse(value) != null)
+        return true;
+    }
+    catch (ParseException e)
+    {
+    }
+
+    try
+    {
+      SimpleDateFormat sdf = new SimpleDateFormat(rfc850_date, Locale.US);
+      if (sdf.parse(value) != null)
+        return true;
+    }
+    catch (ParseException e)
+    {
+    }
+
+    try
+    {
+      SimpleDateFormat sdf = new SimpleDateFormat(asctime_date, Locale.US);
+      if (sdf.parse(value) != null)
+        return true;
+    }
+    catch (ParseException e)
+    {
+    }
+
+    return false;
+
+  }
+
+  /**
+   * Method isURI.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isURI(String value)
+  {
+    try
+    {
+      new URL(value);
+    }
+    catch (MalformedURLException e)
+    {
+      try
+      {
+        new URL("http://localhost" + value);
+      }
+      catch (MalformedURLException e2)
+      {
+        return false;
+      }
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isLanguageTag.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isLanguageTag(String value)
+  {
+    int idx = value.indexOf("-");
+    if (idx == -1)
+    {
+      return is8ALPHA(value);
+    }
+    else
+    {
+      if (!is8ALPHA(value.substring(0, idx))
+        || !is8ALPHA(value.substring(idx + 1)))
+        return false;
+      else
+        return true;
+
+    }
+  }
+
+  /**
+   * Method is8ALPHA.
+   * @param string
+   * @return boolean
+   */
+  private static boolean is8ALPHA(String string)
+  {
+    if (string.length() > 8 || !isALPHA(string))
+      return false;
+    else
+      return true;
+  }
+
+  /**
+   * Method isALPHA.
+   * @param string
+   * @return boolean
+   */
+  private static boolean isALPHA(String string)
+  {
+    for (int i = 0; i < string.length(); i++)
+    {
+      if (!BasicRules.isCHAR(string.charAt(i)))
+        return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isDidgit.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isDidgit(String value)
+  {
+    if (value.length() == 0)
+      return false;
+    char[] chs = value.toCharArray();
+    for (int i = 0; i < chs.length; i++)
+    {
+      if (chs[i] < '0' || chs[i] > '9')
+        return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * Method isMediaType.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isMediaType(String value)
+  {
+    StringTokenizer st = new StringTokenizer(value, ";");
+    String mediaType = st.nextToken();
+
+    int idx = mediaType.indexOf("/");
+    if (!isToken(mediaType.substring(0, idx))
+      || !isToken(mediaType.substring(idx + 1)))
+    {
+      return false;
+    }
+
+    while (st.hasMoreElements())
+    {
+      if (!isParameter(st.nextToken(";").trim()))
+        return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isQuotedString.
+   * @param parValue
+   * @return boolean
+   */
+  private static boolean isQuotedString(String parValue)
+  {
+    if (BasicRules.getLastQuotedString(parValue, 0) != parValue.length())
+    {
+      return false;
+    }
+    return true;
+  }
+
+  /**
+   * Method isToken.
+   * @param value
+   * @return boolean
+   */
+  private static boolean isToken(String value)
+  {
+    return BasicRules.isToken(value);
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/JavaEncoding.properties
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEConstants.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MIMEUtils.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/MessageList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MessageList.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/MessageList.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/MessageList.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/NullUtil.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/NullUtil.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/NullUtil.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/NullUtil.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/OperationSignature.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/Pair.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Pair.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/Pair.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Pair.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java
new file mode 100644
index 0000000..5982e3a
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java
@@ -0,0 +1,629 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.util;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Vector;
+
+/**
+ * This class checks the cookies conform to RFC2965.
+ * 
+ * @author Baltak
+ */
+public class SetCookie2Validator
+{
+
+  private Vector commentVect = new Vector();
+  private Vector commentURLVect = new Vector();
+  private Vector domainVect = new Vector();
+  private Vector max_AgeVect = new Vector();
+  private Vector pathVect = new Vector();
+  private Vector portVect = new Vector();
+  private Vector versionVect = new Vector();
+
+  private boolean path = false;
+
+  /**
+   * Method resetFlags.
+   */
+  private void resetPath()
+  {
+    path = false;
+  }
+
+  /**
+   * Check if the string satisfy the "Set-Cookie2" header value.
+   * @param str String 
+   * @return boolean
+   */
+  public boolean isSetCookie2(String str)
+  {
+
+    try
+    {
+      int index = 0;
+      int newIndex = 0;
+      while (true)
+      {
+        newIndex = getLastCookie(str, index);
+        if (index == newIndex)
+          return false;
+        // skip spaces
+        index = newIndex;
+        index = skipSpaces(str, index);
+        if (index == str.length())
+        {
+          return true;
+        }
+        else
+        {
+          if (str.charAt(index) != ',')
+            return false;
+          index++;
+          // skip spaces
+          index = skipSpaces(str, index);
+        }
+
+      }
+    }
+    catch (Throwable th)
+    {
+      return false;
+    }
+
+  }
+
+  /**
+   * Method getLastCookie.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastCookie(String str, int startIndex)
+  {
+
+    resetPath();
+
+    int index = startIndex;
+    // find token
+    int newIndex = BasicRules.getLastToken(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    index = newIndex;
+    if (index == str.length())
+      return startIndex;
+
+    // if not '=' - error
+    if (str.charAt(index) != '=')
+      return startIndex;
+
+    index++;
+    if (index == str.length())
+      return startIndex;
+
+    // get value
+    newIndex = getLastValue(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    while (true)
+    {
+      index = newIndex;
+      if (index == str.length())
+        return index;
+
+      if (str.charAt(index) != ';')
+        return index;
+      index++;
+      // skip spaces
+      index = skipSpaces(str, index);
+
+      if (index == str.length())
+        return startIndex;
+      newIndex = getLastSetCookieAv(str, index);
+      if (index == newIndex)
+        return startIndex;
+    }
+  }
+
+  /**
+   * Method getLastValue.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastValue(String str, int startIndex)
+  {
+
+    int index = BasicRules.getLastToken(str, startIndex);
+    if (index != startIndex)
+      return index;
+    index = BasicRules.getLastQuotedString(str, startIndex);
+    if (index != startIndex)
+      return index;
+
+    return startIndex;
+  }
+
+  /**
+   * Method getLastSetCookieAv.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastSetCookieAv(String str, int startIndex)
+  {
+
+    int index = startIndex;
+    int newIndex = 0;
+
+    if (str.startsWith("Comment=", index))
+    {
+      index += "Comment=".length();
+      newIndex = getLastValue(str, index);
+      if (index == newIndex)
+        return startIndex;
+      // debug ->
+      String qqq = getValue(str, index, newIndex);
+      commentVect.add(qqq);
+      // debug <-
+      return newIndex;
+    }
+    else if (str.startsWith("CommentURL=", index))
+    {
+      index += "CommentURL=".length();
+
+      if (str.charAt(index) != '\"')
+        return startIndex;
+
+      newIndex = str.indexOf('\"', index + 1);
+      if (newIndex == -1)
+        return startIndex;
+      try
+      {
+        new URL(str.substring(index + 1, newIndex));
+      }
+      catch (MalformedURLException mue)
+      {
+        return startIndex;
+      }
+      // debug ->
+      String qqq = getValue(str, index + 1, newIndex);
+      commentURLVect.add(qqq);
+      // debug <-
+      newIndex++;
+      return newIndex;
+    }
+    else if (str.startsWith("Discard", index))
+    {
+      return startIndex + "Discard".length();
+    }
+    else if (str.startsWith("Domain=", index))
+    {
+      index += "Domain=".length();
+
+      newIndex = getLastValue(str, index);
+      if (index == newIndex)
+        return startIndex;
+
+      // debug ->
+      String qqq = getValue(str, index, newIndex);
+      domainVect.add(qqq);
+      // debug <-
+      return newIndex;
+    }
+    else if (str.startsWith("Max-Age=", index))
+    {
+      index += "Max-Age=".length();
+
+      newIndex = getLastValue(str, index);
+      if (index == newIndex)
+        return startIndex;
+
+      String qqq = getValue(str, index, newIndex);
+      try
+      {
+        Integer.parseInt(qqq);
+      }
+      catch (NumberFormatException nfe)
+      {
+        return startIndex;
+      }
+      // debug ->
+      max_AgeVect.add(qqq);
+      // debug <-
+      return newIndex;
+    }
+    else if (str.startsWith("Path=", index))
+    {
+      index += "Path=".length();
+
+      newIndex = getLastValue(str, index);
+      if (index == newIndex)
+        return startIndex;
+
+      String qqq = getValue(str, index, newIndex);
+      if (path == false)
+        pathVect.add(qqq);
+      path = true;
+      return newIndex;
+    }
+    else if (str.startsWith("Port", index))
+    {
+      index += "Port".length();
+      if (str.charAt(index) != '=')
+        return index;
+
+      index++;
+      if (str.charAt(index) != '\"')
+        return startIndex;
+
+      index++;
+      newIndex = getLastPortList(str, index);
+      if (index == newIndex)
+        return startIndex;
+
+      // debug ->
+      String qqq = getValue(str, index, newIndex);
+      portVect.add(qqq);
+      // debug <-
+
+      index = newIndex;
+      if (str.charAt(index) != '\"')
+        return startIndex;
+      index++;
+      return index;
+
+    }
+    else if (str.startsWith("Secure", index))
+    {
+      return startIndex + "Secure".length();
+    }
+    else if (str.startsWith("Version=", index))
+    {
+      index += "Version=".length();
+
+      newIndex = getLastDIGIT(str, index);
+      if (index == newIndex)
+        return startIndex;
+
+      // debug ->
+      String qqq = getValue(str, index, newIndex);
+      versionVect.add(qqq);
+      // debug <-
+      return newIndex;
+    }
+    else
+    {
+      return startIndex;
+    }
+  }
+
+  /**
+   * Method getLastPortList.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastPortList(String str, int startIndex)
+  {
+    int index = startIndex;
+    int newIndex = 0;
+
+    while (true)
+    {
+      newIndex = getLastDIGIT(str, index);
+      if (index == newIndex)
+        return startIndex;
+
+      index = newIndex;
+      if (str.charAt(index) != ',')
+        return index;
+      index++;
+    }
+  }
+
+  /**
+   * Method getLastDIGIT.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastDIGIT(String str, int startIndex)
+  {
+    int index = startIndex;
+    for (; index < str.length(); index++)
+    {
+      if (!BasicRules.isDIGIT(str.charAt(index)))
+        return index;
+    }
+    return index;
+  }
+
+  /**
+   * Check if the string satisfy the "Cookie" header value.
+   * @param str String
+   * @return boolean
+   */
+  public boolean isCookie(String str)
+  {
+    int index = 0;
+    int newIndex = 0;
+
+    try
+    {
+      newIndex = getLastVersion(str, index);
+      if (index == newIndex)
+        return false;
+
+      index = newIndex;
+      index = skipSpaces(str, index);
+      if (str.charAt(index) != ';' && str.charAt(index) != ',')
+        return false;
+
+      index++;
+      index = skipSpaces(str, index);
+
+      while (true)
+      {
+        newIndex = getLastCookiesValue(str, index);
+        if (index == newIndex)
+          return false;
+
+        index = newIndex;
+        if (index == str.length())
+          return true;
+
+        if (str.charAt(index) != ';' && str.charAt(index) != ',')
+          return false;
+        index++;
+        index = skipSpaces(str, index);
+      }
+    }
+    catch (Throwable th)
+    {
+      return false;
+    }
+  }
+
+  /**
+   * Method getLastVersion.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastVersion(String str, int startIndex)
+  {
+    int index = startIndex;
+    int newIndex = 0;
+    if (!str.startsWith("$Version="))
+      return startIndex;
+    index += "$Version=".length();
+    newIndex = getLastValue(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    return newIndex;
+  }
+
+  /**
+   * Method getLastCookiesValue.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastCookiesValue(String str, int startIndex)
+  {
+    int index = startIndex;
+    int newIndex = 0;
+    int oldIndex = 0;
+
+    // find token
+    newIndex = BasicRules.getLastToken(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    index = newIndex;
+    if (index == str.length())
+      return startIndex;
+
+    // if not '=' - error
+    if (str.charAt(index) != '=')
+      return startIndex;
+
+    index++;
+    if (index == str.length())
+      return startIndex;
+
+    // get value
+    newIndex = getLastValue(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    index = newIndex;
+    if (index == str.length())
+      return index;
+
+    if (str.charAt(index) != ';')
+      return index;
+
+    // process [";" path] [";" domain] [";" port] 
+    oldIndex = index;
+    index++;
+    if (index == str.length())
+      return startIndex;
+
+    index = skipSpaces(str, index);
+    if (index == str.length())
+      return startIndex;
+
+    // process path
+    newIndex = getLastPath(str, index);
+    if (index != newIndex)
+    {
+      index = newIndex;
+      if (index == str.length())
+        return index;
+
+      if (str.charAt(index) != ';')
+        return index;
+
+      oldIndex = index;
+      index++;
+      if (index == str.length())
+        return startIndex;
+
+      index = skipSpaces(str, index);
+      if (index == str.length())
+        return startIndex;
+
+    }
+
+    // process domain
+    newIndex = getLastDomain(str, index);
+    if (index != newIndex)
+    {
+      index = newIndex;
+      if (index == str.length())
+        return index;
+
+      if (str.charAt(index) != ';')
+        return index;
+
+      oldIndex = index;
+      index++;
+      if (index == str.length())
+        return startIndex;
+
+      index = skipSpaces(str, index);
+      if (index == str.length())
+        return startIndex;
+
+    }
+
+    // process port
+    newIndex = getLastPort(str, index);
+    if (index != newIndex)
+      return newIndex;
+    else
+      return oldIndex;
+  }
+
+  /**
+   * Method getLastPath.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastPath(String str, int startIndex)
+  {
+    int index = startIndex;
+    int newIndex = 0;
+
+    if (!str.startsWith("$Path=", index))
+      return startIndex;
+    index += "$Path=".length();
+    newIndex = getLastValue(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    return newIndex;
+  }
+
+  /**
+   * Method getLastDomain.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastDomain(String str, int startIndex)
+  {
+    int index = startIndex;
+    int newIndex = 0;
+
+    if (!str.startsWith("$Domain=", index))
+      return startIndex;
+    index += "$Domain=".length();
+    newIndex = getLastValue(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    return newIndex;
+  }
+
+  /**
+   * Method getLastPort.
+   * @param str
+   * @param startIndex
+   * @return int
+   */
+  private int getLastPort(String str, int startIndex)
+  {
+    int index = startIndex;
+    int newIndex = 0;
+
+    if (!str.startsWith("$Port", index))
+      return startIndex;
+
+    index += "$Port".length();
+    if (str.charAt(index) != '=')
+      return index;
+
+    index++;
+    if (str.charAt(index) != '\"')
+      return startIndex;
+
+    index++;
+    newIndex = getLastPortList(str, index);
+    if (index == newIndex)
+      return startIndex;
+
+    index = newIndex;
+    if (str.charAt(index) != '\"')
+      return startIndex;
+    index++;
+    return index;
+  }
+
+  /**
+   * Method skipSpaces.
+   * @param str
+   * @param index
+   * @return int
+   */
+  private int skipSpaces(String str, int index)
+  {
+    for (; index < str.length(); index++)
+      if (!BasicRules.isSP(str.charAt(index)))
+        break;
+    return index;
+  }
+
+  /**
+   * Method getValue.
+   * @param str
+   * @param beg
+   * @param end
+   * @return String
+   */
+  private String getValue(String str, int beg, int end)
+  {
+    String qqq = null;
+    if (str.charAt(beg) == '\"')
+      qqq = str.substring(beg + 1, end - 1);
+    else
+      qqq = str.substring(beg, end);
+    return qqq;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
new file mode 100644
index 0000000..5c95398
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
@@ -0,0 +1,212 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ ********************************************************************************/
+package org.eclipse.wst.wsi.internal.core.util;
+
+/**
+ * String tokenizer.
+ * 
+ * @author: Kulik
+ */
+final public class StringTokenizer
+{
+  private char[] spaceDel;
+  private char[] del;
+  private char[] allDel;
+
+  /**
+   * Enumeration of strings.
+  * @author Kulik
+   */
+  private class StringTokenizerEnumeration implements java.util.Enumeration
+  {
+    private final char[] str;
+    private final int size;
+    private int index;
+
+    /**
+     * Constructor.
+     * @param s
+     */
+    StringTokenizerEnumeration(char[] s)
+    {
+      str = s;
+      size = str.length;
+      index = 0;
+
+      // skip space delimiters
+      while (index < size && contain(str[index], spaceDel))
+        index++;
+    }
+
+    /**
+     * @see java.util.Enumeration#hasMoreElements()
+     */
+    public boolean hasMoreElements()
+    {
+      return (index < size);
+    }
+
+    /**
+     * @see java.util.Enumeration#nextElement()
+     */
+    public Object nextElement()
+    {
+      if (index >= size)
+        throw new java.util.NoSuchElementException(
+          "StringTokenizer enumeration");
+
+      // skip delimiters
+      int begStr = index;
+      if (index < size && contain(str[index], del))
+        index++;
+
+      // skip word
+      if (begStr == index)
+        while (index < size && !contain(str[index], allDel))
+          index++;
+
+      int endStr = index;
+
+      // skip space delimiters
+      while (index < size && contain(str[index], spaceDel))
+        index++;
+
+      return String.copyValueOf(str, begStr, endStr - begStr);
+    }
+
+    /**
+     * @see java.lang.Object#toString()
+     */
+    public String toString()
+    {
+      int i = index;
+      String s = (String) nextElement();
+      index = i;
+      return s;
+    }
+  }
+
+  /**
+   * StringTokenizer constructor.
+     * @param spaceDelimiters the set of delimiters to be ignored
+     * @param delimiters the set of delimiters to be remained.
+   */
+  public StringTokenizer(char[] spaceDelimiters, char[] delimiters)
+  {
+    super();
+
+    if (spaceDelimiters != null)
+    {
+      spaceDel = new char[spaceDelimiters.length];
+      System.arraycopy(spaceDelimiters, 0, spaceDel, 0, spaceDelimiters.length);
+      sort(spaceDel);
+    }
+    else
+      spaceDel = null;
+
+    if (delimiters != null)
+    {
+      del = new char[delimiters.length];
+      System.arraycopy(delimiters, 0, del, 0, delimiters.length);
+      sort(del);
+    }
+    else
+      del = null;
+
+    if (del != null && spaceDel != null)
+    {
+      allDel = new char[del.length + spaceDel.length];
+      System.arraycopy(del, 0, allDel, 0, del.length);
+      System.arraycopy(spaceDel, 0, allDel, del.length, spaceDel.length);
+    }
+    else if (del != null)
+      allDel = del;
+    else
+      allDel = spaceDel;
+
+    sort(allDel);
+  }
+  /**
+   * Parses string.
+   * @return java.util.Enumeration
+   * @param s java.lang.String
+   */
+  public java.util.Enumeration parse(String s)
+  {
+    if (s == null)
+      throw new IllegalArgumentException("StringTokenizer : String cannot be NULL");
+
+    return new StringTokenizerEnumeration(s.toCharArray());
+  }
+
+  /**
+   * Binary search.
+   * @return boolean
+   * @param c char
+   */
+  private static boolean contain(char c, char[] a)
+  {
+    if (a == null)
+      return false;
+
+    int l = 0, r = a.length - 1, center;
+    while (l < r)
+    {
+      center = (l + r) / 2;
+      if (c > a[center])
+        l = center + 1;
+      else
+        r = center;
+    }
+
+    return a[l] == c;
+  }
+  /**
+   * Heap sort
+   * @param c char[]
+   */
+  static private void sort(char[] c)
+  {
+    if (c != null)
+    {
+      int j, k;
+      char ci;
+
+      // push heap
+      for (int i = 1; i < c.length; i++)
+      {
+        j = ((k = i) - 1) / 2;
+        ci = c[i];
+        while (k > 0 && c[j] < ci)
+        {
+          c[k] = c[j];
+          j = ((k = j) - 1) / 2;
+        }
+        c[k] = ci;
+      }
+
+      // pop heap
+      for (int i = c.length - 1; i > 0; i--)
+      {
+        j = 2;
+        k = 0;
+        ci = c[0];
+        while (j <= i)
+        {
+          c[k] = (c[j - 1] > c[j]) ? c[--j] : c[j];
+          j = ((k = j) + 1) * 2;
+        }
+        c[k] = c[i];
+        c[i] = ci;
+      }
+    }
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/TestUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TestUtils.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/TestUtils.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TestUtils.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/TypesRegistry.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/UDDIUtils.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Utils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Utils.java
new file mode 100644
index 0000000..4540725
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/Utils.java
@@ -0,0 +1,1415 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 2002-2003 IBM Corporation, Beacon Information Technology Inc. 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      - Initial API and implementation
+ *   BeaconIT - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.util;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
+import java.net.ConnectException;
+import java.net.InetAddress;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.ResourceBundle;
+import java.util.StringTokenizer;
+import java.util.TimeZone;
+import java.util.Vector;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.log.MimePart;
+import org.eclipse.wst.wsi.internal.core.log.MimeParts;
+import org.eclipse.wst.wsi.internal.core.log.impl.MimePartImpl;
+import org.eclipse.wst.wsi.internal.core.log.impl.MimePartsImpl;
+import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+
+/**
+ * General set of utilities.
+ */
+public final class Utils
+{
+  public static final byte CR = (byte) '\r';
+  public static final byte LF = (byte) '\n';
+
+  /**
+   * Common timestamp format.
+   */
+  //	public static final SimpleDateFormat timestampFormat = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+  public static final SimpleDateFormat timestampFormat =
+    new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
+
+  /**
+   * Basic date format.
+   */
+  public static final SimpleDateFormat dateFormat =
+    new SimpleDateFormat("yyyy-MM-dd");
+
+  /**
+   * Wrapper method for error logging;
+   * for now it just goes to stderr.
+   * @param inError  an error message.
+   */
+  public final static void logError(String inError)
+  {
+    System.err.println("Error: " + inError);
+  }
+
+  /** 
+   * Get exception information as a string.
+   * @param throwable  a Throwable object.
+   * @return exception information as a string.
+   */
+  public final static String getExceptionDetails(Throwable throwable)
+  {
+    StringWriter sw = new StringWriter();
+    PrintWriter pw = new PrintWriter(sw);
+
+    pw.println("Exception: ");
+    throwable.printStackTrace(pw);
+
+    return sw.toString();
+  }
+
+  /**
+   * Get current date and time as a timestamp.
+   * @return urrent date and time as a timestamp.
+   */
+  public static String getTimestamp()
+  {
+    // Use GMT timezone
+    //timestampFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
+    timestampFormat.setTimeZone(TimeZone.getDefault());
+
+    // Return timestamp
+    return timestampFormat.format(new Date());
+  }
+
+  /**
+   * Get current date for default time zone.
+   * @return current date for default time zone.
+   */
+  public static String getDate()
+  {
+    // Use GMT timezone
+    dateFormat.setTimeZone(TimeZone.getDefault());
+
+    // Return date
+    return dateFormat.format(new Date());
+  }
+
+  /**
+   * Get HTTP status code.
+   * @param httpHeaders  HTTP headers.
+   * @return HTTP status code.
+   * @throws WSIException if the status code in http headers was not found.
+   */
+  public static String getHTTPStatusCode(String httpHeaders)
+    throws WSIException
+  {
+    String statusCode = null;
+
+    if (httpHeaders.startsWith("HTTP"))
+    {
+      // Get location of status code
+      int index = httpHeaders.indexOf(" ");
+      int index2 = httpHeaders.indexOf(" ", index + 1);
+
+      if ((index == -1) || (index2 == -1))
+      {
+        throw new WSIException(
+          "Could not find status code in http headers: [" + httpHeaders + "].");
+      }
+
+      else
+      {
+        statusCode = httpHeaders.substring(index + 1, index2);
+      }
+    }
+
+    else
+    {
+      throw new WSIException(
+        "Could not find status code in http headers: [" + httpHeaders + "].");
+    }
+
+    // Return status code
+    return statusCode;
+  }
+
+  /**
+   * Get HTTP headers from a full message.
+   * @param fullMessage  a message.
+   * @return HTTP headers from a full message.
+   */
+  public static String getHTTPHeaders(String fullMessage)
+  {
+    //String httpHeaders = null;
+
+    // Try looking for the double newline
+    int index = fullMessage.indexOf("\r\n\r\n");
+    if (index != -1)
+    {
+      index += 4;
+    }
+    else
+    {
+      // check for case "\r\r...\r\n\r\r...\n"
+      // Note the index that is returned points to the first character 
+      // immediatedly following the first occurence of the CRLFCRLF. 
+      index = getFirstCRLFCRLF(fullMessage);
+      if (index == -1)
+      {
+        logError(
+          "Unable to parse HTTP message to find headers.  Full message: "
+          + fullMessage);
+        return "x-WSI-Test-Tool-Error: Couldn't find headers.  Full message: ["
+          + fullMessage
+          + "].";
+      }
+    }
+
+    // Return HTTP headers
+    return fullMessage.substring(0, index);
+  }
+
+  /**
+   * Get SOAP message from a full message.
+   * @param fullMessage  a message.
+   * @return SOAP message from a full message.
+   */
+  public static String getContent(String fullMessage)
+  {
+    String message = "";
+
+    // Find start of message
+    int index = fullMessage.indexOf("\r\n\r\n");
+    if (index != -1)
+    {
+      index += 4;
+    }
+    else
+    {
+      // check for case "\r\r...\r\n\r\r...\n"
+      // Note the index that is returned points to the first character 
+      // immediatedly following the first occurence of the CRLFCRLF. 
+      index = getFirstCRLFCRLF(fullMessage);
+    }    	
+
+    if (index < 0)
+    {
+    	// If we couldn't find the end of the HTTP headers or the start of the message, then show error
+      logError(
+        "Unable to parse message to get content.  Full message: "
+          + fullMessage);
+      message =
+        "x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
+          + fullMessage
+          + "].";
+    }
+    // If the index is greater than the length, then there is no message content
+    else if (index >= fullMessage.length())
+    {
+      message = "";
+    }
+
+    // Else get the message content
+    else
+    {
+      message = fullMessage.substring(index);
+    }
+
+    // Return SOAP message
+    return message;
+  }
+ 
+  /**
+   * Get HTTP headers from a full message.
+   * @param fullMessage  a message.
+   * @return HTTP headers from a full message.
+   */
+  public static byte[] getHTTPHeaders(byte[] fullMessage)
+  {
+    //String httpHeaders = null;
+    int index = getFirstCRLFCRLF(fullMessage, 0);
+    if (index == -1)
+    {
+      logError(
+        "Unable to parse HTTP message to find headers.  Full message: "
+          + fullMessage);
+      return ("x-WSI-Test-Tool-Error: Couldn't find headers.  Full message: ["
+        + fullMessage + "].").getBytes();
+    }
+
+    // Return HTTP headers
+	byte[] b = new byte[index];
+	System.arraycopy(fullMessage, 0, b, 0, index);
+
+    return b;
+  }
+
+  /**
+   * Get HTTP headers from a full message.
+   * @param fullMessage  a message.
+   * @return HTTP headers from a full message.
+   */
+  public static String getHTTPHeadersAsString(byte[] fullMessage, String encoding)
+  {
+    //String httpHeaders = null;
+    int index = getFirstCRLFCRLF(fullMessage, 0);
+    if (index == -1)
+    {
+      logError(
+        "Unable to parse HTTP message to find headers.  Full message: "
+          + fullMessage);
+      return "x-WSI-Test-Tool-Error: Couldn't find headers.  Full message: ["
+        + fullMessage + "].";
+    }
+
+    // Return HTTP headers
+    try
+    {
+      return new String(fullMessage, 0, index, encoding);
+    }
+    catch (UnsupportedEncodingException e)
+    {
+        logError(
+                "Unsupported Encoding: " + encoding + ".  Full message: "
+                  + fullMessage);
+              return "x-WSI-Test-Tool-Error: Unsupported Encoding \"" + encoding + "\".  Full message: ["
+                + fullMessage + "].";
+    }
+  }
+
+  /**
+   * Get SOAP message from a full message.
+   * @param fullMessage  a message.
+   * @return SOAP message from a full message.
+   */
+  public static String getContentAsString(byte[] message)
+  {
+  	String content = "";
+    //String httpHeaders = null;
+    int index = getFirstCRLFCRLF(message, 0);
+
+    // If we couldn't find the end of the HTTP headers or the start of the message, then show error
+    if (index < 0)
+    {
+      logError(
+        "Unable to parse message to get content.  Full message: "
+          + message);
+      content =
+        "x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
+          + message.toString()
+          + "].";
+    }
+
+    // Else get the message content
+    else if (index < message.length)
+    {
+      try
+      {
+        content = new String(message, index, message.length - index);
+       }
+      catch (Exception e)
+      {
+      	logError(
+      	        "Unable to parse message to get content.  Full message: "
+      	          + message);
+      	content =
+      	        "x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
+      	          + message.toString()
+      	          + "].";
+      }
+    }
+
+    // Return SOAP message
+    return content;
+  }
+
+  /**
+   * Get SOAP message from a full message.
+   * @param fullMessage  a message.
+   * @return SOAP message from a full message.
+   */
+  public static byte[] getContent(byte[] message)
+  {
+    byte[] content = new byte [0];
+
+    //String httpHeaders = null;
+    int index = getFirstCRLFCRLF(message, 0);
+ 
+    // If we couldn't find the end of the HTTP headers or the start of the message, then show error
+    if (index < 0)
+    {
+      logError(
+        "Unable to parse message to get content.  Full message: "
+          + message);
+      message =
+        ("x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
+          + message.toString()
+          + "].").getBytes();
+    }
+
+    // If the index is greater than the length, then there is no message content
+    //else if (index >= fullMessage.length())
+    //{
+    //  message = "";
+    //}
+
+    // Else get the message content
+    else if (index < message.length)
+    {
+    	byte[] b = new byte[message.length - index];
+    	System.arraycopy(message, index, b, 0, message.length - index);
+
+        content = b;
+    }
+
+    // Return SOAP message
+    return content;
+  }
+
+  
+  /**
+	 * Returns the first location of a CRLF.
+	 *
+	 * @return int
+	 */
+	public static int getFirstCRLF(byte[] buffer, int index) 
+	{
+		int size = buffer.length;
+		int i = index;
+		while (i < size - 1) {
+			if (buffer[i] == CR && buffer[i+1] == LF)
+				return i;
+			i++;
+		}
+		return -1;
+	}
+
+	/**
+	 * Returns the first location of a CRLF followed imediately by another CRLF.
+	 *
+	 * @return int
+	 */
+	public static int getFirstCRLFCRLF(byte[] buffer, int index) 
+	{
+		int size = buffer.length;
+		int i = index;
+		while (i < size - 3) 
+		{
+		  if (buffer[i] == CR && buffer[i+1] == LF && buffer[i+2] == CR)
+		  {
+			if (buffer[i+3] == LF)
+			{
+			  return i+4;
+			}
+			else
+			{
+			  int j = i + 3;
+			  while (j < buffer.length && buffer[j] == CR)
+			  {
+				j++;
+			  }
+			  if (j < buffer.length && buffer[j] == LF)
+			  {
+			  	return j + 1;
+			  }
+			}
+		  }
+		  i++;
+		}
+		return -1;
+	}
+
+	/**
+	 * Returns the first location of a CRLF followed imediately by another CRLF.
+	 *
+	 * @return int
+	 */
+	public static int getFirstCRLFCRLF(String buffer) 
+	{
+		int index = buffer.indexOf("\r\n\r");
+		if (index != -1)
+		{
+		  int i = index +3;
+		  while (i < buffer.length() && buffer.startsWith("\r", i))
+		     i++;
+		
+		  if (i < buffer.length() && buffer.startsWith("\n", i))
+			return i+1;
+		  else
+			return getFirstCRLFCRLF(buffer.substring(index + 3));
+		}
+		else
+		{
+		  return -1;
+		}
+	}
+
+	/**
+     * Returns the list of indices which marks the separation of parts.
+     */
+	public static int[] getBoundaryIndices(byte[] message, String boundaryStr)
+	{
+	  int[] indices = new int[256];
+	  int indicesIndex = 0;
+	  try
+	  {
+	    byte[] boundary = ("\r\n--" + boundaryStr).getBytes("US-ASCII");
+
+	    int index = 0;
+	    int start = 0;
+	    while (index != -1)
+	    {
+	      index = indexOf(message, boundary, start);
+	      
+	      if (index != -1) 
+	      {
+		    start = index + boundary.length;
+	    	indices[indicesIndex] = index;
+	    	indicesIndex++;
+	      }
+	    }
+      	int[] b = new int[indicesIndex];
+    	System.arraycopy(indices, 0, b, 0, indicesIndex);
+    	indices = b;
+	  }
+	  catch (Exception e)
+	  {}
+	  return indices;
+	}
+ 
+    /**
+     * Returns the index of the first occurrence of key in the buffer.
+     */
+	public static int indexOf(byte[] buffer, byte[] key, int start)
+	{
+		int bufferLen = buffer.length;
+		int keyLen = key.length;
+		int i,j,k = 0;
+		
+		if (keyLen > bufferLen - start)
+		{
+			return -1;
+		}
+	
+		for (k = start + keyLen - 1; k < bufferLen; k++)
+		{
+           for (j = keyLen - 1, i = k; (j >= 0) && (buffer[i] == key[j]); j--) 
+           {
+               i--;
+           }
+
+           if (j == (-1)) {
+               return i + 1;
+           }
+		}
+
+		return -1;
+	}
+	/**
+   * Get contents of a resource and return as a input stream.
+   *
+   * @param resourceName the name of the resource to get and return as
+   *                      an input stream.
+   * @return contents of a resource as an input stream.
+   * @throws IOException if the resource could not be located.
+   */
+  public static InputStream getInputStream(String resourceName)
+    throws IOException
+  {
+    InputStream is = null;
+
+    // If resource reference is a URL, then input stream from URL
+    try
+    {
+      // Try to create URL
+      URL urlResource = new URL(resourceName);
+
+      // If successful, then get URL input stream
+      is = getInputStream(urlResource);
+    }
+
+    // Else try to read resource directly
+    catch (MalformedURLException mue)
+    {
+      boolean bTryClassLoader = false;
+
+      try
+      {
+        // Open file input stream
+        is = new BufferedInputStream(new FileInputStream(resourceName));
+      }
+      catch (FileNotFoundException fnfe)
+      {
+        // Set try class loader flag
+        bTryClassLoader = true;
+      }
+      catch (SecurityException se)
+      {
+        // Set try class loader flag
+        bTryClassLoader = true;
+      }
+      catch (Exception e)
+      {
+        // DEBUG:
+        System.out.println("Exception in getInputStream :" + e.toString());
+      }
+
+      // If try class loader, then use it to get input stream
+      if (bTryClassLoader)
+      {
+        // Use class loader to load resource
+        is = ClassLoader.getSystemResourceAsStream(resourceName);
+      }
+    }
+
+    // If the input stream is null, then throw FileNotFoundException
+    if (is == null)
+    {
+      //try this
+      is =
+        Thread.currentThread().getContextClassLoader().getResourceAsStream(
+          resourceName);
+    }
+
+    // If the input stream is null, then throw FileNotFoundException
+    if (is == null)
+    {
+      //try this
+      URL aURL =
+        Thread.currentThread().getContextClassLoader().getResource(
+          resourceName);
+      if (aURL != null)
+        is = getInputStream(aURL);
+    }
+
+    if (is == null)
+      // Throw execption
+      throw new FileNotFoundException(
+        "Could not locate resource file: " + resourceName);
+
+    // Return input stream
+    return is;
+  }
+
+  /**
+   * Get the input stream from a URL.
+   * @param urlFile the URL to get the input stream from.
+   * @return the input stream corresponding to the given URL.
+   * @throws IOException if attempt to open the file denoted by URL has failed.
+   * @throws ConnectException if trouble connecting to URL.
+   */
+  public static InputStream getInputStream(URL urlFile)
+    throws IOException, ConnectException
+  {
+    InputStream is = null;
+
+    // ADD: how are URLs that are password protected handled????
+
+    try
+    {
+      // Open file input stream
+      is = new BufferedInputStream(urlFile.openStream());
+    }
+
+    catch (ConnectException e)
+    {
+      // Re-throw this excpetion with additional information
+      throw new java.net.ConnectException(
+        "Could not connect to URL: " + urlFile.toExternalForm() + ".");
+    }
+
+    // Return input stream
+    return is;
+  }
+
+  /**
+   * Get contents of a resource and return as a input stream.
+   * @param fileLocation the location of the file.
+   * @return contents of a resource as a input stream.
+   */
+  public static boolean fileExists(String fileLocation)
+  {
+    boolean fileExists = false;
+
+    // If resource reference is a URL, then input stream from URL
+    try
+    {
+      // Try to create URL
+      URL url = new URL(fileLocation);
+
+      // If successful, then try to open connection
+      url.openStream();
+      fileExists = true;
+    }
+
+    // Else try to read resource directly
+    catch (MalformedURLException mue)
+    {
+      try
+      {
+        File file = new File(fileLocation);
+
+        fileExists = file.exists();
+      }
+
+      catch (Exception e2)
+      {
+        fileExists = false;
+      }
+    }
+
+    catch (FileNotFoundException fnfe)
+    {
+      fileExists = false;
+    }
+
+    catch (Exception e)
+    {
+      fileExists = false;
+    }
+
+    // Return file exists indicator
+    return fileExists;
+  }
+
+  /**
+   * Get local host name.
+   * @return the local host name.
+   */
+  public static String getLocalHostName()
+  {
+    String sLocalHostName;
+
+    try
+    {
+      // Get local host name
+      sLocalHostName = InetAddress.getLocalHost().getHostName();
+    }
+    catch (Exception e)
+    {
+      // Set default local host name
+      sLocalHostName = "127.0.0.1";
+    }
+
+    // Return local host name
+    return sLocalHostName;
+  }
+
+  /**
+   * Build a URL string from hostname, port and URN.
+   *
+   * @param hostname the hostname.
+   * @param port the port.
+   * @param urn the URN.
+   * @return formatted URL string.
+   */
+  public static String formatURL(String hostname, String port, String urn)
+  {
+    // Build URN
+    String formatURN = urn;
+
+    // If URN doesn't start with "/", then add it
+    if (!(formatURN.startsWith("/")))
+    {
+      // Add "/" to beginning of the string
+      formatURN = "/" + urn;
+    }
+
+    // Return URL string
+    return "http://" + hostname + ":" + port + formatURN;
+  }
+
+  /**
+   * This method will replace all of the occurances of a string
+   * with a substitution string.
+   *
+   * @param sText String to udpate.
+   * @param sFind String to find.
+   * @param sReplace String to use for substitution.
+   * @return updated string.
+   */
+  public static String replaceString(
+    String sText,
+    String sFind,
+    String sReplace)
+  {
+    int iPrevIndex = 0;
+
+    int iFindLen = sFind.length();
+    int iReplaceLen = sReplace.length();
+
+    String sUpdatedText = sText;
+
+    // Replace all occurances of the find string
+    for (int iIndex = sUpdatedText.indexOf(sFind);
+      iIndex < (sUpdatedText.length() - 1) && iIndex != -1;
+      iIndex = sUpdatedText.indexOf(sFind, iPrevIndex + iReplaceLen))
+    {
+      // Set updated text from the front portion + replacement text + back portion
+      sUpdatedText =
+        sUpdatedText.substring(0, iIndex)
+          + sReplace
+          + sUpdatedText.substring(iIndex + iFindLen);
+
+      // Set the previous index field
+      iPrevIndex = iIndex;
+    }
+
+    // Return updated text string
+    return sUpdatedText;
+  }
+
+  /**
+   * Convert string to hex string.
+   * @param data  a String object.
+   * @return hex string.
+   */
+  public static String toHexString(String data)
+  {
+    char[] HEX_CHARS =
+      {
+        '0',
+        '1',
+        '2',
+        '3',
+        '4',
+        '5',
+        '6',
+        '7',
+        '8',
+        '9',
+        'A',
+        'B',
+        'C',
+        'D',
+        'E',
+        'F' };
+
+    // Get string as byte array
+    byte[] byteData = data.getBytes();
+
+    // Get length
+    int length = byteData.length;
+
+    // Create Char buffer
+    char[] charBuffer = new char[length * 2];
+
+    int next;
+    for (int byteCnt = 0, charCnt = 0; byteCnt < length;)
+    {
+      next = byteData[byteCnt++];
+      charBuffer[charCnt++] = HEX_CHARS[(next >>> 4) & 0x0F];
+      charBuffer[charCnt++] = HEX_CHARS[next & 0x0F];
+    }
+
+    return new String(charBuffer);
+  }
+
+  /**
+   * Convert byte buffer to hex string.
+   * @param data  a byte array.
+   * @return hex string.
+   */
+  public static String toHexString(byte[] byteData)
+  {
+    char[] HEX_CHARS =
+      {
+        '0',
+        '1',
+        '2',
+        '3',
+        '4',
+        '5',
+        '6',
+        '7',
+        '8',
+        '9',
+        'A',
+        'B',
+        'C',
+        'D',
+        'E',
+        'F' };
+
+
+    // Get length
+    int length = byteData.length;
+
+    // Create Char buffer
+    char[] charBuffer = new char[length * 2];
+
+    int next;
+    for (int byteCnt = 0, charCnt = 0; byteCnt < length;)
+    {
+      next = byteData[byteCnt++];
+      charBuffer[charCnt++] = HEX_CHARS[(next >>> 4) & 0x0F];
+      charBuffer[charCnt++] = HEX_CHARS[next & 0x0F];
+    }
+
+    return new String(charBuffer);
+  }
+
+  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
+  /**
+   * Get MIME charset from a HTTP headers.
+   * @param httpHeaders String of HTTP header.
+   * @return the MIME charset string.
+   * @author K.Nakagome@BeaconIT Japan SIG 
+   */
+  public static String getHTTPCharset(String httpHeaders)
+  {
+    String mimeCharset = null;
+
+    mimeCharset = httpHeaders.toUpperCase();
+    int[] index = { -1, -1, -1 };
+    int indexS = mimeCharset.indexOf("CHARSET");
+    int indexE = Integer.MAX_VALUE;
+    if (indexS < 17)
+    {
+      return "";
+    }
+    indexS = mimeCharset.indexOf("=", indexS + 7);
+    if (indexS == -1)
+    {
+      return "";
+    }
+    indexS++;
+    index[0] = mimeCharset.indexOf("'", indexS);
+    index[1] = mimeCharset.indexOf("\r\n", indexS);
+    index[2] = mimeCharset.indexOf("\"", indexS);
+    for (int i = 0; i < 3; i++)
+    {
+      if (index[i] != -1 & indexE > index[i])
+      {
+        indexE = index[i];
+      }
+    }
+
+    if (indexE != Integer.MAX_VALUE)
+    {
+      mimeCharset = httpHeaders.substring(indexS, indexE);
+      mimeCharset.trim();
+    }
+    else
+    {
+      mimeCharset = "";
+    }
+    return mimeCharset;
+  }
+
+  /**
+   * Checks to see if the message is a simple SOAP message or whether it is a SOAP messagwe with attachments.
+   */
+  public static boolean isMultipartRelatedMessage(String httpHeaders)
+  {
+  	boolean result = false;
+    try 
+    {
+      // check header for mime version and boundary
+      String contentType = HTTPUtils.getHttpHeaderAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE);
+      if (contentType == null)
+      {
+        // there is no contentType, check if there is a boundary attribute
+        String boundary = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "boundary");
+        if ((boundary != null) && (!boundary.equals("")))
+           result = true;
+      }
+      else
+      {
+        result = contentType.equalsIgnoreCase("multipart/related");
+      }
+    } 
+    catch (WSIException e)
+	{ 
+    	result = false; 
+    }
+    return result;
+  }
+
+  public static String getHttpHeaderAttribute(String httpHeaders, String attributeName)
+  { String result = null;
+  	try
+  	{
+     result = HTTPUtils.getHttpHeaderAttribute(httpHeaders, attributeName);
+  	}
+    catch (WSIException e)
+	{ 
+    	result = null; 
+    }
+    return result;
+ }
+
+  public static String getHttpHeaderSubAttribute(String httpHeaders, String attributeName, String subAttributeName)
+  { String result = null;
+  	try
+  	{
+     result = HTTPUtils.getHttpHeaderSubAttribute(httpHeaders, attributeName, subAttributeName);
+  	}
+    catch (WSIException e)
+	{ 
+    	result = null; 
+    }
+    return result;
+ }
+
+  public static String getMimeHeaderAttribute(String mimeHeaders, String attributeName)
+  { String result = null;
+  	try
+  	{
+     result = MIMEUtils.getMimeHeaderAttribute(mimeHeaders, attributeName);
+  	}
+    catch (WSIException e)
+	{ 
+    	result = null; 
+    }
+    return result;
+ }
+
+  public static String getMimeHeaderSubAttribute(String mimeHeaders, String attributeName, String subAttributeName)
+  { String result = null;
+  	try
+  	{
+     result = MIMEUtils.getMimeHeaderSubAttribute(mimeHeaders, attributeName, subAttributeName);
+  	}
+    catch (WSIException e)
+	{ 
+    	result = null; 
+    }
+    return result;
+ }
+  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
+  /**
+   * Get XML encoding from a SOAP Messages.
+   * @param message  SOAP Message String. 
+   * @return character encoding of XML.
+   * @author K.Nakagome@BeaconIT Japan SIG 
+   */
+  public static String getXMLEncoding(String message)
+  {
+    String xmlDef = null;
+
+    int indexS = message.indexOf("<?xml");
+    int indexE = -1;
+    if (indexS != -1)
+    {
+      indexE = message.indexOf("?>", indexS);
+      if (indexE > indexS)
+      {
+        xmlDef = message.substring(indexS, indexE);
+      }
+    }
+
+    if (xmlDef != null)
+    {
+      indexS = xmlDef.indexOf("encoding");
+      if (indexS == -1)
+      {
+        xmlDef = "";
+      }
+      else
+      {
+        xmlDef = xmlDef.substring(indexS + 8);
+        xmlDef = xmlDef.trim();
+      }
+    }
+    else
+    {
+      return "";
+    }
+
+    if (xmlDef.length() > 3)
+    {
+      indexS = xmlDef.indexOf("=");
+      if (indexS == 0)
+      {
+        xmlDef = xmlDef.substring(1);
+      }
+      else
+      {
+        return "";
+      }
+    }
+
+    if (xmlDef.length() > 3)
+    {
+      String end = "\"";
+      indexS = xmlDef.indexOf(end);
+      if (indexS != 0)
+      {
+        indexS = xmlDef.indexOf((end = "'"));
+      }
+      if (indexS == 0)
+      {
+        indexE = xmlDef.indexOf(end, 3);
+        if (indexE != -1)
+        {
+          xmlDef = xmlDef.substring(1, indexE);
+        }
+        else
+        {
+          xmlDef = "";
+        }
+      }
+      else
+      {
+        xmlDef = "";
+      }
+    }
+    return xmlDef;
+  }
+
+  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
+  private static ResourceBundle javaEncodingResource = null;
+  private static final String JAVA_ENCODING_RESOURCE =
+    "org.wsi.test.util.JavaEncoding";
+  private static final String JAVA_ENCODING_DEFAULT = "UTF-8";
+
+  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
+  /**
+   * Get Java VM supported character encoding.
+   * 
+   * @param mimeEncoding  string of MIME(IANA) character encoding. 
+   * @return string of character encoding supported by Java VM.
+   * @author K.Nakagome@BeaconIT Japan SIG 
+   */
+  public static String getJavaEncoding(String mimeEncoding)
+  {
+    if (mimeEncoding == null || mimeEncoding.length() == 0)
+    {
+      return JAVA_ENCODING_DEFAULT;
+    }
+    try
+    {
+      if (javaEncodingResource == null)
+      {
+        javaEncodingResource = ResourceBundle.getBundle(JAVA_ENCODING_RESOURCE);
+      }
+      return javaEncodingResource.getString(mimeEncoding);
+    }
+    catch (Throwable t)
+    {
+      return mimeEncoding;
+    }
+  }
+
+  /**
+   * Convert an array to a Vector.
+   * 
+   * @param array  the array to be converted .
+   * @return converted Vector (null if array is null, empty if empty).
+   * @author Graham Turrell IBM
+   */
+  public static Vector arrayToVector(Object[] array)
+  {
+    if (array == null)
+      return null;
+    Vector v = new Vector(array.length);
+    for (int i = 0; i < array.length; i++)
+      v.add(array[i]);
+    return v;
+  }
+  /**
+   * Checks to ensure that version of the profile test assertion 
+   * document is supported in this version of the test tools.
+   * @param profileAssertions - a profile TAD.
+   * @return true if the version of the profile test assertion
+   *         docuement is supported in this version of the test tools.
+   */
+  public static boolean isValidProfileTADVersion(ProfileAssertions profileAssertions)
+  {
+    boolean result = false;
+
+    String name = profileAssertions.getTADName();
+    String version = profileAssertions.getTADVersion();
+
+    if (WSIConstants.BASIC_PROFILE_TAD_NAME.equals(name))
+    {
+      result =
+        checkVersionNumber(WSIConstants.BASIC_PROFILE_TAD_VERSION, version);
+    } else if (WSIConstants.BASIC_PROFILE_1_1_TAD_NAME.equals(name))
+    {  
+      result =
+        checkVersionNumber(WSIConstants.BASIC_PROFILE_1_1_TAD_VERSION, version);
+    } else if (WSIConstants.SIMPLE_SOAP_BINDINGS_PROFILE_TAD_NAME.equals(name))
+    {
+      result =
+        checkVersionNumber(WSIConstants.SIMPLE_SOAP_BINDINGS_PROFILE_TAD_VERSION, version);
+    } else if (WSIConstants.ATTACHMENTS_PROFILE_TAD_NAME.equals(name))
+    {
+      result =
+        checkVersionNumber(WSIConstants.ATTACHMENTS_PROFILE_TAD_VERSION, version);
+    }
+    return result;
+  }
+
+  /**
+   * Checks to ensure that version number of the actual profile test assertion 
+   * document is supported in this version of the test tools.
+   * @param supportedVersion - supported version number of profile TAD.
+   * @param actualVersion    - actual version number of profile TAD. 
+   * @return true if the version number of the actual profile test assertion
+   *         document is supported in this version of the test tools.
+   */
+  private static boolean checkVersionNumber(
+    String supportedVersion,
+    String actualVersion)
+  {
+    boolean validVersion = true;
+
+    try
+    {
+      StringTokenizer supportedVersionTokenizer =
+        new StringTokenizer(supportedVersion, ".");
+      StringTokenizer actualVersionTokenizer =
+        new StringTokenizer(actualVersion, ".");
+
+      while (supportedVersionTokenizer.hasMoreTokens() && validVersion)
+      {
+        int supportedVersionToken =
+          Integer.parseInt(supportedVersionTokenizer.nextToken());
+        if (actualVersionTokenizer.hasMoreTokens())
+        {
+          int actualVersionToken =
+            Integer.parseInt(actualVersionTokenizer.nextToken());
+          if (supportedVersionToken > actualVersionToken) break;
+          else validVersion = (supportedVersionToken >= actualVersionToken);
+        }
+      }
+    }
+    catch (Exception e)
+    {
+      validVersion = false;
+    }
+    return validVersion;
+  }
+  
+  /**
+   * Identifies the root part in the list using the "start" attribute.
+   * If the "start" attribute does not exist then the first part is designated the root.
+   */
+  public static MimePart findRootPart(String httpHeaders, Collection parts)
+  {
+  	MimePart root = null;
+    String start = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "start");
+    if (!parts.isEmpty())
+    {
+      // default to the first part in the collection
+      root = (MimePart)parts.iterator().next();
+    	
+      if ((start != null) && (!start.equals("")))
+      {
+    	Iterator i = parts.iterator();
+    	boolean rootNotFound = true;
+    	while (i.hasNext() && rootNotFound)
+    	{
+    	  MimePart part = (MimePart)i.next();
+    	  String headers = part.getHeaders();
+    	  if (headers != null)
+    	  {
+            String contentId = Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_ID);
+            if (start.equals(contentId))
+            {
+              root = part;
+			  rootNotFound = false;
+            }
+    	  }
+    	}
+      }
+    }
+  	return root;
+  }
+  
+  /**
+   * Decodes the given encoded string.
+   */
+  public static byte[] decodeBase64(String str)
+  {
+  	try
+  	{
+    	sun.misc.BASE64Decoder decoder =  new sun.misc.BASE64Decoder();
+  	    return decoder.decodeBuffer(str);
+  	}
+  	catch (Exception e)
+  	{
+  		return new byte[0];
+  	}
+  }
+
+  /**
+   * Encodes the given byte array.
+   */
+  public static String encodeBase64(byte[] buffer)
+  {    
+  	sun.misc.BASE64Encoder encoder =  new sun.misc.BASE64Encoder();
+  	return encoder.encodeBuffer(buffer);  
+  }
+
+  public static MimeParts parseMultipartRelatedMessage(String message, String httpHeaders, String encoding)
+  {
+  	byte[] buffer = null;
+  	try
+	{ 
+  	  buffer = message.getBytes(encoding);
+	}
+  	catch (Exception e)
+	{
+  		return null;
+	}
+  	return parseMultipartRelatedMessage(buffer, httpHeaders, encoding);
+  }
+  public static MimeParts parseMultipartRelatedMessage(byte[] message, String httpHeaders, String encoding)
+  {
+    MimeParts mimeParts = new MimePartsImpl();
+    String boundary = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "boundary");
+    ArrayList parts = new ArrayList();
+    
+    if (boundary == null)
+    {
+    	// assume it is a simple SOAP message
+    	return null;
+    }
+    else
+    {
+      String start = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "start");
+      int[] indices = Utils.getBoundaryIndices(message, boundary);
+      boolean rootNotFound = true;
+      
+      for (int i= indices.length - 2; i>=0; i--)
+      {
+        try
+    	{
+          MimePart part = new MimePartImpl();
+          int index = Utils.getFirstCRLFCRLF(message, indices[i]);
+          if ((index > indices[i]) && (index < indices[i+1]))
+          {
+            // the boundary string & mime headers (include the trailing CRLF CRLF)
+        	String str = new String(message, indices[i], (index - indices[i]), "US-ASCII");
+        	String delimiter = str.substring(0, str.indexOf("\r\n", 2) + 2);
+
+        	if (i == indices.length -2)
+        	{
+        	  String endDelimiter = new String(message, indices[i + 1], message.length - indices[i + 1], "US-ASCII");
+        	  int j = str.indexOf("\r\n", 2);
+        	  if (j != -1)
+        	    endDelimiter = str.substring(0, str.indexOf("\r\n", 2) + 2);
+              part.setBoundaryStrings(new String[]{delimiter, endDelimiter});
+            }
+        	else
+        	  part.setBoundaryStrings(new String[]{delimiter});
+       
+        	// the headers
+        	String headers = str.substring(delimiter.length());
+            if (headers.startsWith("\r\n"))
+            {
+          	  // no headers present
+          	  part.setHeaders("");
+            }
+            else
+            {
+          	  part.setHeaders(headers);
+            }
+            
+            // the content
+            String contentId = Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_ID);
+            int size = indices[i+1] - (index);
+         	byte[] content = new byte[size];
+      	    System.arraycopy(message, index, content, 0, size);
+      	  
+            if ((rootNotFound && (i == 0)) ||
+            	((start != null) && (!start.equals("")) && (start.equals(contentId))))
+            {
+              // root part -- do not encode
+              part.setContent(new String(content, encoding));
+              mimeParts.setRootPart(part);
+            }
+            else
+            {
+              String transferEncoding =  Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_TRANSFER_ENCODING);
+   
+              if ((transferEncoding != null) && transferEncoding.equalsIgnoreCase("base64"))
+              	part.setContent(new String(content, encoding));
+              else
+                part.setContent(Utils.encodeBase64(content));
+            }
+           parts.add(part);
+         }
+    	}
+    	catch (Exception e)
+    	{
+    	  return null;
+    	}
+      }
+      int size = parts.size();
+      for (int i = size-1; i>=0; i--)
+         mimeParts.addPart((MimePart)parts.get(i));
+    }
+    return mimeParts;
+  }
+
+  public static String toXMLString(MimeParts mimeParts)
+  {
+    StringWriter sw = new StringWriter();
+    PrintWriter pw = new PrintWriter(sw);
+
+    // Add message content with attachments element
+    pw.print("<" + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS);
+    pw.print(">");
+
+    Collection partList = mimeParts.getParts();
+    if (!partList.isEmpty())
+        {
+         	Iterator iMimeParts = partList.iterator();
+        	while (iMimeParts.hasNext())
+            {
+        	  MimePart mimePart = (MimePart)iMimeParts.next();
+         	  pw.print(mimePart.toXMLString(""));
+            }
+        }
+
+        // Add end message element
+        pw.println("</" + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS + ">");
+    // Return string
+    return sw.toString();
+  }
+
+  public static void main (String[] args)
+  {
+  	try
+	{
+  	  FileInputStream inputStream = new FileInputStream("d:\\b.xml");
+  	  int i = inputStream.available();
+  	  byte[] buffer = new byte[i];
+  	  inputStream.read(buffer);
+  	  String message = new String(buffer);
+  	  message = XMLUtils.xmlRemoveEscapedString(message);
+  	  String headers = Utils.getHTTPHeaders(message);
+  	  MimeParts parts = Utils.parseMultipartRelatedMessage(message, headers, Utils.JAVA_ENCODING_DEFAULT);
+  	  System.out.println(Utils.toXMLString(parts));
+	}
+  	catch (Exception e){}
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSDLUtil.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/WSIProperties.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/XMLInfo.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/wsi.properties b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/wsi.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/wsi.properties
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/util/wsi.properties
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLElementList.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java
new file mode 100644
index 0000000..a9f65ef
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java
@@ -0,0 +1,801 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.wsdl;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingFault;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Import;
+import javax.wsdl.Input;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Output;
+import javax.wsdl.Part;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.Types;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.factory.WSDLFactory;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xerces.dom.ElementImpl;
+import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.xml.sax.InputSource;
+
+import com.ibm.wsdl.Constants;
+import com.ibm.wsdl.util.StringUtils;
+import com.ibm.wsdl.util.xml.DOMUtils;
+import com.ibm.wsdl.util.xml.QNameUtils;
+import com.ibm.wsdl.util.xml.XPathUtils;
+
+/**
+ * This class is a specialization of com.ibm.wsdl.xml.WSDLReaderImpl in WSDL4J.
+ * 
+ * @version 1.0.1
+ * @author Peter Brittenham  (peterbr@us.ibm.com)
+ */
+public class WSDLReaderImpl extends com.ibm.wsdl.xml.WSDLReaderImpl
+{
+  // WSDL element list.
+  protected WSDLElementList wsdlElementList = new WSDLElementList();
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseDefinitions(java.lang.String, org.w3c.dom.Element, java.util.Map)
+   */
+  protected Definition parseDefinitions(
+    String documentBaseURI,
+    Element defEl,
+    Map importedDefs)
+    throws WSDLException
+  {
+	  Definition def = null;
+	ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
+	try
+	{
+   	  Thread.currentThread().setContextClassLoader(WSDLReaderImpl.class.getClassLoader());   
+	
+      def =
+      super.parseDefinitions(documentBaseURI, defEl, importedDefs);
+
+    // Try to add element to list
+    addElementToList(defEl, def);
+
+
+	}
+catch (Exception e)
+	{
+	}
+    finally
+    { 
+      Thread.currentThread().setContextClassLoader(currentLoader);
+    }  
+    return def;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseImport(org.w3c.dom.Element, javax.wsdl.Definition, java.util.Map)
+   */
+  protected Import parseImport(Element element, Definition definition, Map map)
+    throws WSDLException
+  {
+    /*boolean wasEx = false;
+    if (def.getDocumentBaseURI()!=null){
+    	File f = new File(def.getDocumentBaseURI());
+    	if (f.getParent()!=null && importEl.getAttribute("location")!=null){		
+    	   f = new File(f.getParent()+"/"+importEl.getAttribute("location"));
+    	   
+    	}
+    } else wasEx = false;
+      
+    Import importDef = super.parseImport(importEl, def, importedDefs);
+    
+    // Try to add element to list
+    addElementToList(importEl, importDef);
+    
+    return importDef;*/
+
+    /*Import import1 = definition.createImport();
+    String s = DOMUtils.getAttribute(element, "namespace");
+    String s1 = DOMUtils.getAttribute(element, "location");
+    if (s != null)
+    	import1.setNamespaceURI(s);
+    if (s1 != null) {
+    	if (importDocuments) {
+    		String s2 = definition.getDocumentBaseURI();
+    		try {
+    
+    			URL url1 = s2 == null ? null : StringUtils.getURL(null, s2);
+    			URL url = StringUtils.getURL(url1, s1);
+    			InputStream inputstream =
+    				StringUtils.getContentAsInputStream(url);
+    			inputstream.close();
+    		} catch (IOException ex) {
+    			//import1.setLocationURI(null);
+    			addElementToList(element, import1);
+    			return import1;
+    		} catch (Throwable ex) {
+    			throw new WSDLException(
+    				"OTHER_ERROR",
+    				"Unable to resolve imported document at '" + s1 + "'.",
+    				ex);
+    		}
+    
+    	}
+    }
+    Import importDef = super.parseImport(element, definition, map);
+    addElementToList(element, importDef);*/
+    Import import1 = definition.createImport();
+    String s = DOMUtils.getAttribute(element, "namespace");
+    String s1 = DOMUtils.getAttribute(element, "location");
+    if (s != null)
+      import1.setNamespaceURI(s);
+    // ADD: check "location" attribute for empty 
+    // string to prevent self-defenition assigning
+    if ((s1 != null) && (s1.length() > 0))
+    {
+      import1.setLocationURI(s1);
+      if (importDocuments)
+        try
+        {
+          String s2 = definition.getDocumentBaseURI();
+          Definition definition1 = null;
+          InputStream inputstream = null;
+          InputSource inputsource = null;
+          URL url = null;
+          if (loc != null)
+          {
+            inputsource = loc.getImportInputSource(s2, s1);
+            String s3 = loc.getLatestImportURI();
+            definition1 = (Definition) map.get(s3);
+          }
+          else
+          {
+            URL url1 = s2 == null ? null : StringUtils.getURL(null, s2);
+            url = StringUtils.getURL(url1, s1);
+            definition1 = (Definition) map.get(url.toString());
+            if (definition1 == null)
+            {
+              try
+              {
+
+                inputstream = url.openStream();
+              }
+              catch (IOException ex)
+              {
+                //import1.setLocationURI(null);
+                addElementToList(element, import1);
+                return import1;
+              }
+              if (inputstream != null)
+                inputsource = new InputSource(inputstream);
+            }
+          }
+          if (definition1 == null)
+          {
+            if (inputsource == null)
+              throw new WSDLException(
+                "OTHER_ERROR",
+                "Unable to locate imported document at '"
+                  + s1
+                  + "'"
+                  + (s2 != null ? ", relative to '" + s2 + "'." : "."));
+            Document document = null;
+            try
+            {
+              document = getDocument(inputsource, s1);
+            }
+            catch (WSDLException ex)
+            {
+              addElementToList(element, import1);
+              return import1;
+            }
+            if (inputstream != null)
+              inputstream.close();
+            Element element2 = document.getDocumentElement();
+            if (QNameUtils.matches(Constants.Q_ELEM_DEFINITIONS, element2))
+            {
+              //if (verbose)
+              //  System.out.println(
+              //    "Retrieving document at '"
+              //      + s1
+              //      + "'"
+              //      + (s2 != null ? ", relative to '" + s2 + "'." : "."));
+              String s4 =
+                loc == null
+                  ? url == null
+                  ? s1
+                  : url.toString() : loc.getLatestImportURI();
+              definition1 = readWSDL(s4, element2, map);
+            }
+            else
+            {
+              QName qname = QNameUtils.newQName(element2);
+              if (Constants.XSD_QNAME_LIST.contains(qname))
+              {
+                WSDLFactory wsdlfactory =
+                  factoryImplName == null
+                    ? WSDLFactory.newInstance()
+                    : WSDLFactory.newInstance(factoryImplName);
+                definition1 = wsdlfactory.newDefinition();
+                if (extReg != null)
+                  definition1.setExtensionRegistry(extReg);
+                String s5 =
+                  loc == null
+                    ? url == null
+                    ? s1
+                    : url.toString() : loc.getLatestImportURI();
+                definition1.setDocumentBaseURI(s5);
+                /* Don't add types element since it doesn't exist.  Adding it causes problems
+                 * since it will add a types element for processing that does not exist.
+                Types types = definition1.createTypes();
+                UnknownExtensibilityElement unknownextensibilityelement =
+                	new UnknownExtensibilityElement();
+                unknownextensibilityelement.setElement(element2);
+                types.addExtensibilityElement(
+                	unknownextensibilityelement);
+                definition1.setTypes(types);
+                */
+              }
+            }
+          }
+          if (definition1 != null)
+            import1.setDefinition(definition1);
+        }
+        catch (WSDLException wsdlexception)
+        {
+          wsdlexception.setLocation(XPathUtils.getXPathExprFromNode(element));
+          throw wsdlexception;
+        }
+        catch (Throwable throwable)
+        {
+          throw new WSDLException(
+            "OTHER_ERROR",
+            "Unable to resolve imported document at '" + s1 + "'.",
+            throwable);
+        }
+    }
+    for (Element element1 = DOMUtils.getFirstChildElement(element);
+      element1 != null;
+      element1 = DOMUtils.getNextSiblingElement(element1))
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, element1))
+        import1.setDocumentationElement(element1);
+      else
+        DOMUtils.throwWSDLException(element1);
+
+    return import1;
+
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseTypes(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Types parseTypes(Element typesEl, Definition def)
+    throws WSDLException
+  {
+    Types types = super.parseTypes(typesEl, def);
+
+    // Try to add element to list
+    addElementToList(typesEl, types);
+
+    return types;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBinding(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Binding parseBinding(Element bindingEl, Definition def)
+    throws WSDLException
+  {
+    Binding binding = super.parseBinding(bindingEl, def);
+
+    // Try to add element to list
+    addElementToList(bindingEl, binding);
+
+    return binding;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingOperation(org.w3c.dom.Element, javax.wsdl.PortType, javax.wsdl.Definition)
+   */
+  protected BindingOperation parseBindingOperation(
+    Element bindingOperationEl,
+    PortType portType,
+    Definition def)
+    throws WSDLException
+  {
+    BindingOperation bindingOperation = null;
+
+    // The follow try-catch was added to detect when a duplicate operation name was detected
+    try
+    {
+      bindingOperation =
+        super.parseBindingOperation(bindingOperationEl, portType, def);
+    }
+
+    catch (IllegalArgumentException iae)
+    {
+      if (iae.getMessage().startsWith("Duplicate"))
+      {
+        bindingOperation =
+          parseBindingOperationWithDuplicateNames(
+            bindingOperationEl,
+            portType,
+            def);
+      }
+
+      else
+      {
+        throw iae;
+      }
+    }
+
+    // Try to add element to list
+    if (bindingOperation != null)
+    {
+      addElementToList(bindingOperationEl, bindingOperation);
+    }
+
+    return bindingOperation;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingInput(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected BindingInput parseBindingInput(
+    Element bindingInputEl,
+    Definition def)
+    throws WSDLException
+  {
+    BindingInput bindingInput = super.parseBindingInput(bindingInputEl, def);
+
+    // Try to add element to list
+    addElementToList(bindingInputEl, bindingInput);
+
+    return bindingInput;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingOutput(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected BindingOutput parseBindingOutput(
+    Element bindingOutputEl,
+    Definition def)
+    throws WSDLException
+  {
+    BindingOutput bindingOutput =
+      super.parseBindingOutput(bindingOutputEl, def);
+
+    // Try to add element to list
+    addElementToList(bindingOutputEl, bindingOutput);
+
+    return bindingOutput;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingFault(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected BindingFault parseBindingFault(
+    Element bindingFaultEl,
+    Definition def)
+    throws WSDLException
+  {
+    BindingFault bindingFault = super.parseBindingFault(bindingFaultEl, def);
+
+    // Try to add element to list
+    addElementToList(bindingFaultEl, bindingFault);
+
+    return bindingFault;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseMessage(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Message parseMessage(Element msgEl, Definition def)
+    throws WSDLException
+  {
+    Message msg = super.parseMessage(msgEl, def);
+
+    // Try to add element to list
+    addElementToList(msgEl, msg);
+
+    return msg;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePart(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Part parsePart(Element partEl, Definition def) throws WSDLException
+  {
+    //Part part = super.parsePart(partEl, def);
+
+    Part part = def.createPart();
+    String name = DOMUtils.getAttribute(partEl, Constants.ATTR_NAME);
+
+    // WS-I: The try-catch was added for WSI2416
+    QName elementName;
+
+    try
+    {
+      elementName =
+        DOMUtils.getQualifiedAttributeValue(
+          partEl,
+          Constants.ATTR_ELEMENT,
+          Constants.ELEM_MESSAGE,
+          false);
+    }
+
+    catch (WSDLException we)
+    {
+      String prefixedValue =
+        DOMUtils.getAttribute(partEl, Constants.ATTR_ELEMENT);
+      int index = prefixedValue.indexOf(':');
+      String localPart = prefixedValue.substring(index + 1);
+
+      elementName = new QName(localPart);
+    }
+
+    QName typeName =
+      DOMUtils.getQualifiedAttributeValue(
+        partEl,
+        Constants.ATTR_TYPE,
+        Constants.ELEM_MESSAGE,
+        false);
+
+    if (name != null)
+    {
+      part.setName(name);
+    }
+
+    if (elementName != null)
+    {
+      part.setElementName(elementName);
+    }
+
+    if (typeName != null)
+    {
+      part.setTypeName(typeName);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(partEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        part.setDocumentationElement(tempEl);
+      }
+      else
+      {
+        DOMUtils.throwWSDLException(tempEl);
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    Map extensionAttributes = part.getExtensionAttributes();
+
+    extensionAttributes.putAll(getPartAttributes(partEl, def));
+
+    // Need to do something here to locate part definition.
+
+    // Try to add element to list
+    addElementToList(partEl, part);
+
+    return part;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePortType(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected PortType parsePortType(Element portTypeEl, Definition def)
+    throws WSDLException
+  {
+    PortType portType = super.parsePortType(portTypeEl, def);
+
+    // Try to add element to list
+    addElementToList(portTypeEl, portType);
+
+    return portType;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseOperation(org.w3c.dom.Element, javax.wsdl.PortType, javax.wsdl.Definition)
+   */
+  protected Operation parseOperation(
+    Element opEl,
+    PortType portType,
+    Definition def)
+    throws WSDLException
+  {
+    Operation op = super.parseOperation(opEl, portType, def);
+
+    // Try to add element to list
+    addElementToList(opEl, op);
+
+    return op;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseService(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Service parseService(Element serviceEl, Definition def)
+    throws WSDLException
+  {
+    Service service = super.parseService(serviceEl, def);
+
+    // Try to add element to list
+    addElementToList(serviceEl, service);
+
+    return service;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePort(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Port parsePort(Element portEl, Definition def) throws WSDLException
+  {
+    Port port = super.parsePort(portEl, def);
+
+    // Try to add element to list
+    addElementToList(portEl, port);
+
+    return port;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseExtensibilityElement(java.lang.Class, org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected ExtensibilityElement parseExtensibilityElement(
+    Class parentType,
+    Element el,
+    Definition def)
+    throws WSDLException
+  {
+    ExtensibilityElement extElement =
+      super.parseExtensibilityElement(parentType, el, def);
+
+    // Try to add element to list
+    addElementToList(el, extElement);
+
+    return extElement;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseInput(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Input parseInput(Element inputEl, Definition def)
+    throws WSDLException
+  {
+    Input input = super.parseInput(inputEl, def);
+
+    // Try to add element to list
+    addElementToList(inputEl, input);
+
+    return input;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseOutput(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Output parseOutput(Element outputEl, Definition def)
+    throws WSDLException
+  {
+    Output output = super.parseOutput(outputEl, def);
+
+    // Try to add element to list
+    addElementToList(outputEl, output);
+
+    return output;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseFault(org.w3c.dom.Element, javax.wsdl.Definition)
+   */
+  protected Fault parseFault(Element faultEl, Definition def)
+    throws WSDLException
+  {
+    Fault fault = super.parseFault(faultEl, def);
+
+    // Try to add element to list
+    addElementToList(faultEl, fault);
+
+    return fault;
+  }
+
+  /* (non-Javadoc)
+   * @see com.ibm.wsdl.xml.WSDLReaderImpl#getDocument(org.xml.sax.InputSource, java.lang.String)
+   */
+  protected Document getDocument(InputSource inputSource, String desc)
+    throws WSDLException
+  {
+    ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
+    try
+	{
+      Thread.currentThread().setContextClassLoader(WSDLReaderImpl.class.getClassLoader());   	
+	
+  	  //DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+      DocumentBuilderFactory factory =
+        new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
+
+      factory.setNamespaceAware(true);
+      factory.setValidating(false);
+
+      DocumentBuilder builder = factory.newDocumentBuilder();
+      Document doc = builder.parse(inputSource);
+
+      return doc;
+    }
+    catch (Throwable t)
+    {
+      throw new WSDLException(
+        WSDLException.PARSER_ERROR,
+        "Problem parsing '" + desc + "'.",
+        t);
+    }
+    finally
+    { 
+      Thread.currentThread().setContextClassLoader(currentLoader);
+    }    
+  }
+
+  /**
+   * Get element list.
+   * @return the element list.
+   */
+  public WSDLElementList getElementList()
+  {
+    return this.wsdlElementList;
+  }
+
+  /** 
+   * Add WSDL element to element list.
+   */
+  private void addElementToList(Element element, Object wsdlElement)
+  {
+    ElementLocation elementLocation = null;
+
+    try
+    {
+      // See if the element object is an instanceof org.apache.xerces.dom.ElementImpl
+      ElementImpl elementImpl = (ElementImpl) element;
+
+      // If it is, then get the element location information
+      elementLocation =
+        (ElementLocation) elementImpl.getUserData();
+
+      // Add it to the list
+      this.wsdlElementList.addElement(wsdlElement, elementLocation);
+    }
+
+    catch (ClassCastException cce)
+    {
+      // ADD: Should we add the element with a null or zero location?
+    }
+  }
+
+  /**
+   * This method is used when a WSDL document contains duplicate operation names.
+   * It is the same as the original parseBindingOperation method, except that it will
+   * just find the first operation that matches instead of throwing an exception.
+   */
+  private BindingOperation parseBindingOperationWithDuplicateNames(
+    Element bindingOperationEl,
+    PortType portType,
+    Definition def)
+    throws WSDLException
+  {
+    BindingOperation bindingOperation = def.createBindingOperation();
+    String name =
+      DOMUtils.getAttribute(bindingOperationEl, Constants.ATTR_NAME);
+
+    if (name != null)
+    {
+      bindingOperation.setName(name);
+    }
+
+    Element tempEl = DOMUtils.getFirstChildElement(bindingOperationEl);
+
+    while (tempEl != null)
+    {
+      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
+      {
+        bindingOperation.setDocumentationElement(tempEl);
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))
+      {
+        bindingOperation.setBindingInput(parseBindingInput(tempEl, def));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))
+      {
+        bindingOperation.setBindingOutput(parseBindingOutput(tempEl, def));
+      }
+      else if (QNameUtils.matches(Constants.Q_ELEM_FAULT, tempEl))
+      {
+        bindingOperation.addBindingFault(parseBindingFault(tempEl, def));
+      }
+      else
+      {
+        bindingOperation.addExtensibilityElement(
+          parseExtensibilityElement(BindingOperation.class, tempEl, def));
+      }
+
+      tempEl = DOMUtils.getNextSiblingElement(tempEl);
+    }
+
+    if (portType != null)
+    {
+      BindingInput bindingInput = bindingOperation.getBindingInput();
+      BindingOutput bindingOutput = bindingOperation.getBindingOutput();
+      String inputName = (bindingInput != null ? bindingInput.getName() : null);
+      String outputName =
+        (bindingOutput != null ? bindingOutput.getName() : null);
+
+      //Operation op = portType.getOperation(name, inputName, outputName);
+      // Get all operations, and then find the first one that matches
+      Operation op = null, checkOperation;
+      Iterator iterator = portType.getOperations().iterator();
+      while (iterator.hasNext() && op == null)
+      {
+        // Get the next operation
+        checkOperation = (Operation) iterator.next();
+
+        // Get the operation name, input name, and output name
+        String checkName = checkOperation.getName();
+        String checkInputName =
+          (checkOperation.getInput() == null
+            ? null
+            : checkOperation.getInput().getName());
+        String checkOutputName =
+          (checkOperation.getOutput() == null
+            ? null
+            : checkOperation.getOutput().getName());
+
+        // If the names match, then that operation
+        if ((checkName != null && checkName.equals(name))
+          && ((checkInputName != null && checkInputName.equals(inputName))
+            || (checkInputName == null && inputName == null))
+          && ((checkOutputName != null && checkOutputName.equals(outputName))
+            || (checkOutputName == null && outputName == null)))
+        {
+          op = checkOperation;
+        }
+      }
+
+      if (op == null)
+      {
+        op = def.createOperation();
+        op.setName(name);
+        portType.addOperation(op);
+      }
+
+      bindingOperation.setOperation(op);
+    }
+
+    return bindingOperation;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java
new file mode 100644
index 0000000..f175be3
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java
@@ -0,0 +1,384 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.wsdl;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.PortType;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.soap.SOAPBinding;
+import javax.wsdl.extensions.soap.SOAPBody;
+import javax.wsdl.extensions.soap.SOAPHeader;
+import javax.wsdl.extensions.soap.SOAPHeaderFault;
+import javax.wsdl.extensions.soap.SOAPOperation;
+import javax.xml.namespace.QName;
+
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+
+/**
+ * Set of XML related utilities.
+ * 
+ * @author Peter  Brittenham (peterbr@us.ibm.com)
+ * @version 1.0.1
+ */
+public final class WSDLUtils
+{
+
+  /**
+   * Method isRpcLiteral.
+   * @param bindingStyle a binding style.
+   * @param operation a WSDL binding operation artifact.
+   * @return true if binding is rpc literal.
+   */
+  public static boolean isRpcLiteral(
+    String bindingStyle,
+    BindingOperation operation)
+  {
+    return checkStyleAndUse(
+      WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
+      WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT,
+      bindingStyle,
+      operation);
+  }
+
+  /**
+   * Method isDocLiteral.
+   * @param bindingStyle  the binding style.
+   * @param operation a WSDL binding operation.
+   * @return true if binding is document literal. 
+   */
+  public static boolean isDocLiteral(
+    String bindingStyle,
+    BindingOperation operation)
+  {
+    return checkStyleAndUse(
+      WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
+      WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT,
+      bindingStyle,
+      operation);
+  }
+
+  /**
+   * Method checkStyleAndUse.
+   */
+  private static boolean checkStyleAndUse(
+    String checkStyle,
+    String checkUse,
+    String bindingStyle,
+    BindingOperation bindingOperation)
+  {
+    boolean styleFound = false;
+    boolean styleAndUseFound = false;
+
+    // Find the soapbind:operation element
+    SOAPOperation soapOperation = getSoapOperation(bindingOperation);
+
+    // If there are no ext elements, then check against binding style
+    if ((soapOperation == null) || (soapOperation.getStyle() == null))
+    {
+      if (checkStyle.equals(bindingStyle))
+        styleFound = true;
+    }
+
+    else
+    {
+      if (checkStyle.equals(soapOperation.getStyle()))
+        styleFound = true;
+    }
+
+    // If style found then check use
+    if (styleFound)
+    {
+      // Find the soapbind:body element
+      SOAPBody soapBody = getInputSoapBody(bindingOperation);
+
+      // If there are no soapbind:body, then check against default use value
+      if ((soapBody == null) || (soapBody.getUse() == null))
+      {
+        if (checkUse.equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
+          styleAndUseFound = true;
+      }
+
+      else
+      {
+        if (checkUse.equals(soapBody.getUse()))
+          styleAndUseFound = true;
+      }
+    }
+
+    return styleAndUseFound;
+  }
+
+  /**
+   * Get soapbind:binding.
+   * @param binding  a Binding object.
+   * @return soapbind:binding.
+   */
+  public static SOAPBinding getSoapBinding(Binding binding)
+  {
+    SOAPBinding soapBinding = null;
+
+    List extElements = null;
+
+    // Find the soapbind:operation element
+    if ((extElements = binding.getExtensibilityElements()) != null)
+    {
+      for (Iterator iterator = extElements.iterator();
+        iterator.hasNext() && (soapBinding == null);
+        )
+      {
+        Object obj = iterator.next();
+
+        if (obj instanceof SOAPBinding)
+        {
+          soapBinding = (SOAPBinding) obj;
+        }
+      }
+    }
+
+    return soapBinding;
+  }
+
+  /**
+   * Get soapbind:operation.
+   * @param bindingOperation  a BindingOperation object.
+   * @return soapbind:operation.
+   */
+  public static SOAPOperation getSoapOperation(BindingOperation bindingOperation)
+  {
+    SOAPOperation soapOperation = null;
+
+    List extElements = null;
+
+    // Find the soapbind:operation element
+    if ((extElements = bindingOperation.getExtensibilityElements()) != null)
+    {
+      for (Iterator iterator = extElements.iterator();
+        iterator.hasNext() && (soapOperation == null);
+        )
+      {
+        Object obj = iterator.next();
+
+        if (obj instanceof SOAPOperation)
+        {
+          soapOperation = (SOAPOperation) obj;
+        }
+      }
+    }
+
+    return soapOperation;
+  }
+
+  /**
+   * Get soapbind:body from input element.
+   * @param bindingOperation  the BindingOperation object.
+   * @return soapbind:body from input element.
+   */
+  public static SOAPBody getInputSoapBody(BindingOperation bindingOperation)
+  {
+    SOAPBody soapBody = null;
+
+    List extElements = null;
+
+    // Find the soapbind:body element
+    if ((extElements =
+      bindingOperation.getBindingInput().getExtensibilityElements())
+      != null)
+    {
+      for (Iterator iterator = extElements.iterator();
+        iterator.hasNext() && (soapBody == null);
+        )
+      {
+        Object obj = iterator.next();
+
+        if (obj instanceof SOAPBody)
+        {
+          soapBody = (SOAPBody) obj;
+        }
+      }
+    }
+
+    return soapBody;
+  }
+
+  /**
+   * Find messages referenced by a header or headerfault.
+   * @param definition  a Definition object.
+   * @param binding  a Binding object.
+   * @return messages referenced by a header or headerfault.
+   */
+  public static HashSet findMessages(Definition definition, Binding binding)
+  {
+    BindingOperation bindingOperation;
+
+    HashSet tempMessages, bindingMessages = new HashSet();
+
+    HashSet portTypeMessages = findMessages(binding.getPortType());
+
+    // Process each operation
+    Iterator iterator = binding.getBindingOperations().iterator();
+    while (iterator.hasNext())
+    {
+      bindingOperation = (BindingOperation) iterator.next();
+
+      // Process the input and then the output
+      if (bindingOperation.getBindingInput() != null)
+      {
+        tempMessages =
+          findMessages(
+            bindingOperation
+              .getBindingInput()
+              .getExtensibilityElements()
+              .iterator(),
+            portTypeMessages,
+            definition);
+
+        // Add messages to binding message set
+        bindingMessages.addAll(tempMessages);
+      }
+
+      // Process output
+      if (bindingOperation.getBindingOutput() != null)
+      {
+        tempMessages =
+          findMessages(
+            bindingOperation
+              .getBindingOutput()
+              .getExtensibilityElements()
+              .iterator(),
+            portTypeMessages,
+            definition);
+
+        // Add messages to binding message set
+        bindingMessages.addAll(tempMessages);
+      }
+    }
+
+    return bindingMessages;
+  }
+
+  /**
+   * Find the messages that are referenced by a header or headerfault.
+   * @param portType a PortType object.
+   * @return he messages that are referenced by a header or headerfault.
+   */
+  public static HashSet findMessages(PortType portType)
+  {
+    HashSet messageSet = new HashSet();
+    Operation operation;
+
+    Iterator iterator = portType.getOperations().iterator();
+    while (iterator.hasNext())
+    {
+      // Get next operation to process
+      operation = (Operation) iterator.next();
+
+      // Get input and output message
+      if (operation.getInput() != null)
+        messageSet.add(operation.getInput().getMessage());
+      if (operation.getOutput() != null)
+        messageSet.add(operation.getOutput().getMessage());
+
+      // Process any faults
+      Iterator faults = operation.getFaults().values().iterator();
+      while (faults.hasNext())
+      {
+        messageSet.add(((Fault) faults.next()).getMessage());
+      }
+    }
+
+    return messageSet;
+  }
+
+  /**
+   * Find the messages that are referenced by a header or headerfault.
+   * @param extElementList a list of external elements.
+   * @param messageSet a set of messages.
+   * @param definition a Definition object.
+   * @return the messages that are referenced by a header or headerfault.
+   */
+  protected static HashSet findMessages(
+    Iterator extElementList,
+    HashSet messageSet,
+    Definition definition)
+  {
+    HashSet returnSet = new HashSet();
+    ExtensibilityElement extElement;
+    Message saveMessage = null;
+
+    while (extElementList.hasNext())
+    {
+      // Get ext. element
+      extElement = (ExtensibilityElement) extElementList.next();
+
+      QName messageQName;
+      Message message;
+
+      // If this is a soap:header element, then check for message reference
+      if (extElement instanceof SOAPHeader)
+      {
+        SOAPHeader soapHeader = (SOAPHeader) extElement;
+        if ((messageQName = soapHeader.getMessage()) != null)
+        {
+          // If message not found, then create a dummy message element
+          if ((message = definition.getMessage(messageQName)) == null)
+          {
+            message = definition.createMessage();
+            message.setQName(messageQName);
+            message.setUndefined(true);
+          }
+
+          if (!messageSet.contains(message))
+          {
+            returnSet.add(message);
+            saveMessage = message;
+          }
+        }
+
+        // Process any header faults within this header
+        Iterator headerFaultList = soapHeader.getSOAPHeaderFaults().iterator();
+        while (headerFaultList.hasNext())
+        {
+          // Get soap header fault
+          SOAPHeaderFault soapHeaderFault =
+            (SOAPHeaderFault) headerFaultList.next();
+          if ((messageQName = soapHeaderFault.getMessage()) != null)
+          {
+            // If message not found, then create a dummy message element
+            if ((message = definition.getMessage(messageQName)) == null)
+            {
+              message = definition.createMessage();
+              message.setQName(messageQName);
+              message.setUndefined(true);
+            }
+
+            // If message not in message set and return set, then add it  
+            if (!messageSet.contains(message)
+              && ((saveMessage == null)
+                || (saveMessage != null
+                  && !saveMessage.getQName().equals(message.getQName()))))
+              returnSet.add(message);
+          }
+        }
+      }
+    }
+
+    return returnSet;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java
new file mode 100644
index 0000000..8b90938
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java
@@ -0,0 +1,201 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.wsdl.traversal;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.wsdl.Binding;
+import javax.wsdl.BindingFault;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Import;
+import javax.wsdl.Input;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Output;
+import javax.wsdl.Part;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.soap.SOAPBinding;
+import javax.wsdl.extensions.soap.SOAPBody;
+import javax.wsdl.extensions.soap.SOAPFault;
+import javax.wsdl.extensions.soap.SOAPHeader;
+import javax.wsdl.extensions.soap.SOAPHeaderFault;
+import javax.wsdl.extensions.soap.SOAPOperation;
+
+import org.w3c.dom.Element;
+
+/**
+ * The class adapts the given object with the implemented
+ * <code>WSDLVisitor</code> methods.
+ * 
+ * @author Kulik
+ */
+public class VisitorAdaptor implements InvocationHandler
+{
+
+  // optimization hint
+  static final private Class[] visitorClass = new Class[] { WSDLVisitor.class };
+
+  /**
+   * The array is used for determination of actual javax.wsdl class
+   */
+  private static Class[] wsdl =
+    new Class[] {
+      Part.class,
+      Service.class,
+      Types.class,
+      Operation.class,
+      Input.class,
+      Output.class,
+      Fault.class,
+      Binding.class,
+      BindingOperation.class,
+      BindingInput.class,
+      BindingOutput.class,
+      BindingFault.class,
+      Import.class,
+      Element.class,
+      Message.class,
+      Port.class,
+      PortType.class,
+      Definition.class,
+      ExtensibilityElement.class,
+      SOAPBinding.class,
+      SOAPBody.class,
+      SOAPHeader.class,
+      SOAPHeaderFault.class,
+      SOAPFault.class,
+      SOAPOperation.class };
+
+  final private Object visitor;
+
+  private Map methods = new HashMap();
+
+  /**
+   * Constructor.
+   * @param o  a visitor object.
+   */
+  private VisitorAdaptor(Object o)
+  {
+    this.visitor = o;
+  }
+
+  /**
+   * Adds method to method binding.
+   * @param wsdlMethod    a WSDL method.
+   * @param targetMethod  a  target method.
+   */
+  private void addMethodBinding(Method wsdlMethod, Method targetMethod)
+  {
+    methods.put(wsdlMethod, targetMethod);
+  }
+
+  /**
+   * The method proxies all "visit(XXX)" methods to the corresponding
+   * "visit(XXX)" methods of the target visitor object. 
+   * @see java.lang.reflect.InvocationHandler#invoke(Object, Method, Object[])
+   */
+  public Object invoke(Object proxy, Method m, Object[] params)
+  {
+    try
+    {
+      Method target = (Method) methods.get(m);
+      // assert target != null
+      return target.invoke(visitor, params);
+    }
+    catch (Throwable t)
+    {
+      t.printStackTrace();
+    }
+    return null;
+  }
+
+  /**
+   * The method extract the short class name. 
+   * @param c  a class.
+   * @return the short class name.
+   */
+  static private String getName(Class c)
+  {
+    if (c != null)
+    {
+      String name = c.getName();
+      return name.substring(name.lastIndexOf(".") + 1);
+    }
+    return null;
+  }
+
+  /**
+   * The method generates proxy for the given visitor.
+   * Proxy redirects all visit(XXX) callback to the implemented in visitor
+   * object.
+   * @param visitor  a vistor object.
+   * @return a proxy for the given visitor.
+   */
+  public static WSDLTraversal adapt(Object visitor)
+  {
+    WSDLTraversal traversal = new WSDLTraversal();
+
+    if (visitor == null)
+      throw new IllegalArgumentException("Visitor object can not be NULL");
+
+    VisitorAdaptor adaptor = new VisitorAdaptor(visitor);
+
+    // check whether methods are implemented
+    // get real class of the object
+    Class c = visitor.getClass();
+    // iterates through wsdl artifacts and looking for
+    // void visit(XXX) implemented methods.  
+    for (int i = 0; i < wsdl.length; i++)
+      try
+      {
+        // if method is not found the exception will be thrown
+        Method m =
+          c.getMethod(
+            "visit",
+            new Class[] { wsdl[i], Object.class, WSDLTraversalContext.class });
+        // register binding WSDLVisitor method -> target visitor method
+        adaptor.addMethodBinding(
+          WSDLVisitor.class.getMethod(
+            "visit",
+            new Class[] { wsdl[i], Object.class, WSDLTraversalContext.class }),
+          m);
+        // register visitXXX in WSDLTraversalBuilder
+        m =
+          WSDLTraversal.class.getMethod(
+            "visit" + getName(wsdl[i]),
+            new Class[] { boolean.class });
+        m.invoke(traversal, new Object[] { Boolean.TRUE });
+      }
+      catch (Exception e)
+      {
+      }
+
+    // construct the WSDLVisitor by using java.lang.reflect.Proxy
+    ClassLoader loader = Thread.currentThread().getContextClassLoader();
+    WSDLVisitor wsdlVisitor =
+      (WSDLVisitor) Proxy.newProxyInstance(loader, visitorClass, adaptor);
+    // traverse WSDL document
+    traversal.setVisitor(wsdlVisitor);
+    return traversal;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversal.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLTraversalContext.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/traversal/WSDLVisitor.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java
new file mode 100644
index 0000000..bdafbd9
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
+
+import java.io.IOException;
+import java.io.InputStream;
+import org.apache.xerces.xni.XMLResourceIdentifier;
+import org.apache.xerces.xni.XNIException;
+import org.apache.xerces.xni.parser.XMLEntityResolver;
+import org.apache.xerces.xni.parser.XMLInputSource;
+
+/**
+ * Entity resolve to resolve file entities.
+ */
+public class FileEntityResolver implements XMLEntityResolver
+{
+
+  /**
+   * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
+   */
+  public XMLInputSource resolveEntity(XMLResourceIdentifier resource) throws XNIException, IOException
+  {
+    String publicId = resource.getPublicId();
+    String systemId = resource.getExpandedSystemId();
+    String url = systemId;
+    if(url == null)
+    {
+      url = publicId;
+    }
+    if(url == null)
+    {
+      url = resource.getNamespace();
+    }
+    if(url != null)
+    {
+      InputStream is = new LazyURLInputStream(url);
+      return new XMLInputSource(publicId, systemId, systemId, is, null);
+    }
+    return null;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaGenerator.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java
new file mode 100644
index 0000000..aec05ba
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java
@@ -0,0 +1,241 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
+
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.wsdl.Definition;
+import javax.wsdl.Types;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+import com.ibm.wsdl.Constants;
+
+/**
+ * Plugin validator for the WSDL Validation framework. Validates inline schema found in a WSDL document.
+ * 
+ * @author Lawrence Mandel (lmandel@ca.ibm.com)
+ */
+public class InlineSchemaValidator
+{
+  List elements = null;
+
+
+  public Map validate(Object element, List parents, String filename) throws Exception
+  {
+  	elements = new Vector();
+    UnknownExtensibilityElement elem = (UnknownExtensibilityElement) element;
+    Definition wsdlDefinition = (Definition) parents.get(parents.size() - 1);
+    // Add in the namespaces defined in the doc already that aren't defined locally in this schema.
+    // There is no need to check for namespaces other then in the defintions and types elements as
+    // inline schema can not have any other parents and must have there two parents.
+    // First take care of the definitions element
+
+    // create the inline schema string
+	Element w3celement = elem.getElement();
+	Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,w3celement);
+	String targetNamespace = w3celement.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
+	// if the targetNamespace hasn't been defined for the schema use the 
+	// targetNamespace of the definitions element
+	/*if(targetNamespace == null || targetNamespace.equals(""))
+	 {
+	  targetNamespace = wsdlDefinition.getTargetNamespace();
+	  w3celement.setAttribute(Constants.ATTR_TARGET_NAMESPACE,targetNamespace);
+	}*/
+
+	String xsd = InlineSchemaGenerator.createXSDString(w3celement, elements, filename, parentnamespaces);
+
+    // If the namespace given is one of the old schema namespaces produce a warning.
+    String namespace = w3celement.getNamespaceURI();
+    if(namespace.equals(Constants.NS_URI_XSD_1999) || namespace.equals(Constants.NS_URI_XSD_2000))
+    {
+      throw new Exception("An old version of the schema namespace is specified.");
+    }
+
+    // now create and call the validator for the inline schema
+    XSDValidator schemav = new XSDValidator();
+
+    //String fileLocation = new URL(validatormanager.getFilename()).getPath();
+    InlineXSDResolver inlineEntityResolver =
+      getEntityResolver(wsdlDefinition, (Types) parents.get(0), filename, targetNamespace);
+    //	add in the external XSD Catalog to resolve schemas offline
+    XMLEntityResolverChain entityResolverChain = new XMLEntityResolverChain();
+    entityResolverChain.addEntityResolver(inlineEntityResolver);
+    entityResolverChain.addEntityResolver(new FileEntityResolver());
+    entityResolverChain.addEntityResolver(XMLCatalogResolver.getInstance());
+    schemav.validateInlineSchema(xsd, targetNamespace, filename, entityResolverChain, inlineEntityResolver);
+
+    // check if the SOAP Encoding namespace is required but not imported
+    if (InlineSchemaGenerator.soapEncodingRequiredNotImported(elem.getElement(), filename,parentnamespaces))
+    {
+      throw new Exception("The inline schema uses an element or type from "
+        + "the SOAP encoding namespace but the namespace has not been imported. "
+        + "The SOAP encoding namespace should be imported with an import "
+        + "statement before it is used.");
+    }
+
+    // If the schema isn't valid
+    if (!schemav.isValid())
+    {
+      // Gathering all the errors
+      StringBuffer exception = new StringBuffer();
+      Iterator i = schemav.getErrors().iterator();
+      while (i.hasNext())
+      {
+        exception.append(i.next()).append('\n');
+      }
+      // throw an exception
+      throw new Exception(exception.toString());
+    }
+    // if the schema is valid
+    else
+    {
+      Map map = new HashMap(1);
+      map.put(targetNamespace, schemav.getXSModel());
+      return map;
+    }
+  }
+
+  /**
+   * Get an entity resolver that will resolve inline schemas.  Every inline schema is preregistered with
+   * the resolver.
+   * 
+   * @param wsdlDefinition The WSDL definitions element.
+   * @param types The types element.
+   * @param referenceLocation The location of the file that contains this schema.
+   * @param targetNamespace The targetNamespace of the schema.
+   * @return An entity resolver that can resolve inline schemas.
+   */
+  protected InlineXSDResolver getEntityResolver(Definition wsdlDefinition, Types types, String referenceLocation, String targetNamespace)
+  {
+    InlineXSDResolver entityResolver = new InlineXSDResolver();
+//    entityResolver.setReferenceLocation(referenceLocation);
+    List schemas = types.getExtensibilityElements();
+    if (schemas != null)
+    {
+      Iterator iSchemas = schemas.iterator();
+      while (iSchemas.hasNext())
+      {
+        UnknownExtensibilityElement extElem = (UnknownExtensibilityElement) iSchemas.next();
+        String thisNamespace = extElem.getElement().getAttribute(Constants.ATTR_TARGET_NAMESPACE);
+        if (thisNamespace != null && !thisNamespace.equalsIgnoreCase(targetNamespace))
+        {
+
+        	Element element = extElem.getElement();
+			
+//			create the inline schema string
+			 //Element w3celement = elem.getElement();
+			 Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,element);
+			 String xsd = InlineSchemaGenerator.createXSDString(element, elements, referenceLocation, parentnamespaces);
+        	//addNamespaceDeclarationsFromParents(wsdlDefinition,element);
+          entityResolver.add(thisNamespace, xsd);
+        }
+
+      }
+    }
+    return entityResolver;
+  }
+  
+  /**
+   * Get the namespace declarations as in the form 
+   * xmlns="somenamespace"
+   * from the definitions and types elements and add them to the schema element so the schema 
+   * validator will have access to them.
+   * 
+   * @param wsdlDefinition The WSDL definitions element.
+   * @param element The types element.
+   * @return A hashtable with the namespace elements from the elements provided.
+   */
+  protected Hashtable getNamespaceDeclarationsFromParents(Definition wsdlDefinition, Element element)
+  {
+  	Hashtable nss = new Hashtable();
+    Iterator nameSpaces = wsdlDefinition.getNamespaces().keySet().iterator();
+
+    String XMLNS = Constants.ATTR_XMLNS;
+    
+    while (nameSpaces.hasNext())
+    {
+      String nsprefix = XMLNS;
+      String ns = (String) nameSpaces.next();
+      if (!ns.equalsIgnoreCase(""))
+      {
+        nsprefix += ":";
+      }
+      if (!element.hasAttribute(nsprefix + ns))
+      {
+      	nss.put(nsprefix + ns, wsdlDefinition.getNamespace(ns));
+//        element.setAttribute(nsprefix + ns, wsdlDefinition.getNamespace(ns));
+      }
+
+    }
+    // Next handle the parent types element
+    NamedNodeMap atts = element.getParentNode().getAttributes();
+    int attslength = atts.getLength();
+    for (int i = 0; i < attslength; i++)
+    {
+      Node tempnode = atts.item(i);
+      String nodename = tempnode.getNodeName();
+      // if this is a namespace attribute
+      if (nodename.indexOf(XMLNS) != -1)
+      {
+		nss.put(nodename,  tempnode.getNodeValue());
+        //element.setAttribute(nodename, tempnode.getNodeValue());
+      }
+    }
+    return nss;
+  }
+  
+  /**
+   * Given a line number for the schema returns the element found on that line. 
+   * Useful for obtaining elements from schema Strings.
+   * 
+   * @param line The line number for the schema.
+   * @return The object located at the line or at line 0 if the line is invalid.
+   */
+   public Object getObjectAtLine(int line)
+   {
+   	if(line < 0 || line >= elements.size())
+   	{
+   	  line = 0;
+   	}
+	return elements.get(line);
+   }
+   
+  /**
+   * Replace any instance of the 2001 schema namespace in the given message with
+   * the given namespace.
+   * 
+   * @param message The message to replace the namespace in.
+   * @param namespace The namespace used for replacement.
+   * @return The message with the 2001 schema namespace replaced by the given namespace.
+   */
+ // private String replaceNamespace(String message, String namespace)
+ //  {
+ //    String xsd2001 = Constants.NS_URI_XSD_2001;
+ //    int start = message.indexOf(xsd2001);
+ //    int end = start + xsd2001.length();
+ //    if(start < 0)
+ //    {
+ //      return message;
+ //    }
+ //    String startString = message.substring(0,start);
+ //    String endString = message.substring(end,message.length());
+ //    return startString + namespace + endString;
+ //  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java
new file mode 100644
index 0000000..a9d5a79
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.Hashtable;
+
+import org.apache.xerces.xni.XMLResourceIdentifier;
+import org.apache.xerces.xni.XNIException;
+import org.apache.xerces.xni.parser.XMLEntityResolver;
+import org.apache.xerces.xni.parser.XMLInputSource;
+
+/**
+ * An XMLEntityResolver that allows inline schemas to resolve each other through imports.
+ * 
+ * @author Lawrence Mandel (lmandel@ca.ibm.com)
+ */
+public class InlineXSDResolver implements XMLEntityResolver
+{
+  protected Hashtable entities = new Hashtable();
+  protected XMLInputSource referringSchemaInputSource = null;
+  protected String referringSchemaNamespace = null;
+
+  /**
+   * Constuctor.
+   */
+  public InlineXSDResolver()
+  {
+  }
+
+  /* (non-Javadoc)
+   * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
+   */
+  public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier)
+		 throws XNIException, IOException {
+	String systemId = resourceIdentifier.getExpandedSystemId();
+	String publicId = resourceIdentifier.getPublicId();
+	String namespace = resourceIdentifier.getNamespace();
+	XMLInputSource is = null;
+	String schema = null;
+	if (systemId == null)
+	{
+	  if(publicId == null)
+	  {
+	  	if(namespace == null)
+	  	{	
+	      return null;
+	  	}
+	  	else
+	  	{
+	  		systemId = namespace;
+	  	}
+	  }
+	  else
+	  {	
+	    systemId = publicId;
+	  }
+	}
+	  
+	if(referringSchemaNamespace != null && referringSchemaNamespace.equals(systemId))
+	{
+		if(referringSchemaInputSource!=null)
+		{
+			return referringSchemaInputSource;
+		}
+	}
+	else if ((schema = (String) entities.get(systemId)) != null && !schema.equals(""))
+	{
+		is = new XMLInputSource(publicId, systemId, systemId,new StringReader(schema),null);
+	}
+	
+    //if(is == null)
+    //{
+    //	throw new IOException();
+    //}
+	return is;
+  }
+
+  /**
+   * Add an inline schema.
+   * 
+   * @param targetNamespace - the target namespace of the schema
+   * @param schema - a string representation of the schema
+   */
+  public void add(String targetNamespace, String schema)
+  {
+    entities.put(targetNamespace, schema);
+  }
+  
+  /**
+   * Add the referring inline schema. 
+   * 
+   * @param inputSource - a representation of the inline schema
+   * @param namespace - the namespace of the inline schema
+   */
+  public void addReferringSchema(XMLInputSource inputSource, String namespace)
+  {
+    referringSchemaInputSource = inputSource;
+    referringSchemaNamespace = namespace;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/LazyURLInputStream.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/SchemaAttributeTable.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/ValidateErrorHandler.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalog.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLCatalogResolver.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XMLEntityResolverChain.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java
new file mode 100644
index 0000000..bad3c71
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java
@@ -0,0 +1,190 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
+
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.xerces.parsers.XMLGrammarPreparser;
+import org.apache.xerces.util.XMLGrammarPoolImpl;
+import org.apache.xerces.xni.grammars.XMLGrammarDescription;
+import org.apache.xerces.xni.grammars.XMLGrammarPool;
+import org.apache.xerces.xni.grammars.XSGrammar;
+import org.apache.xerces.xni.parser.XMLEntityResolver;
+import org.apache.xerces.xni.parser.XMLInputSource;
+import org.apache.xerces.xs.XSModel;
+
+
+/**
+ * Validate schemas from files or String.
+ * 
+ * @author Lawrence Mandel (lmandel@ca.ibm.com)
+ */
+public class XSDValidator
+{
+  private XSModel xsModel;
+  private boolean isValidXSD;
+  private List errors;
+  private String filelocation;
+
+  /**
+   * Constructor.
+   */
+  public XSDValidator()
+  {
+    xsModel = null;
+    isValidXSD = false;
+    errors = new ArrayList();
+  }
+  /**
+   * Validate an inline schema.
+   * 
+   * @param schema A schema represented as a string.
+   * @param targetNamespace The target namespace of the schema.
+   * @param fileloc The uri of the file that contains the schema.
+   */
+  public void validateInlineSchema(String schema, String targetNamespace, String fileloc)
+  {
+    validateInlineSchema(schema, targetNamespace, fileloc, null, null);
+  }
+
+  /**
+   * Validate an inline schema and specify an entity resolver.
+   * 
+   * @param schema This schema represented as a string.
+   * @param targetNamespace The target namespace of the schema.
+   * @param fileloc The uri of the file that contains this schema.
+   * @param entityResolverChain The entity resolver chain.
+   * @param inlineSchemaEntityResolver An inline schema resolver for this schema.
+   */
+  public void validateInlineSchema(
+    String schema,
+    String targetNamespace,
+    String fileloc,
+    XMLEntityResolver entityResolverChain,
+    XMLEntityResolver inlineSchemaEntityResolver)
+  {
+    filelocation = fileloc;
+
+    validateXSD(schema, true, entityResolverChain,targetNamespace, inlineSchemaEntityResolver);
+  }
+
+  /**
+   * Validate the file located at the uri specified with the given entity resolver.
+   * 
+   * @param uri An absolute uri for the schema location.
+   * @param entityResolver An entity resolver to be used.
+   */
+  public void validate(String uri, XMLEntityResolver entityResolver)
+  {
+    validateXSD(uri, false, entityResolver, null, null);
+  }
+
+  /**
+   * Validate the schema.
+   * 
+   * @param schema The schema or it's location.
+   * @param inlineXSD True if an inline schema, false otherwise.
+   * @param entityResolver An entity resolver to use.
+   * @param targetNamespace The target namespace of the schema being validated.
+   * @param inlineSchemaEntityResolver An inline schema entity resolver.
+   */
+  protected void validateXSD(String schema, boolean inlineXSD, XMLEntityResolver entityResolver, String targetNamespace, XMLEntityResolver inlineSchemaEntityResolver)
+  {
+    ValidateErrorHandler errorHandler = new ValidateErrorHandler();
+    errorHandler.getErrorMessages().clear();
+    try
+    {
+		XMLGrammarPreparser grammarPreparser = new XMLGrammarPreparser();
+		XMLGrammarPool grammarPool = new XMLGrammarPoolImpl();
+		grammarPreparser.setGrammarPool(grammarPool);
+	 
+      grammarPreparser.setErrorHandler(errorHandler);
+      if (entityResolver != null)
+      {
+		grammarPreparser.setEntityResolver(entityResolver);
+      }
+
+      try
+      {
+		XMLInputSource is = null;
+        // this allows support for the inline schema in WSDL documents
+        if (inlineXSD)
+        {
+        	
+        	Reader reader = new StringReader(schema);
+			is = new XMLInputSource(null,filelocation,filelocation,reader,null);
+			
+			((InlineXSDResolver)inlineSchemaEntityResolver).addReferringSchema(is,targetNamespace);
+
+        }
+        // get the input source for an external schema file
+        else
+        {
+          is = new XMLInputSource(null,schema,schema);
+        }
+        
+        grammarPreparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA,null/*schemaLoader*/);
+        grammarPreparser.getLoader(XMLGrammarDescription.XML_SCHEMA);
+
+		XSGrammar grammar = (XSGrammar)grammarPreparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,is);
+		xsModel = grammar.toXSModel();
+      }
+      catch (Exception e)
+      {
+        //parser will return null pointer exception if the document is structurally invalid
+        errors.add("Schema is structurally invalid.");
+      }
+
+      errors.addAll(errorHandler.getErrorMessages());
+    }
+    catch (Exception e)
+    {
+    	System.out.println(e);
+    }
+    if (errors.isEmpty())
+    {
+      isValidXSD = true;
+    }
+  }
+
+  /**
+   * Returns the XSModel created.
+   * 
+   * @return The XSModel created.
+   */
+
+  public XSModel getXSModel()
+  {
+  	return xsModel;
+  }
+  /**
+   * Returns true if the schema is valid, false otherwise.
+   * 
+   * @return True if the schema is valid, false otherwise.
+   */
+  public boolean isValid()
+  {
+    return isValidXSD;
+  }
+
+  /**
+   * Return the error list.
+   * 
+   * @return A list of error from the schema.
+   */
+  public List getErrors()
+  {
+    return errors;
+  }
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLConvertor.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCache.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLDocumentCacheUser.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTags.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLTraversal.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java
new file mode 100644
index 0000000..137833d
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java
@@ -0,0 +1,1528 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.xml;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.WSITag;
+import org.eclipse.wst.wsi.internal.core.util.NullUtil;
+import org.w3c.dom.Attr;
+import org.w3c.dom.CharacterData;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.XMLReader;
+
+import com.ibm.wsdl.util.StringUtils;
+
+/**
+ * Set of XML related utilities.
+ * 
+ * @version 1.0.1
+ * @author Peter Brittenham
+ */
+public final class XMLUtils
+{
+	/**
+	 * Some sax features that need to be set.
+	 */
+	public static final String FEATURE_NAMESPACE_PREFIXES = "http://xml.org/sax/features/namespace-prefixes";
+	public static final String FEATURE_NAMESPACES = "http://xml.org/sax/features/namespaces";
+	public static final String FEATURE_VALIDATION_SCHEMA = "http://apache.org/xml/features/validation/schema";
+	public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
+	public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
+	public static final String W3C_SOAP_12_SCHEMA = "http://schemas.xmlsoap.org/soap/envelope/";
+	public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
+	public static final String PROPERTY_EXTERNAL_SCHEMA_LOCATION = "http://apache.org/xml/properties/schema/external-schemaLocation";
+
+	public static final String SOAP_ELEM_ENVELOPE = "Envelope";
+	public static final String SOAP_ELEM_HEADER = "Header";
+	public static final String SOAP_ELEM_BODY = "Body";
+	public static final String SOAP_ELEM_FAULT = "Fault";
+	public static final String SOAP_ELEM_FAULT_CODE = "faultcode";
+	public static final String SOAP_ELEM_FAULT_STRING = "faultstring";
+	public static final String SOAP_ELEM_FAULT_DETAIL = "detail";
+	public static final String SOAP_ELEM_FAULT_ACTOR = "faultactor";
+	public static final String SOAP_ATTR_MUST_UNDERSTAND = "mustUnderstand";
+	public static final String SOAP_ATTR_ACTOR = "actor";
+
+	/**
+	 * Get XMLReader.
+	 * 
+	 * @return the XMLReader value
+	 * @throws WSIException if there are problems getting the XMLReader
+	 *           implementation.
+	 */
+	public static XMLReader getXMLReader() throws WSIException {
+		XMLReader xmlReader = null;
+
+		try
+		{
+			xmlReader = (new org.apache.xerces.jaxp.SAXParserFactoryImpl())
+					.newSAXParser().getXMLReader();
+
+			// Set namespace aware
+			xmlReader.setFeature(FEATURE_NAMESPACE_PREFIXES, true);
+			xmlReader.setFeature(FEATURE_NAMESPACES, true);
+		}
+
+		catch (Exception e)
+		{
+			throw new WSIException("Could not get XMLReader implementation.", e);
+		}
+
+		return xmlReader;
+	}
+
+	/**
+	 * Parse text string as an XML document and return the document element.
+	 * 
+	 * @param text XML document text.
+	 * @param validate true if the document will be validate, false otherwise
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(String text, boolean validate)
+			throws WSIException {
+		return parseXML(new StringReader(text), validate);
+	}
+
+	/**
+	 * Parse text string as an XML document and return the document element.
+	 * 
+	 * @param text XML document text.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(String text) throws WSIException {
+		return parseXML(new StringReader(text));
+	}
+
+	/**
+	 * Parse the XML document and return the document element.
+	 * 
+	 * @param uri the location of the XML document.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 * @throws IOException if an I/O exception of some sort has occurred.
+	 */
+	public static Document parseXMLDocument(String uri) 
+	throws WSIException, IOException 
+	{
+		return parseXMLDocument(uri, null);
+	}
+
+	/**
+	 * Parse the XML document and return the document element.
+	 * 
+	 * @param uri the location of the XML document.
+	 * @param schema a String identifying related schema document.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 * @throws IOException if an I/O exception of some sort has occurred.
+	 */
+	public static Document parseXMLDocument(String uri, String schema)
+	throws WSIException, IOException 
+	{
+	      URL url = StringUtils.getURL(null, uri);
+	      InputStream inputStream = (InputStream)url.getContent();
+	      InputSource inputSource = new InputSource(inputStream);
+	      inputSource.setSystemId(url.toString());
+	      
+	      if (schema == null)
+	      	return parseXML(inputSource, false);
+	      else
+            return parseXML(inputSource, schema);
+	}
+
+	/**
+	 * Parses an XML document from a reader and returns the document object.
+	 * 
+	 * @param url a String locating the XML document.
+	 * @param schema a String identifying related schema document.
+	 * @param baseURI a base url to assist in locating the XML document.
+	 * @return Document.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXMLDocumentURL(String url, String schema,
+			String baseURI) throws WSIException {
+		try
+		{
+		  parseXMLDocumentURL(createURL(url, baseURI), schema);
+		}
+
+		catch (Exception e)
+		{
+			throw new WSIException(e.getMessage(), e);
+		}
+
+		return parseXMLDocumentURL(url, schema);
+	}
+
+	/**
+	 * Parses an XML document from a reader and returns the document object.
+	 * 
+	 * @param url a URL object identifying the XML document.
+	 * @param schema a String identifying related schema document.
+	 * @return Document.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXMLDocumentURL(URL url, String schema)
+			throws WSIException {
+		try
+		{
+	      InputStream inputStream = (InputStream)url.getContent();
+	      InputSource inputSource = new InputSource(inputStream);
+	      inputSource.setSystemId(url.toString());
+
+			Document doc = null;
+
+			if (schema == null)
+				doc = parseXML(inputSource);
+			else
+				doc = parseXML(inputSource, schema);
+
+			inputStream.close();
+			return doc;
+		}
+
+		catch (WSIException e)
+		{
+			throw e;
+		}
+
+		catch (Throwable t)
+		{
+			throw new WSIException(t.getMessage());
+		}
+	}
+
+	/**
+	 * Parses an XML document from a reader and returns the document object.
+	 * 
+	 * @param urlString a String locating the XML document.
+	 * @param baseURI a base url to assist in locating the XML document.
+	 * @return Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXMLDocumentURL(String urlString, String baseURI)
+			throws WSIException {
+		Document document = null;
+
+		try
+		{
+			URL url = createURL(urlString, baseURI);
+
+			document = parseXMLDocumentURL(url);
+		}
+
+		catch (WSIException we)
+		{
+			throw we;
+		}
+
+		catch (Exception e)
+		{
+			throw new WSIException(e.getMessage(), e);
+		}
+
+		return document;
+	}
+
+	/**
+	 * Parses an XML document from a reader and returns the document object.
+	 * 
+	 * @param url a URL object identifying the XML document.
+	 * @return Document.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXMLDocumentURL(URL url) throws WSIException {
+		Document document = null;
+
+		try
+		{
+			Reader reader = new InputStreamReader(url.openStream());
+			InputSource source = new InputSource(reader);
+			source.setSystemId(url.toString());
+			document = parseXML(source);
+
+			reader.close();
+		}
+
+		catch (Exception e)
+		{
+			throw new WSIException(e.getMessage(), e);
+		}
+
+		return document;
+	}
+
+	/**
+	 * Parse an XML document from a reader and return the document object.
+	 * 
+	 * @param reader a Reader object.
+	 * @param validate true if the document will be validate, false otherwise
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(InputSource source, boolean validate)
+			throws WSIException {
+		Document doc = null;
+		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
+		try
+		{
+    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
+
+  		  // Get the document factory
+		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
+
+		  // Set namespace aware, but for now do not validate
+		  factory.setNamespaceAware(true);
+		  factory.setIgnoringElementContentWhitespace(true);
+
+		  // ADD: This should be set to true when we have access to the schema
+		  // document
+		  factory.setValidating(false);
+
+ 		  // Parse the document
+		  DocumentBuilder builder = factory.newDocumentBuilder();
+		  doc = builder.parse(source);
+		  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
+		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
+		  // supported only XML 1.0
+		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
+		  {
+			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
+						"1.1"))
+			{
+				throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
+						+ "is not supported, only XML 1.0 is supported.");
+			}
+		  }
+		}
+		catch (Exception e)
+		{
+			throw new WSIException("Could not parse XML document.", e);
+		}
+	    finally
+	    { 
+	      Thread.currentThread().setContextClassLoader(currentLoader);
+	    }    
+
+		// Return document
+		return doc;
+	}
+
+	/**
+	 * Parse an XML document from a reader and return the document object.
+	 * 
+	 * @param reader a Reader object.
+	 * @param validate true if the document will be validate, false otherwise
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(Reader reader, boolean validate)
+			throws WSIException {
+		Document doc = null;
+		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
+		try
+		{
+		  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
+		
+		  // Create input source
+		  InputSource inputSource = new InputSource(reader);
+
+		  // Get the document factory
+		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
+
+		  // Set namespace aware, but for now do not validate
+		  factory.setNamespaceAware(true);
+		  factory.setIgnoringElementContentWhitespace(true);
+
+		  // ADD: This should be set to true when we have access to the schema
+		  // document
+		  factory.setValidating(false);
+
+		  // Parse the document
+		  DocumentBuilder builder = factory.newDocumentBuilder();
+		  doc = builder.parse(inputSource);
+	   	  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
+		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
+		  // supported only XML 1.0
+		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
+		  {
+			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
+						"1.1"))
+			{
+			  throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
+							+ "is not supported, only XML 1.0 is supported.");
+			}
+	      }
+		}
+		catch (Exception e)
+		{
+			throw new WSIException("Could not parse XML document.", e);
+		}
+	    finally
+	    { 
+	      Thread.currentThread().setContextClassLoader(currentLoader);
+	    }    
+
+		// Return document
+		return doc;
+	}
+
+	/**
+	 * Parse an XML document from a input source and return the document object.
+	 * 
+	 * @param source a InputSource object.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(Reader reader) throws WSIException {
+		return parseXML(reader, false);
+	}
+
+	/**
+	 * Parse an XML document from a input source and return the document object.
+	 * 
+	 * @param source a InputSource object.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(InputSource source) throws WSIException {
+		return parseXML(source, false);
+	}
+
+	/**
+	 * Parse text string as an XML document and return the document element.
+	 * 
+	 * @param text XML document text.
+	 * @param schema a String identifying related schema document.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(String text, String schema)
+			throws WSIException {
+		return parseXML(new StringReader(text), schema);
+	}
+
+	/**
+	 * Parse text string as an XML document and return the document element.
+	 * 
+	 * @param text XML document text.
+	 * @param schemas a collection of related schema documents.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(String text, Collection schemas)
+			throws WSIException {
+		return parseXML(new StringReader(text), schemas);
+	}
+
+
+	/**
+	 * Parse the XML document and return the document element.
+	 * 
+	 * @param text XML document text.
+	 * @param schemaString a StringReader object.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 * @throws IOException if an I/O exception of some sort has occurred.
+	 */
+	public static Document parseXML(String text, StringReader schemaString)
+			throws WSIException, IOException {
+		return parseXML(new StringReader(text), schemaString);
+	}
+
+	/**
+	 * Parse the XML document and return the document element.
+	 * 
+	 * @param reader a Reader object.
+	 * @param schema a String identifying related schema document.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(Reader reader, String schema)
+			throws WSIException {
+		Document doc = null;
+		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
+		try
+		{
+    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
+		  // Create input source
+		  InputSource inputSource = new InputSource(reader);
+
+		  // Get the document factory
+		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
+
+		  // Set namespace aware, but for now do not validate
+		  factory.setNamespaceAware(true);
+		  factory.setIgnoringElementContentWhitespace(true);
+
+		  try
+		  {
+		    factory.setValidating(false);
+			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
+ 		  }
+   		  catch (IllegalArgumentException e)
+		  {
+			String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
+					+ JAXP_SCHEMA_LANGUAGE
+					+ "\n"
+					+ "Check to see if parser conforms to JAXP 1.2 spec.";
+			throw new WSIException(errMessage, e);
+		  }
+		  factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schema));
+
+		  // Parse the document
+		  DocumentBuilder builder = factory.newDocumentBuilder();
+		  builder.setErrorHandler(new ErrHandler());
+		  doc = builder.parse(inputSource);
+
+		  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
+		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
+		  // supported only XML 1.0
+		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
+		  {
+			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals("1.1"))
+			{
+		 	  throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
+							+ "is not supported, only XML 1.0 is supported.");
+			}
+		  }
+	    }
+		catch (Exception e)
+		{
+			throw new WSIException("Could not parse XML document.", e);
+		}
+	    finally
+	    { 
+	      Thread.currentThread().setContextClassLoader(currentLoader);
+	    }    
+		// Return document
+    	return doc;
+	}
+
+	/**
+	 * Parse the XML document and return the document element.
+	 * 
+	 * @param reader a Reader object.
+	 * @param schema a String identifying related schema document.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(InputSource source, String schema)
+			throws WSIException {
+		Document doc = null;
+		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
+		try
+		{
+    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
+ 		  // Get the document factory
+		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
+
+		  // Set namespace aware, but for now do not validate
+		  factory.setNamespaceAware(true);
+		  factory.setIgnoringElementContentWhitespace(true);
+
+		  factory.setValidating(false);
+		  try
+		  {
+			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
+		  }
+
+		  catch (IllegalArgumentException e)
+		  {
+			String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
+					+ JAXP_SCHEMA_LANGUAGE
+					+ "\n"
+					+ "Check to see if parser conforms to JAXP 1.2 spec.";
+			throw new WSIException(errMessage, e);
+		  }
+		  factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schema));
+
+          // Parse the document
+		  DocumentBuilder builder = factory.newDocumentBuilder();
+		  builder.setErrorHandler(new ErrHandler());
+		  doc = builder.parse(source);
+
+		  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
+		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
+		  // supported only XML 1.0
+		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
+		  {
+			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
+						"1.1"))
+			{
+				throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
+						+ "is not supported, only XML 1.0 is supported.");
+			}
+		  }
+		}
+		catch (Exception e)
+		{
+			throw new WSIException("Could not parse XML document.", e);
+		}
+	    finally
+	    { 
+	      Thread.currentThread().setContextClassLoader(currentLoader);
+	    }    
+
+		// Return document
+		return doc;
+
+	}
+
+	/**
+	 * Parse the XML document and return the document element.
+	 * 
+	 * @param filename a Reader object.
+	 * @param schemaString a StringReader object.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(Reader filename, StringReader schemaString)
+			throws WSIException {
+
+		Document doc = null;
+		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
+		try
+		{
+    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
+
+		  // Create input source
+		  InputSource inputSource = new InputSource(filename);
+
+		  // Get the document factory
+		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
+
+		  // Set namespace aware, but for now do not validate
+		  factory.setNamespaceAware(true);
+		  factory.setIgnoringElementContentWhitespace(true);
+
+		  factory.setValidating(false);
+		  try
+		  {
+			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
+		  } catch (IllegalArgumentException e)
+		  {
+			String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
+					+ JAXP_SCHEMA_LANGUAGE
+					+ "\n"
+					+ "Check to see if parser conforms to JAXP 1.2 spec.";
+			throw new WSIException(errMessage, e);
+		  }
+		  factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schemaString));
+
+		  // Parse the document
+		  DocumentBuilder builder = factory.newDocumentBuilder();
+		  builder.setErrorHandler(new ErrHandler());
+		  doc = builder.parse(inputSource);
+		}
+		catch (Exception e)
+		{
+			throw new WSIException("Could not parse XML document.", e);
+		}
+	    finally
+	    { 
+	      Thread.currentThread().setContextClassLoader(currentLoader);
+	    }    
+
+		// Return document
+		return doc;
+
+	}
+
+	/**
+	 * Parse the XML document and return the document element.
+	 * 
+	 * @param filename a Reader object
+	 * @param schemaStrings a collection of related schema documents.
+	 * @return a Document object.
+	 * @throws WSIException if there is a problem parsing the XML document.
+	 */
+	public static Document parseXML(Reader filename, Collection schemaStrings)
+			throws WSIException {
+
+		Document doc = null;
+		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
+		try
+		{
+    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
+
+		  // Create input source
+		  InputSource inputSource = new InputSource(filename);
+
+		  // Get the document factory
+		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
+
+		  // Set namespace aware, but for now do not validate
+		  factory.setNamespaceAware(true);
+		  factory.setIgnoringElementContentWhitespace(true);
+
+		  factory.setValidating(false);
+		  try
+		  {
+			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
+		  } catch (IllegalArgumentException e)
+		  {
+		    String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
+					+ JAXP_SCHEMA_LANGUAGE
+					+ "\n"
+					+ "Check to see if parser conforms to JAXP 1.2 spec.";
+			throw new WSIException(errMessage, e);
+		  }
+		  // convert schema strings to array of InputSources
+		  Iterator i = schemaStrings.iterator();
+		  Vector readers = new Vector();
+		  while (i.hasNext())
+		  {
+			String nextSchema = (String) i.next();
+			readers.add(new InputSource(new StringReader(nextSchema)));
+		  }
+		  InputSource[] inputSources = (InputSource[]) readers
+				.toArray(new InputSource[]{});
+		  // pass an array of schema strings (each of which contains a schema)
+		  factory.setAttribute(JAXP_SCHEMA_SOURCE, inputSources);
+
+		  // Parse the document
+		  DocumentBuilder builder = factory.newDocumentBuilder();
+		  builder.setErrorHandler(new ErrHandler());
+		  doc = builder.parse(inputSource);
+		}
+		catch (Exception e)
+		{
+			throw new WSIException("Could not parse XML document.", e);
+		}
+	    finally
+	    { 
+	      Thread.currentThread().setContextClassLoader(currentLoader);
+	    }    
+
+		// Return document
+		return doc;
+
+	}
+
+	/**
+	 * Get attribute value with the given name defined for the specified element.
+	 * 
+	 * @param element an Element object.
+	 * @param attrName a name of an attribute
+	 * @return the attribute value.
+	 */
+	public static String getAttributeValue(Element element, String attrName) {
+		String attrValue = null;
+		Attr attr = null;
+
+		// Get the attribute using its name
+		if ((attr = element.getAttributeNode(attrName)) != null)
+		{
+			attrValue = attr.getValue().trim();
+		}
+
+		// Return attribute value
+		return attrValue;
+	}
+
+	/**
+	 * Get attribute value.
+	 * 
+	 * @param element an Element object.
+	 * @param attrName a name of an attribute
+	 * @param defaultValue a default value for the specified attribute.
+	 * @return the attribute value if found. Otherwise the specified default
+	 *         value.
+	 */
+	public static String getAttributeValue(Element element, String attrName,
+			String defaultValue) {
+		String returnValue = defaultValue;
+		String attrValue = null;
+
+		if ((attrValue = getAttributeValue(element, attrName)) != null)
+			returnValue = attrValue;
+
+		return returnValue;
+	}
+
+	/**
+	 * Get attribute value.
+	 * 
+	 * @param element an Element object.
+	 * @param namespace a namespace.
+	 * @param attrName a name of an attribute
+	 * @return the attribute value.
+	 */
+	public static String getAttributeValueNS(Element element, String namespace,
+			String attrName) {
+		String attrValue = null;
+		Attr attr = null;
+
+		// Get the attribute using its name
+		if ((attr = element.getAttributeNodeNS(namespace, attrName)) != null)
+		{
+			attrValue = attr.getValue().trim();
+		}
+
+		// Return attribute value
+		return attrValue;
+	}
+
+	/**
+	 * Get the first child element from the input elment.
+	 * 
+	 * @param element an Element object.
+	 * @return the firstchild element.
+	 */
+	public static Element getFirstChild(Element element) {
+		// Return the first child element
+		return findNextSibling(element.getFirstChild());
+	}
+
+	/**
+	 * Get the next sibling element.
+	 * 
+	 * @param element - an Element object.
+	 * @return the next sibling element.
+	 */
+	public static Element getNextSibling(Element element) {
+		// Return next sibling element
+		return findNextSibling(element.getNextSibling());
+	}
+
+	/**
+	 * Find the next sibling element.
+	 * 
+	 * @param startNode XML start node.
+	 * @return the next sibling element.
+	 */
+	protected static Element findNextSibling(Node startNode) {
+		Node node = null;
+		Element returnElement = null;
+
+		// Find the next sibling element
+		for (node = startNode; node != null && returnElement == null; node = node
+				.getNextSibling())
+		{
+			// If this node is an element node, then return it
+			if (node.getNodeType() == Node.ELEMENT_NODE)
+			{
+				returnElement = (Element) node;
+			}
+		}
+
+		// Return next sibling element
+		return (Element) returnElement;
+	}
+
+	/**
+	 * Find the previous sibling element.
+	 * 
+	 * @param startNode XML start node.
+	 * @return the previous sibling element.
+	 */
+	public static Element findPreviousSibling(Node startNode) {
+		if (startNode == null)
+			return null;
+
+		while (startNode != null)
+		{
+			startNode = startNode.getPreviousSibling();
+			if (startNode == null)
+				return null;
+			if (startNode.getNodeType() == Node.ELEMENT_NODE)
+				return (Element) startNode;
+		}
+
+		return null;
+	}
+
+	/**
+	 * Get the text that is associated with this element.
+	 * 
+	 * @param element an Element object.
+	 * @return the text that is associated with this element.
+	 */
+	public static String getText(Element element) {
+		String text = null;
+
+		// Get first child element
+		Node node = element.getFirstChild();
+
+		// NodeList nodeList = element.getChildNodes();
+
+		// int length = nodeList.getLength();
+
+		// Process while there are nodes and the text hasn't been found
+		while ((node != null) && (text == null))
+		{
+			// If a text node or cdata section is found, then get text
+			if ((node.getNodeType() == Node.TEXT_NODE)
+					|| (node.getNodeType() == Node.CDATA_SECTION_NODE))
+			{
+				text = ((CharacterData) node).getData();
+			}
+
+			// Get next sibling
+			node = node.getNextSibling();
+		}
+
+		if (text != null)
+			text = text.trim();
+
+		return text;
+	}
+
+	/**
+	 * Determine if an element is represented by the QName.
+	 * 
+	 * @param qname a QName object.
+	 * @param element an Element object.
+	 * @return true if an element is represented by the QName.
+	 */
+	public static boolean equals(QName qname, Element element) {
+		boolean equals = false;
+
+		// If both the namespace URI and local name are the same, then they are
+		// equal
+		if ((qname.getNamespaceURI().equals(element.getNamespaceURI()))
+				&& (qname.getLocalPart().equals(element.getLocalName())))
+		{
+			equals = true;
+		}
+
+		return equals;
+	}
+
+	/**
+	 * XML encode a text string.
+	 * 
+	 * @param text - a String.
+	 * @return an XML encoded text string.
+	 */
+	public static String xmlEscapedString(String text) 
+	{
+	  if (text == null) return text;
+	  else
+	  {
+	    StringBuffer sb = new StringBuffer(text.length()*2);
+	    int size = text.length();
+	    for (int i=0; i<size; i++)
+	    {
+	      char c = text.charAt(i);
+	      switch (c)
+		  {
+             case '<': 
+               sb.append("&lt;");
+               break;
+             case '>': 
+             	sb.append("&gt;");
+                break;
+             case '&': 
+             	sb.append("&amp;");
+                break;
+             case '"': 
+             	sb.append("&quot;");
+                break;
+             case '\'': 
+             	sb.append("&apos;");
+                break;
+             case '\r': 
+             	sb.append("&#xd;");
+                break;
+             default:
+             	sb.append(c);
+		  }
+		}
+	    return  sb.toString();
+	  }
+	}
+
+	/**
+	 * XML encode a text string.
+	 * 
+	 * @param text - a String.
+	 * @return an XML encoded text string.
+	 */
+	public static String xmlRemoveEscapedString(String text) 
+	{
+	  if (text == null) return text;
+	  else
+	  {
+        StringBuffer sb = new StringBuffer(text);
+      
+	    int i = sb.indexOf("&#xd;");
+	    while(i != -1)
+	    {
+	      sb.replace(i, i+5, "\r");
+	      i = sb.indexOf("&#xd;");
+	    }
+	    
+	    i = sb.indexOf("&lt;");
+	    while(i != -1)
+	    {
+	      sb.replace(i, i+4, "<");
+	      i = sb.indexOf("&lt;");
+	    }
+
+	    i = sb.indexOf("&gt;");
+	    while(i != -1)
+	    {
+	      sb.replace(i, i+4, ">");
+	      i = sb.indexOf("&gt;");
+	    }
+
+	    i = sb.indexOf("&quot;");
+	    while(i != -1)
+	    {
+	      sb.replace(i, i+6, "\"");
+	      i = sb.indexOf("&quot;");
+	    }
+
+	    i = sb.indexOf("&apos;");
+	    while(i != -1)
+	    {
+	      sb.replace(i, i+6, "\'");
+	      i = sb.indexOf("&apos;");
+	    }
+
+	    i = sb.indexOf("&amp;");
+	    while(i != -1)
+	    {
+	      sb.replace(i, i+5, "&");
+	      i = sb.indexOf("&amp;");
+	    }
+ 	    return  sb.toString();
+	  }
+	}
+	/**
+	 * Get the specified element from a parent element.
+	 * 
+	 * @param elementName the element tag to serach for.
+	 * @param parentElement the parent element.
+	 * @return an element given the name and the parent element.
+	 */
+	public static Element getElement(String elementName, Element parentElement) {
+		Element returnElement = null;
+		NodeList nl;
+
+		// Get the list of elements
+		if ((nl = parentElement.getElementsByTagName(elementName)) != null)
+		{
+			// Return first element found
+			returnElement = (Element) nl.item(0);
+		}
+
+		// Return element
+		return returnElement;
+	}
+
+	/**
+	 * Determine if this element matches specified local name in the specified
+	 * namespace.
+	 * 
+	 * @param element an Element object.
+	 * @param namespaceURI a namespace.
+	 * @param localName a local name.
+	 * @return true if this element matches specified local name in the specified
+	 *         namespace.
+	 */
+	public static boolean isElement(Element element, String namespaceURI,
+			String localName) {
+		boolean isElement = false;
+
+		if (element != null)
+		{
+			// Check is
+			if (element.getNamespaceURI().equals(namespaceURI)
+					&& element.getLocalName().equals(localName))
+			{
+				isElement = true;
+			}
+		}
+
+		return isElement;
+	}
+
+	/**
+	 * Determine if this element matches specified local name in the specified
+	 * namespace.
+	 * 
+	 * @param element an Element object.
+	 * @param namespaceURIs a list of valid namespaces.
+	 * @param localName a local name.
+	 * @return true if this element matches specified local name in the specified
+	 *         namespace.
+	 */
+	public static boolean isElement(Element element, List namespaceURIs,
+			String localName) {
+		boolean isElement = false;
+
+		if (element != null)
+		{
+			// Check is
+			if (namespaceURIs.contains(element.getNamespaceURI())
+					&& element.getLocalName().equals(localName))
+			{
+				isElement = true;
+			}
+		}
+
+		return isElement;
+	}
+
+	/**
+	 * Get element text as a boolean.
+	 * 
+	 * @param element an Element object.
+	 * @param defaultValue a boolean to be used as a default value.
+	 * @return element text as a boolean value.
+	 */
+	public static boolean getBooleanValue(Element element, boolean defaultValue) {
+		boolean returnValue = defaultValue;
+		String booleanValue = null;
+
+		// Get value as a string
+		if ((booleanValue = XMLUtils.getText(element)) != null)
+		{
+			returnValue = Boolean.valueOf(booleanValue).booleanValue();
+		}
+
+		// Return boolean
+		return returnValue;
+	}
+
+	/**
+	 * Get attribute value as a boolean.
+	 * 
+	 * @param element an Element object.
+	 * @param attrName a name of an attribute.
+	 * @param defaultValue a boolean to be used as a default value.
+	 * @return attribute value as a boolean.
+	 */
+	public static boolean getBooleanValue(Element element, String attrName,
+			boolean defaultValue) {
+		boolean returnValue = defaultValue;
+		String booleanValue = null;
+
+		// Get value as a string
+		if ((booleanValue = XMLUtils.getAttributeValue(element, attrName)) != null)
+		{
+			returnValue = Boolean.valueOf(booleanValue).booleanValue();
+		}
+
+		// Return boolean
+		return returnValue;
+	}
+
+	/**
+	 * Create QName.
+	 * 
+	 * @param qnameString a qualified name.
+	 * @return a QName object.
+	 */
+	public static QName createQName(String qnameString) {
+		QName qname = null;
+
+		// Locate local part
+		int index = qnameString.lastIndexOf(":");
+
+		// Create new QName
+		if (index != -1)
+		{
+			qname = new QName(qnameString.substring(0, index), qnameString
+					.substring(index + 1));
+		}
+
+		else
+		{
+			qname = new QName(qnameString);
+		}
+
+		return qname;
+	}
+
+	/**
+	 * Error Handler
+	 */
+	private static class ErrHandler implements ErrorHandler
+	{
+		/**
+		 * Warning
+		 */
+		public void warning(SAXParseException spe) throws SAXException {
+			String message = "Warning: " + spe.getMessage();
+			throw new SAXException(message);
+		}
+
+		/**
+		 * Error
+		 */
+		public void error(SAXParseException spe) throws SAXException {
+			String message = "Error: " + spe.getMessage();
+			throw new SAXException(message);
+		}
+
+		/**
+		 * Fatal Error
+		 */
+		public void fatalError(SAXParseException spe) throws SAXException {
+			String message = "Fatal Error: " + spe.getMessage();
+			throw new SAXException(message);
+		}
+	}
+
+	/**
+	 * Determine if the string is a NMTOKEN data type.
+	 * 
+	 * @param text a string value.
+	 * @return true if the string is a NMTOKEN data type.
+	 */
+	public static boolean isNmtoken(String text) {
+		boolean nmtoken = true;
+
+		// ADD: Need to find a utility function that does this or write it from
+		// scratch
+
+		return nmtoken;
+	}
+
+	/**
+	 * The method searches the first direct descendant element with the given
+	 * qname.
+	 * 
+	 * @param parent parent DOM element.
+	 * @param elementName QName of the element to be searched.
+	 * @return DOM element if the required element found, and null otherwise.
+	 */
+	static public Element findChildElement(Element parent, QName elementName) {
+		if (parent == null)
+			throw new IllegalArgumentException("Parent element can not be NULL");
+		if (elementName == null)
+			throw new IllegalArgumentException("Element name can not be NULL");
+		if (elementName.getLocalPart() == null)
+			throw new IllegalArgumentException(
+					"Local part of the element name can not be NULL");
+
+		Node n = parent.getFirstChild();
+		String local = elementName.getLocalPart();
+		String ns = elementName.getNamespaceURI();
+		while (n != null)
+		{
+			if (Node.ELEMENT_NODE == n.getNodeType()
+					&& local.equals(n.getLocalName())
+					&& NullUtil.equals(ns, n.getNamespaceURI()))
+				return (Element) n;
+			n = n.getNextSibling();
+		}
+
+		return null;
+	}
+
+	/**
+	 * The method searches the first sibling element with the given qname.
+	 * 
+	 * @param active DOM element.
+	 * @param elementName QName of the element to be searched.
+	 * @return DOM element if the required element found, and null otherwise.
+	 */
+	static public Element findElement(Element active, QName elementName) {
+		if (active == null)
+			throw new IllegalArgumentException("Active element can not be NULL");
+		if (elementName == null)
+			throw new IllegalArgumentException("Element name can not be NULL");
+		if (elementName.getLocalPart() == null)
+			throw new IllegalArgumentException(
+					"Local part of the element name can not be NULL");
+
+		Node n = active.getNextSibling();
+		String local = elementName.getLocalPart();
+		String ns = elementName.getNamespaceURI();
+		while (n != null)
+		{
+			if (Node.ELEMENT_NODE == n.getNodeType()
+					&& local.equals(n.getLocalName())
+					&& NullUtil.equals(ns, n.getNamespaceURI()))
+				return (Element) n;
+			n = n.getNextSibling();
+		}
+
+		return null;
+	}
+
+	/**
+	 * The method returns attribute node by the given qname.
+	 * 
+	 * @param el owner element.
+	 * @param attributeName QName of the attribute node to be searched.
+	 * @return attribute node by the given qname.
+	 */
+	static public Attr getAttribute(Element el, QName attributeName) {
+		if (el == null)
+			throw new IllegalArgumentException("Element can not be NULL");
+		if (attributeName == null)
+			throw new IllegalArgumentException("Attribute name can not be NULL");
+		if (attributeName.getLocalPart() == null)
+			throw new IllegalArgumentException(
+					"Local part of the attribute name can not be NULL");
+
+		attributeName.getNamespaceURI();
+		attributeName.getLocalPart();
+		Attr a = el.getAttributeNodeNS(attributeName.getNamespaceURI(),
+				attributeName.getLocalPart());
+		if (a == null)
+			// try to get with null namespace
+			a = el.getAttributeNodeNS(null, attributeName.getLocalPart());
+		return a;
+	}
+
+	/**
+	 * The method compares node's name to the given qname.
+	 * 
+	 * @param n a node.
+	 * @param name a QName object.
+	 * @return true if the node's name is the same as the given qname.
+	 */
+	static public boolean equals(Node n, QName name) {
+		if (n == null || name == null)
+			return false;
+		return (NullUtil.equals(name.getLocalPart(), n.getLocalName()) && NullUtil
+				.equals(name.getNamespaceURI(), n.getNamespaceURI()));
+	}
+
+	/**
+	 * The method searches namespace URI for the given prefix. The searching
+	 * mechanism is implemented according to the "XML Namespaces resolution"
+	 * algorithm ('http://www.w3.org/TR/2003/WD-DOM-Level-3-
+	 * Core-20030226/namespaces-algorithms.html').
+	 * 
+	 * @param n a node.
+	 * @param prefix a prefix.
+	 * @return the namespace URI for the given prefix.
+	 */
+	static public String findNamespaceURI(Node n, String prefix) {
+		if (prefix == null)
+			return null;
+
+		while (n != null)
+		{
+			if (prefix.equals(n.getPrefix()))
+				return n.getNamespaceURI();
+
+			if (Node.ELEMENT_NODE == n.getNodeType())
+			{
+				NamedNodeMap m = n.getAttributes();
+				if (m != null)
+					for (int i = 0; i < m.getLength(); i++)
+					{
+						Node a = m.item(i);
+						if (WSITag.NS_URI_XMLNS.equals(a.getNamespaceURI())
+								&& prefix.equals(a.getLocalName()))
+							return a.getNodeValue();
+					}
+			}
+
+			n = n.getParentNode();
+		}
+
+		return null;
+	}
+
+	/**
+	 * Serializes element.
+	 * 
+	 * @param n a DOM element.
+	 * @return the serialized element.
+	 */
+	public static String serialize(Element n) {
+		String value = null;
+		try
+		{
+			StringWriter writer = new StringWriter();
+			XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
+					"UTF-8", true));
+			s.serialize(n);
+			value = writer.toString();
+			writer.close();
+		} catch (Throwable t)
+		{
+			// nothing
+			value = "EXCEPTION : " + t.getMessage();
+		}
+
+		return value;
+	}
+
+	/**
+	 * The method return list of child elements.
+	 * 
+	 * @param parent an org.w3c.dom.Element object.
+	 * @return list of child elements.
+	 */
+	static public Vector getChildElements(Element parent) {
+		if (parent == null)
+			throw new IllegalArgumentException("Element can not be NULL");
+
+		Vector vect = new Vector();
+		Element elem = getFirstChild(parent);
+		while (elem != null)
+		{
+			vect.add(elem);
+			elem = getNextSibling(elem);
+		}
+		return vect;
+	}
+
+	/**
+	 * Serializes document.
+	 * 
+	 * @param doc an org.w3c.dom.Document object.
+	 * @param writer a java.io.Writer object.
+	 * @throws Exception if unable to serialize the document.
+	 */
+	public static void serializeDoc(Document doc, Writer writer)
+			throws java.lang.Exception {
+		XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
+				"UTF-8", true));
+		s.serialize(doc);
+	}
+
+	/**
+	 * Serealizes element.
+	 * 
+	 * @param elem an org.w3c.dom.Element object.
+	 * @param writer a java.io.Writer object.
+	 * @throws Exception if unable to serialize the DOM element.
+	 */
+	public static void serializeElement(Element elem, Writer writer)
+			throws java.lang.Exception {
+		XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
+				"UTF-8", true));
+		s.serialize(elem);
+	}
+
+	/**
+	 * Remove all elements from list without namespace.
+	 * 
+	 * @param vect a list of elements.
+	 */
+	public static void removeAllElementsWithoutNS(Vector vect) {
+		for (int i = 0; i < vect.size();)
+		{
+			if (((Element) vect.get(i)).getNamespaceURI() == null
+					|| ((Element) vect.get(i)).getNamespaceURI().equals(""))
+				vect.remove(i);
+			else
+				i++;
+		}
+	}
+
+	/**
+	 * Create URL using base URI.
+	 * 
+	 * @param url a URL string.
+	 * @param baseURI a base url string to assist in creating a URL.
+	 * @return newly created URL.
+	 * @throws MalformedURLException if a malformed URL has occurred.
+	 */
+	public static URL createURL(String url, String baseURI)
+			throws MalformedURLException {
+		URL returnURL = null;
+		URI uri = null;
+		try
+		{
+            returnURL = new URL(url);
+			uri = new URI(url);
+			uri = uri.normalize();
+			returnURL =  new URL(uri.toString());
+		}
+
+		catch (Exception mue)
+		{
+			int i = baseURI.lastIndexOf('/');
+			int j = baseURI.lastIndexOf('\\');
+			if (j > i)
+				i = j;
+			try
+			{
+			  uri = new URI(baseURI.substring(0, i + 1) + url);
+			  uri = uri.normalize();
+			  returnURL = uri.toURL();
+			}
+			catch (Exception e)
+			{
+			  return new URL(baseURI.substring(0, i + 1) + url);
+			}
+		}
+		return returnURL;
+	}
+
+	/**
+	 * Create URL using base URI.
+	 * 
+	 * @param url a URL string.
+	 * @param baseURI a base url string to assist in creating a URL.
+	 * @return newly created URL string.
+	 * @throws MalformedURLException if a malformed URL has occurred.
+	 */
+	public static String createURLString(String url, String baseURI)
+			throws MalformedURLException {
+		return createURL(url, baseURI).toExternalForm();
+	}
+
+	/**
+	 * This method is used only for unit testing.
+	 * 
+	 * @param args arguments for main.
+	 */
+	public static void main(String[] args) {
+		try
+		{
+		  System.out.println("Filename: " + args[0] + ", schema: " + args[1]);
+		  parseXMLDocument(args[0], args[1]);
+		  System.out.println("Done.");
+		}
+
+		catch (Exception e)
+		{
+			System.err.println(e.toString());
+		}
+
+		System.exit(0);
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/XMLVisitor.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/DOMParser.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/dom/ElementLocation.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderFactoryImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/jaxp/DocumentBuilderImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/TargetNamespaceProcessor.java
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaProcessor.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
new file mode 100644
index 0000000..36ca130
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
@@ -0,0 +1,152 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.core.xml.schema;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.wst.wsi.internal.core.WSIException;
+import org.eclipse.wst.wsi.internal.core.util.TestUtils;
+import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+import com.ibm.wsdl.util.xml.DOM2Writer;
+
+/**
+ * This class is used to validate an XML Schema.
+ * 
+ * @author Peter  Brittenham (peterbr@us.ibm.com)
+ * @version 1.0.1
+ */
+public class XMLSchemaValidator extends XMLSchemaProcessor
+{
+  private static final String XMLNS_PREFIX = "xmlns:";
+
+  /**
+   * Constructor for XMLSchemaValidator.
+   * @param context       document context. 
+   * @param documentList  cache of previously parsed documents.
+   */
+  public XMLSchemaValidator(String context)
+  {
+    super(context);
+  }
+
+  protected void processSchema(Element element)
+  {
+    NamedNodeMap attrList;
+
+    HashMap elementMap = new HashMap();
+    HashMap nsMap = new HashMap();
+
+    try
+    {
+      // Get schema content as a string
+      String schema = DOM2Writer.nodeToString(element);
+
+      // Get list of element namespaces
+      if ((attrList = element.getAttributes()) != null)
+      {
+        addNamespaces(attrList, elementMap, null);
+      }
+
+      // If elementMap does not contain entry for it's own namespace, then add it
+      if (elementMap.get(XMLNS_PREFIX + element.getPrefix()) == null)
+      {
+        elementMap.put(
+          XMLNS_PREFIX + element.getPrefix(),
+          element.getNamespaceURI());
+      }
+
+      // Get first parent node and then process all of them until you hit the top of the document
+      Node parentNode = element.getParentNode();
+      while (parentNode != null)
+      {
+        // Only process Element nodes
+        if (parentNode.getNodeType() == Node.ELEMENT_NODE)
+        {
+          // Get the list of attributes for the parent node
+          attrList = parentNode.getAttributes();
+
+          // If there are attributes, look for the xmlns: attributes
+          if (attrList != null)
+          {
+            addNamespaces(attrList, nsMap, elementMap);
+          }
+        }
+
+        parentNode = parentNode.getParentNode();
+      }
+
+      // Build namespace list
+      if (nsMap.size() > 0)
+      {
+        String attr;
+        String namespaceList = "";
+        Iterator iterator = nsMap.keySet().iterator();
+        while (iterator.hasNext())
+        {
+          attr = (String) iterator.next();
+          namespaceList += " " + attr + "=\"" + nsMap.get(attr) + "\"";
+        }
+
+        // Add namespace settings, since the DOM2Writer will miss any that are used as attribute values
+        int index = schema.indexOf(">");
+        if (index > 0)
+        {
+          String start = schema.substring(0, index);
+          String end = schema.substring(index);
+
+          schema = start + namespaceList + end;
+        }
+      }
+
+      // Schema validate the XML schema document
+      XMLUtils.parseXML(schema, TestUtils.getXMLSchemaLocation());
+    }
+
+    catch (WSIException we)
+    {
+      Throwable t = we.getTargetException();
+      if (t != null)
+      {
+        returnList.add(t.getMessage());
+      }
+    }
+  }
+
+  private void addNamespaces(NamedNodeMap attrList, Map nsMap, Map elementMap)
+  {
+    Node attr;
+    String nodeName;
+
+    for (int i = 0; i < attrList.getLength(); i++)
+    {
+      attr = attrList.item(i);
+
+      // Get the attribute node name
+      nodeName = attr.getNodeName();
+
+      // If it starts with xmlns:, then determine if it should be added to the list of namespaces 
+      if (nodeName.startsWith(XMLNS_PREFIX)
+        && ((elementMap == null
+          || (elementMap != null && elementMap.get(nodeName) == null))))
+      {
+        if (nsMap.get(nodeName) == null)
+          nsMap.put(nodeName, attr.getNodeValue());
+      }
+    }
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/document/DocumentFactoryImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/report/AssertionError.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/AssertionError.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/report/AssertionError.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/AssertionError.java
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java
rename to bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/report/ReportNoWriterImpl.java
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java
new file mode 100644
index 0000000..b84694f
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java
@@ -0,0 +1,369 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.validate.wsdl;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ResourceBundle;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.Message;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.WSDLException;
+
+import org.eclipse.wst.wsdl.validation.internal.IValidationInfo;
+import org.eclipse.wst.wsdl.validation.internal.IWSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.ValidationInfoImpl;
+import org.eclipse.wst.wsdl.validation.internal.exception.ValidateWSDLException;
+import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolver;
+import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDL11ValidationInfoImpl;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDLDocument;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDLReaderImpl;
+import org.eclipse.wst.wsi.internal.WSIPreferences;
+import org.eclipse.wst.wsi.internal.WSITestToolsProperties;
+import org.eclipse.wst.wsi.internal.analyzer.WSDLAnalyzer;
+import org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException;
+import org.eclipse.wst.wsi.internal.core.WSIConstants;
+import org.eclipse.wst.wsi.internal.report.AssertionError;
+import org.w3c.dom.Document;
+
+/**
+ * The WSI validator plugs into the WSDL validator to provide
+ * validation for a WSDL document with respect to the WS-I Basic Profile (currently 1.0).
+ * This class acts as an bridge between the WS-I tools and the WSDL Validator.
+ * 
+ * @author Lawrence Mandel (lmandel@ca.ibm.com)
+ * @author Wajiha Rehman
+ */
+public class WSDLValidator implements IWSDLValidator
+{
+  protected final String _EXC_UNABLE_TO_VALIDATE_WSI = "_EXC_UNABLE_TO_VALIDATE_WSI";
+
+  // indications for types of errors
+  protected final int ERROR = 2;
+  protected final int WARNING = 1;
+  
+  protected MessageGenerator messagegenerator = null;
+  protected boolean wsiValid = false;
+
+  /**
+   * Constructor.
+   */
+  public WSDLValidator()
+  {
+  }
+
+  /* (non-Javadoc)
+   * @see org.eclipse.wsdl.validate.IWSDLValidator#validate(org.w3c.dom.Document, org.eclipse.wsdl.validate.ValidationInfo)
+   */
+  public void validate(Document domModel, IValidationInfo valInfo) throws ValidateWSDLException
+  {
+	boolean withAttachments = false;
+	boolean withBasic = false;
+	Object attValue = valInfo.getAttribute("http://ws-i.org/profiles/BasicWithAttachments/ComplianceLevel");
+	if(attValue == null)
+	{
+	  attValue = valInfo.getAttribute("http://ws-i.org/profiles/Basic/ComplianceLevel");
+   	  if(attValue != null)
+	  {
+	    withBasic = true;
+	  }
+	}
+	else
+	{
+	  withAttachments = true;
+	}
+	String wsiLevel = WSITestToolsProperties.WARN_NON_WSI;
+	if(attValue != null)
+	{
+	  String value = (String)attValue;
+	  if(value.equals("IGNORE"))
+	  {
+	  	wsiLevel = WSITestToolsProperties.IGNORE_NON_WSI;
+	  }
+	  else if(value.equals("REQUIRE"))
+	  {
+	   	wsiLevel = WSITestToolsProperties.STOP_NON_WSI;
+	  }
+	}
+	// If we are ignoring WS-I then don't run the tests.
+	if(wsiLevel.equals(WSITestToolsProperties.IGNORE_NON_WSI))
+	{
+	  return;
+	}
+	    
+  	wsiValid = true;
+  	Definition definition = null;
+	boolean hasAnalyzerConfig = false;
+	String uri = valInfo.getFileURI();
+  	try
+  	{
+      //WSDLFactory factory = WSDLFactory.newInstance();
+ 	  ValidationInfoImpl vali = new ValidationInfoImpl(valInfo.getFileURI(), messagegenerator);
+  	  vali.setURIResolver((URIResolver)valInfo.getURIResolver());
+      WSDLReaderImpl reader = new WSDLReaderImpl(new WSDL11ValidationInfoImpl(vali));
+      WSDLDocument[] docs = reader.readWSDL(uri, domModel);
+      int numdocs = docs.length;
+      for(int i = 0; i < numdocs; i++)
+      {
+        WSDLDocument tempDoc = docs[i];
+		if(tempDoc.getDefinition().getDocumentBaseURI().equals(valInfo.getFileURI()))
+        {
+          definition = tempDoc.getDefinition();  
+          break;
+        }
+      }
+  	}
+  	catch(WSDLException e)
+  	{
+  	  throw new ValidateWSDLException(messagegenerator.getString(_EXC_UNABLE_TO_VALIDATE_WSI,uri));
+  	}
+	    
+    if (definition != null && valInfo != null)
+    {
+      String namespace = definition.getTargetNamespace();
+
+      // get all the collections we may need to validate
+      Collection services = definition.getServices().values();
+      Collection bindings = definition.getBindings().values();
+      Collection portTypes = definition.getPortTypes().values();
+      Collection messages = definition.getMessages().values();
+
+      WSDLAnalyzer wsdlAnalyzer;
+	  if(withAttachments)
+	  {
+	  	WSIPreferences preferences = new WSIPreferences();
+   	    preferences.setComplianceLevel(wsiLevel);
+	    preferences.setTADFile(WSITestToolsProperties.AP_ASSERTION_FILE);
+	    wsdlAnalyzer = new WSDLAnalyzer(uri, preferences);
+	  }
+	  else if(withBasic)
+	  {
+	  	WSIPreferences preferences = new WSIPreferences();
+		preferences.setComplianceLevel(wsiLevel);	
+	    preferences.setTADFile(WSITestToolsProperties.SSBP_ASSERTION_FILE);
+	    wsdlAnalyzer = new WSDLAnalyzer(uri, preferences);
+	  }
+	  else
+	  {
+		// default preference setting
+	  	wsdlAnalyzer = new WSDLAnalyzer(uri);
+	  }
+
+	  // The WS-I conformance tools require that each service be analyzed separately.
+	  // Get all the services and analyze them.
+	  if (services != null && !services.isEmpty())
+	  {
+	    Iterator serviceIterator = services.iterator();
+
+	    while (serviceIterator.hasNext())
+        {
+          Service service = (Service) serviceIterator.next();
+
+          String servicename = service.getQName().getLocalPart();
+
+          Collection ports = service.getPorts().values();
+          if (ports != null && !ports.isEmpty())
+          {
+            // The WS-I tools must be called once for each port within each service.
+            Iterator portIterator = ports.iterator();
+            while (portIterator.hasNext())
+            {
+              Port port = (Port) portIterator.next();
+
+              try
+              {
+                wsdlAnalyzer.addConfigurationToTest(servicename, namespace, port.getName(), WSDLAnalyzer.PORT);
+				hasAnalyzerConfig = true;
+              }
+              catch (WSIAnalyzerException e)
+              {
+                // TODO: Add code to log error 
+                //System.out.println("exception " + e);
+              }
+
+            }
+          }
+        }
+      }
+      // validate at the binding level - check for every binding
+      else if (bindings != null && !bindings.isEmpty())
+      {
+        Iterator bindingIterator = bindings.iterator();
+
+        while (bindingIterator.hasNext())
+        {
+          Binding binding = (Binding) bindingIterator.next();
+
+          String bindingname = binding.getQName().getLocalPart();
+          try
+          {
+            wsdlAnalyzer.addConfigurationToTest(null, namespace, bindingname, WSDLAnalyzer.BINDING);
+			hasAnalyzerConfig = true;
+          }
+          catch (WSIAnalyzerException e)
+          {
+            // TODO: Add code to log error 
+            //System.out.println("exception " + e);
+          }
+        }
+      }
+      // validate at the portType level - check for every portType
+      else if (portTypes != null && !portTypes.isEmpty())
+      {
+        Iterator portTypeIterator = portTypes.iterator();
+        while (portTypeIterator.hasNext())
+        {
+          PortType portType = (PortType) portTypeIterator.next();
+          String portTypename = portType.getQName().getLocalPart();
+          try
+          {
+            wsdlAnalyzer.addConfigurationToTest(null, namespace, portTypename, WSDLAnalyzer.PORTTYPE);
+			hasAnalyzerConfig = true;
+          }
+          catch (WSIAnalyzerException e)
+          {
+            // TODO: Add code to log error 
+            //System.out.println("exception " + e);
+          }
+        }
+      }
+      // validate at the message level - check for every message
+      else if (messages != null && !messages.isEmpty())
+      {
+        Iterator messageIterator = messages.iterator();
+
+        while (messageIterator.hasNext())
+        {
+          Message message = (Message) messageIterator.next();
+          String messagename = message.getQName().getLocalPart();
+          try
+          {
+            wsdlAnalyzer.addConfigurationToTest(null, namespace, messagename, WSDLAnalyzer.MESSAGE);
+			hasAnalyzerConfig = true;
+          }
+          catch (WSIAnalyzerException e)
+          {
+            // TODO: Add code to log error 
+            //System.out.println("exception " + e);
+          }
+        }
+      }
+      try
+      {
+        // only run the analyzer if there is something to check
+		if(hasAnalyzerConfig)
+		{
+		  // run the conformance check and add errors and warnings as needed
+		  wsdlAnalyzer.validateConformance();
+			  
+		  // If the level is suggest all errors should be reported as warnings.
+		  if(wsdlAnalyzer.getWSIPreferences().getComplianceLevel().equals(WSITestToolsProperties.WARN_NON_WSI))
+		  {
+		    addWarnings(wsdlAnalyzer.getAssertionErrors(), valInfo);
+		  }
+		  else
+		  {
+		    addErrors(wsdlAnalyzer.getAssertionErrors(), valInfo);
+		  }
+		  addWarnings(wsdlAnalyzer.getAssertionWarnings(), valInfo);
+		}
+      }
+	  catch (WSIAnalyzerException e)
+	  {
+		// TODO: Add code to log error 
+		System.out.println("Unable to run WS-I WSDL conformance check.\n" + e);
+	  }
+    }
+  }
+
+  /**
+   * Add error messages to the validationcontroller.
+   * 
+   * @param errors The list of errors to add.
+   * @param valInfo The object that contains the validation information.
+   */
+  protected void addErrors(List errors, IValidationInfo valInfo)
+  {
+    reportProblems(errors, valInfo, ERROR);
+  }
+
+  /**
+   * Add warning messages to the validationcontroller.
+   * 
+   * @param warnings The list of warnings to add.
+   * @param valInfo The object that contains the validation information.
+   */
+  protected void addWarnings(List warnings, IValidationInfo valInfo)
+  {
+    reportProblems(warnings, valInfo, WARNING);
+  }
+
+  /**
+   * Report the problems specified for the given type to the validationcontroller.
+   * 
+   * @param problems The problems to report.
+   * @param valInfo The object to report the problems to.
+   * @param type The type of messages to add.
+   */
+  protected void reportProblems(List problems, IValidationInfo valInfo, int type)
+  {
+    // if there were no problems just return
+    if (problems == null)
+      return;
+
+    
+    Iterator problemsIterator = problems.iterator();
+    while (problemsIterator.hasNext())
+    {
+      AssertionError assertionerror = (AssertionError) problemsIterator.next();
+      if (type == ERROR)
+      {
+		wsiValid = false;
+        valInfo.addError(
+        		WSIConstants.WSI_PREFIX + "(" + assertionerror.getAssertionID()+ ") " + assertionerror.getErrorMessage(),
+          assertionerror.getLine(),
+          assertionerror.getColumn(),
+          valInfo.getFileURI());
+
+      }
+      else if (type == WARNING)
+      {
+        valInfo.addWarning(
+        		WSIConstants.WSI_PREFIX + "(" + assertionerror.getAssertionID()+ ") " + assertionerror.getErrorMessage(),
+          assertionerror.getLine(),
+          assertionerror.getColumn(),
+          valInfo.getFileURI());
+      }
+    }
+  }
+
+  /**
+   * @see org.eclipse.wsdl.validate.controller.IWSDLValidator#setResourceBundle(java.util.ResourceBundle)
+   */
+  public void setResourceBundle(ResourceBundle rb)
+  {
+    messagegenerator = new MessageGenerator(rb);
+  }
+
+  /**
+   * @see org.eclipse.wsdl.validate.controller.IWSDLValidator#isValid()
+   */
+  public boolean isValid()
+  {
+    return wsiValid;
+  }
+
+}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/wsivalidate.properties b/bundles/org.eclipse.wst.wsi/src/wsivalidate.properties
similarity index 100%
rename from bundles/org.eclipse.wst.wsi/wsivalidate/wsivalidate.properties
rename to bundles/org.eclipse.wst.wsi/src/wsivalidate.properties
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java
deleted file mode 100644
index ebe0bb3..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/Analyzer.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2002-2003 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
- *
- * </copyright>
- */
-package org.eclipse.wst.wsi.internal.core.analyzer;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.ToolInfo;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.validator.ProfileValidatorFactory;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-
-/**
- * The Analyzer will process all Profile conformance functions.
- * This class should be sub-classed for each profile.
- *
- * @version 1.0.1
- * @author Jim Clune
- * @author Peter Brittenham
- */
-public abstract class Analyzer
-{
-  /**
-   * Message list.
-   */
-  protected MessageList messageList = null;
-
-  protected final static String RESOURCE_BUNDLE_NAME =
-    "org.eclipse.wst.wsi.internal.core.analyzer.Analyzer";
-
-  public final static String USAGE_MESSAGE =
-    "Usage: Analyzer -config <configFilename>";
-
-  protected Reporter reporter = null;
-  protected AnalyzerContext analyzerContext = null;
-  protected CandidateInfo candidateInfo = null;
-
-  /**
-   * Analyzer tool information.
-   */
-  protected ToolInfo toolInfo = null;
-
-  /**
-   * Profile validator factory.
-   */
-  protected ProfileValidatorFactory factory = null;
-
-  /**
-   * Profile validator factory.
-   */
-  protected DocumentFactory documentFactory = null;
-
-  /**
-   * Analyzer config file list.
-   */
-  protected List analyzerConfigList = new Vector();
-  protected int analyzerConfigIndex = 0;
-
-  /**
-   * Profile assertions.
-   */
-  protected ProfileAssertions profileAssertions = null;
-
-  /**
-   * Log file.
-   */
-  protected Log log = null;
-
-  /**
-   * Create an instance of the analyzer tool.
-   * @param args      command line arguments.
-   * @param toolInfo  analyzer tool information.
-   * @throws WSIException if problems creating the instance of the analyzer tool.
-   */
-  public Analyzer(String[] args, ToolInfo toolInfo) throws WSIException
-  {
-    init(toolInfo);
-
-    // Get new config object   
-    this.analyzerConfigList.add(
-      analyzerConfigIndex,
-      documentFactory.newAnalyzerConfig());
-    getAnalyzerConfig().init(messageList);
-
-    // Parse command line arguments
-    getAnalyzerConfig().parseArgs(args, true);
-
-    // Display copyright and options that were specified
-    TestUtils.printToolInfo(toolInfo);
-    System.out.println(getAnalyzerConfig().toString());
-
-    // Display message
-    printMessage(
-      "progress01",
-      null,
-      "Please wait while the specified artifacts are analyzed...");
-  }
-
-  /**
-   * Create an instance of the analyzer tool.
-   * @param args      command line arguments.
-   * @param toolInfo  analyzer tool information.
-   * @param validate  flag for config options validation. 
-   * @throws WSIException if problems creating the instance of the analyzer tool.
-   */
-  public Analyzer(String[] args, ToolInfo toolInfo, boolean validate) throws WSIException
-  {
-    init(toolInfo);
-
-    // Get new config object   
-    this.analyzerConfigList.add(
-        analyzerConfigIndex,
-        documentFactory.newAnalyzerConfig());
-    getAnalyzerConfig().init(messageList);
-
-    // Parse command line arguments
-    getAnalyzerConfig().parseArgs(args, validate);
-
-    // Display copyright and options that were specified
-    TestUtils.printToolInfo(toolInfo);
-    System.out.println(getAnalyzerConfig().toString());
-
-    // Display message
-    printMessage(
-        "progress01",
-        null,
-    "Please wait while the specified artifacts are analyzed...");
-  }
-
-  /**
-   * Create an instance of the analyzer tool.
-   * @param analyzerConfigList  analyzer config file list.
-   * @param toolInfo            analyzer tool information.
-   * @throws WSIException if problems creating the instance of the analyzer tool.
-   */
-  public Analyzer(List analyzerConfigList, ToolInfo toolInfo)
-    throws WSIException
-  {
-    init(toolInfo);
-
-    this.analyzerConfigList = analyzerConfigList;
-  }
-
-  /**
-   * Common initialization.
-   * @param toolInfo  analyzer tool information.
-   * @throws WSIException if problems occur during common initialization.
-   */
-  protected void init(ToolInfo info) throws WSIException
-  {
-    this.toolInfo = info;
-
-    // Create message list
-    messageList = new MessageList(RESOURCE_BUNDLE_NAME);
-
-    // Create profile validator factory
-    factory = ProfileValidatorFactory.newInstance();
-
-    // Create document factory
-    documentFactory = DocumentFactory.newInstance();
-  }
-
-  /**
-   * Process all conformance validation functions.
-   * @return status code.
-   * @throws WSIException if problems occur during validation.
-   */
-  public int validateAll() throws WSIException
-  {
-    int statusCode = 0;
-    int tempStatusCode;
-
-    for (int index = 0; index < analyzerConfigList.size(); index++)
-    {
-      // DEBUG:
-      //System.out.println("index: " + index);
-
-      // Set current analyzer config index 
-      setAnalyzerConfig(index);
-
-      if ((tempStatusCode = validateConformance()) > statusCode)
-        statusCode = tempStatusCode;
-    }
-
-    return statusCode;
-  }
-
-  /**
-   * Process all conformance validation functions.
-   * @return status code.
-   * @throws WSIException if problems occur during conformance validation.
-   */
-  public abstract int validateConformance() throws WSIException;
-
-  /**
-   * Get tool information.
-   * @return the tool information.
-   */
-  public ToolInfo getToolInfo()
-  
-  {
-    return this.toolInfo;
-  }
-
-  /**
-   * Set current analyzer configuration.
-   * @param index  urrent analyzer configuration.
-   * @see #getAnalyzerConfig
-   */
-  protected void setAnalyzerConfig(int index)
-  {
-    this.analyzerConfigIndex = index;
-  }
-
-  /**
-   * Get analyzer configuration information.
-   * @return analyzer configuration information.
-   * @see #setAnalyzerConfig
-   */
-  public AnalyzerConfig getAnalyzerConfig()
-  {
-    return (AnalyzerConfig) this.analyzerConfigList.get(analyzerConfigIndex);
-  }
-
-  /**
-   * Print a message from the resource bundle.
-   * @param key             a key.
-   * @param messageData     message data.
-   * @param defaultMessage  a default message.
-   */
-  public void printMessage(
-    String key,
-    String messageData,
-    String defaultMessage)
-  {
-    messageList.printMessage(key, messageData, defaultMessage);
-  }
-
-  /**
-   * Print message.
-   * @param key             a key.
-   * @param messageData     message data.
-   * @param defaultMessage  a default message.
-   */
-  public static void staticPrintMessage(
-    String key,
-    String messageData,
-    String defaultMessage)
-  {
-    MessageList.printMessage(
-      RESOURCE_BUNDLE_NAME,
-      key,
-      messageData,
-      defaultMessage);
-  }
-
-  /**
-   * Return XML string representation of this object.
-   * @param namespaceName  a namespace prefix.
-   * @return XML string representation of this object.
-   */
-  public String toXMLString(String namespaceName)
-  {
-    StringWriter sw = new StringWriter();
-    PrintWriter pw = new PrintWriter(sw);
-
-    // Start     
-    pw.print(toolInfo.getStartXMLString(namespaceName));
-
-    // Config
-    pw.print(
-      getAnalyzerConfig().toXMLString(
-        WSIConstants.NS_NAME_WSI_ANALYZER_CONFIG));
-
-    // End
-    pw.println(toolInfo.getEndXMLString(namespaceName));
-
-    return sw.toString();
-  }
-
-  /**
-   * Print a message.
-   * @param message a message.
-   */
-  public void printMessage(String message)
-  {
-    if (getAnalyzerConfig().getVerboseOption())
-    {
-      System.err.println(message);
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java
deleted file mode 100644
index 06e82b6..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/CandidateInfo.java
+++ /dev/null
@@ -1,921 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.analyzer;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.util.URI;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-
-/**
- * Provide a normalized set of data relating to the service under test.
- * For example, with endpoint correlation and wsdlElement of type "message" 
- * there could be multiple matches for most element types including WSDL Service.
- * (though the objective is to ensure filtering to a single service if at all possible). 
- * 
- * @author gturrell
- */
-
-// ADD:could be better as a singleton?
-
-public class CandidateInfo
-{
-
-  // Normalized fixed correlation data derived from the analyzer config and the wsdl,
-  // representing what we know about the service from these two sources.  
-  private Definition[] definitions = null;
-
-  private Import[] imports = null;
-  private Types[] types = null;
-
-  private Message[] messages = null;
-  private Operation[] operations = null;
-  private PortType[] portTypes = null;
-  private Binding[] bindings = null;
-  private Port[] ports = null;
-
-  private URI[] endPoints = null; // list obtainable from a port
-
-  private WSDLDocument wsdlDocument; // reference probably not desirable here
-
-  /**
-   * Constructor for CandidateInfo.
-   * Extract normalised entry data from wsdl, according to config wsdlElement & serviceLocation
-   * @param serviceReference a ServiceReference object.
-   * @param wsdlDocument a WSDL document.
-   * @throws WSIException if problems occur creating CandidateInfo object.
-   */
-  public CandidateInfo(
-    ServiceReference serviceReference,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-
-    // ADD: check for null document?
-
-    WSDLElement wsdlElement = serviceReference.getWSDLElement();
-
-    this.wsdlDocument = wsdlDocument;
-
-    /*
-     * Generalised fields independent of wsdlElement:
-     */
-    // ADD: check whether these need to be either expanded or filtered down.
-    // Assume WSDL4J pulls int the full tree at the root document for now		
-    //this.imports = wsdlDocument.getImports();
-
-    // ... or if only down to first level....
-    this.imports =
-      (Import[]) getAllImports(
-        wsdlDocument.getDefinitions()).toArray(new Import[] {
-    });
-
-    /* Definitions. 
-     * Note that the the first array element is for the root doc
-     * which contains all WSDL elements in scope via <import> declarations,
-     * as well as the root document itself. Therefore the second definitions 
-     * array element and above are redundant, but *may* prove useful to the assertion
-     * code.
-     */
-
-    this.definitions = new Definition[imports.length + 1];
-    // allow room for root doc		
-
-    this.definitions[0] = wsdlDocument.getDefinitions(); // root document    
-
-    // Allocate array for types elements
-    Types[] tempTypes = new Types[definitions.length];
-
-    int typesCount = 0;
-
-    if (definitions[0].getTypes() != null)
-    {
-      tempTypes[0] = this.definitions[0].getTypes(); // root document	
-      typesCount++;
-    }
-
-    // Definitions from other (imported) wsdls correlating to the candidate
-    // Only one level down for now
-    for (int i = 0; i < imports.length; i++)
-    {
-      if (((definitions[i + 1] = imports[i].getDefinition()) != null)
-        && (definitions[i + 1].getTypes() != null))
-      {
-        tempTypes[typesCount] = definitions[i + 1].getTypes();
-        typesCount++;
-      }
-    }
-
-    if (typesCount > 0)
-    {
-      this.types = new Types[typesCount];
-
-      for (int i = 0; i < typesCount; i++)
-        this.types[i] = tempTypes[i];
-    }
-    /* 
-     * Populate element hierachy:
-     * Port
-     * Binding
-     * PortType
-     * operation(s)
-     * message(s)
-     */
-
-    if (wsdlElement.isPort())
-    {
-
-      Port port = null;
-
-      // Use parentElementName to qualify the port within a service.		
-      QName serviceName = wsdlElement.getParentElementQName();
-      Service[] s = wsdlDocument.getServices();
-      String portName = wsdlElement.getName();
-      for (int i = 0; i < s.length && port == null; i++)
-      {
-        if (s[i].getQName().equals(serviceName))
-        {
-          port = s[i].getPort(portName);
-        }
-      }
-
-      if (port == null)
-      {
-        throw new WSIException(
-          "WSDL Port \'"
-            + portName
-            + "\' for Service \'"
-            + serviceName
-            + "\' not found in service description");
-      }
-      else
-      {
-        this.ports = new Port[] { port };
-        // ADD: do serviceLocation check for soapbind:address?
-        descendents(port);
-      }
-
-      // ADD: the following could be instantiated here instead to refine context info
-      // definitions 
-      // imports 
-      // types
-
-    }
-
-    else if (wsdlElement.isBinding())
-    {
-      if (wsdlElement.getQName() != null
-        && wsdlElement.getQName().getLocalPart() != null
-        && wsdlElement.getQName().getLocalPart().length() > 0)
-      {
-        Binding binding =
-          wsdlDocument.getDefinitions().getBinding(wsdlElement.getQName());
-
-        if (binding == null)
-        {
-          throw new WSIException(
-            "WSDL Binding named \'"
-              + wsdlElement.getQName()
-              + "\' not found in service description");
-        }
-        else
-        {
-          this.bindings = new Binding[] { binding };
-
-          // the rest ... below binding:	
-          // portTypes from binding
-          // operations from portTypes
-          // messages from operations
-          descendents(binding);
-
-          // above binding:
-          // ports
-          // definitions, imports, types (future?)				
-          // ancestors(bindings);
-        }
-      }
-    }
-
-    else if (wsdlElement.isPortType())
-    {
-
-      PortType portType =
-        wsdlDocument.getDefinitions().getPortType(wsdlElement.getQName());
-      this.portTypes = new PortType[] { portType };
-
-      if (portType == null)
-      {
-        throw new WSIException(
-          "WSDL PortType named \'"
-            + wsdlElement.getQName()
-            + "\' not found in service description");
-      }
-      else
-      {
-        this.portTypes = new PortType[] { portType };
-        // the rest ... below portType:	
-        descendents(portType);
-
-        // above portType:
-        // ports
-        // definitions, imports, types (future) ?
-        //ancestors(portTypes);		
-      }
-    }
-    else if (wsdlElement.isOperation())
-    {
-
-      Operation operation = null;
-      String configOpName = wsdlElement.getName();
-
-      // Use parentElementName to qualify the operation within a portType.
-      QName portTypeName = wsdlElement.getParentElementQName();
-      PortType[] p = wsdlDocument.getPortTypes();
-      for (int i = 0; i < p.length && operation == null; i++)
-      {
-        if (p[i].getQName().equals(portTypeName))
-        {
-          // wsdl4j available method call below implies that only 
-          // name+inputname+outputname uniquely defines operation! 
-          // Since we do not have <input> & <output> name information
-          // available in the config, use this instead for now: - 
-          // Get the first operation we find:
-          Iterator opIt = p[i].getOperations().iterator();
-          Operation op = null;
-          while (opIt.hasNext() && operation == null)
-          {
-            op = (Operation) opIt.next();
-            if (configOpName.equals(op.getName()))
-            {
-              operation = op;
-            }
-          }
-        }
-      }
-
-      if (operation == null)
-      {
-        throw new WSIException(
-          "No WSDL Operation named \'"
-            + wsdlElement.getQName()
-            + "\' found in service description");
-      }
-      else
-      {
-        this.operations = new Operation[] { operation };
-
-        descendents(operation);
-        //ancestors(operations);
-      }
-    }
-
-    else if (wsdlElement.isMessage())
-    {
-
-      Message message =
-        wsdlDocument.getDefinitions().getMessage(wsdlElement.getQName());
-      if (message == null)
-      {
-        throw new WSIException(
-          "No WSDL Message named \'"
-            + wsdlElement.getQName()
-            + "\' found in service description");
-      }
-      else
-      {
-        this.messages = new Message[] { message };
-
-        //ancestors(messages); 
-      }
-    }
-
-    else
-    {
-      throw new WSIException(
-        "Unrecognised <WSDLElement type> in config: " + wsdlElement.getType());
-    }
-
-    // get info about the effective service location (s)
-    //this.endPoints = deriveEndpoints(analyzerConfig, this.ports, this.definitions);
-    this.endPoints =
-      deriveEndpoints(serviceReference, this.ports, this.definitions);
-  }
-
-  /** 
-     * ancestor code is not used at present.
-     * 
-     */
-  /*   
-     protected void ancestors(Port[] ports) {
-     	// no ancestors of Port required (for now)
-     } 	    
-     protected void ancestors(Binding[] bindings) {	    
-    		// Ports from Bindings  1-2-1
-     	
-     	// *** cheat for now - get ports from all services in the wsdl doc
-     	// ADD: find correct mapping based on the supplied bindings
-     	Service[] service = wsdlDocument.getServices();
-     	HashSet set = new HashSet();
-  		for (int i=0; i>service.length; i++) {
-  			set.add(service[i].getPorts());  
-  		}
-  			
-  		// assign the parent group and process the grandparents if any								
-  		ancestors(this.ports = (Port[])set.toArray(this.ports = new Port[0]));
-     }
-     protected void ancestors(PortType[] portTypes) {	    
-    		// Bindings from PortTypes  1-2-1
-     	
-     	// add have to start with all bindings in doc and search for those
-     	// with the portType  
-     	HashSet set = new HashSet();
-  		for (int i=0; i>portTypes.length; i++) {
-  		// set.add(portTypes[i].get());  
-  		}
-  			
-  		// assign the parent group and process the grandparents if any								
-  		ancestors(this.bindings = (Binding[])set.toArray(this.bindings = new Binding[0]));
-     }
-     protected void ancestors(Operation[] operations) {	    
-    		// PortTypes from Operations  1-2-1
-     	  
-     	HashSet set = new HashSet();
-  		for (int i=0; i>operations.length; i++) {
-  			// set.add(operations[i].get());  
-  		}
-  			
-  		// assign the parent group and process the grandparents if any								
-  		ancestors(this.portTypes = (PortType[])set.toArray(this.portTypes = new PortType[0]));
-     }
-     protected void ancestors(Message[] messages) {	    
-    		// Operations from Messages  1-2-1
-     	// ADD fix it!  
-     	HashSet set = new HashSet();
-  		for (int i=0; i>messages.length; i++) {
-  			// set.add(messages[i].get());  
-  		}
-  			
-  		// assign the parent group 	
-  		this.portTypes = (PortType[])set.toArray(this.portTypes = new PortType[0]);
-     }
-  */
-
-  /**
-   * Descendant method for completing candidate service context creation.
-   * @param port  a Port object
-   * @throws WSIException if port is null.
-   */
-  protected void descendents(Port port) throws WSIException
-  {
-    // Binding from Port  1-2-1
-
-    if (port == null)
-    {
-      throw new WSIException("Internal error: expected a Port value");
-    }
-    else
-    {
-      this.bindings = new Binding[] { port.getBinding()};
-      if (this.bindings[0] != null)
-      {
-        /* Assign the child group and process the grandchildren if any.
-        * Null argument value passed into the following method would 
-        * suggest a WSDL definition inconsistency
-        * which will be picked up during Description Artifact TA testing.
-        */
-        descendents(this.bindings[0]);
-      }
-    }
-  }
-
-  /**
-   * Descendant method for completing candidate service context creation.
-   * @param binding  a Binding object
-   * @throws WSIException if binding is null.
-   */
-  protected void descendents(Binding binding) throws WSIException
-  {
-    // portType from Binding 1-2-1
-
-    if (binding == null)
-    {
-      throw new WSIException("Internal error: expected a Binding value");
-    }
-    else
-    {
-      this.portTypes = new PortType[] { binding.getPortType()};
-      if (this.portTypes[0] != null)
-      {
-        /* Assign the child group and process the grandchildren if any.
-        	* Null argument value passed into the following method would 
-        	* suggest a WSDL definition inconsistency
-        	* which will be picked up during Description Artifact TA testing.
-        	*/
-        descendents(this.portTypes[0]);
-
-        // Get any messages that are referenced from headers and headerfaults
-
-        BindingOperation bindingOperation;
-
-        // Get reference to definition
-        Definition definition = definitions[0];
-
-        // If there are messages already, then get them as a collection
-        HashSet messageSet = new HashSet();
-        if (messages != null)
-        {
-          for (int i = 0; i < messages.length; i++)
-          {
-            messageSet.add(messages[i]);
-          }
-        }
-
-        // Get the messages that are referenced only by a binding 
-        HashSet bindingMessages = WSDLUtils.findMessages(definition, binding);
-
-        // Add these messages to the complete message list  
-        messageSet.addAll(bindingMessages);
-
-        // Create array from message set
-        this.messages =
-          (Message[]) messageSet.toArray(this.messages = new Message[0]);
-      }
-    }
-  }
-
-  /**
-   * Descendant method for completing candidate service context creation.
-   * @param portType  a PortType object
-   * @throws WSIException if portType is null.
-   */
-  protected void descendents(PortType portType) throws WSIException
-  {
-    // Operations from PortType 1-2-n
-
-    if (portType == null)
-    {
-      throw new WSIException("Internal error: expected a PortType value");
-    }
-    else
-    {
-      this.operations =
-        (Operation[]) (portType
-          .getOperations()
-          .toArray(this.operations = new Operation[0]));
-      if (this.operations.length > 0)
-      {
-        descendents(this.operations);
-      }
-    }
-  }
-
-  /**
-     * Descendant method for completing candidate service context creation.
-     * @param operation  a Operation object
-     * @throws WSIException if operation is null.
-     */
-  protected void descendents(Operation operation) throws WSIException
-  {
-    // Messages from Operation
-
-    if (operation == null)
-    {
-      throw new WSIException("Internal error: expected an Operation value");
-    }
-    else
-    {
-      descendents(new Operation[] { operation });
-    }
-  }
-
-  /**
-   * Descendant method for completing candidate service context creation.
-   * @param operations  an array of operations.
-   * @throws WSIException if operations is null.
-   */
-  protected void descendents(Operation[] operations) throws WSIException
-  {
-    // Messages from Operations 1-2-n
-
-    if (operations == null)
-    {
-      throw new WSIException("Internal error: expected an Operation[] value");
-    }
-
-    HashSet set = new HashSet();
-    for (int i = 0; i < operations.length; i++)
-    {
-      if (operations[i].getInput() != null)
-        set.add(operations[i].getInput().getMessage()); //1-2-1
-      if (operations[i].getOutput() != null)
-        set.add(operations[i].getOutput().getMessage()); //1-2-1
-
-      // get messages associated with faults for this operation 
-      // 1-2-n
-      Iterator it = operations[i].getFaults().values().iterator();
-      while (it.hasNext())
-      {
-        set.add(((Fault) it.next()).getMessage());
-      }
-    }
-    this.messages = (Message[]) set.toArray(this.messages = new Message[0]);
-    // no descendents of messages so stop.
-  }
-
-  /**
-   * Provide a recursive non-repeating list of imports for the specified
-   * WSDL document definition.
-   */
-  /*   private HashSet getAllImports(Definition rootDef) throws WSIException {
-     	
-     	HashSet importSet = new HashSet();
-     	
-     	Collection importList =  rootDef.getImports().values();
-     	Iterator i = importList.iterator();
-     	
-     	while (i.hasNext()) {
-     		Import nextImport = (Import)(i.next());
-     		if (nextImport != null) {
-     			// its a wsdl document
-     			importSet.addAll(getAllImports(nextImport.getDefinition()));
-     		}   			
-     	}
-     	
-     	return (importSet);
-     }
-   */
-  private HashSet getAllImports(Definition rootDef) throws WSIException
-  {
-
-    HashSet importSet = new HashSet();
-
-    Map importMap = rootDef.getImports();
-    Iterator i = importMap.values().iterator();
-
-    while (i.hasNext())
-    {
-      List nextImportList = (List) (i.next());
-      Iterator listIt = nextImportList.iterator();
-      while (listIt.hasNext())
-      {
-        Import nextImport = (Import) listIt.next();
-        if (nextImport != null)
-        {
-          // its a wsdl document
-          importSet.add(nextImport);
-          if (nextImport.getDefinition() != null)
-          {
-            HashSet subTreeImports = getAllImports(nextImport.getDefinition());
-            Iterator subIt = subTreeImports.iterator();
-            while (subIt.hasNext())
-            {
-              importSet.add((Import) (subIt.next()));
-            }
-          }
-        }
-      }
-    }
-
-    return (importSet);
-  }
-
-  /**
-   * get all service location endpoint values
-   * relevant to the service under test.
-   * 
-   * If the service location is specified in the config we use
-   * just that.
-   * Otherwise, if the port is specified, we get all endpoints
-   * associated with that port.
-   * If we have neither the service location value or the port,
-   * then all endpoints in the definition are used.
-   */
-  private URI[] deriveEndpoints(
-  //AnalyzerConfig analyzerConfig, 
-  ServiceReference serviceReference, Port[] ports, Definition[] definitions)
-  {
-
-    URI[] endp = null;
-    //Port port = null;	
-    try
-    {
-      String serviceLocation = null;
-      // try service location...
-      //if ((serviceLocation = analyzerConfig.getServiceLocation()) != null) {      
-      if ((serviceLocation = serviceReference.getServiceLocation()) != null)
-      {
-        endp = new URI[] { new URI(serviceLocation)};
-      }
-      //else if (analyzerConfig.getWSDLElement().isPort()) {
-      else if (serviceReference.getWSDLElement().isPort())
-      {
-        if (ports.length != 1)
-        {
-          throw new WSIException("Internal error - expected 1-element Port array");
-        }
-        //else {
-        //	port = ports[0]; // if Port was given in config, there is just one
-        //}
-        //QName soapAddress = new QName(WSIConstants.NS_URI_WSDL_SOAP, "address");
-        Iterator i = ports[0].getExtensibilityElements().iterator();
-        while (i.hasNext() && serviceLocation == null)
-        {
-          ExtensibilityElement extElem = (ExtensibilityElement) i.next();
-          if (extElem instanceof SOAPAddress)
-          {
-            //if (extEl.getElementType().equals(soapAddress) {
-            // this element is our SOAPAddress - get the location
-            serviceLocation = ((SOAPAddress) extElem).getLocationURI();
-            endp = new URI[] { new URI(serviceLocation)};
-          }
-        }
-      }
-      else
-      { // no port info from config, so supply all in document
-        // QName soapAddress = new QName(WSIConstants.NS_URI_WSDL_SOAP, "address");
-        HashSet endpointSet = new HashSet();
-        Iterator i = definitions[0].getExtensibilityElements().iterator();
-        while (i.hasNext())
-        {
-          ExtensibilityElement extElem = (ExtensibilityElement) i.next();
-          if (extElem instanceof SOAPAddress)
-          {
-            //if (extEl.getElementType().equals(soapAddress) {
-            // this element is our SOAPAddress - get the location
-            endpointSet.add(((SOAPAddress) extElem).getLocationURI());
-          }
-        }
-        // Convert the derived List to a URI array
-        endp = (URI[]) endpointSet.toArray(endp = new URI[0]);
-      }
-    }
-    catch (Exception e)
-    {
-    }
-    return endp;
-  }
-
-  /**
-   * Returns the binding.
-   * @return Binding
-   */
-  public Binding[] getBindings()
-  {
-    return bindings;
-  }
-
-  /**
-   * Returns the endPoints.
-   * @return URI[]
-   */
-  public URI[] getEndPoints()
-  {
-    // get list of matching endpoint(s) associated with service.
-    return endPoints;
-  }
-
-  /**
-  * Returns the endPoints matching the specified host and port.
-  * @param hostAndPort  host and port location.
-  * @return URI[] if matched, null otherwise.
-  */
-  public URI[] getEndPoints(String hostAndPort)
-  {
-    // get list of matching endpoints associated with service,
-    // having the specified host and port configuration
-    String port;
-
-    Vector matchedEndpoints = new Vector();
-    for (int i = 0; i < endPoints.length; i++)
-    {
-      // PB: If the endpoint does not contain a port number, then default it to "80"
-      port =
-        (endPoints[i].getPort() == -1)
-          ? "80"
-          : String.valueOf(endPoints[i].getPort());
-      if (hostAndPort.equals(endPoints[i].getHost() + ":" + port))
-      {
-        matchedEndpoints.add(endPoints[i]);
-      }
-    }
-    return (URI[]) matchedEndpoints.toArray(new URI[0]);
-  }
-
-  /**
-   * Returns the operation.
-   * @return Operation
-   */
-  public Operation[] getOperations()
-  {
-    return operations;
-  }
-
-  /**
-   * Returns the portType.
-   * @return PortType
-   */
-  public PortType[] getPortType()
-  {
-    return portTypes;
-  }
-
-  /**
-   * Returns true if the hostAndPort matches at least one context endpoint.
-   * @param hostAndPortString a host and port location.
-   * @return true if the hostAndPort matches at least one context endpoint.
-   * @throws WSIException if given hostandPort String does not convert to URI.
-   */
-  public boolean hasHostAndPort(String hostAndPortString) throws WSIException
-  {
-    URI hostAndPort;
-    try
-    {
-      hostAndPort = new URI(hostAndPortString);
-    }
-    catch (Exception e)
-    {
-      throw new WSIException(
-        "Could not convert string to URI: " + hostAndPortString);
-    }
-    String host = hostAndPort.getHost();
-    int port = hostAndPort.getPort();
-    for (int i = 0; i < this.endPoints.length; i++)
-    {
-      if (this.endPoints[i].getHost().equals(host)
-        && this.endPoints[i].getPort() == port)
-      {
-        return true;
-      }
-    }
-    return false; // for now
-  }
-
-  /**
-   * Returns the definitions.
-   * @return Definition[]
-   */
-  public Definition[] getDefinitions()
-  {
-    return definitions;
-  }
-
-  /**
-   * Returns the imports.
-   * @return Import[]
-   */
-  public Import[] getImports()
-  {
-    return imports;
-  }
-
-  /**
-   * Returns the messages.
-   * @return Message[]
-   */
-  public Message[] getMessages()
-  {
-    return messages;
-  }
-
-  /**
-   * Returns the ports.
-   * @return Port[]
-   */
-  public Port[] getPorts()
-  {
-    return ports;
-  }
-
-  /**
-   * Returns the portTypes.
-   * @return PortType[]
-   */
-  public PortType[] getPortTypes()
-  {
-    return portTypes;
-  }
-
-  /**
-   * Returns the types.
-   * @return Types[]
-   */
-  public Types[] getTypes()
-  {
-    return types;
-  }
-  /**
-   * Returns the wsdlDocument.
-   * @return WSDLDocument
-   */
-  public WSDLDocument getWsdlDocument()
-  {
-    return wsdlDocument;
-  }
-
-  /**
-   * Return the definition element that contains the types element.
-   * @param types a Types object.
-   * @return the definition element that contains the types element.
-   */
-  public Definition getDefinition(Types types)
-  {
-    Definition definition = null;
-    Types checkTypes;
-
-    for (int i = 0; i < definitions.length && definition == null; i++)
-    {
-      if (((checkTypes = definitions[i].getTypes()) != null)
-        && (checkTypes.equals(types)))
-      {
-        definition = definitions[i];
-      }
-    }
-
-    return definition;
-  }
-
-  /**
-   * Return the definition element that contains the binding element.
-   * @param binding a Binding object.
-   * @return the definition element that contains the binding element.
-   */
-  public Definition getDefinition(Binding binding)
-  {
-    Definition definition = null;
-
-    for (int i = 0; i < definitions.length && definition == null; i++)
-    {
-      if (definitions[i].getBinding(binding.getQName()) != null)
-        definition = definitions[i];
-    }
-
-    return definition;
-  }
-
-  /**
-   * Return the definition element that contains the portType element.
-   * @param portType a PortType object.
-   * @return the definition element that contains the portType element.
-   */
-  public Definition getDefinition(PortType portType)
-  {
-    Definition definition = null;
-
-    for (int i = 0; i < definitions.length && definition == null; i++)
-    {
-      if (definitions[i].getPortType(portType.getQName()) != null)
-        definition = definitions[i];
-    }
-
-    return definition;
-  }
-
-  /**
-   * Return the definition element that contains the message.
-   * @param message a Message object.
-   * @return the definition element that contains the message.
-   */
-  public Definition getDefinition(Message message)
-  {
-    Definition definition = null;
-
-    for (int i = 0; i < definitions.length && definition == null; i++)
-    {
-      if (definitions[i].getMessage(message.getQName()) != null)
-        definition = definitions[i];
-    }
-
-    return definition;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java
deleted file mode 100644
index ab943a4..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/analyzer/config/impl/AnalyzerConfigReaderImpl.java
+++ /dev/null
@@ -1,570 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.analyzer.config.impl;
-
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSIFileNotFoundException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * This class is the implementation used to read the analyzer config documents.
- * 
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class AnalyzerConfigReaderImpl implements AnalyzerConfigReader
-{
-  /**
-   * Message list.
-   */
-  protected MessageList messageList;
-
-  /**
-   * Document location.
-   */
-  protected String documentURI;
-
-  /**
-   * Initialize analyzer config reader.
-   */
-  public void init(MessageList messageList)
-  {
-    this.messageList = messageList;
-  }
-
-  /**
-   * @see org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader#readAnalyzerConfig(String)
-   */
-  public AnalyzerConfig readAnalyzerConfig(String analyzerConfigURI)
-    throws WSIException
-  {
-    FileReader fileReader = null;
-    try
-    {
-      fileReader = new FileReader(analyzerConfigURI);
-    }
-
-    catch (FileNotFoundException fnfe)
-    {
-      throw new WSIFileNotFoundException(
-        getMessage(
-          "config01",
-          analyzerConfigURI,
-          "Could not find analyzer config file: "),
-        fnfe);
-    }
-
-    catch (Exception e)
-    {
-      throw new WSIException(
-        getMessage(
-          "config08",
-          analyzerConfigURI,
-          "Could not read analyzer config file: "),
-        e);
-    }
-
-    return readAnalyzerConfig(fileReader);
-  }
-
-  /**
-   * @see org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader#readAnalyzerConfig(Reader)
-   */
-  public AnalyzerConfig readAnalyzerConfig(Reader reader) throws WSIException
-  {
-    AnalyzerConfig analyzerConfig = new AnalyzerConfigImpl();
-
-    // Parse XML
-    Document doc = XMLUtils.parseXML(reader);
-
-    // Parse elements in the config document
-    parseConfigElement(analyzerConfig, doc.getDocumentElement());
-
-    return analyzerConfig;
-  }
-
-  /**
-   * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#getLocation()
-   */
-  public String getLocation()
-  {
-    return this.documentURI;
-  }
-
-  /**
-   * @see org.eclipse.wst.wsi.internal.core.document.DocumentReader#setLocation(String)
-   */
-  public void setLocation(String documentURI)
-  {
-    this.documentURI = documentURI;
-  }
-
-  /**
-   * Parse config element.
-   */
-  private void parseConfigElement(
-    AnalyzerConfig analyzerConfig,
-    Element element)
-    throws WSIException
-  {
-    // ADD: Get name and version
-
-    // ADD: Verify that this is the config element
-
-    // Get first child element
-    Element nextElement = XMLUtils.getFirstChild(element);
-
-    // DEBUG:
-    //System.out.println("Element name: " + nextElement.getClass().getName());
-
-    // Process each child element
-    while (nextElement != null)
-    {
-      // <description>
-      if (isElement(nextElement, WSIConstants.ELEM_DESCRIPTION))
-      {
-        analyzerConfig.setDescription(XMLUtils.getText(nextElement));
-      }
-
-      // <verbose>
-      else if (isElement(nextElement, WSIConstants.ELEM_VERBOSE))
-      {
-        analyzerConfig.setVerboseOption(
-          XMLUtils.getBooleanValue(nextElement, false));
-      }
-
-      // <assertionResults>
-      else if (isElement(nextElement, WSIConstants.ELEM_ASSERTION_RESULTS))
-      {
-        // Create assertion results option object
-        AssertionResultsOption assertionResultsOption =
-          new AssertionResultsOptionImpl();
-        analyzerConfig.setAssertionResultsOption(assertionResultsOption);
-
-        // Set result type
-        String resultType =
-          XMLUtils.getAttributeValue(nextElement, WSIConstants.ATTR_TYPE);
-        assertionResultsOption.setAssertionResultType(
-          AssertionResultType.newInstance(resultType));
-
-        // Set show log entry
-        assertionResultsOption.setShowMessageEntry(
-          XMLUtils.getBooleanValue(
-            nextElement,
-            WSIConstants.ATTR_MESSAGE_ENTRY,
-            assertionResultsOption.getShowMessageEntry()));
-
-        // Set show failure message
-        assertionResultsOption.setShowFailureMessage(
-          XMLUtils.getBooleanValue(
-            nextElement,
-            WSIConstants.ATTR_FAILURE_MESSAGE,
-            assertionResultsOption.getShowFailureMessage()));
-
-        // Set show failure detail
-        assertionResultsOption.setShowFailureDetail(
-          XMLUtils.getBooleanValue(
-            nextElement,
-            WSIConstants.ATTR_FAILURE_DETAIL,
-            assertionResultsOption.getShowFailureDetail()));
-
-        // REMOVE: Set show warning message
-        //assertionResultsOption.setShowWarningMessage(XMLUtils.getBooleanValue(nextElement, 
-        //      WSIConstants.ATTR_WARNING_MESSAGE, assertionResultsOption.getShowWarningMessage()));
-      }
-
-      // <reportFile>
-      else if (isElement(nextElement, WSIConstants.ELEM_REPORT_FILE))
-      {
-        parseReportFileElement(analyzerConfig, nextElement);
-      }
-
-      // <testAssertionFile>
-      else if (isElement(nextElement, WSIConstants.ELEM_TEST_ASSERTIONS_FILE))
-      {
-        analyzerConfig.setTestAssertionsDocumentLocation(
-          XMLUtils.getText(nextElement));
-      }
-
-      // <logFile>
-      else if (isElement(nextElement, WSIConstants.ELEM_LOG_FILE))
-      {
-        String correlationType =
-          XMLUtils.getAttributeValue(
-            nextElement,
-            WSIConstants.ATTR_CORRELATION_TYPE);
-        analyzerConfig.setCorrelationType(
-          correlationType == null ? "operation" : correlationType);
-        analyzerConfig.setLogLocation(XMLUtils.getText(nextElement));
-      }
-
-      // <wsdlReference>
-      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_REFERENCE))
-      {
-        parseWsdlReference(analyzerConfig, nextElement);
-      }
-
-      // <uddiReference>
-      else if (isElement(nextElement, WSIConstants.ELEM_UDDI_REFERENCE))
-      {
-        parseUddiReference(analyzerConfig, nextElement);
-      }
-
-      else
-      {
-        // Throw exception
-        throw new IllegalArgumentException(
-          getMessage(
-            "config06",
-            nextElement.getLocalName(),
-            "Invalid analyzer config element:"));
-      }
-
-      // Get next element
-      nextElement = XMLUtils.getNextSibling(nextElement);
-    }
-  }
-
-  /**
-   * Parse reportFile element.
-   */
-  private void parseReportFileElement(
-    AnalyzerConfig analyzerConfig,
-    Element element)
-    throws WSIException
-  {
-    // Get report location and replace indicator
-    analyzerConfig.setReplaceReport(
-      XMLUtils.getBooleanValue(element, WSIConstants.ATTR_REPLACE, false));
-    analyzerConfig.setReportLocation(
-      XMLUtils.getAttributeValue(
-        element,
-        WSIConstants.ATTR_LOCATION,
-        WSIConstants.DEFAULT_REPORT_URI));
-
-    // ADD: If the report location wasn't specified, then throw an exception
-    //if (analyzerConfig.getReportLocation() == null)
-    //  throw new WSIException("The analyzer configuration file must contain the report file location.");
-
-    // Get first child element
-    Element nextElement = XMLUtils.getFirstChild(element);
-
-    // Process each child element
-    while (nextElement != null)
-    {
-      // <addStyleSheet>
-      if (isElement(nextElement, WSIConstants.ELEM_ADD_STYLE_SHEET))
-      {
-        AddStyleSheet addStyleSheet = new AddStyleSheetImpl();
-
-        // Parse the element  
-        TestUtils.parseAddStyleSheet(
-          nextElement,
-          addStyleSheet,
-          WSIConstants.DEFAULT_REPORT_XSL);
-
-        // Set add style sheet
-        analyzerConfig.setAddStyleSheet(addStyleSheet);
-      }
-
-      else
-      {
-        // Throw exception
-        throw new IllegalArgumentException(
-          getMessage(
-            "config06",
-            nextElement.getLocalName(),
-            "Invalid analyzer config element:"));
-      }
-
-      // Get next element
-      nextElement = XMLUtils.getNextSibling(nextElement);
-    }
-  }
-
-  /**
-   * Parse wsdl reference element.
-   */
-  private void parseWsdlReference(
-    AnalyzerConfig analyzerConfig,
-    Element element)
-    throws WSIException
-  {
-    // Create UDDI reference
-    WSDLReference wsdlReference = new WSDLReferenceImpl();
-
-    // Set WSDL reference
-    analyzerConfig.setWSDLReference(wsdlReference);
-
-    // Get first child element
-    Element nextElement = XMLUtils.getFirstChild(element);
-
-    // Process each child element
-    while (nextElement != null)
-    {
-      // <wsdlURI>
-      if (isElement(nextElement, WSIConstants.ELEM_WSDL_URI))
-      {
-        // Set WSDL location
-        wsdlReference.setWSDLLocation(XMLUtils.getText(nextElement));
-      }
-
-      // <serviceLocation>
-      else if (isElement(nextElement, WSIConstants.ELEM_SERVICE_LOCATION))
-      {
-        // Set service location
-        wsdlReference.setServiceLocation(XMLUtils.getText(nextElement));
-      }
-
-      // <wsdlElement>
-      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT))
-      {
-        // Set WSDL element
-        wsdlReference.setWSDLElement(parseWsdlElement(nextElement));
-      }
-
-      else
-      {
-        // Throw exception
-        throw new IllegalArgumentException(
-          getMessage(
-            "config06",
-            nextElement.getLocalName(),
-            "Invalid analyzer config element:"));
-      }
-
-      // Get next element
-      nextElement = XMLUtils.getNextSibling(nextElement);
-    }
-
-    // If WSDL element or WSL URI not specified, then throw exception
-    if ((wsdlReference.getWSDLElement() == null)
-      || (wsdlReference.getWSDLLocation() == null))
-    {
-      throw new IllegalArgumentException(
-        getMessage(
-          "config07",
-          "Both the <wsdlElement> and <wsdlURI> elements must be specified."));
-    }
-
-    // If type is port or operation, then parent element name must be specified
-    if (((wsdlReference
-      .getWSDLElement()
-      .getType()
-      .equalsIgnoreCase(EntryType.TYPE_DESCRIPTION_PORT))
-      || (wsdlReference
-        .getWSDLElement()
-        .getType()
-        .equalsIgnoreCase(EntryType.TYPE_DESCRIPTION_OPERATION)))
-      && (wsdlReference.getWSDLElement().getParentElementName() == null))
-    {
-      throw new IllegalArgumentException(
-        getMessage(
-          "config09",
-          "The parentElementName attribute must be specified with a WSDL type of "
-            + EntryType.TYPE_DESCRIPTION_PORT
-            + " or "
-            + EntryType.TYPE_DESCRIPTION_OPERATION
-            + "."));
-    }
-  }
-
-  /**
-   * Parse uddi reference.
-   */
-  private void parseUddiReference(
-    AnalyzerConfig analyzerConfig,
-    Element element)
-    throws WSIException
-  {
-    // Create UDDI reference
-    UDDIReference uddiReference = new UDDIReferenceImpl();
-
-    // Set UDDI reference
-    analyzerConfig.setUDDIReference(uddiReference);
-
-    // Get first child element
-    Element nextElement = XMLUtils.getFirstChild(element);
-
-    // Process each child element
-    while (nextElement != null)
-    {
-      // <inquiryURL>
-      if (isElement(nextElement, WSIConstants.ELEM_INQUIRY_URL))
-      {
-        // Set inquiry URL
-        uddiReference.setInquiryURL(XMLUtils.getText(nextElement));
-      }
-
-      // <uddiKey>
-      else if (isElement(nextElement, WSIConstants.ELEM_UDDI_KEY))
-      {
-        // Set UDDI key and key type
-        uddiReference.setKey(XMLUtils.getText(nextElement));
-        uddiReference.setKeyType(
-          XMLUtils.getAttributeValue(nextElement, WSIConstants.ATTR_TYPE));
-      }
-
-      // <wsdlElement>
-      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT))
-      {
-        // Set WSDL element
-        uddiReference.setWSDLElement(parseWsdlElement(nextElement));
-      }
-
-      // <serviceLocation>
-      else if (isElement(nextElement, WSIConstants.ELEM_SERVICE_LOCATION))
-      {
-        // Set service location
-        uddiReference.setServiceLocation(XMLUtils.getText(nextElement));
-      }
-
-      /* REMOVE:
-      // <wsdlElement>
-      else if (isElement(nextElement, WSIConstants.ELEM_WSDL_ELEMENT)) {
-        // Set service location
-        parseWsdlElement(analyzerConfig, nextElement);
-       }
-       */
-
-      else
-      {
-        // Throw exception
-        throw new IllegalArgumentException(
-          getMessage(
-            "config06",
-            nextElement.getLocalName(),
-            "Invalid analyzer config element:"));
-      }
-
-      // Get next element
-      nextElement = XMLUtils.getNextSibling(nextElement);
-    }
-  }
-
-  /**
-   * Parse WSDL element.
-   */
-  private WSDLElement parseWsdlElement(Element element) throws WSIException
-  {
-    WSDLElement wsdlElement = new WSDLElementImpl();
-
-    // Set type, namespace, parent element name and name
-    wsdlElement.setType(
-      XMLUtils.getAttributeValue(element, WSIConstants.ATTR_TYPE));
-    wsdlElement.setNamespace(
-      XMLUtils.getAttributeValue(element, WSIConstants.ATTR_NAMESPACE));
-    wsdlElement.setParentElementName(
-      XMLUtils.getAttributeValue(
-        element,
-        WSIConstants.ATTR_PARENT_ELEMENT_NAME));
-
-    String wsdlElementName = XMLUtils.getText(element);
-    if (wsdlElementName.equals(""))
-    {
-      // Throw exception
-      throw new IllegalArgumentException(
-        getMessage("config19", "The WSDL element name must be specified."));
-    }
-    wsdlElement.setName(wsdlElementName);
-
-    return wsdlElement;
-  }
-
-  /**
-   * Determine if this element matches specified local name in the analyzer config namespace.
-   */
-  private boolean isElement(Element element, String localName)
-  {
-    return isElement(
-      element,
-      getValidWSIAnalyzerConfigNamespaces(),
-      localName);
-  }
-
-  
-  static public List getValidWSIAnalyzerConfigNamespaces()
-  {
-  	ArrayList list = new ArrayList();
-  	list.add(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG_2003);
-  	list.add(WSIConstants.NS_URI_WSI_ANALYZER_CONFIG);
-  	return list;
-  }
-  
-  /**
-   * Determine if this element matches specified local name in the analyzer config namespace.
-   */
-  private boolean isElement(
-    Element element,
-    List namespaces,
-    String localName)
-  {
-    return XMLUtils.isElement(element, namespaces, localName);
-  }
-
-  /**
-   * Determine if this element matches specified local name in the analyzer config namespace.
-   */
-  private boolean isElement(
-    Element element,
-    String namespace,
-    String localName)
-  {
-    return XMLUtils.isElement(element, namespace, localName);
-  }
-
-  /**
-   * Get message from resource bundle.
-   */
-  private String getMessage(String messageID, String defaultMessage)
-  {
-    return getMessage(messageID, null, defaultMessage);
-  }
-
-  /**
-   * Get message from resource bundle.
-   */
-  private String getMessage(
-    String messageID,
-    String messageData,
-    String defaultMessage)
-  {
-    String message = defaultMessage;
-    if (messageList != null)
-      message = messageList.getMessage(messageID, messageData, defaultMessage);
-    else
-      message += " " + messageData + ".";
-
-    return message;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java
deleted file mode 100644
index d324d8f..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/document/impl/DocumentFactoryImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.document.impl;
-
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfigReader;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AnalyzerConfigImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AnalyzerConfigReaderImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogReader;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogReaderImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.LogWriterImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfigReader;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.MonitorConfigImpl;
-import org.eclipse.wst.wsi.internal.core.monitor.config.impl.MonitorConfigReaderImpl;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
-import org.eclipse.wst.wsi.internal.core.profile.impl.ProfileAssertionsImpl;
-import org.eclipse.wst.wsi.internal.core.profile.impl.ProfileAssertionsReaderImpl;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportWriterImpl;
-import org.eclipse.wst.wsi.internal.core.util.WSIProperties;
-
-/**
- * This is the implementation of the Conformance document factory which provides access to
- * implementations of the documents, readers and writers. 
- * 
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class DocumentFactoryImpl extends DocumentFactory
-{
-  /**
-   * Document factory implementation.
-   */
-  public DocumentFactoryImpl()
-  {
-  }
-
-  /**
-   * Create log file.
-   */
-  public Log newLog()
-  {
-    return new LogImpl();
-  }
-
-  /**
-   * Create monitor config.
-   */
-  public MonitorConfig newMonitorConfig()
-  {
-    return new MonitorConfigImpl();
-  }
-
-  /**
-   * Create analyzer config.
-   */
-  public AnalyzerConfig newAnalyzerConfig()
-  {
-    return new AnalyzerConfigImpl();
-  }
-
-  /**
-   * Create profile assertions.
-   */
-  public ProfileAssertions newProfileAssertions()
-  {
-    return new ProfileAssertionsImpl();
-  }
-
-  /**
-   * Create report.
-   */
-  public Report newReport()
-  {
-    return new ReportImpl();
-  }
-
-  /**
-   * Create monitor config reader.
-   */
-  public MonitorConfigReader newMonitorConfigReader()
-  {
-    return new MonitorConfigReaderImpl();
-  }
-
-  /**
-   * Create analyzer config reader.
-   */
-  public AnalyzerConfigReader newAnalyzerConfigReader()
-  {
-    return new AnalyzerConfigReaderImpl();
-  }
-
-  /**
-   * Create profile assertions reader.
-   */
-  public ProfileAssertionsReader newProfileAssertionsReader()
-  {
-    // Return implementation
-    return new ProfileAssertionsReaderImpl();
-  }
-
-  /**
-   * Create log reader.
-   */
-  public LogReader newLogReader()
-  {
-    // Return implementation
-    return new LogReaderImpl();
-  }
-
-  // WRITERS
-
-  /**
-   * Create log writer.
-   */
-  public LogWriter newLogWriter()
-  {
-    return new LogWriterImpl();
-  }
-
-  /**
-   * Create a new instance of a DocumentReader.
-   */
-  public ReportWriter newReportWriter()
-  {
-    // Return implementation
-    return new ReportWriterImpl();
-  }
-
-  /**
-   * Find the factory class name which can be specified as a Java property.
-   */
-  private static String getFactoryClassName()
-  {
-    // Get property value
-    return WSIProperties.getProperty(
-      WSIProperties.PROP_DOCUMENT_FACTORY,
-      WSIProperties.DEF_DOCUMENT_FACTORY);
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MimePart.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MimePart.java
deleted file mode 100644
index ae68791..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/MimePart.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Created on Nov 22, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.wsi.internal.core.log;
-
-import org.eclipse.wst.wsi.internal.core.document.DocumentElement;
-
-/**
- * @author lauzond
- * 
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
- */
-public interface MimePart extends DocumentElement {
-
-	/**
-	 * Gets the content for the mime part.
-	 * 
-	 * @return the mime content.
-	 * @see #setContent
-	 */
-	public String getContent();
-
-	/**
-	 * Sets the content for the mime part.
-	 * 
-	 * @param mimeContent
-	 *            the mime content.
-	 * @see #getContent
-	 */
-	public void setContent(String mimeContent);
-
-	/**
-	 * Gets the headers for the mime part.
-	 * 
-	 * @return the mime headers.
-	 * @see #setMimeHeaders
-	 */
-	public String getHeaders();
-
-	/**
-	 * Sets the headers for the mime part.
-	 * 
-	 * @param mimeHeaders
-	 *            the mime headers.
-	 * @see #getHeaders
-	 */
-	public void setHeaders(String mimeHeaders);
-
-	/**
-	 * Gets the boundary strings for the mime part. Note that the last part of a
-	 * multipart/ related message will have 2 boundary strings. All other parts
-	 * will have one.
-	 * 
-	 * @return the boundary strings.
-	 * @see #setBoundaryStrings
-	 */
-	public String[] getBoundaryStrings();
-
-	/**
-	 * Sets the boundary strings for the mime part. Note that the last part of a
-	 * multipart/ related message will have 2 boundary strings. All other parts
-	 * will have one.
-	 * 
-	 * @param boundaryStrings
-	 *            the boundary strings.
-	 * @see #getBoundaryStrings
-	 */
-	public void setBoundaryStrings(String[] mimeHeaders);
-
-	public String toXMLString(String namespaceName);
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java
deleted file mode 100644
index 5025fce..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/log/impl/MimePartImpl.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Created on Nov 22, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.wsi.internal.core.log.impl;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-/**
- * @author lauzond
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class MimePartImpl implements MimePart 
-{
-  private String mimeContent;
-  private String mimeHeaders;
-  private String[] boundaryStrings = new String[0];
-  
-  public MimePartImpl ()
-  {
-  }
-  
-  /* (non-Javadoc)
-   * @see org.wsi.test.log.MimePart#getContent()
-   */
-  public String getContent()
-  {
-    return this.mimeContent;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.log.MimePart#setContent(String)
-   */
-  public void setContent(String mimeContent)
-  {
-  	this.mimeContent = mimeContent;
-  }
-
-  /**
-  /* (non-Javadoc)
-   * @see org.eclipse.wst.wsi.internal.core.log.MimePart#getHeaders()
-   */
-  public String getHeaders()
-  {
-  	return this.mimeHeaders;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.log.MimePart#setHeaders(String)
-   */
-  public void setHeaders(String mimeHeaders)
-  {
-  	this.mimeHeaders = mimeHeaders;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.log.MimePart#getBoundaryStrings()
-   */
-  public String[] getBoundaryStrings()
-  {
-  	return this.boundaryStrings;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.log.MimePart#setBoundaryStrings(String[])
-   */
-  public void setBoundaryStrings(String[] boundaryStrings)
-  {
-  	this.boundaryStrings = boundaryStrings;
-  }
-
-  /**
-   * Get string representation of this object.
-   */
-  public String toString()
-  {
-    return toXMLString(WSIConstants.NS_NAME_WSI_LOG);
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.document.DocumentElement#toXMLString(String)
-   */
-  public String toXMLString(String namespaceName)
-  {
-    StringWriter sw = new StringWriter();
-    PrintWriter pw = new PrintWriter(sw);
-
-    String nsName = namespaceName;
-    if ((!nsName.equals("") && (!nsName.endsWith(":"))))
-      nsName += ":";
-
-    // Add mimePart element
-    pw.println("<" + nsName + WSIConstants.ELEM_MIME_PART  + ">");
-    
-    // Add boundary string element
-     for (int i = 0; i < boundaryStrings.length; i++)
-    {
-        pw.print("<" + nsName + WSIConstants.ELEM_BOUNDARY_STRING + ">");
-        pw.print(boundaryStrings[i]);
-        pw.println("</" + nsName + WSIConstants.ELEM_BOUNDARY_STRING + ">");
-    }
-   
-    // Add mimeHeaders element
-    pw.print("<" + nsName + WSIConstants.ELEM_MIME_HEADERS + ">");
-    pw.print(XMLUtils.xmlEscapedString(mimeHeaders));
-    pw.println("</" + nsName + WSIConstants.ELEM_MIME_HEADERS + ">");
-
-    // Add encoded content
-    pw.print("<" + nsName + WSIConstants.ELEM_MIME_CONTENT + ">");
-    if ((mimeContent.indexOf("<") != -1)  || 
-        (mimeContent.indexOf(">") != -1)  || 
-		(mimeContent.indexOf("\"") != -1) ||
-		(mimeContent.indexOf("\'") != -1))
-    	pw.print(XMLUtils.xmlEscapedString(mimeContent));
-    else
-        pw.print(getContent());
-    pw.println("</" + nsName + WSIConstants.ELEM_MIME_CONTENT + ">");
- 
-    // Add end message element
-    pw.println("</" + nsName + WSIConstants.ELEM_MIME_PART + ">");
-
-    // Return string
-    return sw.toString();
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java
deleted file mode 100644
index b3b8ae5..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/ChunkedData.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.monitor;
-
-/**
- * This class will process chunked data.
- * 
- * @author Peter  Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class ChunkedData
-{
-  protected boolean moreChunkedData = false;
-  protected String chunkedData = "";
-  protected SocketHandler socketHandler = null;
-
-  /**
-   * Constructs a ChunkedData object.
-   */
-  public ChunkedData()
-  {
-  }
-
-  /**
-   * Constructs a ChunkedData object.
-   * @param socketHandler socket handler.
-   * @param moreChunkedData chunked data.
-   */
-  public ChunkedData(SocketHandler socketHandler, boolean moreChunkedData)
-  {
-    this.socketHandler = socketHandler;
-    this.moreChunkedData = moreChunkedData;
-  }
-
-  /**
-   * Constructs a ChunkedData object.
-   * @param socketHandler socket handler.
-   * @param chunkedData chunked data.
-   */
-  public ChunkedData(SocketHandler socketHandler, String chunkedData)
-  {
-    this.socketHandler = socketHandler;
-    this.chunkedData = chunkedData;
-    this.moreChunkedData = checkData(chunkedData);
-  }
-
-  /**
-   * Add the chunked data to the buffer.
-   * @param chunkedData chunked data.
-   */
-  public void addData(String chunkedData)
-  {
-    this.chunkedData += chunkedData;
-    this.moreChunkedData = checkData(chunkedData);
-  }
-
-  /**
-   * Get data buffer.
-   * @return  data buffer.
-   */
-  public String getData()
-  {
-    return this.chunkedData;
-  }
-
-  /**
-   * Clear data buffer.
-   */
-  public void clearData()
-  {
-    this.chunkedData = "";
-  }
-
-  /**
-   * Returns true if there is more chunked data.
-   * @return true if there is more chunked data.
-   */
-  public boolean isMoreChunkedData()
-  {
-    return this.moreChunkedData;
-  }
-
-  /**
-   * Decode and add data to the buffer.
-   * @param messageBuffer a StringBuffer object.
-   * @return true if data is added to the buffer.
-   */
-  public boolean decodeAndAddDataToBuffer(StringBuffer messageBuffer)
-  {
-    boolean moreChunkedData = false;
-    if (!this.moreChunkedData)
-    {
-      // DEBUG:
-      debug("decodeAndAddDataToBuffer", "chunkedData: " + chunkedData);
-
-      moreChunkedData = decodeData(chunkedData, messageBuffer);
-    }
-
-    return moreChunkedData;
-  }
-
-  /**
-   * Check data.
-   */
-  private boolean checkData(String chunkedData)
-  {
-    boolean moreChunkedData = false;
-    int index;
-
-    // Look for [CRLF][0][CRLF] in the chunked data      
-    if ((index =
-      chunkedData.indexOf(SocketHandler.CRLF + "0" + SocketHandler.CRLF))
-      != -1)
-    {
-      moreChunkedData = false;
-
-      // DEBUG:
-      debug(
-        "checkData",
-        "Chunk contains [CRLF][0][CRLF], so there is no more data.");
-    }
-
-    // Look for [0][CRLF] at start of chunked data      
-    else if (chunkedData.startsWith("0" + SocketHandler.CRLF))
-    {
-      moreChunkedData = false;
-
-      // DEBUG:
-      debug(
-        "checkData",
-        "Chunk data starts with [0][CRLF], so there is no more data.");
-    }
-
-    // Otherwise step through it to see if we have all of the data
-    else
-    {
-      moreChunkedData = true;
-    }
-
-    return moreChunkedData;
-  }
-
-  /**
-   * Decode chunked data.
-   * 
-   * Data format:
-   * <pre>
-   *   [Chunk Size][CRLF][Data Chunk][CRLF][Chunk Size][CRLF][Data Chunk][CRLF]...[0][CRLF][Optional Footer][CRLF]
-   * </pre>
-   * 
-   * @param chunkedData
-   * @param messageLoggingBuffer
-   */
-  private boolean decodeData(String chunkedData, StringBuffer messageBuffer)
-  {
-    boolean endOfData = false;
-    int nextIndex = 0;
-    int prevIndex = 0;
-    int chunkSize = 0;
-
-    String nextChunkData = null;
-
-    // Process each chunk of data
-    while (!(endOfData)
-      && (nextIndex < chunkedData.length())
-      && (nextIndex = chunkedData.indexOf(SocketHandler.CRLF, prevIndex)) != -1)
-    {
-      // Get the data length which is right after this
-      String hexChunkedSize = chunkedData.substring(prevIndex, nextIndex);
-
-      // Decode length
-      chunkSize = Integer.decode("0x" + hexChunkedSize).intValue();
-
-      // DEBUG:
-      debug("decodeData", "chunkedSize: " + chunkSize);
-
-      // If size is zero, then we have hit the end of the chunked data
-      if (chunkSize == 0)
-      {
-        endOfData = true;
-      }
-
-      // If we don't have all of the data then stop
-      else if (nextIndex + 2 + chunkSize > chunkedData.length())
-      {
-        break;
-      }
-
-      else
-      {
-        nextChunkData =
-          chunkedData.substring(nextIndex + 2, nextIndex + 2 + chunkSize);
-
-        // DEBUG:
-        debug("decodeData", "nextChunkData: " + nextChunkData);
-
-        // Get message based on length
-        if (messageBuffer != null)
-          messageBuffer.append(nextChunkData);
-      }
-
-      // Point at the next chunk size
-      prevIndex = nextIndex + 2 + chunkSize + 2;
-    }
-
-    return endOfData;
-  }
-
-  /**
-   * Debug.
-   */
-  private void debug(String method, String message)
-  {
-    this.socketHandler.debug("ChunkedData", method, message);
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java
deleted file mode 100644
index f53a033..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/Monitor.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.monitor;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.ToolInfo;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSIFileNotFoundException;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.monitor.config.ManInTheMiddle;
-import org.eclipse.wst.wsi.internal.core.monitor.config.MonitorConfig;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-import org.eclipse.wst.wsi.internal.core.util.MessageList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-
-/**
- * Message Monitor.
- *
- * @author Peter Brittenham (peterbr.us.ibm.com)
- */
-
-public class Monitor
-{
-  /**
-   * Message list.
-   */
-  protected MessageList messageList = null;
-
-  private final static String RESOURCE_BUNDLE_NAME =
-    "org.wsi.test.monitor.Monitor";
-
-  public final static String USAGE_MESSAGE =
-    "Usage: Monitor -config <configFilename>";
-
-  /**
-   * Converstation ID.
-   */
-  private int conversationId = 1;
-
-  private Log log = null;
-  private LogWriter logWriter = null;
-  private MonitorConfig monitorConfig = null;
-
-  /**
-  * Tool information.
-  */
-  public static final String TOOL_NAME = "Monitor";
-
-  protected ToolInfo toolInfo = null;
-
-  protected Vector listenerList = new Vector();
-
-  protected MessageEntryQueue messageEntryQueue = null;
-
-  /**
-   * Message monitor.
-   * @param args command line arguments.
-   * @throws WSIException if there is a problem creating a Monitor object.
-   */
-  public Monitor(String[] args) throws WSIException
-  {
-    // Create message list
-    this.messageList = new MessageList(RESOURCE_BUNDLE_NAME);
-
-    // Tool information
-    toolInfo = new ToolInfo(TOOL_NAME);
-
-    // Create document factory
-    DocumentFactory documentFactory = DocumentFactory.newInstance();
-
-    // Get new config object
-    monitorConfig = documentFactory.newMonitorConfig();
-    monitorConfig.init(this.messageList);
-
-    // Parse command line arguments
-    monitorConfig.parseArgs(args);
-
-    String logLocation = monitorConfig.getLogLocation();
-    if (logLocation.indexOf(WSIConstants.PATH_SEPARATOR) > -1)
-    {
-      throw new WSIException(
-        messageList.getMessage(
-          "config11",
-          monitorConfig.getLogLocation(),
-          "The log file location value cannot contain the pass separator character:"));
-    }
-
-    File file = null;
-    try
-    {
-      // Get file object for log file
-      file = new File(monitorConfig.getLogLocation());
-    }
-
-    catch (Exception e)
-    {
-      throw new WSIException(
-        messageList.getMessage("config07", "Could not get log file location."),
-        e);
-    }
-
-    // If replace flag is false and file exists, then throw exception
-    if (file.exists() && !monitorConfig.getReplaceLog())
-    {
-      throw new IllegalArgumentException(
-        messageList.getMessage(
-          "config08",
-          monitorConfig.getLogLocation(),
-          "Log file already exists:"));
-    }
-
-    try
-    {
-      // Create output file
-      log = documentFactory.newLog();
-
-      // Set style sheet string
-      log.setStyleSheetString(
-        monitorConfig.getAddStyleSheet().getStyleSheetString());
-
-      // Get log writer
-      logWriter = documentFactory.newLogWriter();
-      logWriter.setWriter(monitorConfig.getLogLocation());
-
-      // Write start of log file
-      logWriter.write(new StringReader(log.getStartXMLString("")));
-
-      // Write monitor tool information
-      logWriter.write(new StringReader(toXMLString("")));
-
-      // Create log entry queue
-      messageEntryQueue = new MessageEntryQueue(this, log, logWriter);
-    }
-
-    catch (Exception e)
-    {
-      throw new WSIException(
-        messageList.getMessage(
-          "error03",
-          "Could not create log or log writer."),
-        e);
-    }
-
-    // Get manInTheMiddle settings
-    ManInTheMiddle manInTheMiddle = monitorConfig.getManInTheMiddle();
-
-    // Get list of redirects
-    Iterator iterator = manInTheMiddle.getRedirectList().iterator();
-
-    // Process each redirect
-    Redirect redirect;
-    while (iterator.hasNext())
-    {
-      // Get next redirect
-      redirect = (Redirect) iterator.next();
-
-      // Create server socket socket listener
-      listenerList.add(new ServerSocketListener(this, redirect));
-    }
-
-    // Add shutdown hook
-    Runtime.getRuntime().addShutdownHook(new ShutdownHook());
-
-    // Create and start console
-    Console console = new Console();
-    console.start();
-  }
-
-  /**
-   * Get the monitor config file.
-   * @return the monitor config file.
-   */
-  public MonitorConfig getMonitorConfig()
-  {
-    return monitorConfig;
-  }
-
-  /**
-   * Get the log object.
-   * @return the log object.
-   */
-  public Log getLog()
-  {
-    return this.log;
-  }
-
-  /**
-   * Get the log entry queue object.
-   * @return the log entry queue object.
-   */
-  public MessageEntryQueue getMessageEntryQueue()
-  {
-    return this.messageEntryQueue;
-  }
-
-  /**
-   * Terminate the monitor.
-   */
-  void exitMonitor()
-  {
-    printMessage("stopping01", "Stopping the monitor...");
-    System.exit(0);
-  }
-
-  /**
-   * Stop the monitor because an exception occurred.
-   */
-  void exitMonitor(Exception e)
-  {
-    // Display error message
-    printMessage(
-      "stopping02",
-      "Stopping monitor because an exception occurred.");
-    System.err.println("EXCEPTION: " + e.toString());
-    if (this.monitorConfig.getVerboseOption())
-      e.printStackTrace();
-
-    // Exit monitor
-    exitMonitor();
-  }
-
-  /**
-   * Stop the monitor.
-   */
-  void stopMonitor()
-  {
-    try
-    {
-      // Get list of listeners to stop
-      Iterator iterator = listenerList.iterator();
-
-      while (iterator.hasNext())
-      {
-        ((ServerSocketListener) iterator.next()).shutdown();
-      }
-
-      // Wait for the cleanup timeout seconds
-      Thread.sleep(monitorConfig.getTimeout() * 1000);
-
-      // Write end of log file
-      if (logWriter != null)
-      {
-        logWriter.write(new StringReader(log.getEndXMLString("")));
-
-        logWriter.close();
-      }
-    }
-
-    catch (Exception e)
-    {
-      // ADD: How should this execption be handled?
-    }
-
-    printMessage("stopped01", "Monitor stopped.");
-  }
-
-  /**
-   * Command line interface.
-   * @param args command line arguments.
-   */
-  public static void main(String[] args)
-  {
-    Monitor monitor = null;
-
-    try
-    {
-      String configFileName;
-      if (args.length < 2)
-      {
-        staticPrintMessage("usage01", USAGE_MESSAGE);
-        System.exit(1);
-      }
-
-      if (!args[0].equalsIgnoreCase("-config"))
-      {
-        staticPrintMessage("usage01", USAGE_MESSAGE);
-        System.exit(1);
-      }
-
-      // Run the monitor
-      monitor = new Monitor(args);
-    }
-
-    catch (Exception e)
-    {
-      boolean printStackTrace = true;
-      String messageID;
-      String defaultMessage;
-      String messageData;
-
-      if ((e instanceof WSIFileNotFoundException)
-        || (e instanceof IllegalArgumentException))
-      {
-        printStackTrace = false;
-        messageID = "error01";
-        defaultMessage = "Monitor Error:";
-        messageData = e.getMessage();
-      }
-
-      else
-      {
-        printStackTrace = true;
-        messageID = "error02";
-        defaultMessage = "Monitor Stopped By Exception:";
-        messageData = e.toString();
-      }
-
-      if (monitor != null)
-        monitor.printMessage(messageID, messageData, defaultMessage);
-      else
-        Monitor.staticPrintMessage(messageID, messageData, defaultMessage);
-
-      if (printStackTrace)
-        e.printStackTrace();
-
-      // Exit
-      if (monitor != null)
-        monitor.exitMonitor();
-      else
-        System.exit(2);
-    }
-  }
-
-  /**
-   * Print a message from the resource bundle.
-   * @param key a key.
-   * @param defaultMessage a default message.
-   */
-  public void printMessage(String key, String defaultMessage)
-  {
-    printMessage(key, null, defaultMessage);
-  }
-
-  /**
-   * Print a message from the resource bundle.
-   * @param key a key.
-   * @param messageData message data.
-   * @param defaultMessage a default message.
-   */
-  public void printMessage(
-    String key,
-    String messageData,
-    String defaultMessage)
-  {
-    messageList.printMessage(key, messageData, defaultMessage);
-  }
-
-  /**
-   * Print message.
-   * @param key a key.
-   * @param defaultMessage a default message.
-   */
-  public static void staticPrintMessage(String key, String defaultMessage)
-  {
-    staticPrintMessage(key, null, defaultMessage);
-  }
-
-  /**
-   * Print message.
-   * @param key a key.
-   * @param messageData message data.
-   * @param defaultMessage a default message.
-  
-   */
-  public static void staticPrintMessage(
-    String key,
-    String messageData,
-    String defaultMessage)
-  {
-    MessageList.printMessage(
-      RESOURCE_BUNDLE_NAME,
-      key,
-      messageData,
-      defaultMessage);
-  }
-
-  /**
-   * Get the next conversation identifier.
-   * @return the next conversation identifier.
-   */
-  synchronized int getNextConversationId()
-  {
-    return conversationId++;
-  }
-
-  /**
-   * Return XML string representation of this object.
-   * @param namespaceName namespace prefix.
-   * @return XML string representation of this object.
-   */
-  public String toXMLString(String namespaceName)
-  {
-    StringWriter sw = new StringWriter();
-    PrintWriter pw = new PrintWriter(sw);
-
-    // Start
-    pw.print(toolInfo.getStartXMLString(namespaceName));
-
-    // Config
-    pw.print(
-      monitorConfig.toXMLString(WSIConstants.NS_NAME_WSI_MONITOR_CONFIG));
-
-    // End
-    pw.println(toolInfo.getEndXMLString(namespaceName));
-
-    return sw.toString();
-  }
-
-  /**
-   * Shutdown hook.
-   */
-  class ShutdownHook extends Thread
-  {
-    /**
-     * Run shutdown procedure.
-     */
-    public void run()
-    {
-      stopMonitor();
-    }
-  }
-
-  /**
-   * Run command from console.
-   */
-  class Console extends Thread
-  {
-    /**
-     * Prompt user and wait for input.
-     */
-    public void run()
-    {
-      String line = null;
-
-      // Get the exit string
-      String exitString = messageList.getMessage("exit01", "exit");
-
-      // Display options and how to stop application
-      TestUtils.printToolInfo(toolInfo);
-      System.out.print(monitorConfig.toString());
-      System.out.println(" ");
-      printMessage(
-        "start01",
-        "The "
-          + toolInfo.getName()
-          + " tool is ready to intercept and log web service messages.");
-      printMessage(
-        "start02",
-        "Type \"exit\" to stop the " + toolInfo.getName() + ".");
-      System.out.println(" ");
-
-      // Get the time to stop accepting connections
-      long stopTime =
-        System.currentTimeMillis() + (monitorConfig.getLogDuration() * 1000);
-      // SS
-
-      try
-      {
-        // Get stdin as a buffered reader
-        BufferedReader reader =
-          new BufferedReader(new InputStreamReader(System.in));
-
-        // Process input from console
-        boolean exit = false;
-        while ((!exit) && (System.currentTimeMillis() < stopTime))
-        { // SS
-          // Sleep
-          Thread.sleep(500);
-
-          // Check for user input
-          if (reader.ready())
-          {
-            if (reader.readLine().equalsIgnoreCase(exitString))
-              exit = true;
-          }
-        }
-      }
-
-      catch (Exception e)
-      {
-        // ADD: How should this be handled?
-        System.err.println(e.toString());
-      }
-
-      // Exit
-      exitMonitor();
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java
deleted file mode 100644
index b900453..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/SocketHandler.java
+++ /dev/null
@@ -1,965 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Beacon Information Technology Inc. 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      - Initial API and implementation
- *   BeaconIT - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.monitor;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InterruptedIOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.Socket;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * Socket Handler.
- * 
- * @author Peter  Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class SocketHandler extends Thread
-{
-  protected SocketConnection socketConnection;
-  protected SocketHandler pairedSocketHandler;
-  protected String connectionType;
-  protected int conversationID;
-  protected String targetHost;
-  protected int readTimeoutSeconds;
-
-  protected Socket inSocket;
-  protected Socket outSocket;
-  protected InputStream inputStream = null;
-  protected OutputStream outputStream = null;
-
-  protected boolean verbose = false;
-
-  protected boolean readTimedOut = false;
-
-  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-  private String mimeCharset = null;
-  private String xmlEncoding = null;
-
-  protected static final String CRLF = "\r\n";
-
-  protected static final String HTTP_100_CONTINUE =
-    "100 Continue".toUpperCase();
-  protected static final String CHUNKED =
-    "Transfer-Encoding: chunked".toUpperCase();
-  protected static final String CHUNKED_WITH_QUOTES =
-    "Transfer-Encoding: \"chunked\"".toUpperCase();
-  protected static final String CONTENT_LENGTH =
-    "Content-Length:".toUpperCase();
-
-  /**
-   * Create socket handler.
-   * @param socketConnection   socket connection.
-   * @param connectionType     connection type.
-   * @param conversationID     conversation id.
-   * @param targetHost         target host.
-   * @param inSocket           in socket.
-   * @param outSocket          out socket.
-   * @param readTimeoutSeconds read timeout seconds.
-   */
-  public SocketHandler(
-    SocketConnection socketConnection,
-    String connectionType,
-    int conversationID,
-    String targetHost,
-    Socket inSocket,
-    Socket outSocket,
-    int readTimeoutSeconds)
-  {
-    this.socketConnection = socketConnection;
-    this.connectionType = connectionType;
-    this.conversationID = conversationID;
-    this.targetHost = targetHost;
-    this.inSocket = inSocket;
-    this.outSocket = outSocket;
-    this.readTimeoutSeconds = readTimeoutSeconds;
-
-    // ADD:
-    verbose =
-      socketConnection.getMonitor().getMonitorConfig().getVerboseOption();
-
-    start();
-  }
-
-  /**
-   * Set paired socket handler.
-   * @param pairedSocketHandler paired socket handler.
-   */
-  public void setPairedSocketHandler(SocketHandler pairedSocketHandler)
-  {
-    this.pairedSocketHandler = pairedSocketHandler;
-  }
-
-  /**
-   * Send the data from the input socket to the output socket.
-   */
-  public void run()
-  {
-    int readLen;
-    String readMsg;
-    MessageContext messageContext = null;
-
-    // Create read buffer      
-    byte[] readBuffer = new byte[4096];
-
-    try
-    {
-      // Get the input and output streams
-      this.inputStream = this.inSocket.getInputStream();
-      this.outputStream = this.outSocket.getOutputStream();
-
-      // Process while the connection is active 
-      // (NOTE: there might be more than 1 message per connection)
-      boolean connectionActive = true;
-      while (connectionActive)
-      {
-        // Reset all data
-        readLen = 0;
-        messageContext = new MessageContext();
-
-        // Read until message is complete
-        boolean messageComplete = false;
-        while (!messageComplete)
-        {
-          try
-          {
-            // DEBUG:
-            debug("run", "Read data from the input stream.");
-
-            // Read data from the input stream
-            readLen = inputStream.read(readBuffer, 0, readBuffer.length);
-
-            // Reset read timeout flag
-            readTimedOut = false;
-
-            // DEBUG:
-            debug("run", "readLen: " + readLen);
-
-            if (readLen == -1)
-            {
-              connectionActive = false;
-              messageComplete = true;
-            }
-
-            // If data was read, then check for 100 continue
-            else if (readLen > 0)
-            {
-              // If this is the first data that was read, then get the timestamp
-              if (messageContext.timestamp == null)
-                messageContext.timestamp = Utils.getTimestamp();
-
-              if (connectionType.equals(MessageEntry.TYPE_REQUEST))
-              {
-                byte[] toHost =
-                  new String(
-                    socketConnection.redirect.getToHost()
-                      + ":"
-                      + socketConnection.redirect.getToPort())
-                    .getBytes();
-
-                String message = new String(readBuffer, 0, readLen);
-
-                int index = message.indexOf(CRLF + "Host: ");
-                if (index > -1)
-                {
-                  index += 8;
-                  int secondPart = message.indexOf(CRLF, index);
-
-                  // Write the data to the output stream and then go format it
-                  write(this.outputStream, readBuffer, 0, index);
-                  write(this.outputStream, toHost, 0, toHost.length);
-                  write(
-                    this.outputStream,
-                    readBuffer,
-                    secondPart,
-                    readLen - secondPart);
-                }
-                else
-                {
-                  // Write the data to the output stream and then go format it
-                  write(this.outputStream, readBuffer, 0, readLen);
-                }
-              }
-              else
-              {
-                // Write the data to the output stream and then go format it
-                write(this.outputStream, readBuffer, 0, readLen);
-              }
-
-              // DEBUG:
-              if (verbose)
-              {
-                String bufferString = new String(readBuffer, 0, readLen);
-                debug("run", "buffer as string: [" + bufferString + "]");
-                if (bufferString.length() <= 50)
-                  debug(
-                    "run",
-                    "buffer as hexstring: ["
-                      + Utils.toHexString(bufferString)
-                      + "]");
-                else
-                  debug(
-                    "run",
-                    "buffer as hexstring: ["
-                      + Utils.toHexString(bufferString.substring(0, 50))
-                      + " ...]");
-              }
-
-              // See if this part of the buffer contains the BOM
-              if (messageContext.bom == 0)
-              {
-                messageContext.bom = getBOM(readBuffer);
-              }
-
-              // DEBUG
-              debug("run", "bom: " + messageContext.bom);
-
-              String encoding;
-
-              try
-              {
-                encoding = getEncoding();
-                readMsg =
-                  new String(
-                    readBuffer,
-                    0,
-                    readLen,
-                    Utils.getJavaEncoding(encoding));
-                setEncoding(readMsg);
-                if (!encoding.equals(getEncoding()))
-                {
-                  encoding = getEncoding();
-                  readMsg =
-                    new String(
-                      readBuffer,
-                      0,
-                      readLen,
-                      Utils.getJavaEncoding(encoding));
-                }
-              }
-
-              catch (UnsupportedEncodingException uee)
-              {
-                debug("run", "EXCEPTION (3): " + uee.toString());
-                throw new RuntimeException(uee.toString());
-              }
-
-              // Set encoding in the message context
-              messageContext.encoding = encoding;
-
-              // DEBUG
-              debug("run", "encoding: " + messageContext.encoding);
-
-              // Process message
-              messageContext = processMessage(readLen, readMsg, messageContext);
-            }
-
-            // If message is complete, then log it and reset buffer
-            if ((isMessageComplete(messageContext))
-              || ((readLen == -1) && (messageContext.messageBuffer.length() > 0)))
-            {
-              // Log message
-              logMessage(messageContext);
-
-              // Set message complete
-              messageComplete = true;
-            }
-          }
-
-          catch (InterruptedIOException ie)
-          {
-            // Set read timeout flag
-            readTimedOut = true;
-
-            debug("run", "InterruptedIOException: " + ie.toString());
-
-            // If the read is not done, then shutdown 
-            if (pairedSocketHandler != null
-              && pairedSocketHandler.isReadWaiting()
-              && pairedSocketHandler.isReadTimedOut())
-            {
-              // DEBUG:
-              debug("run", "read timed out on both sockets");
-
-              // If there is data in the message buffer and it is complete, then log it
-              if ((isMessageComplete(messageContext))
-                || (messageContext.messageBuffer.length() > 0))
-              {
-                // Log message
-                logMessage(messageContext);
-              }
-
-              // Set message complete
-              connectionActive = false;
-              messageComplete = true;
-            }
-          }
-
-          catch (Exception e2)
-          {
-            // DEBUG:
-            debug(
-              "run",
-              "EXCEPTION (2): "
-                + e2.toString()
-                + "\n"
-                + Utils.getExceptionDetails(e2));
-            //e2.printStackTrace();
-
-            // If there is data in the message buffer and it is complete, then log it
-            if ((isMessageComplete(messageContext))
-              || (messageContext.messageBuffer.length() > 0))
-            {
-              // Log message
-              logMessage(messageContext);
-            }
-
-            // Set message complete
-            connectionActive = false;
-            messageComplete = true;
-          }
-        }
-      }
-    }
-
-    catch (Exception e)
-    {
-      // DEBUG:
-      debug(
-        "run",
-        "EXCEPTION (1): "
-          + e.getMessage()
-          + "\n"
-          + Utils.getExceptionDetails(e));
-      //e.printStackTrace();
-    }
-
-    catch (Error err)
-    {
-      // DEBUG:
-      debug("run", "ERROR: " + err.getMessage());
-      //err.printStackTrace();
-    }
-
-    finally
-    {
-      shutdown();
-      socketConnection.wakeUp();
-    }
-  }
-
-  /**
-   * Process the message.
-   */
-  private MessageContext processMessage(
-    int readLen,
-    String readMsg,
-    MessageContext inMessageContext)
-    throws WSIException
-  {
-    boolean continueRead = false;
-
-    // Initialize message context                                       
-    MessageContext messageContext = inMessageContext;
-
-    // Get message buffer and chunked data from message context
-    StringBuffer messageBuffer = messageContext.messageBuffer;
-    ChunkedData chunkedData = messageContext.chunkedData;
-
-    // If all we received was the header with 100 continue, then ignore it
-    if ((readMsg.toUpperCase().indexOf(HTTP_100_CONTINUE) != -1)
-      && (readLen >= 25))
-    {
-      // DEBUG:
-      debug("processMessage", "Ignore HTTP 100 Continue.");
-
-      // Find the end of the HTTP 100 message
-      int index = Utils.getFirstCRLFCRLF(readMsg);
-
-      // If there is only the HTTP 100 message, then just ignore it
-      if (index == readMsg.length())
-        continueRead = true;
-
-      // Otherwise remove the HTTP 100 message and continue
-      else
-        readMsg = readMsg.substring(index);
-    }
-
-    // ADD: What if a bypassed message contains another message after it?
-    if (!continueRead && bypassMessage(readMsg))
-    {
-      // DEBUG:
-      debug(
-        "processMessage",
-        "Do not log message as defined in the monitor spec, but it will be sent.");
-
-      continueRead = true;
-    }
-
-    if (!continueRead)
-    {
-      int index = 0;
-
-      // If there is chunked data, then get the length
-      if ((readMsg.toUpperCase().indexOf(CHUNKED) != -1)
-        || (readMsg.toUpperCase().indexOf(CHUNKED_WITH_QUOTES) != -1))
-      {
-        // DEBUG:
-        debug("processMessage", "Processing chunked data...");
-
-        // Get the location of the first CFLF
-        if ((index = readMsg.indexOf(CRLF + CRLF)) == -1)
-        {
-          throw new WSIException("Could not locate end of HTTP header.");
-        }
-
-        // Include the CRLF+CRLF in the index
-        index += 4;
-
-        // DEBUG:
-        debug(
-          "processMessage",
-          "Add header before decoding chunked data: ["
-            + readMsg.substring(0, index)
-            + "]");
-
-        // Add HTTP header to buffer
-        messageBuffer.append(readMsg.substring(0, index));
-
-        // If there is no more data (i.e. header only), then just indicate that there is more chunked data
-        if (readMsg.length() == index)
-        {
-          chunkedData = new ChunkedData(this, true);
-
-          // DEBUG:
-          debug(
-            "processMessage",
-            "There is chunk data, but none in this part of the message.");
-        }
-
-        // Determine if the remainder of the data is complete (i.e. ends with [0][CRLF][Optional Footer][CRLF])
-        else
-        {
-          // Create chunked data object
-          chunkedData = new ChunkedData(this, readMsg.substring(index));
-
-          if (!chunkedData.isMoreChunkedData())
-          {
-            chunkedData.decodeAndAddDataToBuffer(messageBuffer);
-          }
-        }
-      }
-
-      else if (chunkedData != null && chunkedData.isMoreChunkedData())
-      {
-        // DEBUG:
-        debug("processMessage", "Processing MORE chunked data...");
-
-        // Add data
-        chunkedData.addData(readMsg);
-
-        // Decode data
-        if (!chunkedData.isMoreChunkedData())
-        {
-          chunkedData.decodeAndAddDataToBuffer(messageBuffer);
-        }
-      }
-
-      // Else just append the data to the buffer
-      else
-      {
-        // DEBUG:
-        debug(
-          "processMessage",
-          "Add data to message entry buffer: [" + readMsg + "]");
-
-        messageBuffer.append(readMsg);
-      }
-    }
-
-    // Set updated message buffer and chunked data in message context    
-    messageContext.messageBuffer = messageBuffer;
-    messageContext.chunkedData = chunkedData;
-
-    // Return message context 
-    return messageContext;
-  }
-
-  /**
-   * Shutdown input socket and close input stream.
-   * @param inSocket in socket.
-   * @param inputStream input stream.
-   */
-  protected void stopInput(Socket inSocket, InputStream inputStream)
-  {
-    try
-    {
-      // If there is a input socket, then shutdown the input
-      if (inSocket != null)
-      {
-        inSocket.shutdownInput();
-      }
-
-      // If there is an input stream then close it
-      if (inputStream != null)
-      {
-        inputStream.close();
-      }
-    }
-    catch (Exception e)
-    {
-      // Ignore since we are stopping everything
-    }
-
-    inputStream = null;
-  }
-
-  /**
-   * Shutdown output socket and close output stream.
-   * @param outSocket out socket.
-   * @param outputStream output stream.
-   */
-  protected void stopOutput(Socket outSocket, OutputStream outputStream)
-  {
-    try
-    {
-      // If there is an output stream, then flush it
-      if (outputStream != null)
-      {
-        outputStream.flush();
-      }
-
-      // If there is a input socket, then shutdown the input
-      if (outSocket != null)
-      {
-        outSocket.shutdownOutput();
-      }
-
-      // If there is an output stream then close it
-      if (outputStream != null)
-      {
-        outputStream.close();
-      }
-    }
-
-    catch (Exception e)
-    {
-      // Ignore since we are stopping everything
-    }
-
-    outputStream = null;
-  }
-
-  /**
-   * Shutdown handler.
-   */
-  public void shutdown()
-  {
-    // Stop both the input and output
-    stopInput(this.inSocket, this.inputStream);
-    stopOutput(this.outSocket, this.outputStream);
-  }
-
-  /**
-   * Display debug messages.
-   */
-  void debug(String method, String message)
-  {
-    debug("SocketHandler", method, message);
-  }
-
-  /**
-   * Display debug messages.
-   */
-  void debug(String className, String method, String message)
-  {
-    if (verbose)
-      print(className, method, message);
-  }
-
-  /**
-   * Display messages.
-   */
-  void print(String className, String method, String message)
-  {
-    System.out.println(
-      "["
-        + Thread.currentThread().getName()
-        + "] ["
-        + className
-        + "."
-        + method
-        + "] ["
-        + this.connectionType
-        + "] "
-        + message);
-  }
-
-  /** 
-   * Write data.
-   */
-  private void write(
-    OutputStream outputStream,
-    byte[] buffer,
-    int start,
-    int length)
-    throws IOException
-  {
-    if (outputStream == null)
-    {
-      // DEBUG:
-      debug("write", "Could not write buffer because output stream is null.");
-    }
-    else
-    {
-      // DEBUG:
-      debug("write", "buffer: [" + new String(buffer, start, length) + "]");
-
-      outputStream.write(buffer, start, length);
-    }
-  }
-
-  /** 
-   * Check if message is complete.
-   * 
-   * @param messageContext
-   */
-  private boolean isMessageComplete(MessageContext messageContext)
-    throws WSIException
-  {
-    int index, index2, contentLen;
-    boolean messageComplete = false;
-
-    boolean moreChunkedData = messageContext.chunkedData.isMoreChunkedData();
-
-    String message = messageContext.messageBuffer.toString();
-
-    // Find the first CRLF + CRLF which marks the end of the HTTP header
-    String httpHeader;
-    index = Utils.getFirstCRLFCRLF(message);
-    if (index == -1)
-      httpHeader = message;
-    else
-      httpHeader = message.substring(0, index);
-
-    // If chunked data, then complete only if there is no more data
-    if (((httpHeader.toUpperCase().indexOf(CHUNKED) != -1)
-      || (httpHeader.toUpperCase().indexOf(CHUNKED_WITH_QUOTES) != -1))
-      && (!moreChunkedData))
-    {
-      debug(
-        "isMessageComplete",
-        "HTTP header indicates chunked data and there is no more chunked data");
-      messageComplete = true;
-    }
-
-    // Check for content length
-    else if ((index = httpHeader.toUpperCase().indexOf(CONTENT_LENGTH)) == -1)
-    {
-      debug("isMessageComplete", "HTTP header does not contain content length");
-
-      // Should not have complete POST header without content length
-      if (httpHeader.startsWith("POST"))
-      {
-        if (httpHeader.endsWith(CRLF + CRLF))
-        {
-          throw new WSIException("Could not locate content-length in HTTP POST header.");
-        }
-
-        messageComplete = false;
-      }
-
-      // This could be a GET, so see if the the complete header has been received
-      else if (
-        httpHeader.startsWith("GET")
-          && (message.length() == httpHeader.length()
-            && message.endsWith(CRLF + CRLF)))
-      {
-        messageComplete = true;
-      }
-
-      else
-      {
-        messageComplete = false;
-      }
-    }
-
-    // If there is content length, then see if the entire message has been received
-    else if ((index = httpHeader.toUpperCase().indexOf(CONTENT_LENGTH)) != -1)
-    {
-      // Find end of content length value
-      index2 = httpHeader.indexOf(CRLF, index);
-
-      debug("isMessageComplete", "CRLF: " + Utils.toHexString(CRLF));
-      debug(
-        "isMessageComplete",
-        "httpHeader/index: " + Utils.toHexString(httpHeader.substring(index)));
-
-      // Get content length
-      contentLen =
-        Integer
-          .decode(
-            httpHeader.substring(index + CONTENT_LENGTH.length() + 1, index2))
-          .intValue();
-
-      // DEBUG:
-      debug("isMessageComplete", "contentLen: " + contentLen);
-
-      // Find the first CRLF + CRLF which marks the end of the HTTP header
-      index = Utils.getFirstCRLFCRLF(message);
-
-      // DEBUG:
-      debug(
-        "isMessageComplete",
-        "actual received message length: " + (message.length() - (index)));
-
-      // If content length is equal to actual message content length, then message is complete
-      if (contentLen == message.length() - index)
-      {
-        messageComplete = true;
-
-        // DEBUG:
-        debug(
-          "isMessageComplete",
-          "contentLen = actual received message length.");
-      }
-    }
-
-    // Message is not complete
-    else
-    {
-      messageComplete = false;
-    }
-
-    // DEBUG:
-    debug("isMessageComplete", "messageComplete: " + messageComplete);
-
-    return messageComplete;
-  }
-
-  /** 
-   * Log message.
-   * 
-   * @param messageBuffer
-   */
-  private void logMessage(MessageContext messageContext) throws WSIException
-  {
-    MessageEntry messageEntry = null;
-
-    // Determine sender and receiver host/port
-    String senderHostAndPort, receiverHostAndPort;
-
-    // Request
-    if (connectionType.equals(MessageEntry.TYPE_REQUEST))
-    {
-      senderHostAndPort =
-        inSocket.getInetAddress().getHostAddress() + ":" + inSocket.getPort();
-      receiverHostAndPort = targetHost + ":" + outSocket.getPort();
-    }
-
-    // Response      
-    else
-    {
-      senderHostAndPort = targetHost + ":" + inSocket.getPort();
-      receiverHostAndPort =
-        outSocket.getInetAddress().getHostAddress() + ":" + outSocket.getPort();
-    }
-
-    // Create message entry
-    this.socketConnection.logMessage(
-      conversationID,
-      this.connectionType,
-      messageContext.timestamp,
-      senderHostAndPort,
-      receiverHostAndPort,
-      messageContext.messageBuffer,
-      messageContext.bom,
-      messageContext.encoding);
-  }
-
-  /**
-   * Check for HTTP messages that should not be logged.
-   */
-  private boolean bypassMessage(String message)
-  {
-    boolean bypass = false;
-    if ((message.startsWith("CONNECT"))
-      || (message.startsWith("TRACE"))
-      || (message.startsWith("DELETE"))
-      || (message.startsWith("OPTIONS"))
-      || (message.startsWith("HEAD")))
-    {
-      bypass = true;
-    }
-
-    return bypass;
-  }
-
-  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-  /**
-   * Set Encoding Parameters
-   * @param messageFragment String of a HTTP message fragment.
-   * @author K.Nakagome@BeaconIT Japan SIG 
-   */
-  private void setEncoding(String messageFragment)
-  {
-    if (mimeCharset == null || mimeCharset.length() == 0)
-    {
-      mimeCharset = Utils.getHTTPCharset(messageFragment);
-    }
-    if (xmlEncoding == null || xmlEncoding.length() == 0)
-    {
-      xmlEncoding = Utils.getXMLEncoding(messageFragment);
-    }
-    return;
-  }
-
-  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-  /**
-   * Get Encoding Parameter
-   * @return Character encoding of HTTP message.
-   * @author K.Nakagome@BeaconIT Japan SIG 
-   */
-  private String getEncoding()
-  {
-    String encoding = WSIConstants.DEFAULT_XML_ENCODING;
-    if (mimeCharset != null && mimeCharset.length() > 0)
-    {
-      encoding = mimeCharset;
-    }
-    if (xmlEncoding != null && xmlEncoding.length() > 0)
-    {
-      encoding = xmlEncoding;
-    }
-    return encoding;
-  }
-
-  /**
-   * Get the Byte Order Mark from the message (if there is one).
-   */
-  private int getBOM(byte[] message)
-  {
-    int bom = 0;
-
-    byte FF = (byte) 0xFF;
-    byte FE = (byte) 0xFE;
-    byte EF = (byte) 0xEF;
-    byte BB = (byte) 0xBB;
-    byte BF = (byte) 0xBF;
-
-    // Search through the byte array for CRLF+CRLF.  This will mark the end of the header.
-    int i = Utils.getFirstCRLFCRLF(message, 0);
-    if (i != -1)
-    {
-      // DEBUG:
-      debug(
-        "getBOM",
-        "message[i]: "
-          + message[i]
-          + ", message[i+1]: "
-          + message[i+1]);
-
-      // Check for UTF-8 BOM
-      if (((i + 2) < message.length)
-        && message[i] == EF
-        && message[i+1] == BB
-        && message[i+2] == BF)
-      {
-        bom = 0xEFBBBF;
-      }
-      // Check for UTF-16 big-endian BOM
-      else if (
-        ((i+1) < message.length)
-          && message[i] == FE
-          && message[i + 1] == FF)
-      {
-        bom = 0xFEFF;
-      }
-      // Check for UTF-16 little-endian BOM
-      else if (
-        ((i+1) < message.length)
-          && message[i] == FF
-          && message[i+1] == FE)
-      {
-        bom = 0xFFFE;
-      }
-      // ADD: Do we need to check for other BOMs
-    }
-    return bom;
-  }
-
-  /**
-   * Determine if the read is still waiting for data.
-   */
-  boolean isReadWaiting()
-  {
-    boolean readWaiting = false;
-
-    try
-    {
-      // DEBUG:
-      debug(
-        "isReadWaiting",
-        "inSocket.getInputStream().available(): "
-          + inSocket.getInputStream().available());
-
-      if (inSocket.getInputStream().available() == 0)
-      {
-        readWaiting = true;
-      }
-    }
-
-    catch (IOException ioe)
-    {
-    }
-
-    return readWaiting;
-  }
-
-  /**
-   * Get read timed out flag.
-   */
-  boolean isReadTimedOut()
-  {
-    return this.readTimedOut;
-  }
-
-  /**
-   * Message context contains information about the message that is being processed.
-   */
-  class MessageContext
-  {
-    StringBuffer messageBuffer;
-    ChunkedData chunkedData;
-    String timestamp;
-    int bom;
-    String encoding;
-
-    /**
-     * Create new message context.
-     */
-    MessageContext()
-    {
-      messageBuffer = new StringBuffer();
-      chunkedData = new ChunkedData();
-      timestamp = null;
-      bom = 0;
-      encoding = WSIConstants.DEFAULT_XML_ENCODING;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java
deleted file mode 100644
index 00ef27a..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/impl/ProfileAssertionsReaderImpl.java
+++ /dev/null
@@ -1,547 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.impl;
-
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.TreeMap;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.EntryTypeList;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * This class ...
- * 
- * @version 1.0.1
- * @author Peter Brittenham  (peterbr@us.ibm.com)
- */
-public class ProfileAssertionsReaderImpl implements ProfileAssertionsReader
-{
-  /**
-   * Profile assertions.
-   */
-  protected ProfileAssertions profileAssertions;
-
-  /**
-   * ReportArtifact list.
-   */
-  protected TreeMap artifactList = new TreeMap();
-
-  /**
-   * Create new reader.
-   */
-  public ProfileAssertionsReaderImpl()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.ProfileAssertionsReader#readProfileAssertions(String)
-   */
-  public ProfileAssertions readProfileAssertions(String assertionsURI)
-    throws WSIException
-  {
-    return readProfileAssertions(new InputSource(assertionsURI));
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.ProfileAssertionsReader#readProfileAssertions(Reader)
-   */
-  public ProfileAssertions readProfileAssertions(Reader reader)
-    throws WSIException
-  {
-    return readProfileAssertions(new InputSource(reader));
-  }
-
-  /**
-   * Read profile assertions.
-   */
-  private ProfileAssertions readProfileAssertions(InputSource inputSource)
-    throws WSIException
-  {
-    // Create profile assertions
-    profileAssertions = new ProfileAssertionsImpl();
-
-    // Profile parts are put into a vector
-    artifactList = new TreeMap();
-
-    try
-    {
-      // Create xml reader
-      XMLReader reader = XMLUtils.getXMLReader();
-
-      // Set content handler to inner class
-      reader.setContentHandler(new ProfileAssertionsHandler());
-
-      // Parse profile definition file
-      reader.parse(inputSource);
-    }
-
-    catch (Exception e)
-    {
-      throw new WSIException("Could not read and parse profile definition.", e);
-    }
-    finally
-    {
-      //Check to see if the version of test asssertion document is supported
-      if (!Utils.isValidProfileTADVersion(profileAssertions))
-      {
-        throw new WSIException(
-          "\nVersion "
-            + profileAssertions.getTADVersion()
-            + " of the \""
-            + profileAssertions.getTADName()
-            + "\"\n"
-            + "document is not compatible with this version of"
-            + "\n"
-            + "the test tools.");
-      }
-    }
-
-    // The assertions from the TAD are reordered for purposes of processing. All
-    // assertions of an artifact are reordered such that prerequisites occur
-    // before the assertions they prereq. The assumption is that  prerequisites do
-    // not cross artifact types.
-    //
-    Iterator it = artifactList.keySet().iterator();
-    // for each artifact type do reordering assertion 
-    while (it.hasNext())
-    {
-      ProfileArtifact art = (ProfileArtifact) artifactList.get(it.next());
-      // result list of the reordering assertions 
-      LinkedList res = new LinkedList();
-      Iterator it2 = art.getTestAssertionList().iterator();
-      // sort the artifact assertions into result list 
-      while (it2.hasNext())
-      {
-        // call for each assertion , 
-        // if the assertion has the prereq, the prereq will added first into res list
-        sortTestAssertions(art, (TestAssertion) it2.next(), res);
-      }
-      // replace the original assertions list to the prereq reordering assertions list
-      art.getTestAssertionList().clear();
-      art.getTestAssertionList().addAll(res);
-    }
-    // Put the profile parts into the profile definition
-    profileAssertions.setArtifactList(artifactList);
-
-    return profileAssertions;
-  }
-  
-  /* (non-Javadoc)
-   * @see org.wsi.test.document.DocumentReader#getLocation()
-   */
-  public String getLocation()
-  {
-    return null;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.document.DocumentReader#setLocation(String)
-   */
-  public void setLocation(String documentURI)
-  {
-  }
-
-  /**
-   * Recursive walk to order assertions so that assertions are 
-   * processed following the ones that prereq them.
-   * If assertion has prereq, then add it to the result list first.
-   *  
-   * @param art profile artifact for call @link ProfileArtifact#getTestAssertion(String)
-   * @param asrt test assertion
-   * @param list result list to sort
-   */
-  private void sortTestAssertions(ProfileArtifact art, TestAssertion asrt, List list)
-  {
-    // if assertion is null or does not exist, then exit
-    if((asrt == null) || list.contains(asrt)) 
-      return;
-    
-    // if it has not prereq, add the asertion and exit
-    if(asrt.getPrereqIdList().isEmpty()) 
-    {
-      list.add(asrt);
-      return;
-    }
-    // get list prereq assertion and reqursive call sortTestAssertions this each    
-    Iterator it = asrt.getPrereqIdList().iterator();
-    while(it.hasNext()) {
-      String id = (String) it.next();
-      sortTestAssertions(art, art.getTestAssertion(id), list);
-    }
-    list.add(asrt);
-  }
-
-  /**
-   * Inner class: ProfileAssertionsHandler
-   */
-  class ProfileAssertionsHandler extends DefaultHandler
-  {
-    private ProfileArtifact artifact = profileAssertions.createArtifact();
-    private String id;
-    private StringBuffer context = null;
-    private StringBuffer assertionDescription = null;
-    private StringBuffer failureMessage = null;
-    private StringBuffer failureDetailDescription = null;
-    private StringBuffer detailDescription = null;
-    private StringBuffer testAssertionId = null;
-    //    private Vector prereqIdList = new Vector();
-    private TreeMap assertions = new TreeMap();
-    private String currentElement = null;
-    private TestAssertion testAssertion = null;
-    private StringBuffer logInput = null;
-    private StringBuffer wsdlInput = null;
-    private StringBuffer uddiInput = null;
-    private EntryTypeList entryTypeList = null;
-
-    // Process start element event
-    public void startElement(
-      String namespaceURI,
-      String localName,
-      String qName,
-      Attributes atts)
-    {
-      if (namespaceURI != null
-        && (namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS_2003)
-        ||  namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS)))
-      {
-        // Save element name
-        currentElement = localName;
-
-        // <artifact>
-        if (localName.equals(WSIConstants.ELEM_ARTIFACT))
-        {
-          // Create a new profile artifact object
-          artifact = profileAssertions.createArtifact();
-
-          // Set type
-          artifact.setType(
-            ArtifactType.newArtifactType(
-              atts.getValue(WSIConstants.ATTR_TYPE)));
-
-          // ADD: Get specification list
-
-          // Add artifact to list of artifact list
-          artifactList.put(artifact.getType().getTypeName(), artifact);
-        }
-
-        // <testAssertion>
-        else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION))
-        {
-          // Create test assertion
-          testAssertion = new TestAssertionImpl();
-
-          // Get attribute values
-          String id = atts.getValue("", WSIConstants.ATTR_ID);
-          testAssertion.setId(id);
-          testAssertion.setType(atts.getValue("", WSIConstants.ATTR_TYPE));
-          testAssertion.setEntryTypeName(
-            atts.getValue("", WSIConstants.ATTR_ENTRY_TYPE));
-          
-          // if assertion already checked then disable it
-          if (alreadyChecked(id))
-        	  testAssertion.setEnabled(false);
-          else
-        	  testAssertion.setEnabled(Boolean.valueOf(atts.getValue("", WSIConstants.ATTR_ENABLED)).booleanValue());
-
-          // Add test assertion to artifact
-          artifact.addTestAssertion(testAssertion);
-        }
-
-        // <context>
-        else if (localName.equals(WSIConstants.ELEM_CONTEXT))
-        {
-          context = new StringBuffer();
-        }
-
-        // <assertionDescription>
-        else if (localName.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION))
-        {
-          assertionDescription = new StringBuffer();
-        }
-
-        // <failureMessage>
-        else if (localName.equals(WSIConstants.ELEM_FAILURE_MESSAGE))
-        {
-          failureMessage = new StringBuffer();
-        }
-
-        // <failureDetailDescription>
-        else if (localName.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION))
-        {
-          failureDetailDescription = new StringBuffer();
-        }
-
-        // <detailDescription>
-        else if (localName.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION))
-        {
-          detailDescription = new StringBuffer();
-        }
-
-        // <testAssertionID>
-        else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION_ID))
-        {
-          testAssertionId = new StringBuffer();
-        }
-
-        // <additionalEntryTypeList>
-        else if (
-          localName.equals(WSIConstants.ELEM_ADDITIONAL_ENTRY_TYPE_LIST))
-        {
-          // Create entry type list
-          entryTypeList = new EntryTypeListImpl();
-        }
-
-        // <messageInput>
-        else if (localName.equals(WSIConstants.ELEM_MESSAGE_INPUT))
-        {
-          logInput = new StringBuffer();
-        }
-
-        // <wsdlInput>
-        else if (localName.equals(WSIConstants.ELEM_WSDL_INPUT))
-        {
-          wsdlInput = new StringBuffer();
-        }
-        // <profileAssertions>
-        else if (localName.equals(WSIConstants.ELEM_PROFILE_ASSERTIONS))
-        {
-          profileAssertions.setTADName(
-            atts.getValue("", WSIConstants.ATTR_NAME));
-          profileAssertions.setTADVersion(
-            atts.getValue("", WSIConstants.ATTR_VERSION));
-        }
-
-        /* REMOVE:     
-        // <uddiInput>
-        else if (localName.equals(WSIConstants.ELEM_UDDI_INPUT)) {
-          uddiInput = new StringBuffer();
-        } 
-        */
-      }
-    } // END startElement
-
-    public void endElement(String namespaceURI, String localName, String qname)
-    {
-      // If this is the profile namespace, then check for and process selected elements
-      if (namespaceURI != null
-        && (namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS_2003)
-        || namespaceURI.equals(WSIConstants.NS_URI_WSI_ASSERTIONS)))
-      {
-        // <context>
-        if (localName.equals(WSIConstants.ELEM_CONTEXT))
-        {
-          // Set context in test assertion
-          testAssertion.setContext(context.toString());
-          context = null;
-        }
-
-        // <assertionDescription>
-        else if (localName.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION))
-        {
-          // Set assertion description in test assertion
-          testAssertion.setAssertionDescription(
-            assertionDescription.toString());
-          assertionDescription = null;
-        }
-
-        // <failureMessage>
-        else if (localName.equals(WSIConstants.ELEM_FAILURE_MESSAGE))
-        {
-          // Set failure message in test assertion
-          testAssertion.setFailureMessage(failureMessage.toString());
-          failureMessage = null;
-        }
-
-        // <failureDetailDescription>
-        else if (localName.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION))
-        {
-          // Set failure detail description in test assertion
-          testAssertion.setFailureDetailDescription(
-            failureDetailDescription.toString());
-          failureDetailDescription = null;
-        }
-
-        // <detailDescription>
-        else if (localName.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION))
-        {
-          // Set detail description in test assertion
-          testAssertion.setDetailDescription(detailDescription.toString());
-          detailDescription = null;
-        }
-
-        // <testAssertionID>
-        else if (localName.equals(WSIConstants.ELEM_TEST_ASSERTION_ID))
-        {
-          // Set test assertion id in prereq list
-          testAssertion.addPrereqId(testAssertionId.toString());
-          testAssertionId = null;
-        }
-
-        // <addtionalEntryTypeList>
-        else if (
-          localName.equals(WSIConstants.ELEM_ADDITIONAL_ENTRY_TYPE_LIST))
-        {
-          // Set target list
-          testAssertion.setAdditionalEntryTypeList(entryTypeList);
-          entryTypeList = null;
-        }
-
-        // <messageInput>
-        else if (localName.equals(WSIConstants.ELEM_MESSAGE_INPUT))
-        {
-          // Set test assertion id in prereq list
-          entryTypeList.setLogInput(logInput.toString());
-          logInput = null;
-        }
-
-        // <wsdlInput>
-        else if (localName.equals(WSIConstants.ELEM_WSDL_INPUT))
-        {
-          // Set test assertion id in prereq list
-          entryTypeList.setWSDLInput(wsdlInput.toString());
-          wsdlInput = null;
-        }
-
-        // <profileAssertions>
-        else if (localName.equals(WSIConstants.ELEM_PROFILE_ASSERTIONS))
-        {
-          // a no-op
-        }
-
-        /* REMOVE:
-        // <uddiInput>
-        else if (localName.equals(WSIConstants.ELEM_UDDI_INPUT)) {
-          // Set test assertion id in prereq list
-           entryTypeList.setUDDIInput(uddiInput.toString());         
-          uddiInput = null;
-        }
-        */
-      }
-    } // END endElement
-
-    public void characters(char[] ch, int start, int length)
-    {
-      // <context>
-      if ((context != null)
-        && (currentElement.equals(WSIConstants.ELEM_CONTEXT)))
-      {
-        context.append(ch, start, length);
-      }
-
-      // <assertionDescription>
-      else if (
-        (assertionDescription != null)
-          && (currentElement.equals(WSIConstants.ELEM_ASSERTION_DESCRIPTION)))
-      {
-        assertionDescription.append(ch, start, length);
-      }
-
-      // <failureMessage>
-      else if (
-        (failureMessage != null)
-          && (currentElement.equals(WSIConstants.ELEM_FAILURE_MESSAGE)))
-      {
-        failureMessage.append(ch, start, length);
-      }
-
-      // <failureDetailDescription>
-      else if (
-        (failureDetailDescription != null) && (
-          currentElement.equals(WSIConstants.ELEM_FAILURE_DETAIL_DESCRIPTION)))
-      {
-        failureDetailDescription.append(ch, start, length);
-      }
-
-      // <detailDescription>
-      else if (
-        (detailDescription != null)
-          && (currentElement.equals(WSIConstants.ELEM_DETAIL_DESCRIPTION)))
-      {
-        detailDescription.append(ch, start, length);
-      }
-
-      // <testAssertionID>
-      else if (
-        (testAssertionId != null)
-          && (currentElement.equals(WSIConstants.ELEM_TEST_ASSERTION_ID)))
-      {
-        testAssertionId.append(ch, start, length);
-      }
-
-      // <messageInput>
-      else if (
-        (logInput != null)
-          && (currentElement.equals(WSIConstants.ELEM_MESSAGE_INPUT)))
-      {
-        logInput.append(ch, start, length);
-      }
-
-      // <wsdlInput>
-      else if (
-        (wsdlInput != null)
-          && (currentElement.equals(WSIConstants.ELEM_WSDL_INPUT)))
-      {
-        wsdlInput.append(ch, start, length);
-      }
-
-      /* REMOVE:
-      // <uddiInput>
-      else if ((uddiInput != null) && (currentElement.equals(WSIConstants.ELEM_UDDI_INPUT))) {
-        uddiInput.append(ch, start, length);
-      }
-      */
-    }
-  }
-
-  /**
-   * NOTE that this api assumes that base wsdl validator has already validated
-   * the wsdl document and corresponding schemas against the wsdl 1.1 specification.
-   * Note also that there are a number of duplicate checks between the base validator
-   * and the ws-i validator. Since some of these checks are cpu intensive, we disable 
-   * those assertions here. 
-   *
-   * Returns true if the assertion has already been checked by the base validator. 
-   * @param testAssertion
-   * @return true if the assertion has already been checked by the base validator. 
-   */
-  protected boolean alreadyChecked(String id)
-  {
-	 boolean result = false;
-	 if (id != null)
-	 {
-       result = (id.equals("BP2110") ||
-    		   	 id.equals("BP2115") ||
-		         id.equals("BP2417") ||
-		         id.equals("BP2114") ||
-		         id.equals("BP2123") ||
-		         id.equals("SSBP2209") ||
-		         id.equals("AP2209"));
-	 }
-	 return result;
-}
-
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
deleted file mode 100644
index 487b0a8..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor;
-import org.w3c.dom.Element;
-
-
-/**
- * Process assertion using WSDLVisitor interface.
- */
-public abstract class AssertionProcessVisitor
-  extends AssertionProcess
-  implements WSDLVisitor
-{
-  private final BaseValidatorImpl base_validator;
-
-  /**
-   * @param BaseValidatorImpl
-   */
-  public AssertionProcessVisitor(BaseValidatorImpl impl)
-  {
-    super(impl);
-    this.base_validator = impl;
-  }
-  
-  public void visit(Part obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Service obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Types obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Input obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Output obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Fault obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Binding obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(
-    BindingOperation obj,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(
-    BindingInput obj,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(
-    BindingOutput obj,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(
-    BindingFault obj,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Import obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Element obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Message obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(PortType obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(Definition obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(
-    ExtensibilityElement obj,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(SOAPBinding obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(SOAPBody obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(SOAPHeader obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(
-    SOAPHeaderFault obj,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(SOAPFault obj, Object parent, WSDLTraversalContext ctx)
-  {
-  }
-  public void visit(
-    SOAPOperation obj,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
deleted file mode 100644
index a288003..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
+++ /dev/null
@@ -1,1838 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft 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      - Initial API and implementation
- *   Parasoft - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.util.URI;
-import org.apache.xerces.xs.XSConstants;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import com.ibm.wsdl.Constants;
-import com.ibm.wsdl.util.xml.DOM2Writer;
-import com.ibm.wsdl.util.xml.DOMUtils;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Jim Clune
- * @author Graham Turrell (gturrell@uk.ibm.com)
- * @author Neil Delima (nddelima@ca.ibm.com) 
- */
-public abstract class BaseMessageValidator
-  extends BaseValidatorImpl
-{
-  /**
-  * WSDL document.
-  */
-  private WSDLDocument wsdlDocument;
-
-  /**
-   * Log entry.
-   */
-  protected MessageEntry logEntry;
-  protected Log log;
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.MessageValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
-   */
-  public void init(
-    AnalyzerContext analyzerContext,
-    ProfileArtifact profileArtifact,
-    ReportArtifact reportArtifact,
-    WSDLDocument wsdlDocument,
-    Reporter reporter)
-    throws WSIException
-  {
-    // BaseValidatorImpl
-    super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
-
-    // Save input references
-    this.wsdlDocument = wsdlDocument;
-  }
-
-  /**
-   * Returns wsdlDocument
-   * @return wsdlDocument
-   */
-  public WSDLDocument getWSDLDocument()
-  {
-    return wsdlDocument;
-  }
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.MessageValidator#validate(org.wsi.test.profile.validator.EntryContext)
-   */
-  public void validate(EntryContext entryContext) throws WSIException
-  {
-    //Entry entry = null;
-
-    // Save log entry to be referenced by other methods
-    this.logEntry = entryContext.getMessageEntry();
-
-    // Get reference to the analyzer config object
-    AnalyzerConfig analyzerConfig =
-      reporter.getReport().getReportContext().getAnalyzer().getAnalyzerConfig();
-
-    /* If Service Description (WSDL/UDDI) NOT supplied in analyzer config OR
-     * Service Description IS supplied and the current message correlates to it...
-     */
-    if ((wsdlDocument == null)
-      || messageCorrelatesToService(
-        entryContext,
-        analyzerConfig.getCorrelationType()))
-    {
-      // now inner classes moved out from the validator
-      //String classPrefix = this.getClass().getName() + "$";
-      String classPrefix = this.getClass().getPackage().getName()+".";
-
-      // Process assertions for this artifact against the target context
-      processAssertions(classPrefix, entryContext);
-    }
-  }
-
-  /**
-   * Check whether the message correlates to the service under test.
-   * Use the request part of the request-response pair, from which the correlation of the response is implied.
-   * Entities from the Service under test are determined once for all.
-   * @param entryContext    an entry context.
-   * @param correlationType a correlation type.
-   * @return true if the message correlates to the service under test.
-   * @throws WSIException if correlation type is not appropriate.
-   */
-  private boolean messageCorrelatesToService(
-    EntryContext entryContext,
-    String correlationType)
-    throws WSIException
-  {
-
-    URI[] endpoints = null;
-    boolean correlation = false;
-
-    /* TEMP: Get it from analyzer config passed in on init method
-    CandidateInfo candidate = entryContext
-                              .getAnalyzerContext()
-                              .getCandidateInfo();
-    */
-    CandidateInfo candidate = analyzerContext.getCandidateInfo();
-
-    // Service reference 
-    ServiceReference serviceReference = analyzerContext.getServiceReference();
-
-    // Get the definition element
-    Definition definition = candidate.getWsdlDocument().getDefinitions();
-
-    Binding binding = null;
-    if (serviceReference.getWSDLElement().isPort())
-    {
-      // Get service
-      Service service =
-        definition.getService(
-          serviceReference.getWSDLElement().getParentElementQName());
-
-      // Get port
-      Port port = service.getPort(serviceReference.getWSDLElement().getName());
-
-      // Get binding
-      binding = port.getBinding();
-    }
-    else if (serviceReference.getWSDLElement().isBinding())
-    {
-      // Get binding
-      binding =
-        definition.getBinding(serviceReference.getWSDLElement().getQName());
-    }
-
-    if (binding == null)
-    {
-      return false;
-    }
-
-    if ((endpoints = hostAndPortCorrelation(entryContext)) != null
-      && urlPathCorrelation(entryContext, endpoints))
-    {
-
-      /* If correlation type is "endpoint", this is all the correlation that can be done.
-       * (Note - this is incomplete correlation since >1 service could be associated with the endpoint.
-       *  Therefore , if messages for different services on the same endpoint appear in the log file
-       *  and correlation type is "endpoint", all those messages will be analyzed).
-       */
-      if (correlationType
-        .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_ENDPOINT))
-      {
-        correlation = true;
-      }
-      else
-      {
-        // always allow GET requests right through if they've passed Endpoint Correlation
-        String requestType = getHttpRequestType(entryContext);
-        if ((requestType != null) && requestType.equalsIgnoreCase("GET"))
-        {
-          correlation = true;
-        }
-        else
-        {
-          // The correlationType is not "endpoint" so continue on to processing for at least 
-          // "namespace" correlation...
-
-          // get the operation signature (input & output) from request & response messages...	   
-          // and do a quick DOM parse 
-          Document requestMessage = entryContext.getRequestDocument();
-
-          // Check if namespace is found in request message only
-          if (namespaceCorrelation(binding, requestMessage))
-          {
-            // If namespace found and the correlation type is namespace, then process messages
-            if (correlationType
-              .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_NAMESPACE))
-            {
-              correlation = true;
-            }
-
-            // If operation is found and correlation type is operation, then process messages
-            else if (
-              (operationCorrelation(binding, requestMessage))
-                && (correlationType
-                  .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_OPERATION)))
-            {
-              correlation = true;
-            }
-            else
-            {
-              // this should never happen if config schema was followed correctly
-              throw new WSIException(
-                "Bad correlation type found in config: " + correlationType);
-            }
-          }
-        }
-      }
-    }
-
-    return correlation;
-  }
-
-  /** 
-   *  Correlation Check 1: Service Description endpoint vs HTTP Header (test 1)
-   *  Check if receiverHostAndPort from request message log matches host & port from WSDL SOAP binding for
-   *  the Service under test.
-   *  If it does not, stop processing this message pair.
-   * @param entryContext an entry context.
-   * @return if receiverHostAndPort from request message log matches 
-   *         host & port from WSDL SOAP binding for the Service.
-   * @throws WSIException if problem occurs during correlation check.
-   */
-  private URI[] hostAndPortCorrelation(EntryContext entryContext)
-    throws WSIException
-  {
-
-    // get <receiverHostAndPort> from request message
-    String httpHostAndPort = entryContext.getRequest().getReceiverHostAndPort();
-    // Search endpoint list for a match with <receiverHostAndPort>
-
-    /* TEMP: Get it from analyzer config passed in on init method
-    return entryContext.getAnalyzerContext()
-                       .getCandidateInfo()
-                       .getEndPoints(httpHostAndPort);
-    */
-    return analyzerContext.getCandidateInfo().getEndPoints(httpHostAndPort);
-  }
-
-  /** 
-   * Correlation Check 2: Service Description endpoint vs HTTP Header (test 2)
-   * 
-   * Use analyzer config host & port, plus URL path (from request message header HTTP POST)
-   * to look for the corresponding endpoint in the Service Definition.
-   * If it does not, stop processing this message pair.
-   * @param entryContext an entry context.
-   * @param endpoints an array of endpoints.
-   * @return true if corresponding endpoints are found in the Service Definition.
-   * @throws WSIException if problem occurs during correlation check.
-   */
-  private boolean urlPathCorrelation(
-    EntryContext entryContext,
-    URI[] endpoints)
-    throws WSIException
-  {
-
-    // compares: protocol (must be http for POST), host, port and path.
-
-    // get POST URI path from message using Tokenizer	
-    Vector requestLine =
-      getHttpRequest(entryContext.getRequest().getHTTPHeaders());
-    if (requestLine == null)
-    {
-      return false; // an unexpected HTTP request type !
-    }
-
-    String requestPath = (String) requestLine.get(1);
-    // Path immediately follows POST
-
-    // compare path with those in the previous generated URI list	
-    Vector filteredEndpoints = new Vector();
-    for (int i = 0; i < endpoints.length; i++)
-    {
-      if (endpoints[i].toString().endsWith(requestPath))
-      {
-        filteredEndpoints.add(endpoints[i]);
-      }
-    }
-
-    if (filteredEndpoints.size() == 0)
-      return false;
-
-    // this URI should be unique in the WSDL - there should be at most one match
-    // but if we have at least one, that's sufficient to accept the message
-
-    return true;
-  }
-
-  /** 
-   * Correlation Check 3: Service Description namespace.
-   * 
-   * Determine if the Service Description declares the namespace that appears in the (request?) message soap body.
-   * Location of relevent namespace :
-   * Operation type                    	- Message Namespace: (compare with)  Service Definition Namespace:
-   * (from message? endpoint? where?)
-   * rpc-literal                           &lt;soap:Body&gt; child namespace.        &lt;soapbind:body&gt; namespace.
-   * doc-literal			                 &lt;soap:Body&gt; child namespace.       targetNameSpace of schema that
-   *                                                                          defines  &lt;soap:body&gt; child.
-   * If it doesn't match, stop processing this message pair.
-   * @param binding a binding.
-   * @param request a request.
-   * @return true if description declared in the description are the 
-   *         same as those that appear in the message soap body.
-   * @throws WSIException if problem occurs during correlationcheck.                                                                       
-   */
-  private boolean namespaceCorrelation(Binding binding, Document request)
-    throws WSIException
-  {
-    boolean namespaceFound = false;
-    String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-
-    // Get operation namespace from the request soap message
-    String soapOpNS = getSoapBodyChild(request).getNamespaceURI();
-
-    // Get soapbind:binding
-    SOAPBinding soapBinding = null;
-    if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
-    {
-      bindingStyle = soapBinding.getStyle();
-    }
-
-    // Go through each operation in the binding and check for namespace match
-    Iterator operations = binding.getBindingOperations().iterator();
-    while (operations.hasNext() && !(namespaceFound))
-    {
-      BindingOperation bindingOperation = (BindingOperation) operations.next();
-
-      // If rpc-literal, then look at namespace attribute on soapbind:body
-      if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
-      {
-        // Get soapbind:body element 
-        SOAPBody soapBody = WSDLUtils.getInputSoapBody(bindingOperation);
-
-        if ((soapBody.getNamespaceURI() != null)
-          && (soapBody.getNamespaceURI().equals(soapOpNS)))
-        {
-          namespaceFound = true;
-        }
-      }
-
-      // If doc-literal, then check namespace
-      else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
-      {
-        int partCount;
-        Iterator partsIterator = null;
-
-        // Get first part name from soapbind:body element parts attribute
-        String partName = getFirstPartName(bindingOperation);
-
-        // Get the list of parts from the message           
-        Map partsMap = null;
-        if ((partsMap =
-          bindingOperation.getOperation().getInput().getMessage().getParts())
-          != null)
-        {
-          partsIterator = partsMap.values().iterator();
-
-          // If the part name wasn't specified on the soapbind:body element, then process just the first one
-          if (partName == null)
-            partCount = 1;
-          else
-            partCount = partsMap.size();
-
-          for (int i = 0; i < partCount && !namespaceFound; i++)
-          {
-            // Get next part
-            Part part = (Part) partsIterator.next();
-
-            // If part name matches or there is no part name, then check namespace
-            if ((partName == null)
-              || ((partName != null) && (part.getName().equals(partName))))
-            {
-              if ((part.getElementName().getNamespaceURI() != null)
-                && (part.getElementName().getNamespaceURI().equals(soapOpNS)))
-              {
-                namespaceFound = true;
-              }
-            }
-          }
-        }
-      }
-    }
-
-    return namespaceFound;
-  }
-
-  /** 
-  * Correlation Check 4 : Service Description "operation"
-  *
-  * Check if the message content matches any of the candidate operation definitions 
-  * for request and response in the Service Description.
-  *  
-  * For both request and response, look for the soap body child element name
-  * in the list of candidate operation names.
-  * @param binding        a binding.
-  * @param requestMessage a request message.
-  * @return true if the message content matches any of the candidate 
-  *         operation definitions for request and response in the 
-  *         Service Description.
-  * @throws WSIException if problem occurs during correlationcheck.
-  */
-  private boolean operationCorrelation(
-    Binding binding,
-    Document requestMessage)
-    throws WSIException
-  {
-    boolean operationFound = false;
-
-    String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-
-    // Get soapbind:binding
-    SOAPBinding soapBinding = null;
-    if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
-    {
-      bindingStyle = soapBinding.getStyle();
-    }
-
-    // Get the first child element from the soap body
-    Element soapBodyChild = getSoapBodyChild(requestMessage);
-
-    // If there is a child element, then check it
-    if (soapBodyChild != null)
-    {
-      // Get operation name from the soap:body
-      String operationName = soapBodyChild.getLocalName();
-
-      // Get operation QName
-      QName operationQName =
-        new QName(soapBodyChild.getNamespaceURI(), operationName);
-
-      // Go through each operation in the binding and check for namespace match
-      Iterator operations = binding.getBindingOperations().iterator();
-      while (operations.hasNext() && !(operationFound))
-      {
-        BindingOperation bindingOperation =
-          (BindingOperation) operations.next();
-
-        // If rpc-literal, then look at namespace attribute on soapbind:body
-        if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
-        {
-          // Get soapbind:body element 
-          if (bindingOperation.getName().equals(operationName))
-            operationFound = true;
-        }
-
-        // If doc-literal, then check namespace
-        else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
-        {
-          int partCount;
-          Iterator partsIterator = null;
-
-          // Get first part name from soapbind:body element parts attribute
-          String partName = getFirstPartName(bindingOperation);
-
-          // Get the list of parts from the message           
-          Map partsMap = null;
-          if ((partsMap =
-            bindingOperation.getOperation().getInput().getMessage().getParts())
-            != null)
-          {
-            partsIterator = partsMap.values().iterator();
-
-            // If the part name wasn't specified on the soapbind:body element, then process just the first one
-            if (partName == null)
-              partCount = 1;
-            else
-              partCount = partsMap.size();
-
-            for (int i = 0; i < partCount && !operationFound; i++)
-            {
-              // Get next part
-              Part part = (Part) partsIterator.next();
-
-              // If part name matches or there is no part name, then check namespace
-              if ((partName == null)
-                || ((partName != null) && (part.getName().equals(partName))))
-              {
-                if ((part.getElementName() != null)
-                  && (part.getElementName().equals(operationQName)))
-                {
-                  operationFound = true;
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-
-    // Go through each operation to find a match
-    return operationFound;
-  }
-
-  /**
-   * Create failure detail.
-   * @param message       a message.
-   * @param entryContext  an entry context.
-   * @return failure detail.
-   */
-  public FailureDetail createFailureDetail(
-    String message,
-    EntryContext entryContext)
-  {
-    FailureDetail failureDetail = reporter.createFailureDetail();
-    failureDetail.setFailureMessage(message);
-    failureDetail.setElementLocation(
-      entryContext.getMessageEntry().getElementLocation());
-    return failureDetail;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
-   */
-  protected boolean isNotApplicable(TestAssertion testAssertion)
-  {
-    boolean notApplicable = false;
-
-    // If the additional entry is not available, then set notApplicable
-    if (testAssertion.getAdditionalEntryTypeList().getWSDLInput() != null
-      && !testAssertion.getAdditionalEntryTypeList().getWSDLInput().equals("none")
-      && analyzerContext.getServiceReference().getWSDLLocation() == null)
-    {
-      notApplicable = true;
-    }
-
-    return notApplicable;
-  }
-
-
-  /**
-   * Get POST request.
-   * @param httpHeader an HTTP 
-   * @return POST request.
-   */
-  public Vector getPostRequest(String httpHeader)
-  {
-    //Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
-    Vector requestLine = new Vector();
-    String startLine = null;
-
-    StringTokenizer httpMessageTokenizer =
-      new StringTokenizer(httpHeader, "\n\r\f");
-
-    if (httpMessageTokenizer.hasMoreTokens())
-    {
-      startLine = httpMessageTokenizer.nextToken();
-    }
-
-    if (startLine.startsWith("POST"))
-    {
-      StringTokenizer startLineTokenizer =
-        new StringTokenizer(startLine, "\u0020");
-      while (startLineTokenizer.hasMoreTokens())
-      {
-        requestLine.add(startLineTokenizer.nextToken());
-      }
-    }
-    return requestLine;
-  }
-
-  /**
-   * Get HTTP request.
-   * @param httpHeader an HTTP 
-   * @return HTTP request.
-  */
-  private Vector getHttpRequest(String httpHeader)
-  {
-    //Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
-    Vector requestLine = new Vector();
-    String startLine = null;
-
-    StringTokenizer httpMessageTokenizer =
-      new StringTokenizer(httpHeader, "\n\r\f");
-
-    if (httpMessageTokenizer.hasMoreTokens())
-    {
-      startLine = httpMessageTokenizer.nextToken();
-    }
-
-    if (startLine.startsWith("POST") || startLine.startsWith("GET"))
-    {
-      StringTokenizer startLineTokenizer =
-        new StringTokenizer(startLine, "\u0020");
-      while (startLineTokenizer.hasMoreTokens())
-      {
-        requestLine.add(startLineTokenizer.nextToken());
-      }
-    }
-    else
-    {
-      requestLine = null; // signify not POST or GET
-    }
-
-    return requestLine;
-  }
-
-  /**
-   * Get HTTP request type.
-   * @param entryContext an entry context.
-   * @return HTTP request type.
-   */
-  private String getHttpRequestType(EntryContext entryContext)
-  {
-    //Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
-
-    String httpHeader = entryContext.getRequest().getHTTPHeaders();
-    String httpRequestType = null;
-    String startLine = null;
-
-    StringTokenizer httpMessageTokenizer =
-      new StringTokenizer(httpHeader, "\n\r\f");
-
-    if (httpMessageTokenizer.hasMoreTokens())
-    {
-      startLine = httpMessageTokenizer.nextToken();
-      StringTokenizer startLineTokenizer =
-        new StringTokenizer(startLine, "\u0020");
-      if (startLineTokenizer.hasMoreTokens())
-      {
-        httpRequestType = startLineTokenizer.nextToken();
-      }
-    }
-    return httpRequestType;
-  }
-
-  /**
-   * Determine if the message is a response for a one-way operation.
-   * @param entryContext an entry context.
-   * @return true if the message is a response for a one-way operation.
-   */
-  public boolean isOneWayResponse(EntryContext entryContext)
-  {
-    boolean oneway = false;
-
-    // TEMP: If this is a response message and there is no content, then set one-way to true
-    // TEMP: Need to find a way to determine if the response is for a one-way message
-    if (entryContext
-      .getMessageEntry()
-      .getType()
-      .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE)
-      && entryContext.getMessageEntry().getMessage().length() == 0)
-    {
-      oneway = true;
-    }
-
-    return oneway;
-  }
-
-  /**
-   * messageIsDocLitSchemaValid.
-   *
-   * Validates the doc-lit messages against the schema found in a candidate wsdl document.
-   *
-   * Identify (or be given) a reference in the wsdl to elements (found in &lt;wsdl:types&gt;&lt;schema&gt;...)
-   * that are immediate children elements in the soap body.
-   * @param entryContext an entry context.
-   * @return true if the document literal message is compliant to the 
-   *         schema found in a candidate WSDL document.
-   * @throws WSIException if there is a parsing problem during validation.
-   */
-  public boolean messageIsDocLitSchemaValid(EntryContext entryContext)
-    throws WSIException
-  {
-
-    // This method should use a validating parser that is capable of acceppting multiple schema references
-    // programmatically. Then, every schema in candidate wsdl can be passed in to the validator. This avoids the
-    // need to pinpoint a particular schema element from all candidate wsdl:types, corresponding to the 
-    // wsdl:operation being used. The pinpointing is an incomplete workaround for parsers not capable 
-    // of accepting arrays of scehma references 
-    // [ i.e. the DOM factory.setAttribute(JAXP_SCHEMA SOURCE, Object[] {...}) ]
-    // get all xs:schema from all candidate wsdl:types                    
-    // add each <schema> to an array and pass this array to the validating parser
-    // when validating the/each soap body child.
-
-    // use the referenced WSDL file and its imported files to find schemas
-    List schemaWSDLs = new ArrayList();
-    List inlineSchemas = new ArrayList();
-    List schemaStrings = new ArrayList();
-
-    Definition[] allDefs =
-      analyzerContext.getCandidateInfo().getDefinitions();
-    for (int thisDef = 0; thisDef < allDefs.length; thisDef++)
-    {
-      schemaWSDLs.add(allDefs[thisDef].getDocumentBaseURI());
-    }
-    Iterator fileIterator = schemaWSDLs.iterator();
-    while (fileIterator.hasNext())
-    {
-      // parse file if possible
-      Document wsdlDoc = null;
-      String wsdlURI = (String) fileIterator.next();
-      try
-      {
-        wsdlDoc = XMLUtils.parseXMLDocumentURL(wsdlURI, null);
-      }
-      catch (Exception e)
-      {
-        continue;
-      }
-      Element root = wsdlDoc.getDocumentElement();
-      // find the schema
-      NodeList schemaElements = root.getElementsByTagNameNS(
-        WSITag.ELEM_XSD_SCHEMA.getNamespaceURI(),
-        WSITag.ELEM_XSD_SCHEMA.getLocalPart());
-
-      for (int elem = 0; elem < schemaElements.getLength(); elem++)
-      {     
-        Element schema = (Element) schemaElements.item(elem);
-        // copying all the NS declarations from wsdl:definitions wsdl:types
-        copyNSDeclarations(root, schema);
-        copyNSDeclarations((Element) schema.getParentNode(), schema);
-        // Replacing all relative schemaLocation URIs with absolute ones
-        replaceRelativeURIs(schema, wsdlURI);
-        inlineSchemas.add(schema);
-      }
-    }
-
-    // Note that the Xerces parser ONLY accepts an array
-    // of schemas with unique namespaces.
-    if (!duplicateNamespacesDetected(inlineSchemas))
-    {
-      // Serialize the schema elements inside the Types, then use this as
-      // the schema string for the validation
-      Iterator i = inlineSchemas.iterator();
-      while (i.hasNext())
-      {
-    	Element schema = (Element)i.next(); 
-        String schemaString = DOM2Writer.nodeToString(schema);
-        schemaStrings.add(schemaString);
-      }
-
-      NodeList elementList = entryContext.getMessageEntryDocument()
-        .getElementsByTagNameNS(WSITag.ELEM_SOAP_BODY.getNamespaceURI(),
-            WSITag.ELEM_SOAP_BODY.getLocalPart());
-      if (elementList == null || elementList.getLength() != 1)
-      {
-        // should only be a single soap body !
-        return false; // probably an error condition though
-      }
-
-      NodeList soapBodyChildList = ((Element)elementList.item(0)).getChildNodes();
-      for (int child = 0; child < soapBodyChildList.getLength(); child++)
-      {
-        Node soapBodyChild = soapBodyChildList.item(child);
-        if (soapBodyChild.getNodeType() == Node.ELEMENT_NODE)
-        {
-          // do all for now
-          try
-          {
-            // Write out element tree to String
-            String messageContent = DOM2Writer.nodeToString(soapBodyChild);
-            // parse the child element, validating against the schema 
-            XMLUtils.parseXML(messageContent, schemaStrings);
-          }
-          catch (WSIException e)
-          {
-            if (e.getTargetException() instanceof SAXException)
-            {
-              // validation failed
-              throw new WSIException(e.getTargetException().getMessage());
-            }
-            throw e;
-          }
-          catch (Exception e)
-          {
-            throw new WSIException("Validating Parsing problem", e);
-            // Bad things have happened
-          }
-        }
-      }   
-    }
-    return true;
-  }
-
-  /**
-   * Copy the namespace declarations.
-   * @param parent a message.
-   * @param child a stripped message.
-   */
-  private void copyNSDeclarations(Element parent, Element child)
-  {
-    NamedNodeMap nodeMap = parent.getAttributes();
-    for (int nodeId = 0; nodeId < nodeMap.getLength(); nodeId++)
-    {
-      Node node = nodeMap.item(nodeId);
-
-      if ((node.getNodeType() == Node.ATTRIBUTE_NODE)
-        && (node.getNodeName().startsWith("xmlns:")))
-      {
-        String nodeName = node.getNodeName();
-        // If an NS being copied is not the same as the child element has, copy it
-        if (!child.getNodeName().startsWith(
-          nodeName.substring(nodeName.indexOf(":") + 1) + ":"))
-        {
-          String nodeValue = node.getNodeValue();
-          child.setAttribute(node.getNodeName(), node.getNodeValue());
-        }
-      }
-    }
-  }
-
-  /**
-   * Replaces all relative URIs for schemaLocation attributes.
-   * @param schema an xsd:schema element.
-   * @param wsdlURI an URI of WSDL that contains xsd:schema being processed.
-   */
-  private void replaceRelativeURIs(Element schema, String wsdlURI)
-  {
-    // Retrieving all xsd:import elements
-    NodeList imports = schema.getElementsByTagNameNS(
-      WSITag.ELEM_XSD_IMPORT.getNamespaceURI(),
-      WSITag.ELEM_XSD_IMPORT.getLocalPart());
-    // Going through the elements
-    for (int i = 0; i < imports.getLength(); i++)
-    {
-      Element imp = (Element) imports.item(i);
-      // Getting the schemaLocation attribute
-      Attr schemaLocation =
-        XMLUtils.getAttribute(imp, WSITag.ATTR_XSD_SCHEMALOCATION);
-      // If the attribute is present
-      if (schemaLocation != null)
-      {
-        // Trying to create an URI object using attribute's value
-        URI uri = null;
-        try
-        {
-          uri = new URI(schemaLocation.getValue());
-        }
-        catch (Exception e) {}
-        // If the value is not an absolute URI (the URI constructor throws the
-        // MalformedURIException), creating the absolute URI using wsdlURI
-        if (uri == null)
-        {
-          String newURI = wsdlURI.substring(0, wsdlURI.lastIndexOf("/") + 1)
-            + schemaLocation.getValue();
-          try
-          {
-            uri = new URI(newURI);
-            // Setting a new URI as a value for the schemaLocation attribute
-            schemaLocation.setValue(uri.toString());
-          }
-          catch (Exception e) {}
-        }
-      }
-    }
-  }
-
-  /**
-   * Returns binding operation matched for SOAP message.
-   * @param entryType message entry type.
-   * @param doc a message.
-   * @return any binding operation matched, null if it is not found.
-   */
-  public BindingOperation getOperationMatch(EntryType entryType, Document doc) 
-  {
-    BindingOperation bindingOperation = null;
-    try
-    {
-      // Getting the name of the first SOAP Body child element
-      QName operation = getOperationFromMessage(doc);
-      if (operation != null)
-      {
-        // Retrieving all the RPC binding operations from wsdl:binding
-        BindingOperation[] rpcBindingOps = getMatchingBindingOps(
-          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
-          analyzerContext.getCandidateInfo().getBindings());
-        // Retrieving binding operation by the given operation name
-        bindingOperation = getOperationMatch(
-          entryType, operation, rpcBindingOps);
-        // If no one RPC operation matched
-        if(bindingOperation == null)
-        {
-          // Retrieving all the document binding operations from wsdl:binding
-          BindingOperation[] docBindingOperations = getMatchingBindingOps(
-            WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
-            analyzerContext.getCandidateInfo().getBindings());
-          // Retrieving binding operation by given element name
-          BindingOperation[] potentialDocLitOps =
-            getDocLitOperations(entryType, operation, docBindingOperations);
-          // If there is exactly one operation matched
-          if (potentialDocLitOps.length == 1)
-            bindingOperation = potentialDocLitOps[0];
-        }
-      }
-    }
-    catch (Exception e) {}
-
-    return bindingOperation;
-  }
-
-  /**
-   * Match either Input or Output.
-   * @param messageEntryType message entry type.
-   * @param soapMessage soap message.
-   * @param op binding operations.
-   * @return matched operation.
-   */
-  public BindingOperation getOperationMatch(
-    EntryType messageEntryType,
-    Document soapMessage,
-    BindingOperation[] op)
-  {
-    // Get operation from message
-    QName operation = getOperationFromMessage(soapMessage);
-    // list of QNames
-
-    return getOperationMatch(messageEntryType, operation, op);
-  }
-
-  /**
-   * Match either Input or Output.
-   * @param messageEntryType message entry type.
-   * @param operation SOAP operation name.
-   * @param op binding operations.
-   * @return matched operation.
-   */
-  public BindingOperation getOperationMatch(
-    EntryType messageEntryType,
-    QName operation,
-    BindingOperation[] op)
-  {
-    QName checkOperation;
-
-    // Look for a candidate operation in the wsdl that matches this signature.
-    for (int k = 0; k < op.length; k++)
-    {
-      String name = null;
-      List extensibles = null;
-      BindingOperation bindingOp = op[k];
-
-      if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
-        && (bindingOp.getOperation().getInput() != null))
-      {
-        name = bindingOp.getOperation().getName();
-        extensibles = bindingOp.getBindingInput().getExtensibilityElements();
-      }
-      else if (
-        messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
-          && (bindingOp.getOperation().getOutput() != null))
-      {
-        name = bindingOp.getOperation().getName() + "Response";
-        extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
-      }
-
-      // Get soap:body
-      SOAPBody soapBody = getSoapBody(extensibles);
-      if (soapBody == null)
-        checkOperation = new QName(name);
-      else
-        checkOperation = new QName(soapBody.getNamespaceURI(), name);
-
-      if (operation != null && operation.equals(checkOperation))
-      {
-        return (bindingOp);
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Match either Input or Output.
-   * @param messageEntryType a message entry type.
-   * @param soapMessage a soap message.
-   * @param op binsing operations.
-   * @return matched operation.
-   */
-  public BindingOperation getOperationPartsMatch(
-    EntryType messageEntryType,
-    Document soapMessage,
-    BindingOperation[] op)
-  {
-    Map parts = getPartListFromMessage(soapMessage); // list of QNames
-
-    // Look for a candidate operation in the wsdl that matches this signature.
-    for (int k = 0; k < op.length; k++)
-    {
-
-      Message wsdlMessage = null;
-      List extensibles = null;
-      BindingOperation bindingOp = op[k];
-
-      if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
-        && (bindingOp.getOperation().getInput() != null))
-      {
-        wsdlMessage = bindingOp.getOperation().getInput().getMessage();
-        extensibles = bindingOp.getBindingInput().getExtensibilityElements();
-      }
-      else if (
-        messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
-          && (bindingOp.getOperation().getOutput() != null))
-      {
-        wsdlMessage = bindingOp.getOperation().getOutput().getMessage();
-        extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
-      }
-      //wsdlFaultParts = op[k].getFaults();
-      // ADD: check for case when response message is a fault
-
-      if (sameParts(parts, wsdlMessage, getSoapHeader(extensibles)))
-      {
-        return (bindingOp);
-      }
-    }
-    return null;
-  }
-
-  /** 
-   * BindingOperation getOperationPartsMatch(..).
-   * 
-   * Find one or more matching binding operations from the WSDL corresponding to the
-   * given request-response signature.
-   * 
-   * This overloaded version is intended for possible Correlation only (not assertions),
-   * since it checks for an operation signature on a request-response pair.
-   * Assertions now check request & response messages independently. 
-   * @param requestMessage a request message.
-   * @param responseMessage a response message.
-   * @param op binding operations.
-   * @return matched operation.
-   */
-  private BindingOperation getOperationPartsMatch(
-    Document requestMessage,
-    Document responseMessage,
-    BindingOperation[] op)
-  {
-    Map inParts = getPartListFromMessage(requestMessage); // list of QNames
-    Map outParts = getPartListFromMessage(responseMessage);
-    // list of QNames
-
-    // Look for a candidate operation in the wsdl that matches this signature.
-    for (int k = 0; k < op.length; k++)
-    {
-
-      //Map wsdlFaultParts = null;
-      Message wsdlInMessage = null;
-      Message wsdlOutMessage = null;
-
-      BindingOperation bindingOp = op[k];
-      if (bindingOp.getOperation().getInput() != null)
-      {
-        wsdlInMessage = bindingOp.getOperation().getInput().getMessage();
-      }
-
-      if (bindingOp.getOperation().getOutput() != null)
-      {
-        wsdlOutMessage = bindingOp.getOperation().getOutput().getMessage();
-      }
-      //wsdlFaultParts = op[k].getFaults();
-      // ADD: check for case when response message is a fault
-
-      if (sameParts(inParts,
-        wsdlInMessage,
-        getSoapHeader(bindingOp.getBindingInput().getExtensibilityElements())))
-      {
-        // match on the request - now check response if its not a fault
-        if (responseMessage != null && isFault(responseMessage))
-        {
-          return (bindingOp);
-        }
-        else if (
-          sameParts(
-            outParts,
-            wsdlOutMessage,
-            getSoapHeader(
-              bindingOp.getBindingOutput().getExtensibilityElements())))
-        {
-          // It does match so treat this as a relevant message pair. 
-          // Let the message through for validation.
-          //ADD: could pass the operations list back to the entryContext for the message.
-          return (bindingOp);
-        }
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Get the soap:body from a List of extensibility elements.
-   * @param extElems a list of extensibility elements.
-   * @return the soap:body from a List of extensibility elements.
-   */
-  private SOAPBody getSoapBody(List extElems)
-  {
-    // Find the soap body
-    if (extElems != null)
-    {
-      for (int i = 0; i < extElems.size(); i++)
-      {
-        ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
-        if (extElem.getElementType().equals(WSITag.WSDL_SOAP_BODY))
-        {
-          return (SOAPBody) extElem;
-        }
-        // If the element is mime:multipartRelated
-        else if (extElem.getElementType().equals(WSITag.WSDL_MIME_MULTIPART))
-        {
-          // Getting the mime:part elements of the mime:multipartRelated
-          List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
-          // Going through all the mime:part elements
-          for (int j = 0; j < mimeParts.size(); j++)
-          {
-            // Collecting all the mime:content elements of this mime:part
-            SOAPBody soapBody = getSoapBody(
-              ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
-            if (soapBody != null)
-              return soapBody;
-          }
-        }
-      }
-    }
-
-    return null;
-  }
-
-  /**
-   * Get the SOAPHeader from a List of extensibility elements.
-   * @param extensibles a list of extensibility elements.
-   * @return the SOAPHeader from a List of extensibility elements.
-   */
-  private SOAPHeader getSoapHeader(List extensibles)
-  {
-    SOAPHeader soapHeader = null;
-
-    // find the soap header
-    if (extensibles != null)
-    {
-      Iterator i = extensibles.iterator();
-      while (i.hasNext() && soapHeader == null)
-      {
-        try
-        {
-          soapHeader = (SOAPHeader) i.next();
-        }
-        catch (ClassCastException c)
-        {
-        }
-      }
-    }
-    return soapHeader;
-  }
-
-  /**
-   * Get first part name from soapbind:body element.
-   */
-  private String getFirstPartName(BindingOperation bindingOperation)
-  {
-    String partName = null;
-    List extList = null;
-    Iterator partsIterator = null;
-
-    // Determine if there is a list of parts by finding the soapbind:body element
-    if ((extList =
-      bindingOperation.getBindingInput().getExtensibilityElements())
-      != null)
-    {
-      List partsList = null;
-      Iterator extIterator = extList.iterator();
-      while (extIterator.hasNext() && (partName == null))
-      {
-        Object extElement = extIterator.next();
-        if (extElement instanceof SOAPBody)
-        {
-          if ((partsList = ((SOAPBody) extElement).getParts()) != null)
-          {
-            partsIterator = partsList.iterator();
-
-            // Since this is a doc literal binding there should be only one part name
-            if (partsIterator.hasNext())
-              partName = (String) partsIterator.next();
-          }
-        }
-      }
-    }
-
-    return partName;
-  }
-
-  public BindingOperation[] getDocLitOperations(
-    EntryType messageType,
-    QName partElementQName,
-    BindingOperation[] wsdlOperations)
-  {
-
-    if (messageType.isType(EntryType.ENTRY_TYPE_REQUEST))
-    {
-      return getInputDocLitOperations(partElementQName, wsdlOperations);
-    }
-    else if (messageType.isType(EntryType.ENTRY_TYPE_RESPONSE))
-    {
-      return getOutputDocLitOperations(partElementQName, wsdlOperations);
-    }
-    else
-    {
-      return null; // should be one or the other
-    }
-  }
-
-  private BindingOperation[] getInputDocLitOperations(
-    QName partElementQName,
-    BindingOperation[] wsdlOperations)
-  {
-
-    Vector potentialOps = new Vector();
-
-    for (int i = 0; i < wsdlOperations.length; i++)
-    {
-      if (wsdlOperations[i].getOperation().getInput() != null)
-      {
-        Message message = wsdlOperations[i].getOperation().getInput().getMessage();
-        // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match 
-        if (partElementQName == null)
-        {
-          if (message.getParts().isEmpty())
-            potentialOps.add(wsdlOperations[i]);
-          continue;
-        }
-
-        Iterator partsIt = message.getParts().values().iterator();
-        while (partsIt.hasNext())
-        {
-          Part nextPart = (Part) partsIt.next();
-          if (partElementQName.equals(nextPart.getElementName()))
-          {
-            // matching part found (doc-lit) - add to list of possible operation matches
-            potentialOps.add(wsdlOperations[i]);
-            break;
-          }
-        }
-      }
-    }
-    return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
-  }
-
-  private BindingOperation[] getOutputDocLitOperations(
-    QName partElementQName,
-    BindingOperation[] wsdlOperations)
-  {
-
-    Vector potentialOps = new Vector();
-
-    for (int i = 0; i < wsdlOperations.length; i++)
-    {
-      if (wsdlOperations[i].getOperation().getOutput() != null)
-      {
-        Message message = wsdlOperations[i].getOperation().getOutput().getMessage();
-        // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match
-        if (partElementQName == null)
-        {
-          if (message.getParts().isEmpty())
-            potentialOps.add(wsdlOperations[i]);
-          continue;
-        }
-
-        Iterator partsIt = message.getParts().values().iterator();
-        while (partsIt.hasNext())
-        {
-          Part nextPart = (Part) partsIt.next();
-          if (partElementQName.equals(nextPart.getElementName()))
-          {
-            // matching part found (doc-lit) - add to list of possible operation matches
-            potentialOps.add(wsdlOperations[i]);
-            break;
-          }
-        }
-      }
-    }
-    return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
-  }
-
-  /**
-   * Compare soap message element part names with Parts from specified wsdl Operation
-   */
-  private boolean sameParts(HashSet messageParts, Map wsdlParts)
-  {
-
-    // look for the soap-message operation signature
-    Iterator i = wsdlParts.values().iterator();
-    // build a set of Part names
-    HashSet h = new HashSet();
-    while (i.hasNext())
-    {
-      Part p = (Part) i.next();
-      h.add(p.getName());
-    }
-
-    // compare with the parts list from the message	(unordered)
-    return (h.equals(messageParts));
-  }
-
-  /**
-   * Compare soap message element part names with Parts from specified wsdl Operation
-   */
-  private boolean sameParts(
-    Map messageParts,
-    Message wsdlMessage,
-    SOAPHeader soapHeader)
-  {
-
-    String soapHeaderPart = null;
-    if (soapHeader != null)
-      soapHeaderPart = soapHeader.getPart();
-
-    // check null conditions
-    if (messageParts == null && wsdlMessage == null)
-    {
-      return true; // simple equality test
-    }
-    else if (messageParts == null || wsdlMessage == null)
-    {
-      return false;
-    }
-
-    Vector v = new Vector();
-    //List wsdlParts = wsdlMessage.getOrderedParts(null);
-    Map wsdlParts = null;
-    if (wsdlMessage.getParts() != null)
-    {
-      wsdlParts = wsdlMessage.getParts();
-      // look for the soap-message operation signature
-      Iterator i = wsdlParts.values().iterator();
-      // build a set of Part names    
-      while (i.hasNext())
-      {
-        Part p = (Part) i.next();
-        // do not include the part for the soap:header (if any)
-        if (!p.getName().equals(soapHeaderPart))
-        {
-          // check that the part is associated with the soap:body
-          v.add(new QName(p.getName()));
-        }
-      }
-      // if one of the parts is associated with a soap:header in the binding
-      // (by <soap:header part="{partname}">), remove this from the set
-
-    }
-
-    // compare with the parts list from the message	(ordered)
-    if (v.isEmpty() && messageParts.isEmpty())
-    {
-      return true;
-    }
-
-    // PB: Changed to containsAll() since equals() fails when using JRE 1.4
-    if (v.containsAll(messageParts.keySet())
-      && (v.size() == messageParts.size()))
-    {
-      // Check for xsi:type mismatch
-      Iterator parts = messageParts.keySet().iterator();
-      QName partName, xsiType;
-      while (parts.hasNext())
-      {
-        partName = (QName) parts.next();
-
-        // Get xsi:type QName
-        if ((xsiType = (QName) messageParts.get(partName)) != null
-          && wsdlParts != null)
-        {
-          // Get the WSDL part definition
-          Part part = (Part) wsdlParts.get(partName.getLocalPart());
-
-          // If xsiType is NOT derived from the type of the corresponding WSDL part
-          if (!isDerivedType(xsiType, part.getTypeName()))
-          {
-            // return false
-            return false;
-          }
-        }
-      }
-
-      return true;
-    }
-    else
-      return false;
-    //return (v.equals(messageParts));
-  }
-
-  /**
-   * Checks whether one schema type is derived from another.
-   * @param extType an assumed derived type.
-   * @param type an assumed base type.
-   * @return true if extType is derived from type, false otherwise
-   */
-  public boolean isDerivedType(QName extType, QName type)
-  {
-    // If either of types is null, return false
-    if (extType == null || type == null)
-      return false;
-    // If the types are equal, return true
-    if (extType.equals(type))
-      return true;
-
-    // Going through all schemas 
-    Iterator i = wsdlDocument.getSchemas().values().iterator();
-    while (i.hasNext())
-    {
-      XSModel xsModel = (XSModel) i.next();
-      // Retrieving the derived type definition
-      XSTypeDefinition xsType = xsModel.getTypeDefinition(
-        extType.getLocalPart(), extType.getNamespaceURI());
-      // If it is found and derived from the base type, return true
-      if (xsType != null && xsType.derivedFrom(type.getNamespaceURI(),
-        type.getLocalPart(), XSConstants.DERIVATION_NONE))
-      {
-        return true;
-      }
-    }
-    // extType is not derived from type, return false
-    return false;
-  }
-
-  /**
-  	* Get a list of QNames of parts from the soap body of the specified message
-  	*/
-  public Element getSoapBodyChild(Document doc)
-  {
-
-    Element opElem = null;
-    if (doc != null)
-    {
-      Element root = doc.getDocumentElement();
-      NodeList bodies =
-        root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
-      // Get the list of soap:body child element names from the request message
-      if (bodies != null && bodies.getLength() > 0)
-      {
-        Element body = (Element) bodies.item(0);
-        NodeList children = body.getChildNodes();
-        for (int i = 0; i < children.getLength() && opElem == null; ++i)
-        {
-          Node n = children.item(i);
-          if (n instanceof Element)
-          {
-            opElem = (Element) n;
-          }
-        }
-      }
-    }
-    return opElem;
-  }
-
-  /** Check whether this message is a soap fault
-   */
-  public boolean isFault(Document doc)
-  {
-    boolean isFault = false;
-
-    if (doc != null)
-    {
-      Element root = doc.getDocumentElement();
-      isFault =
-        (root
-          .getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Fault")
-          .getLength()
-          > 0);
-    }
-
-    return isFault;
-  }
-
-  /** 
-   * Check whether this message has a soap body with a child element.
-   */
-  public boolean containsSoapBodyWithChild(Document doc)
-  {
-    boolean contains = false;
-
-    if (doc != null)
-    {
-      contains = ((getSoapBodyChild(doc) == null) ? false : true);
-    }
-
-    return contains;
-  }
-
-  /**
-   * Get SOAPAction value from the HTTP headers.
-   * @param headers HTTP headers
-   * @return SOAPAction value
-   */
-  public String getSoapAction(String headers) throws WSIException
-  {
-    // get SOAPAction
-    String action = null;
-    if (headers != null)
-      action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-    return action;
-  }
-
-  /**
-   * Get a list of QNames of parts from the soap body of the specified message.
-   * This method assumes RPC style message content
-   */
-  private QName getOperationFromMessage(Document doc)
-  {
-    QName operation = null;
-    if (doc != null)
-    {
-      Element root = doc.getDocumentElement();
-      NodeList bodies =
-        root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
-      if (bodies != null && bodies.getLength() > 0)
-      {
-        Element body = (Element) bodies.item(0);
-        NodeList children = body.getChildNodes();
-        for (int i = 0; i < children.getLength(); ++i)
-        {
-          Node n = children.item(i);
-          // If element, then this is the operation name
-          if (n instanceof Element)
-          {
-            operation = new QName(n.getNamespaceURI(), n.getLocalName());
-          }
-        }
-      }
-    }
-
-    return operation;
-  }
-
-  /**
-   * Get a list of QNames of parts from the soap body of the specified message.
-   * This method assumes RPC style message content
-   */
-  private Map getPartListFromMessage(Document doc)
-  {
-    Map parts = new HashMap();
-    if (doc != null)
-    {
-      Element root = doc.getDocumentElement();
-      NodeList bodies =
-        root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
-      // Get the list of soap:body grand-child element names from the request message
-      // (immediate child is the message name)
-      if (bodies != null && bodies.getLength() > 0)
-      {
-        Element body = (Element) bodies.item(0);
-        NodeList children = body.getChildNodes();
-        for (int i = 0; i < children.getLength(); ++i)
-        {
-          Node n = children.item(i);
-          if (n instanceof Element)
-          {
-            // this is the operation name. Its children are the parts
-            NodeList grandChildren = n.getChildNodes();
-            for (int j = 0; j < grandChildren.getLength(); j++)
-            {
-              Node m = grandChildren.item(j);
-              if (m instanceof Element)
-              {
-                // Determine if the part has an xsi:type
-                Attr attr =
-                  XMLUtils.getAttribute(
-                    (Element) m,
-                    new QName(WSIConstants.NS_URI_XSI, "type"));
-
-                QName xsiType = null;
-
-                // If there is an xsi:type attribute, then get the value as a QName 
-                try
-                {
-                  if (attr != null)
-                    xsiType =
-                      DOMUtils.getQName(attr.getNodeValue(), (Element) m);
-                }
-                catch (javax.wsdl.WSDLException we)
-                {
-                }
-
-                // add to the child element list
-                parts.put(
-                  new QName(m.getNamespaceURI(), m.getLocalName()),
-                  xsiType);
-              }
-            }
-          }
-        }
-      }
-    }
-    return parts;
-  }
-
-  public BindingOperation[] getMatchingBindingOps(
-    String bindingStyle,
-    Binding[] bindings)
-    throws WSIException
-  {
-
-    HashSet bindingOperationsSet = new HashSet();
-
-    // whizz through the bindings, checking for a bindingOperation matching the message
-    for (int i = 0; i < bindings.length; i++)
-    {
-
-      Binding tryBinding = bindings[i];
-      List bindingOps = tryBinding.getBindingOperations();
-
-      if (bindingOps != null)
-      {
-
-        // search through binding Operations
-        Iterator bindingOpIt = tryBinding.getBindingOperations().iterator();
-        while (bindingOpIt.hasNext())
-        {
-
-          BindingOperation bindingOp = (BindingOperation) bindingOpIt.next();
-          // check depends on which binding style is declared in the wsdl
-          SOAPOperation soapOp = WSDLValidatorImpl.getSoapOperation(bindingOp);
-          //GT: move this method to utils
-
-          String style;
-          if ((soapOp == null) || (style = soapOp.getStyle()) == null)
-          {
-            // use the style of the parent bindingOp
-
-            SOAPBinding soapBind = WSDLValidatorImpl.getSoapBinding(tryBinding);
-            //GT: move this method to utils
-            if ((style = soapBind.getStyle()) == null)
-            {
-              style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-              //default
-            }
-          }
-          if (style.equals(bindingStyle))
-          {
-
-            bindingOperationsSet.add(bindingOp);
-
-          }
-        }
-      } // current binding has no bindingOperations, ignore
-    }
-    return (BindingOperation[]) bindingOperationsSet.toArray(
-      new BindingOperation[0]);
-  }
-
-  /**
-   * Checks whether soap:body element is literal.
-   * @param extElements extensibility elements of wsdl:input or wsdl:output
-   * of a binding
-   */
-  public boolean isLiteral(List extElems)
-  {
-    SOAPBody soapBody = getSOAPBody(extElems);
-    if (soapBody != null
-      && soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
-      return true;
-    else
-      return false;
-  }
-
-  /**
-   * Orders wsdl:part names keeping in mind the "parts" attribute of WSDL soap:body
-   * @param messageParts a list of wsdl:partS
-   * @param extElems extensibility elements in the binding
-   * @return the ordered list of part names
-   */
-  public List orderPartNames(List messageParts, List extElems)
-  {
-    List orderedPartNames = new ArrayList();
-    List bodyParts = null;
-
-    SOAPBody soapBody = getSOAPBody(extElems);
-    if (soapBody != null)
-      bodyParts = soapBody.getParts();
-
-    Iterator i = messageParts.iterator();
-    while (i.hasNext())
-    {
-      String partName = ((Part) i.next()).getName();
-      // If the parts attribute is not specified or contains
-      // the wsdl:part name, then adding part name to the ordered list
-      if (bodyParts == null || bodyParts.contains(partName))
-        orderedPartNames.add(partName);
-    }
-
-    return orderedPartNames;
-  }
-
-  /**
-   * Retrieves the SOAPBody object from a list of extensibility elments in binding
-   * @param extElems extensibility elements
-   * @return the SOAPBody element
-   */
-  public SOAPBody getSOAPBody(List extElems)
-  {
-    if (extElems == null)
-      return null;
-    for (Iterator i = extElems.iterator(); i.hasNext();)
-    {
-      Object obj = i.next();
-      if (obj instanceof SOAPBody)
-        return (SOAPBody) obj;
-    }
-
-    return null;
-  }
- 
-  public List resolveSameNamespaces(List schemaElements)
-  {
-  	List namespaces = new ArrayList();
-  	List result = new ArrayList();
-  	Iterator i = schemaElements.iterator();
-    while (i.hasNext())
-    {
-      Element schema = (Element) i.next();
-      String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
-      if (!namespaces.contains(targetNamespace))
-      {
-        namespaces.add(targetNamespace);
-    	List schemas = getSchemasWithSameNamespace(schemaElements, targetNamespace);
-    	if (schemas.size() == 1)
-      	{
-      	  result.add(schema);
-      	}
-    	else
-    	{
-    		// copying all the NS declarations from wsdl:definitions wsdl:types
-      //copyNSDeclarations(root, schema);
-      copyNSDeclarations((Element) schema.getParentNode(), schema);
-      // Replacing all relative schemaLocation URIs with absolute ones
-      //replaceRelativeURIs(schema, wsdlURI);
-      // Serialize the schema elements inside the Types, then use this as
-      // the schema string for the validation
-      String schemaString =
-        DOM2Writer.nodeToString(schema);
-       // schemaStrings.add(schemaString);
-      	}
-      }
-    }
-  	return null;
-  }
-  	
-  public List getSchemasWithSameNamespace(List schemaElements, String targetNamespace)
-  { 
-  	List result = new ArrayList();
-    Iterator i = schemaElements.iterator();
-    while (i.hasNext())
-    {
-      Element schema = (Element)i.next();
-      String schemaTargetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
-      if (schemaTargetNamespace == null)
-       	schemaTargetNamespace = "";
-        
-      if (schemaTargetNamespace.equals(targetNamespace))
-      {
-       	result.add(schema);
-      }
-    }
-    return result;
-  }
-
-  public boolean duplicateNamespacesDetected(List schemaElements)
-  { 
-  	boolean result = false;
-    List namespaces = new ArrayList();
-    Iterator i = schemaElements.iterator();
-    while (i.hasNext())
-    {
-    	Element schema = (Element)i.next();
-        String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
-        if (targetNamespace == null)
-        	targetNamespace = "";
-        
-        if (namespaces.contains(targetNamespace))
-        {
-        	result = true;
-        	break;
-        }
-        else
-        {
-        	namespaces.add(targetNamespace);
-        }
-    }
-    return result;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
deleted file mode 100644
index 44f1e25..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.OperationType;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1009.
- * Message includes all soapbind:headers specified in the wsdl:input 
- * (if request) or wsdl:output (if response) of the operation referred 
- * to by its wsdl:binding, and may also include headers that were not specified.
- */
-public class BP1009 extends AssertionProcess
-{
-  private final BaseMessageValidator validator;
-
-  /**
-   * @param BaseMessageValidator
-   */
-  public BP1009(BaseMessageValidator impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  /**
-   * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    try
-    {
-      if (this.validator.isOneWayResponse(entryContext))
-      {
-        throw new AssertionNotApplicableException();
-      }
-
-      // Parse message
-      Document doc = entryContext.getMessageEntryDocument();
-
-      // Parse request message
-      Document docRequest = entryContext.getRequestDocument();
-
-      if (doc == null || docRequest == null)
-        throw new AssertionNotApplicableException();
-
-      // Check if there is a soap body element
-      if (!this.validator.containsSoapBodyWithChild(doc))
-      {
-        throw new AssertionNotApplicableException();
-      }
-
-      if (this.validator.isFault(doc))
-      {
-        throw new AssertionFailException(
-          AssertionResult.RESULT_NOT_APPLICABLE);
-      }
-
-      // get SOAPAction
-      String headers = entryContext.getRequest().getHTTPHeaders();
-      String action = null;
-      if (headers != null)
-        action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
-      Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
-      TypesRegistry registry =
-        new TypesRegistry(
-          this.validator.getWSDLDocument().getDefinitions(),
-          validator);
-      OperationSignature.OperationMatch match =
-        OperationSignature.matchOperation(
-          docRequest,
-          action,
-          binding,
-          registry);
-
-      if (match == null)
-      {
-        throw new AssertionNotApplicableException();
-      }
-
-      BindingOperation bindingOperation = match.getOperation();
-
-      // If this is a one-way operation and we are processing a response, then set result to notApplicable
-      if (bindingOperation
-        .getOperation()
-        .getStyle()
-        .equals(OperationType.ONE_WAY)
-        && (entryContext
-          .getMessageEntry()
-          .getType()
-          .equals(MessageEntry.TYPE_RESPONSE)))
-      {
-        throw new AssertionNotApplicableException();
-      }
-
-      // find body
-      NodeList soapBodyList =
-        doc.getElementsByTagNameNS(
-          WSIConstants.NS_URI_SOAP,
-          XMLUtils.SOAP_ELEM_BODY);
-      if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
-      {
-        // There is not a body or more than one bodies in the envlope.
-        throw new AssertionPassException();
-      }
-      Element soapBodyElem = (Element) soapBodyList.item(0);
-
-      // find headers
-      NodeList soapHeaders =
-        doc.getElementsByTagNameNS(
-          WSITag.ELEM_SOAP_HEADER.getNamespaceURI(),
-          WSITag.ELEM_SOAP_HEADER.getLocalPart());
-
-      //find all operation
-      //Element soapOperation = XMLUtils.getFirstChild(soapBodyElem);
-
-      // gets soapbind:headers
-      List bindingHeaders = null;
-      if (entryContext
-        .getMessageEntry()
-        .getType()
-        .equals(MessageEntry.TYPE_REQUEST))
-      {
-        if (bindingOperation.getBindingInput() != null)
-          bindingHeaders =
-            bindingOperation.getBindingInput().getExtensibilityElements();
-        else
-          throw new AssertionFailException();
-
-      }
-      else
-      {
-        if (entryContext
-          .getMessageEntry()
-          .getType()
-          .equals(MessageEntry.TYPE_RESPONSE))
-        {
-          if (bindingOperation.getBindingOutput() != null)
-            bindingHeaders =
-              bindingOperation.getBindingOutput().getExtensibilityElements();
-          else
-            throw new AssertionFailException();
-        }
-      }
-      if (bindingHeaders == null || bindingHeaders.size() == 0)
-      {
-        throw new AssertionPassException();
-      }
-
-      Iterator iterator = bindingHeaders.iterator();
-      while (iterator.hasNext())
-      {
-        Object bindingHeader = iterator.next();
-        if (bindingHeader instanceof SOAPHeader)
-        {
-          // find soapbind:header in SOAP message
-          if (!isBindingHeaderInSOAPMessage(entryContext,
-            soapHeaders,
-            (SOAPHeader) bindingHeader))
-          {
-            throw new AssertionFailException();
-          }
-        }
-      }
-
-      result = AssertionResult.RESULT_PASSED;
-
-    }
-    catch (AssertionFailException e)
-    {
-      if (e.getMessage() != null && e.getMessage().length() > 0)
-        result = e.getMessage();
-      else
-        result = AssertionResult.RESULT_FAILED;
-    }
-    catch (AssertionPassException e)
-    {
-      result = AssertionResult.RESULT_PASSED;
-    }
-    catch (Exception e)
-    {
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-    }
-
-    if (result == AssertionResult.RESULT_FAILED)
-    {
-      failureDetail = this.validator.createFailureDetail(null, entryContext);
-    }
-
-    // Return assertion result
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-
-  /**
-  * Checks whether specified SOAPHeader is in the SOAPMessage.
-  * @param soapHeaderList
-  * @param SOAPHeader
-  * @return boolean
-  */
-  private boolean isBindingHeaderInSOAPMessage(
-    EntryContext entryContext,
-    NodeList soapHeaders,
-    SOAPHeader bindingHeader)
-  {
-
-    Message msg = getMessageByQName(entryContext, bindingHeader.getMessage());
-    if (msg == null)
-      return false;
-
-    Part part = msg.getPart(bindingHeader.getPart());
-    if (part == null)
-      return false;
-
-    QName partElementName = part.getElementName();
-    QName partTypeName = part.getTypeName();
-
-    if (partTypeName == null && partElementName == null)
-      return false;
-
-    if (soapHeaders == null || soapHeaders.getLength() == 0)
-    {
-      return false;
-    }
-    Vector headersList =
-      XMLUtils.getChildElements((Element) soapHeaders.item(0));
-
-    for (int indexHeader = 0;
-      indexHeader < headersList.size();
-      indexHeader++)
-    {
-      Element soapHeaderPart = (Element) headersList.get(indexHeader);
-      if (soapHeaderPart != null)
-      {
-        QName soapHeaderPartQName =
-          new QName(
-            soapHeaderPart.getNamespaceURI(),
-            soapHeaderPart.getLocalName());
-        if ((partTypeName != null
-          && partTypeName.equals(soapHeaderPartQName))
-          || (partElementName != null
-            && partElementName.equals(soapHeaderPartQName)))
-        {
-          return true;
-        }
-      }
-    }
-
-    return false;
-  }
-
-  /**
-   * Gets message by QName.
-   * @param entryContext
-   * @param messageName
-   * @return Message
-   */
-  private Message getMessageByQName(
-    EntryContext entryContext,
-    QName messageName)
-  {
-    Definition[] defs = validator.analyzerContext.getCandidateInfo().getDefinitions();
-    for (int i = 0; i < defs.length; i++)
-    {
-      Message msg = defs[i].getMessage(messageName);
-      if (msg != null)
-        return msg;
-    }
-    return null;
-  }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
deleted file mode 100644
index 8e07a79..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1011.
- */
-public class BP1011 extends AssertionProcess
-{
-  private final BaseMessageValidator validator;
-
-  /**
-   * @param BaseMessageValidator
-   */
-  public BP1011(BaseMessageValidator impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    try
-    {
-      // TODO need to handle soap with attachments
-      if (entryContext.getMessageEntry().isMimeContent())
-      	 throw new AssertionNotApplicableException();
-         
-      Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
-
-      // get soap message child name
-      // Get the DOM contents of the message soap:body (if non-empty)
-      Document messageDoc = null;
-
-      QName messagePartElementQName = null;
-
-      if (!entryContext.getMessageEntry().getMessage().equals(""))
-      {
-        messageDoc = entryContext.getMessageEntryDocument();
-        //messageDoc = XMLUtils.parseXML(entryContext.getMessageEntry().getMessage(), 
-        //	WSIProperties.DEF_SOAP_SCHEMA);
-        // get soap operation name from the soap:body
-
-        // NOTE: getSoapBodyChild() may return null, if the soap:body did not contain any child elements
-        Element soapMessageElement = validator.getSoapBodyChild(messageDoc);
-
-        // for doc-lit... find the wsdl:part from one of the specified operations that has 
-        // the soap element used in the message.      
-        // we are looking for a part with an element attrib val matching the soap message element
-        if (soapMessageElement != null)
-        {
-          messagePartElementQName =
-            new QName(
-              soapMessageElement.getNamespaceURI(),
-              soapMessageElement.getLocalName());
-        }
-      }
-
-      if ((messageDoc == null) || this.validator.isFault(messageDoc))
-      {
-        // empty messages and fault messages do not qualify for this TA
-        throw new AssertionNotApplicableException();
-      }
-
-      // look for match(s) in doc operations
-      // if found, we're done, else
-      // look for match(s) in rpc operations
-
-      /* Doc-lit 
-       * get list of operations (from candidates) for which the first soap:body child QName is the
-       * <part element="..."> value of that operation's <wsdl:input> or <wsdl:output> element (depending
-       * on whether message is a request or a response).
-       */
-
-      BindingOperation[] docBindingOperations =
-        validator.getMatchingBindingOps(
-          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
-          bindings);
-      // list of operations that match the <wsdl:input> or <wsdl:output> (depending on entryType)
-      // for part element="..."
-      // (ISSUE: what about part type="..."?)
-      BindingOperation[] potentialDocLitOps =
-        validator.getDocLitOperations(
-          entryContext.getEntry().getEntryType(),
-          messagePartElementQName,
-          docBindingOperations);
-      if (potentialDocLitOps.length != 0)
-      {
-        // found at least one doc lit match
-
-        // *** Now we know it's document-literal, schema-validate the SOAP payload accordingly            		
-        try
-        {
-          boolean isSchemaValid = this.validator.messageIsDocLitSchemaValid(entryContext);
-        }
-        catch (Exception e)
-        {
-          throw new AssertionFailException(e.getMessage());
-        }
-        throw new AssertionPassException();
-      }
-
-      /* soap message is not doc-lit so try :
-       * Rpc-lit
-       */
-      BindingOperation[] rpcBindingOperations =
-        this.validator.getMatchingBindingOps(
-          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
-          bindings);
-
-      // Determine if there is an operation match
-      BindingOperation rcpOpMatch =
-        this.validator.getOperationMatch(
-          entryContext.getEntry().getEntryType(),
-          messageDoc,
-          rpcBindingOperations);
-      if (rcpOpMatch != null)
-      {
-        // Determine if the parts match
-        rcpOpMatch =
-          this.validator.getOperationPartsMatch(
-            entryContext.getEntry().getEntryType(),
-            messageDoc,
-            rpcBindingOperations);
-      }
-
-      if (rcpOpMatch == null)
-      {
-        //not matched with rpc either. Prepare assertion failure.
-        StringBuffer rpcOperationList = new StringBuffer();
-        for (int i = 0; i < rpcBindingOperations.length; i++)
-        {
-          rpcOperationList.append(rpcBindingOperations[i].toString() + "\n");
-        }
-
-        StringBuffer docOperationList = new StringBuffer();
-        for (int i = 0; i < docBindingOperations.length; i++)
-        {
-          docOperationList.append(docBindingOperations[i].toString() + "\n");
-        }
-
-        throw new AssertionFailException(
-          "--MESSAGE:\n"
-            + entryContext.getMessageEntry().getMessage()
-            + "\n--CANDIDATE RPC STYLE OPERATIONS ("
-            + (rpcBindingOperations.length != 0
-              ? (rpcBindingOperations.length + "):\n" + rpcOperationList)
-              : "NONE)")
-            + "\n--CANDIDATE DOCUMENT STYLE OPERATIONS ("
-            + (docBindingOperations.length != 0
-              ? (docBindingOperations.length + "):\n" + docOperationList)
-              : "NONE)"));
-
-      }
-    }
-    catch (AssertionPassException e)
-    {
-    }
-    catch (AssertionFailException e)
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
-    }
-    catch (AssertionNotApplicableException e)
-    {
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-    }
-
-    // Return assertion result
-
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
deleted file mode 100644
index 76b9453..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import com.ibm.wsdl.util.xml.DOM2Writer;
-
-
-/**
- * BP1701.
- */
-public class BP1701 extends AssertionProcess
-{
-  private final BaseMessageValidator validator;
-
-  /**
-   * @param BaseMessageValidator
-   */
-  public BP1701(BaseMessageValidator impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    if (this.validator.isOneWayResponse(entryContext))
-    {
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-    }
-    else
-    {
-      try
-      {
-        // TEMP: Use local copy of schema for now
-        // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), WSIConstants.NS_URI_SOAP);
-        // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), "schemas/soapEnvelope.xsd");
-
-        // Get a non-validated but (well-formed) DOM tree of the message content
-        Document doc =
-          XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
-
-        // Remove any xsi:types attributes from the message (SOAP Header, Body and Envelope itself)
-
-        NodeList elementList = doc.getElementsByTagName("*");
-        if (elementList != null)
-        {
-          for (int i = 0; i < elementList.getLength(); i++)
-          {
-            Element element = (Element) elementList.item(i);
-            element.removeAttributeNS(WSIConstants.NS_URI_XSI, "type");
-          }
-        }
-
-        // Write out the (potentially) modified tree to String
-        String filteredMessage = DOM2Writer.nodeToString(doc);
-
-        // Parse the result with validation "on"
-        Document validationDoc =
-          XMLUtils.parseXML(
-            filteredMessage,
-            TestUtils.getSOAPSchemaLocation());
-      }
-      catch (WSIException e)
-      {
-        if (e.getTargetException() instanceof SAXException)
-        {
-          result = AssertionResult.RESULT_FAILED;
-          failureDetail =
-            this.validator.createFailureDetail(
-              Utils.getExceptionDetails(e.getTargetException()),
-              entryContext);
-        }
-      }
-      catch (Exception e)
-      {
-        result = AssertionResult.RESULT_FAILED;
-        failureDetail =
-          this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
-      }
-    }
-
-    // Return assertion result
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
deleted file mode 100644
index dc501f4..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1925
- *
- * <context>For a candidate message</context>
- * <assertionDescription>If the WSDL description lists at least one non-root
- * MIME part, then the corresponding message has a Content-Type HTTP header
- * field-value with a media-type of "multipart/related.</assertionDescription>
- */
-public class AP1925 extends AssertionProcess
-{
-  private final BaseMessageValidator validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public AP1925(BaseMessageValidator impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  /* Validates the test assertion.
-  * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-  */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    try
-    {
-      BindingOperation bindingOperation = validator.getOperationMatch(
-          entryContext.getEntry().getEntryType(),
-          entryContext.getMessageEntryDocument());
-  
-      // If there is no matched operation, the assertion is not applicable
-      if (bindingOperation == null)
-        throw new AssertionNotApplicableException();
-  
-      // Finding operation extensibility elems
-      // in the binding depending on message type
-      List extElems = null;
-      if (entryContext.getMessageEntry().getType().equals(
-        MessageEntry.TYPE_REQUEST)
-        && bindingOperation.getBindingInput() != null)
-      {
-        extElems = bindingOperation
-          .getBindingInput().getExtensibilityElements();
-      }
-      else if (entryContext.getMessageEntry().getType().equals(
-        MessageEntry.TYPE_RESPONSE)
-        && bindingOperation.getBindingOutput() != null)
-      {
-        extElems = bindingOperation
-          .getBindingOutput().getExtensibilityElements();
-      }
-      // check list on first element
-      if((extElems == null) || (extElems.size() == 0) || 
-         !(extElems.get(0) instanceof MIMEMultipartRelated))
-        throw new AssertionNotApplicableException();
-      
-      // get list mime parts from definition
-      MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
-      List parts = mime.getMIMEParts();
-      // if parts count is more than one, than assertion is notApplicable
-      if(parts.size() <= 1)
-        throw new AssertionNotApplicableException();
-      String contentType = HTTPUtils.getHttpHeaderAttribute(
-          entryContext.getMessageEntry().getHTTPHeaders(),
-          HTTPConstants.HEADER_CONTENT_TYPE); 
-      if((contentType == null) || 
-         !contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART))
-      {
-        throw new AssertionFailException("Incorrect Content-Type value \"" +
-            contentType + "\" in HTTP header");
-      }
-    }
-    catch (AssertionNotApplicableException e)
-    {
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-    }
-    catch (AssertionFailException e)
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = 
-        validator.createFailureDetail(e.getMessage(), entryContext);
-    }
-    // Return assertion result
-    return validator.createAssertionResult(
-      testAssertion, result, failureDetail);
-  }
-
-  /**
-   * Returns the part value from MIMEContent element
-   * @param part MIMEPart element
-   * @return the part value from MIMEContent element
-   */
-  private String getMIMEContentPart(MIMEPart part) {
-    List list = part.getExtensibilityElements();
-    if(list.size() == 0)
-      return null;
-    return ((MIMEContent) list.get(0)).getPart();
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
deleted file mode 100644
index 3df554d..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.UnknownHostException;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.WSDLException;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.UDDIValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.binding.TModelInstanceInfo;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.BindingDetail;
-import org.uddi4j.response.TModelDetail;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-import com.ibm.wsdl.util.StringUtils;
-
-/**
- * The UDDI validator will verify that a web service description was published correctly in a UDDI registry.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class UDDIValidatorImpl
-  extends BaseValidatorImpl
-  implements UDDIValidator
-{
-  /**
-   * UDDI reference.
-   */
-  protected UDDIReference uddiReference;
-  /**
-   * UDDI proxy.
-   */
-  protected UDDIProxy uddiProxy;
-
-  /**
-   * WSDL binding.
-   */
-  private Binding binding = null;
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.UDDIValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.test.analyzer.config.UDDIReference, org.wsi.test.report.Reporter)
-   */
-  public void init(
-    AnalyzerContext analyzerContext,
-    ProfileArtifact profileArtifact,
-    ReportArtifact reportArtifact,
-    UDDIReference uddiReference,
-    Reporter reporter)
-    throws WSIException
-  {
-    // BaseValidatorImpl
-    super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
-
-    // Save input references
-    this.uddiReference = uddiReference;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.UDDIValidator#validate()
-   */
-  public String validate() throws WSIException
-  {
-    String wsdlURL = null;
-    Entry entry = null;
-
-    BindingTemplate bindingTemplate = null;
-    TModel tModel = null;
-
-    // it depricated after refactoring 
-    // now the inner classes moved out from validator
-    //String classPrefix = this.getClass().getName() + "$";
-    String classPrefix = this.getClass().getPackage().getName()+".";
-
-    try
-    {
-      // Set up a reference to the UDDI registry
-      uddiProxy = new UDDIProxy();
-
-      //new Socket(new InetAddress(uddiReference.getInquiryURL()));
-      uddiProxy.setInquiryURL(uddiReference.getInquiryURL());
-      boolean wasEx = false;
-      InputStream stream;
-      try
-      {
-        URL url = StringUtils.getURL(null, uddiReference.getInquiryURL());
-        stream = url.openStream();
-        stream.close();
-      }
-
-      catch (UnknownHostException ex)
-      {
-        wasEx = true;
-      }
-
-      catch (IOException ex)
-      {
-      }
-
-      if (!wasEx)
-      {
-
-        // If the UDDI reference is to a bindingTemplate then get it
-        if (uddiReference.getKeyType().equals(UDDIReference.BINDING_KEY))
-        {
-          // Get binding detail which will contain the bindingTemplate
-          BindingDetail bindingDetail =
-            uddiProxy.get_bindingDetail(uddiReference.getKey());
-
-          // Get bindingTemplate
-          bindingTemplate =
-            (BindingTemplate) bindingDetail
-              .getBindingTemplateVector()
-              .elementAt(
-              0);
-
-          if (verboseOption)
-          {
-            System.err.println(
-              "    BindingTemplate - "
-                + UDDIUtils.bindingTemplateToString(bindingTemplate));
-          }
-
-          // Get the wsdlSpec tModel
-          tModel = findTModel(uddiProxy, bindingTemplate);
-        }
-
-        // Else it has to be a tModel
-        else
-        {
-          TModelDetail tModelDetail =
-            uddiProxy.get_tModelDetail(uddiReference.getKey());
-          tModel = (TModel) tModelDetail.getTModelVector().elementAt(0);
-        }
-
-        if (verboseOption)
-        {
-          System.err.println(
-            "    TModel specified or found in bindingTemplate - "
-              + UDDIUtils.tModelToString(tModel));
-        }
-      }
-
-      if (bindingTemplate == null)
-      {
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
-      }
-
-      // If there is a bindingTemplate, then process test assertions for it
-      else
-      {
-        // Create entry
-        entry = this.reporter.getReport().createEntry();
-        entry.setEntryType(
-          EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
-        entry.setReferenceID(bindingTemplate.getBindingKey());
-        entry.setEntryDetail(bindingTemplate);
-
-        // Process test assertions
-        processAssertions(
-          classPrefix,
-          new EntryContext(entry, this.analyzerContext));
-      }
-
-      // NOTE: From this point forward, if a bindingTemplate does NOT have a wsdlSpec tModel,
-      //       the tModel will be NULL.
-
-      //Parse WSDL document, and get WSDL document url, binding name and namespace
-      try
-      {
-        String overviewURL = getOverviewURL(tModel);
-        wsdlURL = getWSDLLocation(overviewURL);
-        WSDLDocument wsdlDocument = getWSDLDocument(wsdlURL);
-
-        // ADD: The WSDL binding is used in WSI3001 and should be moved to the entryContext
-        binding = getBinding(overviewURL, wsdlDocument);
-      }
-
-      catch (Exception e)
-      {
-        // ADD:
-        if (verboseOption)
-        {
-          System.err.println("    EXCEPTION: " + e.toString());
-        }
-      }
-
-      // Create entry
-      entry = this.reporter.getReport().createEntry();
-      entry.setEntryType(
-        EntryType.getEntryType(EntryType.TYPE_DISCOVERY_TMODEL));
-      entry.setReferenceID(
-        (tModel == null ? "[tModel]" : tModel.getTModelKey()));
-      entry.setEntryDetail(tModel);
-
-      // Process test assertions
-      processAssertions(
-        classPrefix,
-        new EntryContext(entry, this.analyzerContext));
-    }
-
-    catch (Exception e)
-    {
-      // Throw WSIException
-      if (e instanceof WSIException)
-        throw (WSIException) e;
-      else
-        throw new WSIException(
-          "An exception occurred while processing the discovery test assertions.",
-          e);
-    }
-
-    // Cleanup
-    cleanup();
-
-    // Get WSDL location
-    wsdlURL = this.analyzerContext.getServiceReference().getWSDLLocation();
-
-    // Return WSDL URL
-    return wsdlURL;
-  }
-
-  /**
-   * Set WSDL binding in the service reference portion of the analyzer context.
-   */
-  protected void setWSDLBinding(Binding binding)
-  {
-    String bindingName =
-      binding == null ? null : binding.getQName().getLocalPart();
-    String namespace =
-      binding == null ? null : binding.getQName().getNamespaceURI();
-
-    // Set the WSDL document location in analyzerContext
-    ServiceReference serviceReference =
-      this.analyzerContext.getServiceReference();
-
-    // If the wsdlElement does not exist, then set it
-    WSDLElement wsdlElement;
-    if ((wsdlElement = serviceReference.getWSDLElement()) == null)
-    {
-      // Get the WSDL binding from the overviewURL and set in analyzerContext
-      wsdlElement = new WSDLElementImpl();
-      wsdlElement.setName(bindingName);
-      wsdlElement.setNamespace(namespace);
-      wsdlElement.setType(EntryType.TYPE_DESCRIPTION_BINDING);
-    }
-
-    // Set the wsdlElement in the service reference
-    serviceReference.setWSDLElement(wsdlElement);
-
-    // Set the service reference back into the analyzerContext
-    analyzerContext.setServiceReference(serviceReference);
-  }
-
-  /**
-   * Set the WSDL location in the service reference portion of the analyzer context.
-   */
-  protected void setWSDLLocation(String wsdlURL)
-  {
-    // Set the WSDL document location in analyzerContext
-    ServiceReference serviceReference =
-      this.analyzerContext.getServiceReference();
-    serviceReference.setWSDLLocation(wsdlURL);
-
-    // Set the service reference back into the analyzerContext
-    analyzerContext.setServiceReference(serviceReference);
-  }
-
-  /**
-   * Find the wsdlSpec tModel associated with a binding.
-   */
-  private TModel findTModel(
-    UDDIProxy uddiProxy,
-    BindingTemplate bindingTemplate)
-    throws WSIException
-  {
-    TModel tModel = null;
-
-    // Get the list of tModel references associated with this bindingTemplate
-    Iterator iterator =
-      bindingTemplate
-        .getTModelInstanceDetails()
-        .getTModelInstanceInfoVector()
-        .iterator();
-
-    // Process each tModel reference
-    Vector tModelKeyList = new Vector();
-    while (iterator.hasNext())
-    {
-      // Get tModelInstanceInfo
-      TModelInstanceInfo tModelInstanceInfo =
-        (TModelInstanceInfo) iterator.next();
-
-      // Add key to list
-      tModelKeyList.add(tModelInstanceInfo.getTModelKey());
-    }
-
-    // Get the tModels associated with the bindingTemplate
-    if (tModelKeyList.size() > 0)
-    {
-      try
-      {
-        // Get the tModel details
-        TModelDetail tModelDetail = uddiProxy.get_tModelDetail(tModelKeyList);
-
-        // Get the list of tModels
-        Iterator tModelIterator = tModelDetail.getTModelVector().iterator();
-
-        //boolean tModelFound = false;
-        TModel nextTModel = null;
-
-        // Go through the list of tModels
-        while ((tModelIterator.hasNext()) && (tModel == null))
-        {
-          // Get next tModel in list
-          nextTModel = (TModel) tModelIterator.next();
-
-          if (verboseOption)
-          {
-            System.err.println(
-              "      TModel referenced from bindingTemplate - "
-                + UDDIUtils.tModelToString(nextTModel));
-          }
-
-          // If this is a wsdlSpec tModel, then this is the tModel we want
-          if (isWsdlSpec(nextTModel))
-            tModel = nextTModel;
-        }
-      }
-
-      catch (Exception e)
-      {
-        // Throw WSIException
-        throw new WSIException("Could not get tModel details.", e);
-      }
-    }
-
-    else
-    {
-      // Throw exception
-      //throw new WSIException("UDDI bindingTemplate did not contain any tModel references.");
-    }
-
-    return tModel;
-  }
-
-  /**
-   * Determine if this is a wsdlSpec tModel.
-   */
-  protected boolean isWsdlSpec(TModel tModel)
-  {
-    boolean tModelFound = false;
-    CategoryBag categoryBag = null;
-    Iterator categoryBagIterator = null;
-
-    // Determine if the catetgoryBag contains wsdlSpec
-    if ((categoryBag = tModel.getCategoryBag()) != null)
-    {
-      // Get the list of keyed references
-      categoryBagIterator = categoryBag.getKeyedReferenceVector().iterator();
-
-      KeyedReference keyedReference = null;
-
-      // Go through the list of keyed references
-      while (categoryBagIterator.hasNext() && !(tModelFound))
-      {
-        // Get next keyed reference
-        keyedReference = (KeyedReference) categoryBagIterator.next();
-
-        // If this is a types taxonomy tModel and the value is wsdlSpec, then this is the tModel we want
-        // REMOVE: It is not necessary to check the key name
-        //if (keyedReference.getTModelKey().equalsIgnoreCase(TModel.TYPES_TMODEL_KEY) &&
-        //   "wsdlSpec".equals(keyedReference.getKeyValue()) &&
-        //   ("types".equals(keyedReference.getKeyName()) ||
-        //    "uddi-org:types".equals(keyedReference.getKeyName()))) {
-        //  tModelFound = true;
-        //}
-        if (keyedReference
-          .getTModelKey()
-          .equalsIgnoreCase(TModel.TYPES_TMODEL_KEY)
-          && "wsdlSpec".equals(keyedReference.getKeyValue()))
-        {
-          tModelFound = true;
-        }
-      }
-    }
-
-    return tModelFound;
-  }
-
-  /**
-   * Get an OverviewURL from tModel.
-   */
-  protected String getOverviewURL(TModel tModel)
-  {
-    if (tModel != null
-      && tModel.getOverviewDoc() != null
-      && tModel.getOverviewDoc().getOverviewURL() != null)
-    {
-      return tModel.getOverviewDoc().getOverviewURL().getText();
-    }
-    return null;
-  }
-
-  /**
-   * Get WSDL document.
-   */
-  protected String getWSDLLocation(String wsdlLocation)
-  {
-    int index;
-
-    // Check if the overviewURL contains a fragment identifier
-    if ((index = wsdlLocation.indexOf("#")) > -1)
-    {
-      wsdlLocation = wsdlLocation.substring(0, index);
-    }
-    return wsdlLocation;
-  }
-
-  /**
-   * Get WSDL document.
-   */
-  protected WSDLDocument getWSDLDocument(String wsdlLocation)
-    throws MalformedURLException, WSDLException
-  {
-    return new WSDLDocument(getWSDLLocation(wsdlLocation));
-  }
-
-  /**
-   * Get WSDL binding from the overviewURL in the tModel.
-   */
-  protected Binding getBinding(String overviewURL, WSDLDocument wsdlDocument)
-  {
-    int index;
-    int nameIndex;
-
-    Binding[] bindings = wsdlDocument.getBindings();
-    if (bindings == null || bindings.length == 0)
-      return null;
-
-    if (overviewURL != null)
-    {
-      // Check if the overviewURL contains a fragment identifier
-      if ((index = overviewURL.indexOf("#")) > -1)
-      {
-        // TEMP: Need to use a real XPath evaluator like Xalan
-        String nameAttribute = "@name=";
-
-        // Locate name reference
-        if ((nameIndex =
-          overviewURL.substring(index + 1).indexOf(nameAttribute))
-          > -1)
-        {
-          // Get the next character which should be a quote
-          int firstQuoteIndex = index + 1 + nameIndex + nameAttribute.length();
-          String quote =
-            overviewURL.substring(firstQuoteIndex, firstQuoteIndex + 1);
-
-          // Get the part of the URL which should contain the binding name
-          String urlPart = overviewURL.substring(firstQuoteIndex + 1);
-
-          // Find the next quote
-          int nextQuoteIndex;
-          if ((nextQuoteIndex = urlPart.indexOf(quote)) > -1)
-          {
-            String bindingName = urlPart.substring(0, nextQuoteIndex);
-            //look for binding with the specified name
-            for (int i = 0; i < bindings.length; i++)
-            {
-              if (bindingName.equals(bindings[i].getQName().getLocalPart()))
-                return bindings[i];
-            }
-          }
-        }
-      }
-    }
-
-    return bindings[0];
-  }
-
-  /**
-   * Get string representation of categoryBag.
-   * @param categoryBag a CategoryBag object.
-   * @return string representation of categoryBag.
-   */
-  protected String categoryBagToString(CategoryBag categoryBag)
-  {
-    String toString = "";
-
-    if (categoryBag != null)
-    {
-      Vector keyedReferenceList = null;
-      if (((keyedReferenceList = categoryBag.getKeyedReferenceVector())
-        == null)
-        || (keyedReferenceList.size() == 0))
-      {
-        toString += "No KeyedReferences";
-      }
-
-      else
-      {
-        int count = 1;
-        KeyedReference keyedReference;
-        Iterator iterator = keyedReferenceList.iterator();
-        while (iterator.hasNext())
-        {
-          keyedReference = (KeyedReference) iterator.next();
-          toString += "\n  ["
-            + count++
-            + "] tModelKey: "
-            + keyedReference.getTModelKey()
-            + ", keyName: "
-            + keyedReference.getKeyName()
-            + ", keyValue: "
-            + keyedReference.getKeyValue();
-        }
-      }
-    }
-    else
-    {
-      toString = "null";
-    }
-
-    return toString;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  protected boolean isPrimaryEntryTypeMatch(
-    TestAssertion testAssertion,
-    EntryContext targetContext)
-  {
-    boolean match = false;
-
-    // If the test assertion entry type matches the target context entry type, then contine
-    if (testAssertion
-      .getEntryTypeName()
-      .equals(targetContext.getEntry().getEntryType().getTypeName()))
-    {
-      match = true;
-    }
-
-    return match;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
-   */
-  protected boolean isNotApplicable(TestAssertion testAssertion)
-  {
-    boolean notApplicable = false;
-
-    // ADD:
-
-    return notApplicable;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
deleted file mode 100644
index 49f3ef6..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
- * WSI3007 - A uddi:businessEntity or uddi:businessService associated
- * with this uddi:bindingTemplate is not categorized using
- * the ws-i-org:conformsTo:2002_12 taxonomy.
- */
-public class WSI3007 extends AssertionProcess
-{
-  private final UDDIValidatorImpl validator;
-
-  /**
-   * @param UDDIValidatorImpl
-   */
-  public WSI3007(UDDIValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  /**
-   * Validates the test assertion.
-   * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    String serviceLocation = null;
-
-    result = AssertionResult.RESULT_PASSED;
-
-    // Get the bindingTemplate from the entryContext
-    BindingTemplate bindingTemplate =
-      (BindingTemplate) entryContext.getEntry().getEntryDetail();
-
-    boolean validService = false;
-    boolean validBusiness = false;
-
-    String serviceKey = null;
-    String businessKey = null;
-    try
-    {
-      serviceKey = bindingTemplate.getServiceKey();
-      BusinessService service =
-        UDDIUtils.getBusinessServiceByKey(this.validator.uddiProxy, serviceKey);
-
-      businessKey = service.getBusinessKey();
-      BusinessEntity business =
-        UDDIUtils.getBusinessByKey(this.validator.uddiProxy, businessKey);
-
-      validService = checkCategoryBag(this.validator.uddiProxy, service.getCategoryBag());
-      validBusiness = checkCategoryBag(this.validator.uddiProxy, business.getCategoryBag());
-
-      if (!validBusiness || !validService)
-      {
-        result = AssertionResult.RESULT_FAILED;
-
-        if (!validBusiness)
-        {
-          failureDetailMessage =
-            "The businessEntity key is: [" + businessKey + "].";
-        }
-
-        if (!validService)
-        {
-          if (!validBusiness)
-            failureDetailMessage += " ";
-          else
-            failureDetailMessage = "";
-
-          failureDetailMessage += "The businessService key is: ["
-            + serviceKey
-            + "].";
-        }
-      }
-    }
-    catch (IllegalStateException e)
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetailMessage =
-        "The UDDI registry does not contain WSI conformance taxonomy"
-          + " tModel (\"ws-i-org:conformsTo:2002_12\").";
-    }
-    catch (Throwable e)
-    {
-      throw new WSIException(
-        "An exception occurred while processing the discovery test assertions.",
-        e);
-    }
-
-    // Return assertion result
-    return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
-  }
-
-  /**
-   * Checks whether the category bag contains the conformance claim.
-   * Returns <b>true</b> if the bag does not contain the conformance claim.
-   * @param proxy
-   * @param bag
-   * @return boolean
-   */
-  private boolean checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
-  {
-    String conformanceKey = null;
-    try
-    {
-      conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
-    }
-    catch (IllegalStateException ex)
-    {
-      return false;
-    }
-
-    boolean result = true;
-
-    if (bag != null)
-    {
-      Vector references = bag.getKeyedReferenceVector();
-      for (int i = 0; i < references.size() && result; i++)
-      {
-        KeyedReference ref = (KeyedReference) references.get(i);
-
-        result = !ref.getTModelKey().equalsIgnoreCase(conformanceKey);
-      }
-    }
-
-    return result;
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
deleted file mode 100644
index 0aec151..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2904
- * <context>For a candidate wsdl:binding with at least one mime:content element</context>
- * <assertionDescription>The part attribute of each mime:content element in a wsdl:binding
- * does not reference a sub-component of a wsdl:part of the wsdl:message that is present in the
- * respective wsdl:input or wsdl:output of the corresponding wsdl:operation of the corresponding
- * wsdl:portType.</assertionDescription>
- */
-public class AP2904 extends AP2903
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public AP2904(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  /* Validates the test assertion.
-  * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-  */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    // Return assertion result
-    return super.validate(testAssertion, entryContext);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
deleted file mode 100644
index cce15cd..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2011.
- * The imported XML schema is a well-formed XML 1.0 document and if it contains an 
- * XML declaration, it is version 1.0. 
- *
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
-**/
-public class BP2011 extends AssertionProcess implements WSITag
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public BP2011(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  private ErrorList errors = new ErrorList();
-
-  private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
-    new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
-  private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
-  private final String VERSION_TOKEN = "version";
-  private final String VERSION = "1.0";
-
-  /* Validates the test assertion.
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    result = result = AssertionResult.RESULT_NOT_APPLICABLE;
-
-    //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
-    Types types = (Types) entryContext.getEntry().getEntryDetail();
-
-    List exts = null;
-    //if (def.getTypes()!=null)
-    if (types != null)
-    {
-      exts = types.getExtensibilityElements();
-    }
-    if (exts != null)
-    {
-      Definition definition = null;
-      if ((definition =
-        validator.analyzerContext.getCandidateInfo().getDefinition(types))
-        == null)
-      {
-        throw new WSIException("Could not find types definition in any WSDL document.");
-      }
-
-      Iterator it = exts.iterator();
-      while (it.hasNext())
-      {
-        ExtensibilityElement el = (ExtensibilityElement) it.next();
-        if (el instanceof UnknownExtensibilityElement)
-          searchForSchema(((UnknownExtensibilityElement) el).getElement(),
-              definition.getDocumentBaseURI());
-      }
-    }
-
-    if (!errors.isEmpty())
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
-    } /*else
-         			result = AssertionResult.RESULT_PASSED;*/
-
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-
-  /* Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
-   * @param n - UnknownExtencibilityElement
-  */
-  private void searchForSchema(Node n, String context)
-  {
-    while (n != null)
-    {
-      // searches for xsd:import element
-      if (Node.ELEMENT_NODE == n.getNodeType())
-      {
-        // if xsd:schema element is found -> process schema
-        if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
-          processSchema(n, context);
-        else
-          // if xsd:import element is found -> load schema and process schema
-          // FIXED: if xsd:import is found and parent element is xsd:schema
-          if (XMLUtils.equals(n, ELEM_XSD_IMPORT)
-            && XMLUtils.equals(n.getParentNode(), ELEM_XSD_SCHEMA))
-            loadSchema(n, context);
-          else
-            // else iterate element recursively
-            searchForSchema(n.getFirstChild(), context);
-      }
-      n = n.getNextSibling();
-    }
-  }
-
-  /*
-   * It loads xsd schema and then check the version 1.0 and looking for xsd:schema element for next process.
-   * @param importNode xsd schema
-  */
-  private void loadSchema(Node importNode, String context)
-  {
-    Element im = (Element) importNode;
-    Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
-    // try to parse imported XSD
-    if (schemaLocation != null && schemaLocation.getValue() != null)
-    {
-      try
-      {
-        // if any error or root element is not XSD schema -> error
-        String decl =
-          readXMLDeclarationStatement(schemaLocation.getValue(), context);
-        if (!validVersion(decl))
-        {
-          Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
-          errors.add((a != null) ? a.getValue() : "");
-        }
-        Document schema =
-          validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-        if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
-        {
-          Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
-          String namespace = (a != null) ? a.getValue() : "";
-          processSchema(schema.getDocumentElement(),
-            XMLUtils.createURLString(schemaLocation.getValue(), context));
-        }
-        result = AssertionResult.RESULT_PASSED;
-      }
-      catch (Throwable t)
-      {
-      }
-    }
-    // else if there is only the namespace attribute, the import relates to inline schema
-    else if (XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE) != null)
-    {
-      result = AssertionResult.RESULT_PASSED;
-    }
-  }
-
-  /**
-  * Reads an XML declaration statement.
-  * @param location
-  * @return String
-  */
-  private String readXMLDeclarationStatement(String location, String baseURI)
-  {
-    String result = null;
-    try
-    {
-      new URL(location);
-    }
-    catch (Throwable t)
-    {
-      // nothing
-      int i = baseURI.lastIndexOf('/');
-      int j = baseURI.lastIndexOf('\\');
-      if (j > i)
-        i = j;
-      location = baseURI.substring(0, i + 1) + location;
-    }
-
-    if (location != null)
-    {
-      URL url = null;
-      Reader reader = null;
-
-      try
-      {
-        try
-        {
-          url = new URL(location);
-        }
-        catch (MalformedURLException e)
-        {
-          // we should try to access location as file
-        }
-
-        if (url != null)
-        {
-          reader = new InputStreamReader(url.openStream());
-        }
-        else
-        {
-          reader = new InputStreamReader(new FileInputStream(location));
-        }
-
-        int charCode;
-        boolean end = false;
-        if (reader.ready())
-        {
-          charCode = reader.read();
-
-          while (reader.ready() && !(charCode == '<'))
-          {
-            charCode = reader.read();
-          }
-
-          StringBuffer buf = new StringBuffer();
-          if (charCode == '<')
-          {
-            buf.append((char) charCode);
-            while (reader.ready() && !end)
-            {
-              charCode = reader.read();
-              buf.append((char) charCode);
-
-              end = charCode == '>';
-            }
-          }
-          else
-          {
-            // NOTE: This result does not get propogated back!
-            result = AssertionResult.RESULT_FAILED;
-            failureDetailMessage =
-              "Cannot read the XML declaration statement.";
-          }
-
-          result = buf.toString();
-        }
-      }
-      catch (Exception e)
-      {
-      }
-      finally
-      {
-        if (reader != null)
-        {
-          try
-          {
-            reader.close();
-          }
-          catch (Throwable e)
-          {
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  /*
-   * @param xmlDecl - xml declaration
-   * @return if xml declaration contains version="1.0" it retirns true. 
-  */
-  private boolean validVersion(String xmlDecl)
-  {
-    //boolean result = false;
-    boolean result = true;
-    if (xmlDecl != null)
-    {
-      StringTokenizer st =
-        new StringTokenizer(
-          OMMITED_XML_DECLARATION_DELIMITERS,
-          XML_DECLARATION_DELIMITERS);
-      Enumeration tokens = st.parse(xmlDecl);
-      boolean found = false;
-      while (tokens.hasMoreElements() && !found)
-      {
-        String token = (String) tokens.nextElement();
-
-        if (token.equalsIgnoreCase(VERSION_TOKEN))
-        {
-          found = true;
-
-          tokens.nextElement();
-          String ver = (String) tokens.nextElement();
-
-          result = VERSION.equals(ver);
-        }
-      }
-    }
-
-    return result;
-  }
-
-  /*
-   * It's loking for xsd import and load it if find.
-   * @param schema xsd schema
-  */
-  private void processSchema(Node schema, String context)
-  {
-    Node n = schema.getFirstChild();
-    while (n != null)
-    {
-      if (Node.ELEMENT_NODE == n.getNodeType()
-        && XMLUtils.equals(n, ELEM_XSD_IMPORT))
-        loadSchema(n, context);
-
-      n = n.getNextSibling();
-    }
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
deleted file mode 100644
index 21a07e3..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP2019.
- * <context>For a candidate wsdl:binding element, if the contained soap:binding element has a "style" attribute equal to "document" and soap:operations have "use" attribute equal to "literal":</context>
- * <assertionDescription>The "namespace" attribute is not specified in any contained soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault elements </assertionDescription>
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
- */
-public class BP2019 extends AssertionProcess
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public BP2019(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  /* Validates the test assertion.
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    boolean docLitFound = false;
-    String errantElements = new String("");
-    String soapExtensibleWithNamespace = null;
-
-    // Get the binding from the entry context
-    Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
-    // Try to get the SOAP binding
-    SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
-    if (soapBinding != null)
-    {
-      String style =
-        (soapBinding.getStyle() == null)
-          ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
-          : soapBinding.getStyle();
-      if (style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC))
-      {
-        Vector soapElements = Utils.arrayToVector(this.validator.getSoapBodies(binding));
-        soapElements.addAll(Utils.arrayToVector(this.validator.getSoapFaults(binding)));
-        soapElements.addAll(Utils.arrayToVector(this.validator.getSoapHeaders(binding)));
-        soapElements.addAll(
-          Utils.arrayToVector(this.validator.getSoapHeaderFaults(binding)));
-
-        Iterator i = soapElements.iterator();
-        while (i.hasNext())
-        {
-          ExtensibilityElement soapElement =
-            (ExtensibilityElement) (i.next());
-          try
-          {
-            if (this.validator.isLiteral(soapElement))
-            {
-              docLitFound = true;
-              if (this.validator.namespaceFoundInSoapLiteral(soapElement))
-              {
-                errantElements += "\n--- " + (soapElement.toString());
-              }
-            }
-          }
-          catch (Exception e)
-          {
-          } // continue with clenched teeth
-        }
-      }
-    }
-
-    if (!docLitFound)
-    {
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-    }
-    else
-    {
-      // If a namespace was not found then test assertion passed
-      if (errantElements.length() != 0)
-      {
-        result = AssertionResult.RESULT_FAILED;
-        failureDetail =
-          this.validator.createFailureDetail(
-            "Failing elements:" + errantElements,
-            entryContext);
-      }
-    }
-
-    // Return assertion result
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
deleted file mode 100644
index d39ac89..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.w3c.dom.Document;
-
-
-/**
- * BP2101.
-   * <context>For a candidate wsdl:definition, if it contains wsdl:import statements</context>
-   * <assertionDescription>Each wsdl:import statement is only used to import another WSDL description.</assertionDescription>
- */
-public class BP2101 extends AssertionProcessVisitor implements WSITag
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public BP2101(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  private ErrorList errors = new ErrorList();
-
-  boolean importFound = false;
-
-  /* Create falure report if import contains reference to non WSDL description. 
-   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
-   */
-  public void visit(Import im, Object parent, WSDLTraversalContext ctx)
-  {
-    importFound = true;
-
-    // by the way : WSDL4J throws Exception if imported WSDL is not resolved
-    // but documentation says that im.getDefinition() will be equal to null
-    if (im.getDefinition() == null)
-      errors.add(
-        im.getNamespaceURI()
-          + ":"
-          + im.getLocationURI()
-          + "\nImport element does not reference a WSDL definition.");
-    else
-      try
-      {
-        // try to parse WSDL according to the WSDL schema
-        Document doc =
-          validator.parseXMLDocumentURL(
-            im.getLocationURI(),
-            ((Definition)parent).getDocumentBaseURI(),
-            TestUtils.getWSDLSchemaLocation());
-      }
-      catch (Throwable t)
-      {
-        errors.add(
-          im.getNamespaceURI()
-            + ":"
-            + im.getLocationURI()
-            + "\n"
-            + Utils.getExceptionDetails(t));
-      }
-  }
-
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    result = AssertionResult.RESULT_FAILED;
-
-    WSDLTraversal traversal = new WSDLTraversal();
-    //VisitorAdaptor.adapt(this);
-    traversal.setVisitor(this);
-    traversal.visitImport(true);
-    traversal.ignoreReferences();
-    traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
-    if (!errors.isEmpty())
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
-    }
-
-    else if (!importFound)
-    {
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-    }
-
-    else
-      result = AssertionResult.RESULT_PASSED;
-
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
deleted file mode 100644
index 01c5ece..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2107.
- * <context>For a candidate wsdl:types element containing an xsd:schema element</context>
- * <assertionDescription>The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s).</assertionDescription>
- */
-public class BP2107 extends AssertionProcess implements WSITag
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public BP2107(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  private boolean schemaFound = false;
-  private ErrorList errors = new ErrorList();
-  private String context;
-
-  /* 
-   * Validates the test assertion.
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    result = AssertionResult.RESULT_FAILED;
-
-    Types t = (Types) entryContext.getEntry().getEntryDetail();
-    List exts = t.getExtensibilityElements();
-    if (exts != null)
-    {
-      context =
-        entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
-      Iterator it = exts.iterator();
-      while (it.hasNext())
-      {
-        ExtensibilityElement el = (ExtensibilityElement) it.next();
-        if (el instanceof UnknownExtensibilityElement)
-          searchForSchema(((UnknownExtensibilityElement) el).getElement());
-      }
-    }
-
-    //			  context = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
-    //			  processWSDL(entryContext.getWSDLDocument().getFilename());
-
-    if (!errors.isEmpty())
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
-    }
-
-    else if (!schemaFound)
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-
-    else
-      result = AssertionResult.RESULT_PASSED;
-
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-
-  /*
-   * Check node schema or load schema from inmport if it exists and process it. 
-   * @param n - node
-  */
-  private void searchForSchema(Node n)
-  {
-    while (n != null)
-    {
-      // searches for xsd:import element
-      if (Node.ELEMENT_NODE == n.getNodeType())
-      {
-        // if xsd:schema element is found -> process schema
-        if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
-        {
-          schemaFound = true;
-          processSchema(n, null);
-        }
-
-        else
-        {
-          // if xsd:import element is found -> load schema and process schema
-          //if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
-          //  loadSchema(n);
-          //else
-          // else iterate element recursively
-          searchForSchema(n.getFirstChild());
-        }
-      }
-
-      n = n.getNextSibling();
-    }
-  }
-
-  /*
-   * Load schema and process it.
-   * @param importNode - xsd:import element
-  */
-  private void loadSchema(Node importNode)
-  {
-    Element im = (Element) importNode;
-    Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
-    // try to parse imported XSD
-    if (schemaLocation != null && schemaLocation.getValue() != null)
-      try
-      {
-        // if any error or root element is not XSD schema -> error
-        Document schema =
-          validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-        if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
-        {
-          Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
-          String namespace = (a != null) ? a.getValue() : "";
-          processSchema(schema.getDocumentElement(), namespace);
-        }
-      }
-      catch (Throwable t)
-      {
-        // nothing. it's not a schema
-      }
-  }
-
-  /*
-   * Create falure report if it's not correspons assertion description.
-   * @param schema - xsd:schema
-   * @param namespace - namespace of schema
-  */
-  private void processSchema(Node schema, String namespace)
-  {
-    Attr a =
-      XMLUtils.getAttribute((Element) schema, ATTR_XSD_TARGETNAMESPACE);
-    String targetNamespace = (a != null) ? a.getValue() : null;
-
-    Node n = schema.getFirstChild();
-    //	   !! we suppose that xsd:import element is occured only within xsd:schema element
-    boolean containsOnlyImportAndAnnotation = true;
-    while (n != null)
-    {
-      if (n.getNodeType() == Node.ELEMENT_NODE)
-      {
-        containsOnlyImportAndAnnotation
-          &= (XMLUtils.equals(n, ELEM_XSD_IMPORT)
-            || XMLUtils.equals(n, ELEM_XSD_ANNOTATION));
-      }
-
-      //if (Node.ELEMENT_NODE == n.getNodeType() && XMLUtils.equals(n, ELEM_XSD_IMPORT))
-      //	loadSchema(n);
-
-      n = n.getNextSibling();
-    }
-
-    // If the target namespace is not set and there are elements in addition to import and annotation, then error
-    if ((targetNamespace == null || targetNamespace.length() == 0)
-      && (!containsOnlyImportAndAnnotation))
-    {
-      errors.add(targetNamespace, XMLUtils.serialize((Element) schema));
-    }
-
-    if (namespace != null && !namespace.equals(targetNamespace))
-    {
-      errors.add(namespace, XMLUtils.serialize((Element) schema));
-    }
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
deleted file mode 100644
index c69a3b5..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2112.
-   * <context>For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element</context>
-   * <assertionDescription>No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute.</assertionDescription>
- */
-public class BP2112 extends AssertionProcessVisitor implements WSITag
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public BP2112(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  private boolean rpcLiteralFound = false;
-  private ErrorList errors = new ErrorList();
-  private Message message = null;
-
-  /* 
-   * Put in context soap binding's style
-   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
-   */
-
-  public void visit(
-    SOAPBinding binding,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-    String style =
-      (binding.getStyle() == null)
-        ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
-        : binding.getStyle();
-    ctx.addParameter("bindingStyle", style);
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.BindingOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
-   */
-  public void visit(
-    BindingOperation op,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-    ctx.removeParameter("operationStyle");
-  }
-
-  /* 
-   * Verify style of soap operation is "rpc" if not then it's canceled process. 
-   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
-   */
-  public void visit(
-    SOAPOperation operation,
-    Object parent,
-    WSDLTraversalContext ctx)
-  {
-    ctx.addParameter("operationStyle", operation.getStyle());
-  }
-
-  /* 
-   * If use of soap body is "literal" and if at least one part is define using "element" attribute it creates falure report.    
-   * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
-   */
-  public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
-  {
-    String opStyle = (String) ctx.getParameter("operationStyle");
-    String bStyle = (String) ctx.getParameter("bindingStyle");
-
-    if ((opStyle == null
-        && !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(bStyle))
-      || (opStyle != null 
-      	&& !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(opStyle)))
-    {
-      ctx.cancelBindingOperationProcessing();
-      return;
-    }
-    // assert use == "literal"
-    if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
-    {
-      rpcLiteralFound = true;
-
-      // find corresponding message
-      Operation op = ctx.getBindingOperation().getOperation();
-      // if some links are broken, cancel processing
-      if (op == null
-        || (parent instanceof BindingInput && op.getInput() == null)
-        || (parent instanceof BindingOutput && op.getOutput() == null))
-        return;
-
-      Message m =
-        (parent instanceof BindingInput)
-          ? op.getInput().getMessage()
-          : op.getOutput().getMessage();
-      // REMOVE: current message should equals to message given as entry
-      //if (m == null || message != m)
-      if (m == null)
-        return;
-
-      List parts =
-        WSDLUtil.getParts(
-          op,
-          m,
-          body,
-          WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC);
-      if (parts == null)
-        return;
-
-      /* check whether parts list contains a parts which uses
-       * element attribute. If so, part name will be added into
-       * errors set.
-       */
-      Iterator it = parts.iterator();
-      while (it.hasNext())
-      {
-        Part part = (Part) it.next();
-        if (part.getElementName() != null)
-          errors.add(part.getName());
-      }
-    }
-  }
-
-  /* 
-   * Validates the test assertion.
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    result = AssertionResult.RESULT_FAILED;
-    // save message 
-    //message = (Message)entryContext.getEntry().getEntryDetail();
-
-    WSDLTraversal traversal = new WSDLTraversal();
-    //VisitorAdaptor.adapt(this);;
-    traversal.setVisitor(this);
-    traversal.visitSOAPBinding(true);
-    traversal.visitBindingOperation(true);
-    traversal.visitSOAPOperation(true);
-    traversal.visitSOAPBody(true);
-
-    traversal.ignoreReferences();
-    traversal.ignoreImport();
-
-    traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
-    if (!errors.isEmpty())
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
-    }
-
-    else if (!rpcLiteralFound)
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-
-    else
-      result = AssertionResult.RESULT_PASSED;
-
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
deleted file mode 100644
index 7ee1ed0..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-
-
-/**
- * BP2122. 
- *    <context>For a candidate wsdl:types element</context>
- *    <assertionDescription>The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema".</assertionDescription>
- */
-public class BP2122 extends AssertionProcess
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public BP2122(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  private String context;
-
-  /**
-   * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    result = AssertionResult.RESULT_PASSED;
-    ErrorList errorList = new ErrorList();
-
-    // Get the types from the entry context
-    Types types = (Types) entryContext.getEntry().getEntryDetail();
-
-    Definition definition = null;
-
-    if (types != null)
-    {
-      if ((definition =
-        validator.analyzerContext.getCandidateInfo().getDefinition(types))
-        == null)
-      {
-        throw new WSIException("Could not find types definition in any WSDL document.");
-      }
-
-      context = definition.getDocumentBaseURI();
-
-      ExtensibilityElement extElement;
-      List extElements = types.getExtensibilityElements();
-
-      // Process each ext. element
-      for (int i = 0; i < extElements.size(); i++)
-      {
-        // If it is an unknown ext. element and it is a schema, then check it
-        if ((extElement = (ExtensibilityElement) extElements.get(i))
-          instanceof UnknownExtensibilityElement)
-        {
-          if (!extElement.getElementType().equals(WSITag.ELEM_XSD_SCHEMA))
-          {
-            // If it is not a schema definition, then it is an error
-            errorList.add(
-              extElement.getElementType().toString()
-                + " can not be a child of the wsdl:types element.");
-          }
-        }
-      }
-    }
-
-    // If XMLSchemaValidator could not find any errors, check errors from the inline schema validator
-    if (errorList.isEmpty())
-      errorList.add(validator.wsdlDocument.getSchemasValidationErrors());
-
-    if (!errorList.isEmpty())
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = this.validator.createFailureDetail(errorList.toString(), entryContext);
-    }
-
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
deleted file mode 100644
index 83d886c..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
+++ /dev/null
@@ -1,423 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2202.
- *  <context>For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly.</context>
- * <assertionDescription>The imported schema uses UTF-8 or UTF-16 for the encoding.</assertionDescription>
- */
-public class BP2202 extends AssertionProcess implements WSITag
-{
-  private final WSDLValidatorImpl validator;
-
-  /**
-   * @param WSDLValidatorImpl
-   */
-  public BP2202(WSDLValidatorImpl impl)
-  {
-    super(impl);
-    this.validator = impl;
-  }
-
-  private ErrorList errors = new ErrorList();
-  private boolean importFound = false;
-
-  private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
-    new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
-  private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
-  private final String UTF_8_ENCODING = "UTF-8";
-  private final String UTF_16_ENCODING = "UTF-16";
-
-  private final String ENCODING_TOKEN = "encoding";
-  private final String VERSION_TOKEN = "version";
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  public AssertionResult validate(
-    TestAssertion testAssertion,
-    EntryContext entryContext)
-    throws WSIException
-  {
-    result = result = AssertionResult.RESULT_NOT_APPLICABLE;
-
-    //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
-    Types types = (Types) entryContext.getEntry().getEntryDetail();
-    List exts = null;
-    //if (def.getTypes() != null)
-    if (types != null)
-      //exts = def.getTypes().getExtensibilityElements();
-      exts = types.getExtensibilityElements();
-    if (exts != null)
-    {
-      Definition definition = null;
-      if ((definition =
-        validator.analyzerContext.getCandidateInfo().getDefinition(types))
-        == null)
-      {
-        throw new WSIException("Could not find types definition in any WSDL document.");
-      }
-
-      Iterator it = exts.iterator();
-      while (it.hasNext())
-      {
-        ExtensibilityElement el = (ExtensibilityElement) it.next();
-        if (el instanceof UnknownExtensibilityElement
-          && el.getElementType().equals(ELEM_XSD_SCHEMA))
-          searchForSchema(((UnknownExtensibilityElement) el).getElement(),
-              definition.getDocumentBaseURI());
-      }
-    }
-
-    if (!errors.isEmpty())
-    {
-      result = AssertionResult.RESULT_FAILED;
-      failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
-    }
-
-    else if (!importFound)
-      result = AssertionResult.RESULT_NOT_APPLICABLE;
-
-    else
-      result = AssertionResult.RESULT_PASSED;
-
-    return validator.createAssertionResult(testAssertion, result, failureDetail);
-  }
-
-  /*
-   * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
-   * @param n - node
-  */
-  private void searchForSchema(Node n, String context)
-  {
-    while (n != null)
-    {
-      // searches for xsd:import element
-      if (Node.ELEMENT_NODE == n.getNodeType())
-      {
-        // if xsd:schema element is found -> process schema
-        if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
-        {
-          processSchema(n, context);
-        }
-        else
-        {
-          // if xsd:import element is found -> load schema and process schema
-          if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
-          {
-            importFound = true;
-            loadSchema(n, context);
-          }
-          else
-            // else iterate element recursively
-            searchForSchema(n.getFirstChild(), context);
-        }
-      }
-      n = n.getNextSibling();
-    }
-  }
-
-  /*
-   * It loads xsd schema and then check valid encoding and looking for xsd:schema element for next process. 
-   * @param importNode - xsd schema
-  */
-  private void loadSchema(Node importNode, String context)
-  {
-    Element im = (Element) importNode;
-    Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
-    // try to parse imported XSD
-    if (schemaLocation != null && schemaLocation.getValue() != null)
-      try
-      {
-        // if any error or root element is not XSD schema -> error
-        String decl =
-          readXMLDeclarationStatement(schemaLocation.getValue(), context);
-        if (!validDeclaration(decl,
-          ENCODING_TOKEN,
-          new String[] { UTF_8_ENCODING, UTF_16_ENCODING }))
-        {
-          Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
-          errors.add((a != null) ? a.getValue() : "");
-        }
-
-        if (!validDeclaration(decl, "version", new String[] { "1.0" }))
-        {
-          errors.add(
-            "Version number in XML declaration is not 1.0.  XML schema file: "
-              + schemaLocation.getValue());
-        }
-
-        // DEBUG:
-        // System.out.println(schemaLocation.getValue() + ":" + context);
-
-        Document schema =
-          validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-
-        if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
-        {
-          Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
-          String namespace = (a != null) ? a.getValue() : "";
-          processSchema(schema.getDocumentElement(),
-              XMLUtils.createURLString(schemaLocation.getValue(), context));
-        }
-        result = result = AssertionResult.RESULT_PASSED;
-      }
-      catch (Throwable t)
-      {
-      }
-  }
-
-  /**
-  * Reads an XML declaration statement.
-  * @param location
-  * @return String
-  */
-  private String readXMLDeclarationStatement(String location, String baseURI)
-  {
-    String result = null;
-    try
-    {
-      new URL(location);
-    }
-    catch (Throwable t)
-    {
-      // nothing
-      int i = baseURI.lastIndexOf('/');
-      int j = baseURI.lastIndexOf('\\');
-      if (j > i)
-        i = j;
-      location = baseURI.substring(0, i + 1) + location;
-    }
-
-    if (location != null)
-    {
-      URL url = null;
-      Reader reader = null;
-
-      try
-      {
-        try
-        {
-          url = new URL(location);
-        }
-        catch (MalformedURLException e)
-        {
-          // we should try to access location as file
-        }
-
-        if (url != null)
-        {
-          reader = new InputStreamReader(url.openStream());
-        }
-        else
-        {
-          reader = new InputStreamReader(new FileInputStream(location));
-        }
-
-        int charCode;
-        boolean end = false;
-        if (reader.ready())
-        {
-          charCode = reader.read();
-
-          while (reader.ready() && !(charCode == '<'))
-          {
-            charCode = reader.read();
-          }
-
-          StringBuffer buf = new StringBuffer();
-          if (charCode == '<')
-          {
-            buf.append((char) charCode);
-            while (reader.ready() && !end)
-            {
-              charCode = reader.read();
-              buf.append((char) charCode);
-
-              end = charCode == '>';
-            }
-          }
-          else
-          {
-            // NOTE: This result does not get propogated back!
-            result = AssertionResult.RESULT_FAILED;
-            failureDetailMessage =
-              "Cannot read the XML declaration statement.";
-          }
-
-          result = buf.toString();
-        }
-      }
-      catch (Exception e)
-      {
-        errors.add(e.getMessage());
-      }
-      finally
-      {
-        if (reader != null)
-        {
-          try
-          {
-            reader.close();
-          }
-          catch (Throwable e)
-          {
-          }
-        }
-      }
-    }
-
-    return result;
-  }
-
-  /*
-   * @param xmlDecl - xml declaration
-   * @return if xml declaration contains encoding="utf-16" or encoding="utf-8" it retirns true. 
-  */
-
-  private boolean validEncoding(String xmlDecl)
-  {
-    //boolean result = false;
-    boolean result = true;
-    if (xmlDecl != null)
-    {
-      StringTokenizer st =
-        new StringTokenizer(
-          OMMITED_XML_DECLARATION_DELIMITERS,
-          XML_DECLARATION_DELIMITERS);
-      Enumeration tokens = st.parse(xmlDecl);
-      boolean found = false;
-      while (tokens.hasMoreElements() && !found)
-      {
-        String token = (String) tokens.nextElement();
-
-        if (token.equals(ENCODING_TOKEN))
-        {
-          found = true;
-
-          tokens.nextElement();
-          String enc = (String) tokens.nextElement();
-
-          result =
-            UTF_8_ENCODING.equalsIgnoreCase(enc)
-              || UTF_16_ENCODING.equalsIgnoreCase(enc);
-        }
-      }
-    }
-
-    return result;
-  }
-
-  /**
-   * @param xmlDecl - xml declaration
-   * @return if xml declaration contains valid version number then true is returned. 
-  */
-  private boolean validDeclaration(
-    String xmlDecl,
-    String tokenName,
-    String[] checkValueList)
-  {
-    //boolean result = false;
-    boolean result = true;
-    if (xmlDecl != null)
-    {
-      StringTokenizer st =
-        new StringTokenizer(
-          OMMITED_XML_DECLARATION_DELIMITERS,
-          XML_DECLARATION_DELIMITERS);
-      Enumeration tokens = st.parse(xmlDecl);
-
-      if (tokens.hasMoreElements())
-      {
-        boolean found = false;
-        while (tokens.hasMoreElements() && !found)
-        {
-          String token = (String) tokens.nextElement();
-
-          if (token.equals(tokenName))
-          {
-            found = true;
-            result = false;
-
-            tokens.nextElement();
-            String tokenValue = (String) tokens.nextElement();
-
-            for (int i = 0; i < checkValueList.length && !result; i++)
-            {
-              if (checkValueList[i].equalsIgnoreCase(tokenValue))
-                result = true;
-            }
-          }
-        }
-      }
-
-      // If there are no tokens then it is not a valid declaraction
-      else
-      {
-        result = false;
-      }
-    }
-
-    return result;
-  }
-
-  /*
-   * It's looking for xsd import and load it if find.
-   * @param schema - xsd schema
-   * @param namespace - namespace of schema
-   */
-  private void processSchema(Node schema, String context)
-  {
-    Node n = schema.getFirstChild();
-    while (n != null)
-    {
-      if (Node.ELEMENT_NODE == n.getNodeType()
-        && XMLUtils.equals(n, ELEM_XSD_IMPORT))
-      {
-        importFound = true;
-        loadSchema(n, context);
-      }
-
-      n = n.getNextSibling();
-    }
-  }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
deleted file mode 100644
index 4df45af..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
+++ /dev/null
@@ -1,2316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSIRuntimeException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.WSDLValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLElementList;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.eclipse.wst.wsi.internal.core.xml.schema.TargetNamespaceProcessor;
-import org.eclipse.wst.wsi.internal.core.xml.schema.XMLSchemaValidator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell 	(gturrell@uk.ibm.com)
- */
-public class WSDLValidatorImpl
-  extends BaseValidatorImpl
-  implements WSDLValidator
-{
-  /**
-   * WSDL URL.
-   */
-  protected String wsdlURL;
-
-  /**
-   * WSDL document.
-   */
-  protected WSDLDocument wsdlDocument = null;
-
-  /**
-   * Entry container map.
-   */
-  protected HashMap containerMap = new HashMap();
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.WSDLValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, java.lang.String, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
-   */
-  public void init(
-    AnalyzerContext analyzerContext,
-    ProfileArtifact profileArtifact,
-    ReportArtifact reportArtifact,
-    String wsdlURL,
-    WSDLDocument wsdlDocument,
-    Reporter reporter)
-    throws WSIException
-  {
-    // BaseValidatorImpl
-    super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
-    this.wsdlDocument = wsdlDocument;
-    if (wsdlDocument != null)
-      this.wsdlURL = wsdlDocument.getLocation();
-
-    if (wsdlURL != null)
-      this.wsdlURL = wsdlURL;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.WSDLValidator#validate()
-   */
-  public WSDLDocument validate() throws WSIException
-  {
-    //WSDLDocument wsdlDocument = null;
-    Entry entry = null;
-
-    Service service = null;
-    Port port = null;
-    Binding binding = null;
-    PortType portType = null;
-    Operation operation = null;
-    Message message = null;
-
-    // it depricated after refactoring 
-    // now the inner classes moved out from validator
-    //String classPrefix = this.getClass().getName() + "$";
-    String classPrefix = this.getClass().getPackage().getName()+".";
-
-    try
-    {
-      // Validate the WSDL service description
-      if (this.wsdlDocument == null)
-        this.wsdlDocument = new WSDLDocument(wsdlURL);
-    }
-
-    catch (Exception e)
-    {
-      // ADD: Certain exceptions should result in validation errors
-
-      throw new WSIException(e.getMessage(), e);
-    }
-
-    // Get the definition element
-    Definition definition = wsdlDocument.getDefinitions();
-
-    // Get service reference from analyzer context
-    ServiceReference serviceReference = analyzerContext.getServiceReference();
-
-    // Create normalized data about the service under test.
-    CandidateInfo candidate = new CandidateInfo(serviceReference, wsdlDocument);
-
-    analyzerContext.setCandidateInfo(candidate);
-
-    // Set prereq type to entry container
-    reporter.setPrereqType(Reporter.PREREQ_TYPE_ENTRY_CONTAINER);
-
-    // always process Import, Definitions & Types assertions 
-    // TEMP:
-    processDefinitionAssertions(classPrefix, candidate);
-    processTypesAssertions(classPrefix, candidate);
-    processImportAssertions(classPrefix, candidate);
-
-    // Process the element hierarchy in the WSDL document starting with the one that was specified  
-    // FIX: Element finding already completed by CandidateInfo constructor - so use that rather than retest here  
-
-    // ---------------------------
-    // wsdl:port
-    // ---------------------------
-    if (serviceReference.getWSDLElement().isPort())
-    {
-      // Find the service element
-      if ((service =
-        definition.getService(
-          serviceReference.getWSDLElement().getParentElementQName()))
-        == null)
-      {
-        throw new WSIRuntimeException(
-          "Could not locate WSDL service: "
-            + serviceReference.getWSDLElement().getParentElementName());
-      }
-
-      // Find the port element
-      if ((port = service.getPort(serviceReference.getWSDLElement().getName()))
-        == null)
-      {
-        throw new WSIRuntimeException(
-          "Could not locate WSDL port: "
-            + serviceReference.getWSDLElement().getName());
-      }
-
-      // TEMP: Remove until there are port test assertions      
-      //processPortAssertions(port, serviceReference, classPrefix, wsdlDocument);	     
-
-      // Next, process the binding
-      if (((binding = port.getBinding()) == null) || (binding.isUndefined()))
-      {
-        //throw new WSIRuntimeException("Could not locate WSDL binding for port: " + port.getName());  
-        // Set missingInput for all binding, portType, operation and message test assertions 
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
-      }
-
-      else
-      {
-        processBindingAssertions(
-          binding,
-          serviceReference,
-          classPrefix,
-          wsdlDocument);
-
-        // Next, process the portType
-        if (((portType = binding.getPortType()) == null)
-          || (portType.isUndefined()))
-        {
-          //throw new WSIRuntimeException("Could not locate WSDL portType for binding: " + binding.getQName().getLocalPart());
-          // Set missingInput for all portType, operation and message test assertions 
-          setMissingInput(
-            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-          setMissingInput(
-            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-          setMissingInput(
-            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
-        }
-
-        else
-        {
-          processMessageAssertions(
-            binding,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-          processPortTypeAssertions(
-            portType,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-          processOperationAssertions(
-            portType,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-          processMessageAssertions(
-            portType,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-        }
-      }
-
-    }
-
-    // ---------------------------
-    // wsdl:binding
-    // ---------------------------
-    else if (serviceReference.getWSDLElement().isBinding())
-    {
-      WSDLElement wsdlElement = serviceReference.getWSDLElement();
-      // Find the binding element
-      if (wsdlElement.getQName() != null
-        && wsdlElement.getQName().getLocalPart() != null
-        && wsdlElement.getQName().getLocalPart().length() > 0)
-      {
-        if (((binding =
-          definition.getBinding(serviceReference.getWSDLElement().getQName()))
-          == null)
-          || (binding.isUndefined()))
-        {
-          throw new WSIRuntimeException(
-            "Could not locate WSDL binding: "
-              + serviceReference.getWSDLElement().getName());
-        }
-
-        processBindingAssertions(
-          binding,
-          serviceReference,
-          classPrefix,
-          wsdlDocument);
-        processMessageAssertions(
-          binding,
-          serviceReference,
-          classPrefix,
-          wsdlDocument);
-
-        // Next, process the portType
-        if (((portType = binding.getPortType()) == null)
-          || (portType.isUndefined()))
-        {
-          //throw new WSIRuntimeException("Could not locate WSDL PortType for Binding: " + binding.getQName().getLocalPart());
-
-          // Set missingInput for all portType, operation and message test assertions 
-          setMissingInput(
-            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-          setMissingInput(
-            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-          setMissingInput(
-            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
-        }
-
-        else
-        {
-          processPortTypeAssertions(
-            portType,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-          processOperationAssertions(
-            portType,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-
-          // Process each message within each operation of the portType associated with the binding
-          processMessageAssertions(
-            portType,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-        }
-      }
-
-      // There was a problem with the binding element specification.  This can 
-      // happen when a UDDI tModel did not have a valid binding reference.
-      else
-      {
-        // Set missingInput for all binding, portType, operation and message test assertions 
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
-      }
-    }
-
-    // ---------------------------
-    // wsdl:portType
-    // ---------------------------
-    else if (serviceReference.getWSDLElement().isPortType())
-    {
-      // Find the PortType element
-      if (((portType =
-        definition.getPortType(serviceReference.getWSDLElement().getQName()))
-        == null)
-        || (portType.isUndefined()))
-      {
-        throw new WSIRuntimeException(
-          "Could not locate WSDL PortType: "
-            + serviceReference.getWSDLElement().getName());
-      }
-
-      // Set missingInput for all binding test assertions 
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-
-      processPortTypeAssertions(
-        portType,
-        serviceReference,
-        classPrefix,
-        wsdlDocument);
-      processOperationAssertions(
-        portType,
-        serviceReference,
-        classPrefix,
-        wsdlDocument);
-
-      // Process each message within each operation of the portType
-      processMessageAssertions(
-        portType,
-        serviceReference,
-        classPrefix,
-        wsdlDocument);
-    }
-
-    // ---------------------------
-    // wsdl:operation
-    // ---------------------------
-    else if (serviceReference.getWSDLElement().isOperation())
-    {
-      // Find the operation
-      // get portType from config parent element
-      if (((portType =
-        definition.getPortType(
-          serviceReference.getWSDLElement().getParentElementQName()))
-        == null)
-        || (portType.isUndefined()))
-      {
-        throw new WSIRuntimeException(
-          "Could not locate WSDL portType: "
-            + serviceReference.getWSDLElement().getParentElementQName());
-      }
-
-      if (((operation =
-        getOperationFromPortType(
-          portType,
-          serviceReference.getWSDLElement().getName()))
-        == null)
-        || (operation.isUndefined()))
-      {
-        throw new WSIRuntimeException(
-          "Could not locate WSDL Operation: "
-            + serviceReference.getWSDLElement().getName()
-            + "in portType: "
-            + portType.getQName());
-      }
-
-      // Set missingInput for all binding and portType test assertions 
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-
-      processOperationAssertions(
-        operation,
-        portType,
-        serviceReference,
-        classPrefix,
-        wsdlDocument);
-      processMessageAssertions(
-        operation,
-        serviceReference,
-        classPrefix,
-        wsdlDocument);
-    }
-
-    // ---------------------------
-    // wsdl:message
-    // ---------------------------
-    else if (serviceReference.getWSDLElement().isMessage())
-    {
-      // Find the message
-      if (((message =
-        definition.getMessage(serviceReference.getWSDLElement().getQName()))
-        == null)
-        || (message.isUndefined()))
-      {
-        throw new WSIRuntimeException(
-          "Could not locate WSDL Message: "
-            + serviceReference.getWSDLElement().getName());
-      }
-
-      // Set missingInput for all binding, portType, and operation test assertions 
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-
-      processMessageAssertions(
-        message,
-        serviceReference,
-        classPrefix,
-        wsdlDocument);
-    }
-
-    else
-    {
-      throw new WSIRuntimeException(
-        "The following WSDL type is not supported: "
-          + serviceReference.getWSDLElement().getType());
-    }
-
-    // Cleanup
-    cleanup();
-
-    // Return WSDL document
-    return this.wsdlDocument;
-  }
-
-  /**
-   * Get entry container using the filename for WSDL document.
-   * @param filename a file name.
-   * @return entry container using the filename for WSDL document.
-   */
-  protected EntryContainer getEntryContainer(String filename)
-  {
-    EntryContainer entryContainer = null;
-
-    // If the entry container already exists, then use it
-    if ((entryContainer = (EntryContainer) containerMap.get(filename)) == null)
-    {
-      // Create new entry container
-      entryContainer = this.reporter.createEntryContainer();
-
-      // Set container id using the filename for the WSDL document
-      entryContainer.setId(filename);
-
-      // Put the new entry container into the container map
-      containerMap.put(filename, entryContainer);
-    }
-
-    return entryContainer;
-  }
-
-  /**
-   * Get operation from port type.
-   * @param portType port type.
-   * @param operationName operation name.
-   * @return operation from port type.
-   */
-  protected Operation getOperationFromPortType(
-    PortType portType,
-    String operationName)
-  {
-    // FIX: wsdl4j available method call below implies that only 
-    // name+inputname+outputname uniquely defines operation 
-    // Use this instead for now: - get the first operation we find...
-    Operation op = null;
-    if (portType.getOperations() != null)
-    {
-      Iterator opIt = portType.getOperations().iterator();
-
-      while (opIt.hasNext())
-      {
-        op = (Operation) opIt.next();
-        if (operationName.equals(op.getName()))
-        {
-          return op;
-        }
-      }
-    }
-
-    return null; // no matching operation found
-  }
-
-  /**
-   * Process definition assertions.
-   * @param classPrefix class prefix.
-   * @param candidate candidate.
-   * @throws WSIException if problems occur during processing.
-   */
-  protected void processDefinitionAssertions(
-    String classPrefix,
-    CandidateInfo candidate)
-    throws WSIException
-  {
-
-    Entry entry = null;
-
-    Definition[] wsdlDefinitions = candidate.getDefinitions();
-
-    for (int i = 0; i < wsdlDefinitions.length; i++)
-    {
-      Definition definition = wsdlDefinitions[i];
-      if (definition == null)
-        continue;
-      // Create entry 
-      entry = this.reporter.getReport().createEntry();
-      entry.setEntryType(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_DEFINITIONS));
-      entry.setReferenceID(definition.getDocumentBaseURI());
-      entry.setEntryDetail(definition);
-
-      // Set entry container
-      entry.setEntryContainer(
-        getEntryContainer(definition.getDocumentBaseURI()));
-
-      // Process all of the definition related test assertions
-      processAssertions(
-        classPrefix,
-        new EntryContext(entry, candidate.getWsdlDocument()));
-      // ADD: need to use here the specific document corresponding to the definition??
-
-    }
-  }
-
-  /**
-   * Process types assertions.
-   * @param classPrefix class prefix.
-   * @param candidate candidate.
-   * @throws WSIException if problem occurs during processing 
-   *         type assertions.
-   */
-  protected void processTypesAssertions(
-    String classPrefix,
-    CandidateInfo candidate)
-    throws WSIException
-  {
-    Entry entry = null;
-
-    Types[] wsdlTypes = candidate.getTypes();
-    Definition[] wsdlDefinitions = candidate.getDefinitions();
-
-    // If there are no types elements, then set all results to missingInput   
-    if (wsdlTypes == null || wsdlTypes.length == 0)
-    {
-      // Set missingInput for all test assertions with this entry type
-      setMissingInput(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
-    }
-
-    else
-    {
-      for (int i = 0; i < wsdlTypes.length; i++)
-      {
-        Types types = wsdlTypes[i];
-        if (types == null)
-        {
-          // no Types element in i-th document
-          continue;
-        }
-
-        // Create entry 
-        entry = this.reporter.getReport().createEntry();
-        entry.setEntryType(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
-        entry.setReferenceID(
-          candidate.getDefinition(types).getDocumentBaseURI() + "-Types");
-        entry.setEntryDetail(types);
-
-        // Set entry container
-        entry.setEntryContainer(
-          getEntryContainer(wsdlDefinitions[i].getDocumentBaseURI()));
-
-        // Process all of the Types related test assertions
-        processAssertions(
-          classPrefix,
-          new EntryContext(entry, candidate.getWsdlDocument()));
-      }
-    }
-  }
-
-  /**
-   * Process import assertions. 
-   * @param classPrefix class prefix.
-   * @param candidate candidate.
-   * @throws WSIException if problem occurs during processing 
-   *         import assertions.
-   */
-  protected void processImportAssertions(
-    String classPrefix,
-    CandidateInfo candidate)
-    throws WSIException
-  {
-
-    Entry entry = null;
-
-    Import[] wsdlImports = candidate.getImports();
-
-    // If there are no import elements, then set all results to missingInput   
-    if (wsdlImports == null || wsdlImports.length == 0)
-    {
-      // Set missingInput for all test assertions with this entry type
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
-    }
-
-    else
-    {
-      for (int i = 0; i < wsdlImports.length; i++)
-      {
-        Import wsdlImport = wsdlImports[i];
-        // Create entry 
-        entry = this.reporter.getReport().createEntry();
-        entry.setEntryType(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
-        entry.setReferenceID(wsdlImport.getNamespaceURI());
-        entry.setEntryDetail(wsdlImport);
-
-        // Set entry container
-        entry.setEntryContainer(getEntryContainer(wsdlImport.getLocationURI()));
-
-        // Process all of the import related test assertions
-        processAssertions(
-          classPrefix,
-          new EntryContext(entry, candidate.getWsdlDocument()));
-        // ADD: need to use here the specific document corresponding to the import!!
-      }
-    }
-  }
-
-  /**
-   * Process port assertions.
-   * @param port a port.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         port assertions.
-   */
-  protected void processPortAssertions(
-    Port port,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-    Entry entry = null;
-
-    // Create entry 	  
-    entry = this.reporter.getReport().createEntry();
-    entry.setEntryType(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORT));
-    entry.setReferenceID(port.getName());
-    entry.setParentElementName(
-      serviceReference.getWSDLElement().getParentElementName());
-    entry.setEntryDetail(port);
-
-    // Process assertions for this artifact against the target context
-    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
-  }
-
-  /**
-   * Process binding assertions.
-   * @param binding binding.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         binding assertions.
-   */
-  protected void processBindingAssertions(
-    Binding binding,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-    Entry entry = null;
-    QName bindingQName = binding.getQName();
-
-    // Create entry 
-    entry = this.reporter.getReport().createEntry();
-    entry.setEntryType(
-      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-    entry.setReferenceID(bindingQName.toString());
-    entry.setEntryDetail(binding);
-
-    // Set entry container
-    Definition definition =
-      analyzerContext.getCandidateInfo().getDefinition(binding);
-    entry.setEntryContainer(
-      getEntryContainer(
-        (definition == null ? null : definition.getDocumentBaseURI())));
-
-    // Process binding test assertions
-    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
-  }
-
-  /**
-   * Process port type assertions.
-   * @param portType port type.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         port type assertions.
-  */
-  protected void processPortTypeAssertions(
-    PortType portType,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-
-    Entry entry = null;
-    QName portTypeQName = portType.getQName();
-
-    // Create entry 
-    entry = this.reporter.getReport().createEntry();
-    entry.setEntryType(
-      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-    entry.setReferenceID(portTypeQName.toString());
-    entry.setEntryDetail(portType);
-
-    // Set entry container
-    Definition definition =
-      analyzerContext.getCandidateInfo().getDefinition(portType);
-    entry.setEntryContainer(
-      getEntryContainer(
-        (definition == null ? null : definition.getDocumentBaseURI())));
-
-    // Process test assertions
-    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
-  }
-
-  /**
-   * Process operation assertions.
-   * @param operation an operation.
-   * @param portType port type.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         operation assertions.
-  */
-  protected void processOperationAssertions(
-    Operation operation,
-    PortType portType,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-    // qualify operation with service location from config.	
-    Entry entry = null;
-
-    // Create entry 
-    entry = this.reporter.getReport().createEntry();
-    entry.setEntryType(
-      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-    entry.setReferenceID(operation.getName());
-    entry.setParentElementName(portType.getQName().getLocalPart());
-    entry.setEntryDetail(operation);
-
-    // Set entry container
-    Definition definition =
-      analyzerContext.getCandidateInfo().getDefinition(portType);
-    entry.setEntryContainer(
-      getEntryContainer(
-        (definition == null ? null : definition.getDocumentBaseURI())));
-
-    // Process test assertions
-    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
-  }
-
-  /**
-   * Process operation assertions.
-   * @param portType port type.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         operation assertions.
-   */
-  protected void processOperationAssertions(
-    PortType portType,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-    // For each operation, 
-    if (portType.getOperations() == null)
-    {
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-    }
-
-    else
-    {
-      Operation operation;
-      Iterator opIt = portType.getOperations().iterator();
-      while (opIt.hasNext())
-      {
-        operation = (Operation) opIt.next();
-        if (operation == null || operation.isUndefined())
-          setMissingInput(
-            EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-        else
-          processOperationAssertions(
-            operation,
-            portType,
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-      }
-    }
-  }
-
-  /**
-   * Process message assertions.
-   * @param message a message.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         message assertions.
-   */
-  protected void processMessageAssertions(
-    Message message,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-
-    Entry entry = null;
-    QName messageQName = message.getQName();
-
-    // Create entry 
-    entry = this.reporter.getReport().createEntry();
-    entry.setEntryType(
-      EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
-    entry.setReferenceID(messageQName.toString());
-    entry.setEntryDetail(message);
-
-    // Set entry container
-    Definition definition =
-      analyzerContext.getCandidateInfo().getDefinition(message);
-    entry.setEntryContainer(
-      getEntryContainer(
-        (definition == null ? null : definition.getDocumentBaseURI())));
-
-    // Process binding test assertions
-    processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
-  }
-
-  /**
-   * Process message assertions.
-   * @param binding a binding.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         message assertions.
-   */
-  protected void processMessageAssertions(
-    Binding binding,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-    HashSet messageSet;
-
-    if (binding.getBindingOperations() != null)
-    { // can do nothing if have no operations defined
-      messageSet =
-        WSDLUtils.findMessages(wsdlDocument.getDefinitions(), binding);
-
-      // Process any messages that were found    
-      if (messageSet.size() > 0)
-      {
-        Iterator messageIt = messageSet.iterator();
-        while (messageIt.hasNext())
-        {
-          Message message = (Message) messageIt.next();
-          if (!message.isUndefined())
-            processMessageAssertions(
-              message,
-              serviceReference,
-              classPrefix,
-              wsdlDocument);
-        }
-      }
-    }
-  }
-
-  /**
-   * Process message assertions.
-   * @param portType port type.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         message assertions.
-   */
-  protected void processMessageAssertions(
-    PortType portType,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-
-    HashSet messageSet = new HashSet();
-
-    if (portType.getOperations() != null)
-    {
-      // can do nothing if have no operations defined
-
-      Iterator opIt = portType.getOperations().iterator();
-
-      while (opIt.hasNext())
-      {
-        Operation op = (Operation) opIt.next();
-
-        // Since there is no guarantee that we have both and input and output message, 
-        // check for its existence before adding it
-        if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
-          messageSet.add(op.getInput().getMessage());
-
-        if (op.getOutput() != null
-          && !op.getOutput().getMessage().isUndefined())
-          messageSet.add(op.getOutput().getMessage());
-
-        // also messages from any Faults defined within the operation
-        if (op.getFaults() != null)
-        {
-          Iterator faultIt = op.getFaults().values().iterator();
-          Message message;
-          while (faultIt.hasNext())
-          {
-            message = ((Fault) faultIt.next()).getMessage();
-            if (!message.isUndefined())
-              messageSet.add(message);
-          }
-        }
-      }
-
-      if (messageSet.size() == 0)
-      {
-        // Set all message test assertion results to missingInput
-        setMissingInput(
-          EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
-      }
-
-      else
-      {
-        // now step through each derived Message
-        Iterator messageIt = messageSet.iterator();
-        while (messageIt.hasNext())
-        {
-          processMessageAssertions(
-            (Message) (messageIt.next()),
-            serviceReference,
-            classPrefix,
-            wsdlDocument);
-        }
-      }
-    }
-  }
-
-  /**
-   * Process message assertions.
-   * @param op - operation.
-   * @param serviceReference service reference.
-   * @param classPrefix class prefix.
-   * @param wsdlDocument WSDL document.
-   * @throws WSIException if problem occurs during processing 
-   *         message assertions.
-   */
-  protected void processMessageAssertions(
-    Operation op,
-    ServiceReference serviceReference,
-    String classPrefix,
-    WSDLDocument wsdlDocument)
-    throws WSIException
-  {
-
-    HashSet messageSet = new HashSet();
-    if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
-      messageSet.add(op.getInput().getMessage());
-
-    if (op.getOutput() != null && !op.getOutput().getMessage().isUndefined())
-      messageSet.add(op.getOutput().getMessage());
-
-    // also messages from any Faults defined within the operation
-    Iterator faultIt = op.getFaults().values().iterator();
-    Message message;
-    while (faultIt.hasNext())
-    {
-      message = ((Fault) faultIt.next()).getMessage();
-      if (!message.isUndefined())
-        messageSet.add(message);
-    }
-
-    if (messageSet.size() == 0)
-    {
-      // Set all message test assertion results to missingInput
-      setMissingInput(
-        EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
-    }
-
-    else
-    {
-      // now step through each derived Message
-      Iterator messageIt = messageSet.iterator();
-      while (messageIt.hasNext())
-      {
-        processMessageAssertions(
-          (Message) (messageIt.next()),
-          serviceReference,
-          classPrefix,
-          wsdlDocument);
-      }
-    }
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
-   */
-  protected boolean isPrimaryEntryTypeMatch(
-    TestAssertion testAssertion,
-    EntryContext targetContext)
-  {
-    boolean match = false;
-
-    // If the test assertion entry type matches the target context entry type, then contine
-    if (testAssertion
-      .getEntryTypeName()
-      .equals(targetContext.getEntry().getEntryType().getTypeName()))
-    {
-      match = true;
-    }
-
-    return match;
-  }
-
-  /* (non-Javadoc)
-   * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
-   */
-  protected boolean isNotApplicable(TestAssertion testAssertion)
-  {
-    boolean notApplicable = false;
-
-    // ADD:
-
-    return notApplicable;
-  }
-
-  /**
-   * Method getSoapFaults.
-   * 
-   * @param inBinding in binding.
-   * @return soap faults.
-   * @throws WSIException if problems occur while processing binding faults.
-   */
-  protected SOAPFault[] getSoapFaults(Binding inBinding) throws WSIException
-  {
-
-    Vector soapFaults = new Vector();
-
-    // Go through each bindingFault one at a time
-    BindingFault[] bindingFaults = getAllBindingFaults(inBinding);
-    for (int fault = 0; fault < bindingFaults.length; fault++)
-    {
-      SOAPFault soapFault = getSoapFault(bindingFaults[fault]);
-      if (soapFault != null)
-      {
-        soapFaults.add(soapFault);
-      }
-    }
-
-    SOAPFault[] soapFaultArray = new SOAPFault[soapFaults.size()];
-    soapFaults.copyInto(soapFaultArray);
-
-    return soapFaultArray;
-  }
-
-  /**
-  * Method getAllBindingFaults.
-  * 
-  * @param inBinding binding.
-  * @return all binding faults.
-  * @throws WSIException if problems occur during processing.
-  */
-  protected BindingFault[] getAllBindingFaults(Binding inBinding)
-    throws WSIException
-  {
-
-    Vector faults = new Vector();
-
-    try
-    {
-
-      Iterator bindingOperations = inBinding.getBindingOperations().iterator();
-
-      while (bindingOperations.hasNext())
-      {
-
-        try
-        {
-          BindingOperation bo = (BindingOperation) bindingOperations.next();
-          Iterator bindingFaults = bo.getBindingFaults().values().iterator();
-          while (bindingFaults.hasNext())
-          {
-
-            faults.add((BindingFault) bindingFaults.next());
-          }
-        }
-        catch (NullPointerException e)
-        {
-
-        }
-      }
-    }
-    catch (NullPointerException e)
-    {
-      // no binding operations in this binding - ignore & continue
-    }
-
-    BindingFault[] faultArray = new BindingFault[faults.size()];
-    faults.copyInto(faultArray);
-
-    return faultArray;
-  }
-
-  /**
-   * Method getWSDLFaults.
-   * 
-   * @param bindingFault a binding fault.
-   * @return WSDL faults.
-   * @throws WSIException if problems occur during processing.
-   */
-  protected SOAPFault getSoapFault(BindingFault bindingFault)
-    throws WSIException
-  {
-
-    SOAPFault soapFault = null;
-    try
-    {
-      Iterator faultExtensibles =
-        bindingFault.getExtensibilityElements().iterator();
-
-      while (faultExtensibles.hasNext() && soapFault == null)
-      {
-        try
-        {
-          soapFault = (SOAPFault) faultExtensibles.next();
-        }
-        catch (ClassCastException e)
-        { // ignore everything but SOAP Fault elements.
-        }
-      }
-    }
-    catch (NullPointerException e)
-    {
-    }
-
-    return soapFault;
-  }
-
-  /**
-   * Method getSoapHeader.
-   * 
-   * @param inBinding a binding.
-   * @return SOAP headers.
-   * @throws WSIException if problems occur during processing.
-   */
-  protected SOAPHeader[] getSoapHeaders(Binding inBinding) throws WSIException
-  {
-    // Get all bindings
-    Binding[] bindingList = new Binding[1];
-    bindingList[0] = inBinding;
-
-    Vector soapHeaderList = new Vector();
-
-    // Go through each binding one at a time
-    for (int binding = 0; binding < bindingList.length; binding++)
-    {
-      try
-      {
-        // get the list of binding Operations
-        BindingOperation[] bindingOperations =
-          (BindingOperation[]) bindingList[binding]
-            .getBindingOperations()
-            .toArray(
-            new BindingOperation[0]);
-
-        // get references to the extensible elements within the <input> and <output> elements of this binding <operation>. 
-        for (int bo = 0; bo < bindingOperations.length; bo++)
-        {
-
-          // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
-          try
-          {
-            BindingInput bindingInput = bindingOperations[bo].getBindingInput();
-            BindingOutput bindingOutput =
-              bindingOperations[bo].getBindingOutput();
-
-            Iterator extElements =
-              bindingInput.getExtensibilityElements().iterator();
-            while (extElements.hasNext())
-            {
-              try
-              {
-                soapHeaderList.add((SOAPHeader) extElements.next());
-              }
-              catch (ClassCastException e)
-              { // ignore everything but SOAP Header.
-              }
-            }
-
-            extElements = bindingOutput.getExtensibilityElements().iterator();
-            while (extElements.hasNext())
-            {
-              try
-              {
-                soapHeaderList.add((SOAPHeader) extElements.next());
-              }
-              catch (ClassCastException e)
-              { // ignore everything but SOAP Header.
-              }
-            }
-          }
-          catch (NullPointerException e)
-          { // no extensibility elements for <input> or <output> - ignore : not checking this here.
-          }
-        }
-      }
-      catch (NullPointerException e)
-      {
-        // no binding operations in this binding - ignore & continue
-      }
-    }
-
-    SOAPHeader[] soapHeaderArray = new SOAPHeader[soapHeaderList.size()];
-    soapHeaderList.copyInto(soapHeaderArray);
-
-    return soapHeaderArray;
-  }
-
-  /**
-   * Method getSoapHeaderFaults.
-   * 
-   * WSDLDocument getter method - maybe better off in class WSDLDocument...
-   * 
-   * @param inBinding a binding.
-   * @return SOAP header faults.
-   * @throws WSIException if problems occur during processing.
-   */
-  protected SOAPHeaderFault[] getSoapHeaderFaults(Binding inBinding)
-    throws WSIException
-  {
-    Vector soapHeaderFaultList = new Vector();
-
-    // Get the list of SOAP headers
-    SOAPHeader[] soapHeaderArray = getSoapHeaders(inBinding);
-
-    // Go through the list and get the header faults
-    List list = null;
-    for (int header = 0; header < soapHeaderArray.length; header++)
-    {
-      // Get list for this header
-      if ((list = soapHeaderArray[header].getSOAPHeaderFaults()) != null)
-      {
-        // Add to primary list      
-        soapHeaderFaultList.addAll(list);
-      }
-    }
-
-    SOAPHeaderFault[] soapHeaderFaultArray =
-      new SOAPHeaderFault[soapHeaderFaultList.size()];
-    soapHeaderFaultList.copyInto(soapHeaderFaultArray);
-
-    return soapHeaderFaultArray;
-  }
-
-  /**
-   * Method getSoapBodies.
-   * 
-   * WSDLDocument getter method - maybe better off in class WSDLDocument...
-   * 
-   * @param inBinding a binding.
-   * @return SOAP bodies.
-   * @throws WSIException if if problems occur during processing.
-   */
-  protected SOAPBody[] getSoapBodies(Binding inBinding) throws WSIException
-  {
-    // REMOVE: Get all bindings
-    //Binding[] bindingList = wsdlDocument.getBindings();
-    Binding[] bindingList = new Binding[1];
-    bindingList[0] = inBinding;
-
-    Vector soapBodies = new Vector();
-
-    // Go through each binding one at a time
-    for (int binding = 0; binding < bindingList.length; binding++)
-    {
-      // get the list of binding Operations
-      BindingOperation[] bindingOperations =
-        (BindingOperation[]) bindingList[binding]
-          .getBindingOperations()
-          .toArray(
-          new BindingOperation[0]);
-
-      // get references to the extensible elements within the <input> and <output> elements of this binding <operation>. 
-      for (int bo = 0; bo < bindingOperations.length; bo++)
-      {
-
-        // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
-        try
-        {
-          Iterator inputExtensibles =
-            bindingOperations[bo]
-              .getBindingInput()
-              .getExtensibilityElements()
-              .iterator();
-          while (inputExtensibles.hasNext())
-          {
-            try
-            {
-              soapBodies.add((SOAPBody) inputExtensibles.next());
-            }
-            catch (ClassCastException e)
-            { // ignore everything but SOAP Body elements.
-            }
-          }
-        }
-        catch (NullPointerException e)
-        { // no extensibility elements for <input> - ignore : not checking this here.
-        }
-
-        try
-        {
-          Iterator outputExtensibles =
-            bindingOperations[bo]
-              .getBindingOutput()
-              .getExtensibilityElements()
-              .iterator();
-          while (outputExtensibles.hasNext())
-          {
-            try
-            {
-              soapBodies.add((SOAPBody) outputExtensibles.next());
-            }
-            catch (ClassCastException e)
-            { // ignore everything but SOAP Body elements.
-            }
-          }
-        }
-        catch (NullPointerException e)
-        { // no extensibility elements for <output>.
-        }
-      }
-    }
-
-    SOAPBody[] soapBodyArray = new SOAPBody[soapBodies.size()];
-    soapBodies.copyInto(soapBodyArray);
-
-    return soapBodyArray;
-  }
-
-  /**
-   * Method getSoapBody.
-   * 
-   * @param bindingInput a BindingInput object.
-   * @return  body.
-   * @throws WSIException if problems occur during processing.
-   */
-  protected SOAPBody getSoapBody(BindingInput bindingInput) throws WSIException
-  {
-
-    SOAPBody soapBody = null;
-
-    Iterator extensibles = bindingInput.getExtensibilityElements().iterator();
-    while (extensibles.hasNext())
-    {
-      Object extensible = extensibles.next();
-      if (extensible instanceof SOAPBody)
-      {
-        soapBody = (SOAPBody) extensible;
-        break;
-      }
-    }
-    return soapBody;
-  }
-
-  /**
-   * Method getSoapBody.
-   * 
-   * @param bindingOutput a BindingOutput object.
-   * @return SOAP body.
-   * @throws WSIException if problems occur during processing.
-   */
-  protected SOAPBody getSoapBody(BindingOutput bindingOutput)
-    throws WSIException
-  {
-
-    SOAPBody soapBody = null;
-
-    Iterator extensibles = bindingOutput.getExtensibilityElements().iterator();
-    while (extensibles.hasNext())
-    {
-      Object extensible = extensibles.next();
-      if (extensible instanceof SOAPBody)
-      {
-        soapBody = (SOAPBody) extensible;
-        break;
-      }
-    }
-    return soapBody;
-  }
-
-  /**
-   * Get schema used.
-   * @param def definition.
-   * @return Schema used.
-   * @throws AssertionFailException if problem getting WSDL defintions 
-   *         namespace.
-   */
-  protected String getSchemaUsed(Definition def) throws AssertionFailException
-  {
-    String schemaUsed = "";
-
-    try
-    {
-      // Need to read the file directly, since WSDL4J always puts in the default WSDL namespace
-      Document document = parseXMLDocumentURL(def.getDocumentBaseURI(), null);
-
-      if (document != null)
-      {
-        // Get the root element
-        Element element = document.getDocumentElement();
-
-        // Get the namespace for this element
-        if (element != null)
-          schemaUsed = element.getNamespaceURI();
-      }
-    }
-
-    catch (WSIException we)
-    {
-      throw new AssertionFailException("problem getting WSDL defintions namespace");
-    }
-
-    /*
-    // Get the default namespace
-    String schemaUsed = def.getNamespace("");
-    
-    // If the default was set, then process it to get the namespace
-    if (schemaUsed == null) {
-      // do it the hard way (still better than another DOM parse)... 				
-      //WSDLWriter w = new WSDLWriterImpl();
-      try {
-        WSDLWriter w = WSDLFactory.newInstance().newWSDLWriter();
-      	Document doc = w.getDocument(def);
-      	Element e = doc.getDocumentElement();
-      	schemaUsed = e.getNamespaceURI();
-      } 
-      catch (NullPointerException e) {
-      	throw new AssertionFailException("problem getting WSDL defintions namespace");
-      } 
-      catch (WSDLException e) {
-      	throw new AssertionFailException("problem getting document defintion");
-      }      	
-    }
-    */
-
-    return schemaUsed;
-  }
-
-  /**
-   * Method getSoapBinding.
-   * 
-   * Get the SOAP binding for a Binding.
-    * 
-   * @param binding a binding.
-   * @return a SOAP binding.
-   * @throws WSIException if problems occur during processing.
-   */
-  public static SOAPBinding getSoapBinding(Binding binding) throws WSIException
-  {
-    SOAPBinding soapBinding = null;
-
-    // Get the list of extensibility elements
-    List exElements = binding.getExtensibilityElements();
-    if (exElements != null)
-    {
-      Iterator iterator = binding.getExtensibilityElements().iterator();
-
-      //  Check for <soap:binding> element
-      while ((iterator.hasNext()) && (soapBinding == null))
-      {
-        try
-        {
-          soapBinding = (SOAPBinding) iterator.next();
-        }
-        catch (ClassCastException e)
-        { // ignore everything but SOAP Binding element
-        }
-      }
-    }
-
-    return soapBinding;
-  }
-
-  /** 
-   * Create XML schema validator.  This is done here because some compilers do not allow
-   * the documentList field to be accessed from within an inner class.
-   * @param documentBaseURI the base URL.
-   * @return newly created XML schema validator.
-   */
-  protected XMLSchemaValidator createXMLSchemaValidator(String documentBaseURI)
-  {
-    // Create XML schema validator
-    return new XMLSchemaValidator(documentBaseURI);
-  }
-
-  /**
-   * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
-   * @param definition a Definition object.
-   * @return a list of schema target namespaces.
-   * @throws WSIException if problem during processing method.
-   */
-  protected List getSchemaTargetNamespaceList(Definition definition)
-    throws WSIException
-  {
-    List list = null, nextList = null;
-
-    // Get list of extension elements within the types element
-    Types types = null;
-    if ((types = definition.getTypes()) != null)
-    {
-      Iterator iterator = types.getExtensibilityElements().iterator();
-
-      ExtensibilityElement extElement = null;
-      while (iterator.hasNext())
-      {
-        // Get next ext. element
-        extElement = (ExtensibilityElement) iterator.next();
-        // If this is an unknown ext. element, then see if it is a schema element
-        TargetNamespaceProcessor tnsProcessor = null;
-        if (extElement instanceof UnknownExtensibilityElement)
-        {
-          tnsProcessor = new TargetNamespaceProcessor(definition.getDocumentBaseURI());
-
-
-          if ((nextList =
-            tnsProcessor.processAllSchema(
-              ((UnknownExtensibilityElement) extElement).getElement()))
-            != null)
-            if (list == null)
-              list = new Vector();
-          list.addAll(nextList);
-        }
-      }
-    }
-
-    return list;
-  }
- /**
-   * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
-   * @param definition a Definition object.
-   * @return a list of schema target namespaces.
-   * @throws WSIException if problem during processing method.
-   */
-  protected List getSchemaNamespaceList(Definition definition)
-    throws WSIException
-  {
-    List list = new Vector();
-    
-    // Always add current document targetNamespace
-    List targetNamespaceList = getSchemaTargetNamespaceList(definition);
-    
-    if ((targetNamespaceList != null) && !targetNamespaceList.isEmpty())
-      list.addAll(targetNamespaceList);
-    
-    // Get list of imported WSDL documents
-    Map importMap = definition.getImports();
-
-    Import imp;
-
-    // Add each imports targetNamespace to the list
-    if (importMap != null && !importMap.isEmpty())
-    {
-      Iterator values = importMap.values().iterator();
-      List importList;
-      while (values.hasNext())
-      {
-        importList = (List) values.next();
-        Iterator imports = importList.iterator();
-        while (imports.hasNext())
-        {
-          imp = (Import) imports.next();
-          if (imp != null && imp.getDefinition() != null)
-          	list.addAll(getSchemaNamespaceList(imp.getDefinition()));
-        }
-      }
-    }
-
-    return list;
-  }
-
-  /**
-   * Build list of WSDL targetNamespaces.
-   * @param definition a Definition object.
-   * @return list of WSDL targetNamespaces.
-   */
-  protected List getWSDLTargetNamespaceList(Definition definition)
-  {
-    List list = new Vector();
-
-    // Always add current document targetNamespace
-    if (definition.getTargetNamespace() != null)
-      list.add(definition.getTargetNamespace());
-
-    // Get list of imported WSDL documents
-    Map importMap = definition.getImports();
-
-    Import imp;
-
-    // Add each imports targetNamespace to the list
-    if (importMap != null && !importMap.isEmpty())
-    {
-      Iterator values = importMap.values().iterator();
-      List importList;
-      while (values.hasNext())
-      {
-        importList = (List) values.next();
-        Iterator imports = importList.iterator();
-        while (imports.hasNext())
-        {
-          imp = (Import) imports.next();
-          if (imp != null && imp.getDefinition() != null)
-          list.addAll(getWSDLTargetNamespaceList(imp.getDefinition()));
-            // list.add(imp.getDefinition().getTargetNamespace());
-        }
-      }
-    }
-
-    return list;
-  }
-
-  protected class BindingMatch
-  {
-    private Binding binding;
-    private BindingOperation bindingOperation;
-    private SOAPBinding soapBinding;
-    //private Vector bindingArgs; // set of BindingInputs and BindingOutputs
-    private BindingInput bindingInput;
-    private BindingOutput bindingOutput;
-
-    // ADD: need to include BindingFault support...
-    public BindingMatch(
-      Binding b,
-      BindingOperation bo,
-      SOAPBinding sb,
-      BindingInput bin,
-      BindingOutput bout)
-    {
-      binding = b;
-      bindingOperation = bo;
-      soapBinding = sb;
-      //bindingArgs = new Vector();
-      //if (bin  != null) { bindingArgs.add(bin);  }
-      //if (bout != null) { bindingArgs.add(bout); }
-      bindingInput = bin;
-      bindingOutput = bout;
-    }
-
-    public BindingMatch(
-      Binding b,
-      BindingOperation bo,
-      SOAPBinding sb,
-      BindingInput bin)
-    {
-      this(b, bo, sb, bin, null);
-    }
-
-    public BindingMatch(
-      Binding b,
-      BindingOperation bo,
-      SOAPBinding sb,
-      BindingOutput bout)
-    {
-      this(b, bo, sb, null, bout);
-    }
-
-    /**
-     * Returns the soapBinding.
-     * @return SOAPBinding
-     */
-    public SOAPBinding getSoapBinding()
-    {
-      return soapBinding;
-    }
-
-    /**
-     * Returns the bindingOperation.
-     * @return BindingOperation
-     */
-    public BindingOperation getBindingOperation()
-    {
-      return bindingOperation;
-    }
-
-    /**
-     * Returns the bindingInput.
-     * @return BindingInput
-     */
-    public BindingInput getBindingInput()
-    {
-      return bindingInput;
-    }
-
-    /**
-     * Returns the bindingOutput.
-     * @return BindingOutput
-     */
-    public BindingOutput getBindingOutput()
-    {
-      return bindingOutput;
-    }
-
-    public boolean hasBindingInput()
-    {
-      return (this.bindingInput != null);
-    }
-
-    public boolean hasBindingOutput()
-    {
-      return (this.bindingOutput != null);
-    }
-
-    /**
-     * Returns the binding.
-     * @return Binding
-     */
-    public Binding getBinding()
-    {
-      return binding;
-    }
-
-  }
-
-  /**
-   * Get binding matches.
-  * @param binding a binding.
-  * @param soapBindingStyle soap binding style.
-  * @param soapBodyUse soap body use.
-  * @return binding matches.
-  * @throws WSIException if problems occur during processing.
-  */
-  public BindingMatch[] getBindingMatches(
-    Binding binding,
-    String soapBindingStyle,
-    String soapBodyUse)
-    throws WSIException
-  {
-
-    Vector bindingMatches = new Vector();
-
-    // Check binding
-    SOAPBinding soapBinding = getSoapBinding(binding);
-
-    // check that the soap:binding for this WSDL binding is the specified style
-    // ADD: check for null pointer
-    if (soapBinding != null)
-    {
-      String defaultStyle = soapBinding.getStyle();
-
-      if (defaultStyle == null)
-      {
-        defaultStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-      }
-
-      // Get the set of operations for this WSDL binding
-      List bindingOpsList = binding.getBindingOperations();
-      if (bindingOpsList != null)
-      {
-        Iterator bindingOps = bindingOpsList.iterator();
-        // for each binding operation:
-        while (bindingOps.hasNext())
-        {
-          BindingOperation bindingOp = (BindingOperation) bindingOps.next();
-
-          SOAPOperation soapOp = getSoapOperation(bindingOp);
-
-          if ((soapOp == null && defaultStyle.equals(soapBindingStyle))
-            || (soapOp != null
-              && soapOp.getStyle() == null
-              && defaultStyle.equals(soapBindingStyle))
-            || (soapOp != null
-              && soapOp.getStyle() != null
-              && soapOp.getStyle().equals(soapBindingStyle)))
-          {
-            // check binding input & output
-            BindingInput bInput = bindingOp.getBindingInput();
-            if (bInput != null)
-            {
-              SOAPBody inputSoapBody = getSoapBody(bInput);
-              if (inputSoapBody == null
-                || (inputSoapBody.getUse() != null
-                  && !inputSoapBody.getUse().equals(soapBodyUse)))
-              {
-                bInput = null;
-              }
-            }
-
-            BindingOutput bOutput = bindingOp.getBindingOutput();
-            if (bOutput != null)
-            {
-              SOAPBody outputSoapBody = getSoapBody(bOutput);
-
-              if (outputSoapBody == null
-                || (outputSoapBody.getUse() != null
-                  && !outputSoapBody.getUse().equals(soapBodyUse)))
-              {
-                bOutput = null;
-              }
-            }
-
-            if ((bOutput != null) || (bInput != null))
-            {
-              // we have a match, add to the vector
-              bindingMatches.add(
-                new BindingMatch(
-                  binding,
-                  bindingOp,
-                  soapBinding,
-                  bInput,
-                  bOutput));
-            }
-          }
-        }
-      }
-    }
-
-    BindingMatch[] BindingMatchArray = new BindingMatch[bindingMatches.size()];
-    bindingMatches.copyInto(BindingMatchArray);
-    return BindingMatchArray;
-  }
-
-  /**
-   * Method getSoapOperation.
-   *
-   * @param bindingOperation a binding operation.
-   * @return a soap operation.
-   * @throws WSIException if problems while processing.
-   */
-  public static SOAPOperation getSoapOperation(BindingOperation bindingOperation)
-    throws WSIException
-  {
-
-    if (bindingOperation.getExtensibilityElements() == null)
-    {
-      return null;
-    }
-
-    Iterator extensibles =
-      bindingOperation.getExtensibilityElements().iterator();
-    while (extensibles.hasNext())
-    {
-      Object extensible = extensibles.next();
-      if (extensible instanceof SOAPOperation)
-      {
-        return (SOAPOperation) extensible;
-      }
-    }
-    return null;
-  }
-
-  /* 
-   * Returns an array of SOAPOperations corresponding to the wsdl:binding supplied.
-   */
-  protected HashMap getSoapOperations(Binding binding) throws WSIException
-  {
-    HashMap soapOperationList = new HashMap();
-
-    if (binding.getBindingOperations() == null)
-    {
-      return null;
-    }
-
-    //Vector soapOpVector = new Vector();
-
-    // Get the list of binding operations
-    Iterator operations = binding.getBindingOperations().iterator();
-
-    // Check each binding operation to see if it has a soap operation element
-    BindingOperation bindingOperation = null;
-    while (operations.hasNext())
-    {
-      bindingOperation = (BindingOperation) operations.next();
-      Iterator extensibles =
-        bindingOperation.getExtensibilityElements().iterator();
-      while (extensibles.hasNext())
-      {
-        Object extensible = extensibles.next();
-        if (extensible instanceof SOAPOperation)
-        {
-          soapOperationList.put(extensible, bindingOperation.getName());
-        }
-      }
-    }
-
-    //return (SOAPOperation[])soapOpVector.toArray(new SOAPOperation[] {});
-    return soapOperationList;
-  }
-
-  /**
-   * Check part attributes.
-   * @param bindingMatch an array of BindingMatch objects.
-   * @param inOrOut a String object.
-   * @param attrib attribute.
-   * @return a boolean.
-   * @throws AssertionFailException if the part is not compliant.
-   */
-  // GT - rework this method with a better way of parameterizing the getters required for the invocation.
-  protected boolean checkPartAttributes(
-    BindingMatch[] bindingMatch,
-    String inOrOut,
-    String attrib)
-    throws AssertionFailException
-  {
-
-    if (!(inOrOut.equals("useInput") || inOrOut.equals("useOutput"))
-      || !(attrib.equals("useType") || attrib.equals("useElement")))
-    {
-      // invalid argument value supplied by calling method - "internal error"
-      return false;
-    }
-
-    for (int i = 0; i < bindingMatch.length; i++)
-    {
-      BindingMatch nextMatch = bindingMatch[i];
-
-      // check the associated parts
-      Message msg;
-      Map parts;
-      Iterator partIteration;
-
-      BindingOperation bindingOp = nextMatch.getBindingOperation();
-      if (bindingOp == null)
-      {
-        continue; // no Binding Operation for some reason
-      }
-
-      Operation op = bindingOp.getOperation();
-
-      /*	ADD: handle soap:faults in similar way	   		
-      try {
-      // check faults - remarkably similar.... (need to retain operation id for failuredetail msg)
-      	if (nextMatch.hasBindingFault()) {
-      				
-      		msg = op.getFault().getMessage();
-      		parts = msg.getParts();
-      				    					     			
-      		//check that each part has an element attribute    			
-      		partIteration = parts.values().iterator();
-      		while (partIteration.hasNext()) {
-      			Part part = (Part)partIteration.next();
-      			if (part.getElementName() == null) {
-      				throw new AssertionFailException("OPERATION: " + op + "MESSAGE: " + msg);
-      			}
-      		}	 			
-      	}
-      }
-      catch (NullPointerException n) {
-      	// no parts found - this qualifies an assertion failure
-      	throw new AssertionFailException(n.getMessage());
-      }
-      */
-
-      try
-      {
-
-        QName attributeName;
-
-        //GT: Do we need to check BindingInput / Output here ??
-
-        if (inOrOut.equals("useInput"))
-        {
-          if (op.getInput() == null || !nextMatch.hasBindingInput())
-          {
-            // No Input so nothing to check
-            continue;
-          }
-
-          msg = op.getInput().getMessage();
-
-        }
-        else
-        { // Looking for Output
-          if (op.getOutput() == null || !nextMatch.hasBindingOutput())
-          {
-            // No Output so nothing to check
-            continue;
-          }
-
-          msg = op.getOutput().getMessage();
-        }
-
-        if (msg == null)
-        {
-          continue; // nothing to check from this Binding Match (?)
-        }
-
-        // Get the list of parts 
-        parts = msg.getParts();
-
-        // If there is a parts attribute, then only process those parts
-        List partsNameList = null;
-        if ((partsNameList = getPartsList(nextMatch, inOrOut)) != null)
-        {
-          Vector partsList = new Vector();
-          Iterator partsNameIterator = partsNameList.iterator();
-          while (partsNameIterator.hasNext())
-          {
-            partsList.add(parts.get((String) partsNameIterator.next()));
-          }
-          partIteration = partsList.iterator();
-        }
-
-        // Otherwise use the complete list of parts
-        else
-        {
-          partIteration = parts.values().iterator();
-        }
-
-        //check that each part has an element or type attribute    			
-        while (partIteration.hasNext())
-        {
-          Part part = (Part) partIteration.next();
-          if (attrib.equals("useElement"))
-          {
-            attributeName = part.getElementName();
-          }
-          else
-          { // "useType"
-            attributeName = part.getTypeName();
-          }
-
-          if (attributeName == null)
-          {
-            throw new AssertionFailException(
-              "Name of operation that failed: "
-                + op.getName()
-                + "\n"
-                + op.toString()
-                + "\n"
-                + "\nName of message that failed: "
-                + msg.getQName()
-                + "\n"
-                + msg.toString());
-          }
-        }
-      }
-      catch (NullPointerException n)
-      {
-        // no parts found - this qualifies an assertion failure
-        throw new AssertionFailException(n.toString());
-      }
-    }
-    return true; // tests successful
-  }
-
-  /**
-   * Get parts list from a soapbind:body element.
-   */
-  private List getPartsList(BindingMatch bindingMatch, String type)
-  {
-    List partsList = null;
-    Iterator iterator = null;
-
-    BindingOperation bindingOp;
-
-    try
-    {
-      // Get the binding operation
-      bindingOp = bindingMatch.getBindingOperation();
-
-      // Determine if the binding operation contains a soapbind:body with a parts attribute
-      if (type.equals("useInput"))
-      {
-        iterator =
-          bindingOp.getBindingInput().getExtensibilityElements().iterator();
-      }
-      else
-      {
-        iterator =
-          bindingOp.getBindingOutput().getExtensibilityElements().iterator();
-      }
-    }
-    catch (NullPointerException e)
-    {
-      return null;
-      // either no binding operation, binding input/output, or SOAP element
-    }
-
-    // Determine if the binding operation contains a soapbind:body with a parts attribute
-    while ((iterator.hasNext()) && (partsList == null))
-    {
-      try
-      {
-        SOAPBody soapBody = (SOAPBody) iterator.next();
-        partsList = soapBody.getParts();
-      }
-      catch (ClassCastException cce)
-      { // not a SOAPBody extensibility element so ignore
-      }
-    }
-
-    return partsList;
-  }
-
-  /**
-   * Get element location.
-   * @param wsdlDocument WSDL document.
-   * @param wsdlElement WSDL element.
-   * @return element location.
-   */
-  protected ElementLocation getElementLocation(
-    WSDLDocument wsdlDocument,
-    Object wsdlElement)
-  {
-    ElementLocation elementLocation = null;
-    WSDLElementList wsdlElementList;
-
-    if ((wsdlElementList = wsdlDocument.getElementList()) != null)
-    {
-      elementLocation = wsdlElementList.getElementLocation(wsdlElement);
-    }
-
-    return elementLocation;
-  }
-
-  /**
-   * Create failure detail.
-   * @param message a message.
-   * @param entryContext entry context.
-   * @return failure detail.
-   */
-  protected FailureDetail createFailureDetail(
-    String message,
-    EntryContext entryContext)
-  {
-    return createFailureDetail(
-      message,
-      entryContext,
-      entryContext.getEntry().getEntryDetail());
-  }
-
-  /**
-   * Create failure detail.
-   * @param message a message.
-   * @param entryContext entry context.
-   * @param wsdlElement WSDL element.
-   * @return failure detail.
-   */
-  protected FailureDetail createFailureDetail(
-    String message,
-    EntryContext entryContext,
-    Object wsdlElement)
-  {
-    FailureDetail failureDetail = reporter.createFailureDetail();
-    failureDetail.setFailureMessage(message);
-    failureDetail.setElementLocation(
-      getElementLocation(entryContext.getWSDLDocument(), wsdlElement));
-    return failureDetail;
-  }
-
-  /** 
-   * SOAPBody, SOAPFault, SOAPHeader and SOAPHeaderFault class 
-   * interfaces have compatible getUse() and getNamespaceURI() 
-   * methods, but wsdl4j does not declare them at the parent interface. 
-   * Therefore use reflection to access these common methods.
-   * 
-   * @param extElement extensibility element.
-   * @return true if namespace is found in SOAP literal.
-   * @throws NoSuchMethodException if this method cannot be found.
-   * @throws InvocationTargetException if problems occur in an invoked method or constructor
-   * @throws IllegalAccessException if there is am attempt to load a
-   *         class that it does not have access to.
-   */
-  protected boolean namespaceFoundInSoapLiteral(ExtensibilityElement extElement)
-    throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
-  {
-    Class c = extElement.getClass();
-    Method getUseMethod = c.getMethod("getUse", new Class[0]);
-    Method getNamespaceURIMethod = c.getMethod("getNamespaceURI", new Class[0]);
-
-    // (use attribute is mandatory but the null case is checked for since a missing use is not
-    // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).     		
-    if (getUseMethod.invoke(extElement, null) == null
-      || !getUseMethod.invoke(extElement, null).equals(
-        WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
-    {
-      return false;
-    }
-
-    // return true if namespace found
-    boolean namespaceFound =
-      (getNamespaceURIMethod.invoke(extElement, null) != null);
-
-    // return true if namespace found
-    return namespaceFound;
-
-  }
-
-  /**
-   * Verify extensibility element uses literal.
-   * @param extensible - extensibility element
-   * @return boolean
-   * @throws NoSuchMethodException if this method cannot be found.
-   * @throws InvocationTargetException if problems occur in an invoked method or constructor
-   * @throws IllegalAccessException if there is am attempt to load a
-   *         class that it does not have access to.
-   */
-  protected boolean isLiteral(ExtensibilityElement extensible)
-    throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
-  {
-
-    Class c = extensible.getClass();
-    Method getUseMethod = c.getMethod("getUse", new Class[0]);
-
-    // (use attribute is mandatory but the null case is checked for since a missing use is not
-    // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).     		
-    if (getUseMethod.invoke(extensible, null) == null
-      || !getUseMethod.invoke(extensible, null).equals(
-        WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
-    {
-      return false;
-    }
-
-    // return true if shown to have use="literal"
-    return true;
-
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java
deleted file mode 100644
index c9a049d..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/report/impl/ReportWriterImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.report.impl;
-
-import java.io.PrintWriter;
-import java.io.Writer;
-
-import org.eclipse.wst.wsi.internal.core.document.impl.DocumentWriterImpl;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
-
-/**
- * Defines the interface used to write the Conformance XML documents.
- * 
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class ReportWriterImpl
-  extends DocumentWriterImpl
-  implements ReportWriter
-{
-  /**
-   * Report writer.
-   */
-  public ReportWriterImpl()
-  {
-  }
-
-  /**
-   * Write the entire contents of the document using the writer
-   * that was previously set using the setWriter method.
-   */
-  public void write(Report report) throws IllegalStateException
-  {
-    // If writer was not set previously, then throw exception
-    if (writer == null)
-    {
-      throw new IllegalStateException("Report writer must be set before writing report.");
-    }
-
-    // Write report
-    write(report, this.writer);
-  }
-
-  /**
-   * Write the entire contents of the document.
-   */
-  public void write(Report report, Writer writer)
-  {
-    // Create print writer
-    PrintWriter printWriter = new PrintWriter(writer);
-
-    // ADD: Write out complete report
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/BasicRules.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/BasicRules.java
deleted file mode 100644
index f639549..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/BasicRules.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.util;
-
-/**
- * This class validates basic constructs of RFC 2616.
- * 
- * @author Volodin
- */
-public class BasicRules
-{
-
-  public static final char CR = 13;
-  public static final char LF = 10;
-  public static final char SP = 32;
-  public static final char HT = 9;
-  public static final char DQ = 34;
-  public static final String CRLF = "" + CR + LF;
-
-  public static final char[] SEPARATORS =
-    {
-      '(',
-      ')',
-      '<',
-      '>',
-      '@',
-      ',',
-      ';',
-      ':',
-      '\\',
-      '\"',
-      '/',
-      '[',
-      ']',
-      '?',
-      '=',
-      '{',
-      '}',
-      SP,
-      HT };
-
-  /**
-   * Checking rule.
-   * 		OCTET = &lt;any 8-bit sequence of data&gt;
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isOCTET(char ch)
-  {
-    return true;
-  }
-
-  /**
-   * Checking rule:
-   * 		CHAR = &lt;any US-ASCII character (octets 0 - 127)&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isCHAR(char ch)
-  {
-    return (ch >= 0 && ch <= 127) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		UPALPHA = &lt;any US-ASCII uppercase letter "A".."Z"&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isUPALPHA(char ch)
-  {
-    return (ch >= 'A' && ch <= 'Z') ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		LOALPHA = &lt;any US-ASCII lowercase letter "a".."z"&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isLOALPHA(char ch)
-  {
-    return (ch >= 'a' && ch <= 'z') ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		ALPHA = UPALPHA | LOALPHA.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isALPHA(char ch)
-  {
-    return (isLOALPHA(ch) || isUPALPHA(ch)) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		DIGIT = &lt;any US-ASCII digit "0".."9"&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isDIGIT(char ch)
-  {
-    return (ch >= '0' && ch <= '9') ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		CTL = &lt;any US-ASCII control character (octets 0 - 31) and DEL (127)&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isCTL(char ch)
-  {
-    return ((ch >= 0 && ch <= 31) || ch == 127) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		CR = &lt;US-ASCII CR, carriage return (13)&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isCR(char ch)
-  {
-    return (ch == CR) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		LF = &lt;US-ASCII LF, linefeed (10)&gt;.
-   * @param ch character
-   * @return boolean true if ch is conform to rule, false otherwise
-   */
-  public static boolean isLF(char ch)
-  {
-    return (ch == LF) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		SP = &lt;US-ASCII SP, space (32)&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isSP(char ch)
-  {
-    return (ch == SP) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		HT = &lt;US-ASCII HT, horizontal-tab (9)&gt;.
-   * @param ch character
-   * @return boolean true if ch is conform to rule, false otherwise
-   */
-  public static boolean isHT(char ch)
-  {
-    return (ch == HT) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		&lt;"&gt; = &lt;US-ASCII double-quote mark (34)&gt;.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isDoubleQuote(char ch)
-  {
-    return (ch == DQ) ? true : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		CRLF = CR LF.
-   * @param str string.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isCRLF(String str)
-  {
-    return CRLF.equals(str);
-  }
-
-  /**
-   * Checking rule:
-   * 		LWS = [CRLF] 1*( SP | HT ).
-   * @param str string.
-   * @return boolean true if str is conform to rule, false otherwise.
-   */
-  public static boolean isLWS(String str)
-  {
-
-    int index = getLastIndexLWS(str, 0);
-    if (index == -1 || index != str.length())
-      return false;
-
-    return true;
-  }
-
-  /**
-   * Gets last index of the LWS string.
-   * @param str string.
-   * @param startIndex start index.
-   * @return int an index of the first symbol which isn't LWS.
-   */
-  public static int getLastIndexLWS(String str, int startIndex)
-  {
-    int index = str.indexOf(CRLF, startIndex);
-    if (index == -1)
-      index = startIndex;
-    else if (index == startIndex)
-      index += CRLF.length();
-    else
-      return -1;
-
-    if (!isSP(str.charAt(index)) && isHT(str.charAt(index)))
-      return -1;
-
-    index++;
-    for (; index < str.length(); index++)
-      if (!isSP(str.charAt(index)) && isHT(str.charAt(index)))
-        return index;
-    return index;
-  }
-
-  /**
-   * Gets last index of the TEXT string.
-   * TEXT = &lt;any OCTET except CTLs, but including LWS&gt;
-   * @param str string.
-   * @param startIndex start index.
-   * @return int an index of the first symbol which isn't TEXT.
-   */
-  public static int getLastTEXT(String str, int startIndex)
-  {
-    int index;
-    for (index = startIndex; index < str.length(); index++)
-    {
-      if (!isOCTET(str.charAt(index)))
-        return index;
-      if (isCTL(str.charAt(index)))
-      {
-        int lastLWS = getLastIndexLWS(str, index);
-        if (lastLWS == -1)
-          return index;
-        index = lastLWS - 1;
-      }
-    }
-    return index;
-  }
-
-  /**
-   * Checking rule:
-   * 		HEX = "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isHEX(char ch)
-  {
-    return (
-      (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f') || isDIGIT(ch))
-      ? true
-      : false;
-  }
-
-  /**
-   * Checking rule:
-   * 		token = 1*&lt;any CHAR except CTLs or separators&gt;.
-   * @param str string.
-   * @return boolean true if str is conform to rule, false otherwise.
-   */
-  public static boolean isToken(String str)
-  {
-    if (str.length() == 0)
-      return false;
-
-    for (int index = 0; index < str.length(); index++)
-    {
-      char ch = str.charAt(index);
-      if (!isCHAR(ch) || isSEPARATOR(ch) || isCTL(ch))
-        return false;
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Gets last index of the "token" string.
-   * @param str string.
-   * @param startIndex start index.
-   * @return int an index of the first symbol which isn't "token".
-   */
-  public static int getLastToken(String str, int startIndex)
-  {
-    int index = startIndex;
-    for (; index < str.length(); index++)
-    {
-      char ch = str.charAt(index);
-      if (!isCHAR(ch) || isSEPARATOR(ch) || isCTL(ch))
-        return index;
-
-    }
-    return index;
-  }
-
-  /**
-   * Checking rule:
-   * 		separators = "(" | ")" | "<" | ">" | "@"
-     *                 | "," | ";" | ":" | "\" | <">
-     *                 | "/" | "[" | "]" | "?" | "="
-     *                 | "{" | "}" | SP | HT.
-   * @param ch character.
-   * @return boolean true if ch is conform to rule, false otherwise.
-   */
-  public static boolean isSEPARATOR(char ch)
-  {
-    for (int index = 0; index < SEPARATORS.length; index++)
-    {
-      if (ch == SEPARATORS[index])
-        return true;
-    }
-    return false;
-  }
-
-  /**
-   * Gets last index of the "comment" string.
-   * 		comment = "(" *( ctext | quoted-pair | comment ) ")".
-   * @param str string.
-   * @param startIndex start index.
-   * @return int an index of the first symbol which isn't "comment".
-   */
-  public static int getLastComment(String str, int startIndex)
-  {
-
-    int index = startIndex;
-    if (str.length() <= startIndex)
-      return startIndex;
-    if (str.charAt(index) != '(')
-      return startIndex;
-
-    boolean bExit = false;
-    boolean bQuotedPair = false;
-    int idx = startIndex + 1;
-    while (bExit == false)
-    {
-      while (bQuotedPair == false)
-      {
-        idx = getLastCtext(str, idx);
-        if (idx == str.length())
-          return idx;
-        if (!isQuotedPair(str, idx - 1))
-          bQuotedPair = true;
-        else
-          idx++;
-      }
-      if (str.charAt(idx) == '(')
-      {
-        int idxNew = getLastComment(str, idx);
-      }
-      else if (str.charAt(idx) == ')')
-      {
-        return idx + 1;
-      }
-    }
-
-    return idx;
-  }
-
-  /**
-   * Gets last index of the "ctext" string.
-   * 		ctext = &lt;any TEXT excluding "(" and ")"&gt;
-   * @param str string.
-   * @param startIndex start index.
-   * @return int an index of the first symbol which isn't "ctext".
-   */
-  private static int getLastCtext(String str, int startIndex)
-  {
-    int idx = getLastTEXT(str, startIndex);
-    int iBracket = startIndex;
-    for (; iBracket < idx; iBracket++)
-    {
-      if (str.charAt(iBracket) == '(' || str.charAt(iBracket) == ')')
-        break;
-    }
-    if (iBracket < idx)
-      idx = iBracket;
-    return idx;
-  }
-
-  /**
-   * Gets last index of the "qdtext" string.
-   * 		qdtext = &lt;any TEXT except &lt;"&gt;&gt;
-   * @param str string.
-   * @param startIndex start index.
-   * @return int an index of the first symbol which isn't "qdtext".
-   */
-  private static int getLastQdtext(String str, int startIndex)
-  {
-    int idx = getLastTEXT(str, startIndex);
-    int iBracket = startIndex;
-    for (; iBracket < idx; iBracket++)
-    {
-      if (str.charAt(iBracket) == '\"')
-        break;
-    }
-    if (iBracket < idx)
-      idx = iBracket;
-    return idx;
-  }
-
-  /**
-   * Checking rule:
-   * 		quoted-pair = "\" CHAR.
-   * @param str string.
-   * @param startIndex start index.
-   * @return boolean true if str is conform to rule, false otherwise.
-   */
-  public static boolean isQuotedPair(String str, int startIndex)
-  {
-    if (str.length() >= startIndex + 2
-      && str.charAt(startIndex) == '\\'
-      && isCHAR(str.charAt(startIndex + 1)))
-      return true;
-    else
-      return false;
-  }
-
-  /**
-   * Gets last index of the "quoted-string" string.
-   * 		quoted-string  = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
-   * @param str string.
-   * @param startIndex start index.
-   * @return int an index of the first symbol which isn't "quoted-string".
-   */
-  public static int getLastQuotedString(String str, int startIndex)
-  {
-
-    int index = startIndex;
-    int newIndex = 0;
-
-    // if end if the string
-    if (startIndex == str.length())
-      return startIndex;
-    // if the begin is not '"'
-    if (str.charAt(index) != DQ)
-      return startIndex;
-
-    index++;
-    while (true)
-    {
-      index = getLastQdtext(str, index);
-      if (index == str.length())
-        return startIndex;
-      if (isQuotedPair(str, index - 1))
-      {
-        index++;
-        if (index == str.length())
-          return startIndex;
-      }
-      else
-        break;
-    }
-    // if the end is not '"'
-    if (str.charAt(index) != DQ)
-      return startIndex;
-
-    index++;
-    return index;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java
deleted file mode 100644
index ceb487c..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/HttpHeadersValidator.java
+++ /dev/null
@@ -1,1739 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Locale;
-import java.util.StringTokenizer;
-
-import sun.net.www.MessageHeader;
-
-/**
- * This class checks HTTP request headers about RFC 2616.
- *
- * @author Volodin 
- */
-public class HttpHeadersValidator
-{
-
-  private static final String HEADER_ALLOW = "Allow";
-  private static final String HEADER_CONTENT_TYPE = "Content-Type";
-  private static final String HEADER_CONTENT_ENCODING = "Content-Encoding";
-  private static final String HEADER_CONTENT_LANGUAGE = "Content-Language";
-  private static final String HEADER_CONTENT_LENGHT = "Content-Length";
-  private static final String HEADER_CONTENT_LOCATION = "Content-Location";
-  private static final String HEADER_CONTENT_MD5 = "Content-MD5";
-  private static final String HEADER_CONTENT_RANGE = "Content-Range";
-  private static final String HEADER_EXPIRES = "Expires";
-  private static final String HEADER_LAST_MODIFIED = "Last-Modified";
-  private static final String HEADER_CACHE_CONTROL = "Cache-Control";
-  private static final String HEADER_CONNECTION = "Connection";
-  private static final String HEADER_DATE = "Date";
-  private static final String HEADER_PRAGMA = "Pragma";
-  private static final String HEADER_TRAILER = "Trailer";
-  private static final String HEADER_TRANSFER_ENCODING = "Transfer-Encoding";
-
-  private static final String HEADER_UPGRADE = "Upgrade";
-  private static final String HEADER_VIA = "Via";
-  private static final String HEADER_WARNING = "Warning";
-
-  private static final String HEADER_ACCEPT = "Accept";
-  private static final String HEADER_ACCEPT_CHARSET = "Accept-Charset";
-  private static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding";
-  private static final String HEADER_ACCEPT_LANGUAGE = "Accept-Language";
-  private static final String HEADER_AUTHORIZATION = "Authorization";
-  private static final String HEADER_EXPECT = "Expect";
-  private static final String HEADER_FROM = "From";
-  private static final String HEADER_HOST = "Host";
-  private static final String HEADER_IF_MATCH = "If-Match";
-  private static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since";
-  private static final String HEADER_IF_NONE_MATCH = "If-None-Match";
-  private static final String HEADER_IF_RANGE = "If-Range";
-  private static final String HEADER_IF_UNMODIFIED_SINCE =
-    "If-Unmodified-Since";
-  private static final String HEADER_MAX_FORWARDS = "Max-Forwards";
-  private static final String HEADER_PROXY_AUTHORIZATION =
-    "Proxy-Authorization";
-  private static final String HEADER_RANGE = "Range";
-  private static final String HEADER_REFERER = "Referer";
-  private static final String HEADER_TE = "TE";
-  private static final String HEADER_USER_AGENT = "User-Agent";
-
-  /**
-   * This class checks e-mail string about RFC 822.
-   */
-  public static class MailboxValidator
-  {
-    private static final char[] SPECIAL =
-      { '(', ')', '<', '>', '@', ',', ';', ':', '\\', '\"', '.', '[', ']' };
-
-    /**
-    	* Validates e-mail string.
-    * @param mailbox e-mail string
-    * @return boolean  true if e-mail string is conform to RFC 822, false otherwise.
-    */
-
-    public static boolean validateMailbox(String mailbox)
-    {
-
-      if (!isFullAddr(mailbox) && !isShortAddr(mailbox))
-        return false;
-
-      return true;
-    }
-
-    /**
-     * Method isSimpleAddr.
-     * @param mailbox
-     * @return boolean
-     */
-    private static boolean isShortAddr(String mailbox)
-    {
-      int indexAt = mailbox.indexOf('@');
-      if (indexAt == -1)
-        return false;
-
-      if (!isLocalPart(mailbox.substring(0, indexAt))
-        || !isDomain(mailbox.substring(indexAt + 1)))
-        return false;
-
-      return true;
-    }
-
-    /**
-     * Method isDomaim.
-     * @param string
-     * return boolean
-     */
-    private static boolean isDomain(String string)
-    {
-      if (string.trim().length() == 0)
-        return false;
-      StringTokenizer st = new StringTokenizer(string, ".");
-      while (st.hasMoreTokens())
-      {
-        String subDomain = st.nextToken();
-        if (!isAtom(subDomain) && !isDomainLiteral(subDomain))
-          return false;
-
-      }
-      return true;
-    }
-
-    /**
-     * Method isDomainLiteral.
-     * @param subDomain
-     * @return boolean
-     */
-    private static boolean isDomainLiteral(String subDomain)
-    {
-      if (getLastDomainLiteral(subDomain, 0) == subDomain.length())
-      {
-        return true;
-      }
-      else
-      {
-        return false;
-      }
-    }
-
-    private static int getLastDomainLiteral(String str, int startIndex)
-    {
-
-      int index = startIndex;
-      //int newIndex = 0;
-
-      // if end if the string
-      if (startIndex == str.length())
-        return startIndex;
-      // if the begin is not '['
-      if (str.charAt(index) != '[')
-        return startIndex;
-
-      index++;
-      while (true)
-      {
-        index = getLastDtext(str, index);
-        if (index == str.length())
-          return startIndex;
-        if (BasicRules.isQuotedPair(str, index - 1))
-        {
-          index++;
-          if (index == str.length())
-            return startIndex;
-        }
-        else
-          break;
-      }
-      // if the end is not ']'
-      if (str.charAt(index) != ']')
-        return startIndex;
-
-      index++;
-      return index;
-    }
-
-    private static int getLastDtext(String str, int startIndex)
-    {
-      if (str.length() == startIndex)
-        return startIndex;
-      int i = 0;
-      for (; i < str.length(); i++)
-      {
-        char ch = str.charAt(i);
-        i = BasicRules.getLastIndexLWS(str, i);
-        if (!BasicRules.isCHAR(ch)
-          || str.charAt(i) == '['
-          || str.charAt(i) == ']'
-          || str.charAt(i) == '\\'
-          || str.charAt(i) == BasicRules.CR)
-        {
-          return i + 1;
-        }
-      }
-      return i + 1;
-    }
-
-    /**
-     * Method isLocalPart.
-     * @param string
-     * @return boolean
-     */
-    private static boolean isLocalPart(String string)
-    {
-      if (string.trim().length() == 0)
-        return false;
-      StringTokenizer st = new StringTokenizer(string, ".");
-      while (st.hasMoreTokens())
-      {
-        if (!isWord(st.nextToken()))
-          return false;
-      }
-      return true;
-    }
-
-    /**
-     * Method isWord.
-     * @param string
-     * @return boolean
-     */
-    private static boolean isWord(String string)
-    {
-      if (!isAtom(string) && !isQuotedString(string))
-        return false;
-      return true;
-    }
-
-    /**
-     * Method isAtom.
-     * @param string
-     * @return boolean
-     */
-    private static boolean isAtom(String string)
-    {
-      if (string.length() == 0)
-        return false;
-      for (int i = 0; i < string.length(); i++)
-      {
-        if (!BasicRules.isCHAR(string.charAt(i))
-          || isSpecial(string.charAt(i))
-          || string.charAt(i) == ' '
-          || BasicRules.isCTL(string.charAt(i)))
-        {
-          return false;
-        }
-      }
-      return true;
-    }
-
-    /**
-     * Method isSpecial.
-     * @param c
-     * @return boolean
-     */
-    private static boolean isSpecial(char ch)
-    {
-      for (int index = 0; index < SPECIAL.length; index++)
-      {
-        if (ch == SPECIAL[index])
-          return true;
-      }
-      return false;
-    }
-
-    /**
-     * Method isFullAddr.
-     * @param mailbox
-     * @return boolean
-     */
-    private static boolean isFullAddr(String mailbox)
-    {
-      if (mailbox.length() == 0)
-        return false;
-      int idxLT = mailbox.indexOf('<');
-      if (idxLT == -1)
-        return false;
-
-      //is phrase
-      String phrase = mailbox.substring(0, idxLT);
-      StringTokenizer st = new StringTokenizer(phrase, " ");
-      if (st.countTokens() == 0)
-        return false;
-      while (st.hasMoreTokens())
-      {
-        if (!isWord(st.nextToken()))
-          return false;
-      }
-      if (phrase.charAt(phrase.length() - 1) != BasicRules.SP)
-      {
-        return false;
-      }
-
-      //is route-addr
-      String routeAddr = mailbox.substring(idxLT + 1);
-      // is route
-      int idxTwoSpot = routeAddr.indexOf(':');
-      if (idxTwoSpot != -1)
-      {
-        StringTokenizer stRouteAddr =
-          new StringTokenizer(routeAddr.substring(0, idxTwoSpot), ",");
-        if (!stRouteAddr.hasMoreTokens())
-          return false;
-        while (stRouteAddr.hasMoreTokens())
-        {
-          if (!isDomain(stRouteAddr.nextToken()))
-            return false;
-        }
-      }
-
-      //is addr spec
-      int idxGT = routeAddr.indexOf('>');
-      if (idxGT == -1 || idxGT != (routeAddr.length() - 1))
-        return false;
-
-      if (!isShortAddr(routeAddr.substring(idxTwoSpot + 1, idxGT)))
-        return false;
-
-      return true;
-    }
-
-  }
-
-  /**
-   * Validates HTTP request headers.
-   * @param headers HTTP request headers
-   * @return boolean  true if all HTTP headers string is conform to RFC 2616, false otherwise.
-   */
-
-  public static boolean validateHttpRequestHeaders(String headers)
-  {
-
-    MessageHeader mh = new MessageHeader();
-    try
-    {
-      mh.parseHeader(new ByteArrayInputStream(headers.getBytes()));
-    }
-    catch (IOException e)
-    {
-      return false;
-    }
-
-    String header = null;
-    String value = null;
-
-    header = mh.getKey(0);
-    if (header != null)
-      return false;
-
-    value = mh.getValue(0);
-    if (value == null)
-      return false;
-
-    //method
-    StringTokenizer st = new StringTokenizer(value, " ");
-    if (!st.hasMoreElements())
-      return false;
-    String str = st.nextToken();
-    if (!isToken(str))
-      return false;
-
-    if (!st.hasMoreElements())
-      return false;
-    str = st.nextToken();
-    if (!isURI(str) && !str.equals("*"))
-      return false;
-
-    if (!st.hasMoreElements())
-      return false;
-    str = st.nextToken();
-    if (!isHTTPVersion(str))
-      return false;
-
-    int i = 1;
-    try
-    {
-      while ((header = mh.getKey(i)) != null)
-      {
-        value = mh.getValue(i);
-        i++;
-
-        // is message-header token
-        if (!isToken(header))
-          return false;
-
-        //---- entity-headers
-
-        if (header.equals(HEADER_ALLOW))
-        {
-          if (!isValidAllow(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_CONTENT_TYPE))
-        {
-          if (!isMediaType(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_CONTENT_ENCODING))
-        {
-          if (!isToken(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_CONTENT_LANGUAGE))
-        {
-          if (!isLanguageTag(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_CONTENT_LENGHT))
-        {
-          if (!isDidgit(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_CONTENT_LOCATION))
-        {
-          if (!isURI(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_CONTENT_RANGE))
-        {
-          if (!isValidContentRange(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_EXPIRES)
-          || header.equals(HEADER_LAST_MODIFIED))
-        {
-          if (!isHTTPDate(value))
-            return false;
-          else
-            continue;
-        }
-
-        //---- general-headers
-        if (header.equals(HEADER_CACHE_CONTROL))
-        {
-          if (!isValidCacheControl(value))
-            return false;
-
-          continue;
-          //return true;
-        }
-
-        if (header.equals(HEADER_CONNECTION))
-        {
-          if (!isToken(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_DATE))
-        {
-          if (!isHTTPDate(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_PRAGMA))
-        {
-          if (!isPragmaDerective(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_TRAILER))
-        {
-          if (!isToken(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_TRANSFER_ENCODING))
-        {
-          if (!isTransferCoding(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_UPGRADE))
-        {
-          if (!isValidUpgrade(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_VIA))
-        {
-          if (!isValidVia(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_WARNING))
-        {
-          if (!isValidWarning(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_ACCEPT))
-        {
-          if (!isValidAccept(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_ACCEPT_CHARSET))
-        {
-          if (!isValidAcceptCharSet(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_ACCEPT_ENCODING))
-        {
-          if (!isValidAcceptEncoding(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_ACCEPT_LANGUAGE))
-        {
-          if (!isValidAcceptLanguage(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_AUTHORIZATION)
-          || header.equals(HEADER_PROXY_AUTHORIZATION))
-        {
-          if (!isCredentials(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_EXPECT))
-        {
-          if (!isExpectation(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_FROM))
-        {
-          if (!MailboxValidator.validateMailbox(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_IF_MATCH)
-          || header.equals(HEADER_IF_NONE_MATCH))
-        {
-          if (!isValidIfMatch(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_IF_RANGE))
-        {
-          if (!isEntityTag(value) && !isHTTPDate(value))
-            return false;
-          else
-            continue;
-        }
-
-        //---			
-        if (header.equals(HEADER_IF_MODIFIED_SINCE))
-        {
-          if (!isHTTPDate(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_IF_UNMODIFIED_SINCE))
-        {
-          if (!isHTTPDate(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_MAX_FORWARDS))
-        {
-          if (!isDidgit(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_USER_AGENT))
-        {
-          if (!isValidUserAgent(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_TE))
-        {
-          if (!isValidTE(value))
-            return false;
-          else
-            continue;
-        }
-
-        if (header.equals(HEADER_RANGE))
-        {
-          if (!isRange(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_HOST))
-        {
-          if (!isHost(value))
-            return false;
-          else
-            continue;
-        }
-        if (header.equals(HEADER_REFERER))
-        {
-          if (!isURI(value))
-            return false;
-          else
-            continue;
-        }
-
-      }
-    }
-    catch (Exception e)
-    {
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isValidIfMatch.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidIfMatch(String value)
-  {
-    if (value.trim().length() == 0)
-      return true;
-    if ("*".equals(value.trim()))
-      return true;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      if (!isEntityTag(str))
-        return false;
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isValidUpgrade.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidUpgrade(String value)
-  {
-    if (value.trim().length() == 0)
-      return false;
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      if (!isProduct(str))
-        return false;
-
-    }
-    return true;
-  }
-
-  /**
-   * Method isValidCacheControl.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidCacheControl(String value)
-  {
-
-    if (value.trim().length() == 0)
-      return false;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      int index = str.indexOf('=');
-      if (index == -1)
-      {
-
-      }
-      else
-      {
-        if (!isToken(str.substring(0, index)))
-          return false;
-        String strAfterEq = str.substring(index + 1);
-        if (!isToken(strAfterEq) && !isQuotedString(strAfterEq))
-        {
-          return false;
-        }
-      }
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isHTTPVersion.
-   * @param str
-   * @return boolean
-   */
-  private static boolean isHTTPVersion(String str)
-  {
-    if (!str.startsWith("HTTP/"))
-      return false;
-    int idx = "HTTP/".length();
-
-    int idx2 = str.indexOf(".");
-
-    // 1*DIGIT
-    String s = str.substring(idx, idx2);
-    if (!isDidgit(s))
-      return false;
-
-    s = str.substring(idx2 + 1);
-    if (!isDidgit(s))
-      return false;
-
-    return true;
-  }
-
-  /**
-   * Method isValidWarning.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidWarning(String value)
-  {
-    if (value.length() == 0)
-      return false;
-    value = value.trim();
-    StringTokenizer st = new StringTokenizer(value, " ");
-    String str = st.nextToken();
-
-    if (str.length() > 3 || !isDidgit(str))
-      return false;
-
-    if (!st.hasMoreTokens())
-      return false;
-    str = st.nextToken();
-    if (!isHost(str) && !isToken(str))
-      return false;
-
-    //if(!st.hasMoreTokens()) return false;
-    str = st.nextToken("").trim();
-    //???
-
-    int lastQuotedString = BasicRules.getLastQuotedString(str, 0);
-    if (lastQuotedString == str.length())
-    {
-      return true;
-    }
-    else
-    {
-      String data = str.substring(lastQuotedString);
-      if (data.charAt(data.length()) != '\"')
-        return false;
-      if (str.charAt(0) != '\"')
-        return false;
-      if (!isHTTPDate(str.substring(1, data.length() - 1)))
-        return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isValidVia.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidVia(String value)
-  {
-    if (value.trim().length() == 0)
-      return false;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-
-      String str = st.nextToken().trim();
-
-      StringTokenizer st2 = new StringTokenizer(str, " ");
-
-      // protocol/version
-      str = st2.nextToken();
-      int idx = str.indexOf("/");
-      if (idx == -1)
-      {
-        if (!isToken(str))
-          return false;
-      }
-      else
-      {
-        if (!isToken(str.substring(0, idx))
-          || !isToken(str.substring(idx + 1)))
-          return false;
-      }
-
-      //host
-      str = st2.nextToken();
-      if (!isHost(str) && !isToken(str))
-        return false;
-
-      //comment
-      if (st2.hasMoreTokens())
-      {
-        str = st2.nextToken("");
-        if (!isComment(str.trim()))
-          return false;
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Method isHost.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isHost(String value)
-  {
-
-    try
-    {
-      URL url = new URL("http://" + value);
-    }
-    catch (MalformedURLException e)
-    {
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isValidAllow.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidAllow(String value)
-  {
-    if (value.trim().length() == 0)
-      return true;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      if (!isToken(str))
-        return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isValidContentRange.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidContentRange(String value)
-  {
-    if (value.length() == 0)
-      return false;
-    if (!value.startsWith("bytes"))
-      return false;
-    String str = value.substring("bytes".length()).trim();
-
-    int idx = str.indexOf("/");
-    if (idx == -1)
-      return false;
-
-    String byteRange = str.substring(0, idx);
-    int idx2 = byteRange.indexOf("-");
-    if (idx2 == -1)
-    {
-      if (!byteRange.equals("*"))
-        return false;
-    }
-    else
-    {
-      if (!isDidgit(byteRange.substring(0, idx2))
-        || !isDidgit(byteRange.substring(idx2 + 1)))
-        return false;
-    }
-
-    if (!isDidgit(str.substring(idx + 1))
-      && !str.substring(idx + 1).equals("*"))
-      return false;
-
-    return true;
-  }
-
-  /**
-   * Method isRange.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isRange(String value)
-  {
-    if (value.length() == 0)
-      return false;
-    if (!value.startsWith("bytes="))
-      return false;
-    String strByteRange = value.substring("bytes=".length());
-
-    StringTokenizer st = new StringTokenizer(strByteRange, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken();
-      int idx = str.indexOf("-");
-      if (idx == -1)
-        return false;
-      if (idx == 0)
-      {
-        if (!isDidgit(str.substring(1)))
-          return false;
-      }
-      else
-      {
-        if (idx == (str.length() - 1))
-        {
-          if (!isDidgit(str.substring(0, str.length() - 1)))
-            return false;
-        }
-        else
-        {
-          if (!isDidgit(str.substring(0, idx))
-            || !isDidgit(str.substring(idx + 1)))
-            return false;
-        }
-
-      }
-
-    }
-    return true;
-  }
-
-  /**
-   * Method isValidTE.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidTE(String value)
-  {
-    if (value.trim().length() == 0)
-      return true;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      if (st.equals("trailers"))
-        return true;
-
-      int idx = str.indexOf(";");
-      if (idx == -1)
-      {
-        if (!isLanguageRange(str))
-          return false;
-      }
-      else
-      {
-        String _1 = str.substring(0, idx).trim();
-        String _2 = str.substring(idx + 1).trim();
-        if (!isLanguageRange(_1))
-          return false;
-        if (!isQAndQValue(_2))
-          return false;
-      }
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isValidUserAgent.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidUserAgent(String value)
-  {
-    if (value.length() == 0)
-      return false;
-    StringTokenizer st = new StringTokenizer(value, " ");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken();
-      if (!isProduct(str) && !isComment(str))
-        return false;
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isComment.
-   * @param str
-   * @return boolean
-   */
-  private static boolean isComment(String str)
-  {
-    if (BasicRules.getLastComment(str, 0) != str.length())
-      return false;
-    return true;
-  }
-
-  /**
-   * Method isValidAcceptLanguage.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidAcceptLanguage(String value)
-  {
-    if (value.trim().length() == 0)
-      return false;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      int idx = str.indexOf(";");
-      if (idx == -1)
-      {
-        if (!isToken(str))
-          return false;
-      }
-      else
-      {
-        String _1 = str.substring(0, idx).trim();
-        String _2 = str.substring(idx + 1).trim();
-        if (!isToken(_1))
-          return false;
-        if (!isAcceptParams(_2))
-          return false;
-      }
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isLanguageRange.
-   * @param str
-   * @return boolean
-   */
-  private static boolean isLanguageRange(String str)
-  {
-    if (str.trim().equals("*"))
-      return true;
-    StringTokenizer st = new StringTokenizer(str, "-");
-    while (st.hasMoreElements())
-    {
-      if (!is8ALPHA(st.nextToken()))
-        return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isValidAcceptEncoding.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidAcceptEncoding(String value)
-  {
-    if (value.trim().length() == 0)
-      return false;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      int idx = str.indexOf(";");
-      if (idx == -1)
-      {
-        if (!isToken(str) && !str.equals("*"))
-          return false;
-      }
-      else
-      {
-        String _1 = str.substring(0, idx).trim();
-        String _2 = str.substring(idx + 1).trim();
-
-        if ((!isToken(_1) && !_1.equals("*")))
-          return false;
-        if (!isQAndQValue(_2))
-          return false;
-      }
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isValidAcceptCharSet.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidAcceptCharSet(String value)
-  {
-    if (value.trim().length() == 0)
-      return false;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      int idx = str.indexOf(";");
-      if (idx == -1)
-      {
-        if (!isToken(str) && !str.equals("*"))
-          return false;
-      }
-      else
-      {
-        String _1 = str.substring(0, idx).trim();
-        String _2 = str.substring(idx + 1).trim();
-
-        if ((!isToken(_1) && !_1.equals("*")))
-          return false;
-        if (!isQAndQValue(_2))
-          return false;
-      }
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isValidAccept.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isValidAccept(String value)
-  {
-    if (value.trim().length() == 0)
-      return true;
-
-    StringTokenizer st = new StringTokenizer(value, ",");
-    while (st.hasMoreElements())
-    {
-      String str = st.nextToken().trim();
-      int idx = str.indexOf(";");
-      if (idx == -1)
-      {
-        if (!isMediaRange(str))
-          return false;
-      }
-      else
-      {
-        if (!isMediaRange(str.substring(0, idx).trim())
-          || !isAcceptParams(str.substring(idx + 1).trim()))
-          return false;
-
-      }
-
-    }
-    return true;
-  }
-
-  /**
-   * Method isAcceptParams.
-   * @param string
-   * @return boolean
-   */
-  private static boolean isAcceptParams(String string)
-  {
-    if (string.trim().length() == 0)
-      return false;
-
-    StringTokenizer st = new StringTokenizer(string, ";");
-    String str = st.nextToken();
-
-    int idx = str.indexOf("=");
-    if (idx == -1)
-    {
-      if (str.equals("q") || !isToken(str))
-        return false;
-    }
-    else
-    {
-      if (str.substring(0, idx).equals("q"))
-      {
-        if (!isQValue(str.substring(idx + 1)))
-          return false;
-      }
-      else
-      {
-        if (!isParameterWithoutValue(str))
-          return false;
-      }
-    }
-
-    while (st.hasMoreElements())
-    {
-      str = st.nextToken();
-      if (!isParameterWithoutValue(str))
-        return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isQAndQValue.
-   * @param str
-   * @return boolean
-   */
-  private static boolean isQAndQValue(String str)
-  {
-    str = str.trim();
-    if (!str.trim().startsWith("q="))
-      return false;
-    if (!isQValue(str.substring("q=".length())))
-      return false;
-    return true;
-  }
-
-  /**
-   * Method isQValue.
-   * @param string
-   * @return boolean
-   */
-  private static boolean isQValue(String string)
-  {
-    if (string.trim().length() == 0)
-      return false;
-
-    int idx = string.indexOf(".");
-    if (idx == -1)
-    {
-      if (!"0".equals(string) && !"1".equals(string))
-        return false;
-    }
-    else
-    {
-      String strDig = string.substring(idx + 1);
-      if (strDig.length() > 3)
-        return false;
-
-      if (string.substring(0, idx).equals("0"))
-      {
-        if (!isDidgit(strDig))
-          return false;
-
-      }
-      else
-      {
-        if (!string.substring(0, idx).equals("1"))
-          return false;
-
-        for (int i = 0; i < strDig.length(); i++)
-        {
-          if (strDig.charAt(i) != '0')
-            return false;
-        }
-      }
-
-    }
-    return true;
-  }
-
-  /**
-   * Method isMediaRange.
-   * @param str
-   * @return boolean
-   */
-  private static boolean isMediaRange(String str)
-  {
-    if (str.trim().length() == 0)
-      return false;
-
-    int idx = str.indexOf("/");
-    if (idx == -1)
-      return false;
-
-    if (!isToken(str.substring(0, idx)) && !str.substring(0, idx).equals("*"))
-      return false;
-    if (!isToken(str.substring(idx + 1))
-      && !str.substring(idx + 1).equals("*"))
-      return false;
-
-    return true;
-  }
-
-  /**
-   * Method isEntityTag.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isEntityTag(String value)
-  {
-
-    int idx = 0;
-    if (value.startsWith("W/"))
-      idx = 2;
-    if (!isQuotedString(value.substring(idx)))
-      return false;
-    return true;
-  }
-
-  /**
-   * Method isExpectation.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isExpectation(String value)
-  {
-    if (value.equals("100-continue"))
-      return true;
-
-    StringTokenizer st = new StringTokenizer(value, ";");
-    while (st.hasMoreElements())
-    {
-      if (!isParameterWithoutValue(st.nextToken()))
-        return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isCredentials.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isCredentials(String value)
-  {
-    StringTokenizer st = new StringTokenizer(value, " ");
-    if (!isToken(st.nextToken()))
-      return false;
-
-    while (st.hasMoreElements())
-    {
-      String param = st.nextToken(",");
-      if (!isParameter(param))
-        return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isProduct.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isProduct(String value)
-  {
-    int idx = value.indexOf("/");
-    if (idx == -1)
-    {
-      if (!isToken(value))
-        return false;
-    }
-    else
-    {
-      if (!isToken(value.substring(0, idx))
-        || !isToken(value.substring(idx + 1)))
-        return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isTransferCoding.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isTransferCoding(String value)
-  {
-    if (value.equals("chunked"))
-    {
-      return true;
-    }
-    else
-    {
-      StringTokenizer st = new StringTokenizer(value, ";");
-      if (!isToken(st.nextToken()))
-        return false;
-
-      while (st.hasMoreElements())
-      {
-        if (!isParameter(st.nextToken()))
-          return false;
-      }
-
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isParameter.
-   * @param string
-   * @return boolean
-   */
-  private static boolean isParameter(String string)
-  {
-
-    // check parameter	
-    int idx = string.indexOf("=");
-    if (!isToken(string.substring(0, idx)))
-      return false;
-
-    String parValue = string.substring(idx + 1);
-    if (!isToken(parValue) && !isQuotedString(parValue))
-      return false;
-
-    return true;
-  }
-
-  /**
-   * Method isParameterWithoutValue.
-   * @param string
-   * @return boolean
-   */
-  private static boolean isParameterWithoutValue(String string)
-  {
-
-    // check parameter	
-    int idx = string.indexOf("=");
-    if (idx != -1)
-    {
-      if (!isToken(string.substring(0, idx)))
-        return false;
-      String parValue = string.substring(idx + 1);
-      if (!isToken(parValue) && !isQuotedString(parValue))
-        return false;
-
-    }
-    else
-    {
-      if (!isToken(string))
-        return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isPragmaDerective.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isPragmaDerective(String value)
-  {
-    if (value.equals("no-cache"))
-      return true;
-    else
-    {
-      int idx = value.indexOf("=");
-      if (idx == -1)
-      {
-        if (isToken(value))
-          return true;
-      }
-      else
-      {
-        String str = value.substring(idx + 1);
-        if (isToken(value.substring(0, idx))
-          && (isToken(str) || isQuotedString(str)))
-          return true;
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Method isHTTPDate.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isHTTPDate(String value)
-  {
-
-    String rfc1123_date = "EEE, dd MMM yyyy hh:mm:ss 'GMT'";
-    String rfc850_date = "EEEE, dd-MMM-yy hh:mm:ss 'GMT'";
-    String asctime_date = "EEE MMM d hh:mm:ss yyyy";
-
-    try
-    {
-      SimpleDateFormat sdf = new SimpleDateFormat(rfc1123_date, Locale.US);
-      if (sdf.parse(value) != null)
-        return true;
-    }
-    catch (ParseException e)
-    {
-    }
-
-    try
-    {
-      SimpleDateFormat sdf = new SimpleDateFormat(rfc850_date, Locale.US);
-      if (sdf.parse(value) != null)
-        return true;
-    }
-    catch (ParseException e)
-    {
-    }
-
-    try
-    {
-      SimpleDateFormat sdf = new SimpleDateFormat(asctime_date, Locale.US);
-      if (sdf.parse(value) != null)
-        return true;
-    }
-    catch (ParseException e)
-    {
-    }
-
-    return false;
-
-  }
-
-  /**
-   * Method isURI.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isURI(String value)
-  {
-    URL url;
-
-    try
-    {
-      url = new URL(value);
-    }
-    catch (MalformedURLException e)
-    {
-      try
-      {
-        url = new URL("http://localhost" + value);
-      }
-      catch (MalformedURLException e2)
-      {
-        return false;
-      }
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isLanguageTag.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isLanguageTag(String value)
-  {
-    int idx = value.indexOf("-");
-    if (idx == -1)
-    {
-      return is8ALPHA(value);
-    }
-    else
-    {
-      if (!is8ALPHA(value.substring(0, idx))
-        || !is8ALPHA(value.substring(idx + 1)))
-        return false;
-      else
-        return true;
-
-    }
-  }
-
-  /**
-   * Method is8ALPHA.
-   * @param string
-   * @return boolean
-   */
-  private static boolean is8ALPHA(String string)
-  {
-    if (string.length() > 8 || !isALPHA(string))
-      return false;
-    else
-      return true;
-  }
-
-  /**
-   * Method isALPHA.
-   * @param string
-   * @return boolean
-   */
-  private static boolean isALPHA(String string)
-  {
-    for (int i = 0; i < string.length(); i++)
-    {
-      if (!BasicRules.isCHAR(string.charAt(i)))
-        return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isDidgit.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isDidgit(String value)
-  {
-    if (value.length() == 0)
-      return false;
-    char[] chs = value.toCharArray();
-    for (int i = 0; i < chs.length; i++)
-    {
-      if (chs[i] < '0' || chs[i] > '9')
-        return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Method isMediaType.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isMediaType(String value)
-  {
-    StringTokenizer st = new StringTokenizer(value, ";");
-    String mediaType = st.nextToken();
-
-    int idx = mediaType.indexOf("/");
-    if (!isToken(mediaType.substring(0, idx))
-      || !isToken(mediaType.substring(idx + 1)))
-    {
-      return false;
-    }
-
-    while (st.hasMoreElements())
-    {
-      if (!isParameter(st.nextToken(";").trim()))
-        return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isQuotedString.
-   * @param parValue
-   * @return boolean
-   */
-  private static boolean isQuotedString(String parValue)
-  {
-    if (BasicRules.getLastQuotedString(parValue, 0) != parValue.length())
-    {
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isText.
-   * @param text
-   * @return boolean
-   */
-  private static boolean isText(String text)
-  {
-    char[] chs = text.toCharArray();
-    for (int i = 0; i < chs.length; i++)
-    {
-      if (chs[i] == '\"')
-        return false;
-    }
-    return true;
-  }
-
-  /**
-   * Method isToken.
-   * @param value
-   * @return boolean
-   */
-  private static boolean isToken(String value)
-  {
-    return BasicRules.isToken(value);
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java
deleted file mode 100644
index f6714e7..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/SetCookie2Validator.java
+++ /dev/null
@@ -1,649 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.util;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Vector;
-
-/**
- * This class checks the cookies conform to RFC2965.
- * 
- * @author Baltak
- */
-public class SetCookie2Validator
-{
-
-  private Vector commentVect = new Vector();
-  private Vector commentURLVect = new Vector();
-  private Vector domainVect = new Vector();
-  private Vector max_AgeVect = new Vector();
-  private Vector pathVect = new Vector();
-  private Vector portVect = new Vector();
-  private Vector versionVect = new Vector();
-
-  private boolean comment = false;
-  private boolean commentURL = false;
-  private boolean domain = false;
-  private boolean max_age = false;
-  private boolean path = false;
-  private boolean port = false;
-  private boolean version = false;
-
-  /**
-   * Method resetFlags.
-   */
-  private void resetFlags()
-  {
-    comment = false;
-    commentURL = false;
-    domain = false;
-    max_age = false;
-    path = false;
-    port = false;
-    version = false;
-  }
-
-  /**
-   * Check if the string satisfy the "Set-Cookie2" header value.
-   * @param str String 
-   * @return boolean
-   */
-  public boolean isSetCookie2(String str)
-  {
-
-    try
-    {
-      int index = 0;
-      int newIndex = 0;
-      while (true)
-      {
-        newIndex = getLastCookie(str, index);
-        if (index == newIndex)
-          return false;
-        // skip spaces
-        index = newIndex;
-        index = skipSpaces(str, index);
-        if (index == str.length())
-        {
-          return true;
-        }
-        else
-        {
-          if (str.charAt(index) != ',')
-            return false;
-          index++;
-          // skip spaces
-          index = skipSpaces(str, index);
-        }
-
-      }
-    }
-    catch (Throwable th)
-    {
-      return false;
-    }
-
-  }
-
-  /**
-   * Method getLastCookie.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastCookie(String str, int startIndex)
-  {
-
-    resetFlags();
-
-    int index = startIndex;
-    // find token
-    int newIndex = BasicRules.getLastToken(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    index = newIndex;
-    if (index == str.length())
-      return startIndex;
-
-    // if not '=' - error
-    if (str.charAt(index) != '=')
-      return startIndex;
-
-    index++;
-    if (index == str.length())
-      return startIndex;
-
-    // get value
-    newIndex = getLastValue(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    while (true)
-    {
-      index = newIndex;
-      if (index == str.length())
-        return index;
-
-      if (str.charAt(index) != ';')
-        return index;
-      index++;
-      // skip spaces
-      index = skipSpaces(str, index);
-
-      if (index == str.length())
-        return startIndex;
-      newIndex = getLastSetCookieAv(str, index);
-      if (index == newIndex)
-        return startIndex;
-    }
-  }
-
-  /**
-   * Method getLastValue.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastValue(String str, int startIndex)
-  {
-
-    int index = BasicRules.getLastToken(str, startIndex);
-    if (index != startIndex)
-      return index;
-    index = BasicRules.getLastQuotedString(str, startIndex);
-    if (index != startIndex)
-      return index;
-
-    return startIndex;
-  }
-
-  /**
-   * Method getLastSetCookieAv.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastSetCookieAv(String str, int startIndex)
-  {
-
-    int index = startIndex;
-    int newIndex = 0;
-
-    String token = str.substring(index, BasicRules.getLastToken(str, index));
-
-    if (str.startsWith("Comment=", index))
-    {
-      index += "Comment=".length();
-      newIndex = getLastValue(str, index);
-      if (index == newIndex)
-        return startIndex;
-      // debug ->
-      String qqq = getValue(str, index, newIndex);
-      commentVect.add(qqq);
-      // debug <-
-      comment = true;
-      return newIndex;
-    }
-    else if (str.startsWith("CommentURL=", index))
-    {
-      index += "CommentURL=".length();
-
-      if (str.charAt(index) != '\"')
-        return startIndex;
-
-      newIndex = str.indexOf('\"', index + 1);
-      if (newIndex == -1)
-        return startIndex;
-      try
-      {
-        URL url = new URL(str.substring(index + 1, newIndex));
-      }
-      catch (MalformedURLException mue)
-      {
-        return startIndex;
-      }
-      // debug ->
-      String qqq = getValue(str, index + 1, newIndex);
-      commentURLVect.add(qqq);
-      // debug <-
-      newIndex++;
-      commentURL = true;
-      return newIndex;
-    }
-    else if (str.startsWith("Discard", index))
-    {
-      return startIndex + "Discard".length();
-    }
-    else if (str.startsWith("Domain=", index))
-    {
-      index += "Domain=".length();
-
-      newIndex = getLastValue(str, index);
-      if (index == newIndex)
-        return startIndex;
-
-      // debug ->
-      String qqq = getValue(str, index, newIndex);
-      domainVect.add(qqq);
-      // debug <-
-      domain = true;
-      return newIndex;
-    }
-    else if (str.startsWith("Max-Age=", index))
-    {
-      index += "Max-Age=".length();
-
-      newIndex = getLastValue(str, index);
-      if (index == newIndex)
-        return startIndex;
-
-      String qqq = getValue(str, index, newIndex);
-      try
-      {
-        Integer.parseInt(qqq);
-      }
-      catch (NumberFormatException nfe)
-      {
-        return startIndex;
-      }
-      // debug ->
-      max_AgeVect.add(qqq);
-      // debug <-
-      max_age = true;
-      return newIndex;
-    }
-    else if (str.startsWith("Path=", index))
-    {
-      index += "Path=".length();
-
-      newIndex = getLastValue(str, index);
-      if (index == newIndex)
-        return startIndex;
-
-      String qqq = getValue(str, index, newIndex);
-      if (path == false)
-        pathVect.add(qqq);
-      path = true;
-      return newIndex;
-    }
-    else if (str.startsWith("Port", index))
-    {
-      index += "Port".length();
-      port = true;
-      if (str.charAt(index) != '=')
-        return index;
-
-      index++;
-      if (str.charAt(index) != '\"')
-        return startIndex;
-
-      index++;
-      newIndex = getLastPortList(str, index);
-      if (index == newIndex)
-        return startIndex;
-
-      // debug ->
-      String qqq = getValue(str, index, newIndex);
-      portVect.add(qqq);
-      // debug <-
-
-      index = newIndex;
-      if (str.charAt(index) != '\"')
-        return startIndex;
-      index++;
-      return index;
-
-    }
-    else if (str.startsWith("Secure", index))
-    {
-      return startIndex + "Secure".length();
-    }
-    else if (str.startsWith("Version=", index))
-    {
-      index += "Version=".length();
-
-      newIndex = getLastDIGIT(str, index);
-      if (index == newIndex)
-        return startIndex;
-
-      // debug ->
-      String qqq = getValue(str, index, newIndex);
-      versionVect.add(qqq);
-      // debug <-
-      version = true;
-      return newIndex;
-    }
-    else
-    {
-      return startIndex;
-    }
-  }
-
-  /**
-   * Method getLastPortList.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastPortList(String str, int startIndex)
-  {
-    int index = startIndex;
-    int newIndex = 0;
-
-    while (true)
-    {
-      newIndex = getLastDIGIT(str, index);
-      if (index == newIndex)
-        return startIndex;
-
-      index = newIndex;
-      if (str.charAt(index) != ',')
-        return index;
-      index++;
-    }
-  }
-
-  /**
-   * Method getLastDIGIT.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastDIGIT(String str, int startIndex)
-  {
-    int index = startIndex;
-    for (; index < str.length(); index++)
-    {
-      if (!BasicRules.isDIGIT(str.charAt(index)))
-        return index;
-    }
-    return index;
-  }
-
-  /**
-   * Check if the string satisfy the "Cookie" header value.
-   * @param str String
-   * @return boolean
-   */
-  public boolean isCookie(String str)
-  {
-    int index = 0;
-    int newIndex = 0;
-
-    try
-    {
-      newIndex = getLastVersion(str, index);
-      if (index == newIndex)
-        return false;
-
-      index = newIndex;
-      index = skipSpaces(str, index);
-      if (str.charAt(index) != ';' && str.charAt(index) != ',')
-        return false;
-
-      index++;
-      index = skipSpaces(str, index);
-
-      while (true)
-      {
-        newIndex = getLastCookiesValue(str, index);
-        if (index == newIndex)
-          return false;
-
-        index = newIndex;
-        if (index == str.length())
-          return true;
-
-        if (str.charAt(index) != ';' && str.charAt(index) != ',')
-          return false;
-        index++;
-        index = skipSpaces(str, index);
-      }
-    }
-    catch (Throwable th)
-    {
-      return false;
-    }
-  }
-
-  /**
-   * Method getLastVersion.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastVersion(String str, int startIndex)
-  {
-    int index = startIndex;
-    int newIndex = 0;
-    if (!str.startsWith("$Version="))
-      return startIndex;
-    index += "$Version=".length();
-    newIndex = getLastValue(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    return newIndex;
-  }
-
-  /**
-   * Method getLastCookiesValue.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastCookiesValue(String str, int startIndex)
-  {
-    int index = startIndex;
-    int newIndex = 0;
-    int oldIndex = 0;
-
-    // find token
-    newIndex = BasicRules.getLastToken(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    index = newIndex;
-    if (index == str.length())
-      return startIndex;
-
-    // if not '=' - error
-    if (str.charAt(index) != '=')
-      return startIndex;
-
-    index++;
-    if (index == str.length())
-      return startIndex;
-
-    // get value
-    newIndex = getLastValue(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    index = newIndex;
-    if (index == str.length())
-      return index;
-
-    if (str.charAt(index) != ';')
-      return index;
-
-    // process [";" path] [";" domain] [";" port] 
-    oldIndex = index;
-    index++;
-    if (index == str.length())
-      return startIndex;
-
-    index = skipSpaces(str, index);
-    if (index == str.length())
-      return startIndex;
-
-    // process path
-    newIndex = getLastPath(str, index);
-    if (index != newIndex)
-    {
-      index = newIndex;
-      if (index == str.length())
-        return index;
-
-      if (str.charAt(index) != ';')
-        return index;
-
-      oldIndex = index;
-      index++;
-      if (index == str.length())
-        return startIndex;
-
-      index = skipSpaces(str, index);
-      if (index == str.length())
-        return startIndex;
-
-    }
-
-    // process domain
-    newIndex = getLastDomain(str, index);
-    if (index != newIndex)
-    {
-      index = newIndex;
-      if (index == str.length())
-        return index;
-
-      if (str.charAt(index) != ';')
-        return index;
-
-      oldIndex = index;
-      index++;
-      if (index == str.length())
-        return startIndex;
-
-      index = skipSpaces(str, index);
-      if (index == str.length())
-        return startIndex;
-
-    }
-
-    // process port
-    newIndex = getLastPort(str, index);
-    if (index != newIndex)
-      return newIndex;
-    else
-      return oldIndex;
-  }
-
-  /**
-   * Method getLastPath.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastPath(String str, int startIndex)
-  {
-    int index = startIndex;
-    int newIndex = 0;
-
-    if (!str.startsWith("$Path=", index))
-      return startIndex;
-    index += "$Path=".length();
-    newIndex = getLastValue(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    return newIndex;
-  }
-
-  /**
-   * Method getLastDomain.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastDomain(String str, int startIndex)
-  {
-    int index = startIndex;
-    int newIndex = 0;
-
-    if (!str.startsWith("$Domain=", index))
-      return startIndex;
-    index += "$Domain=".length();
-    newIndex = getLastValue(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    return newIndex;
-  }
-
-  /**
-   * Method getLastPort.
-   * @param str
-   * @param startIndex
-   * @return int
-   */
-  private int getLastPort(String str, int startIndex)
-  {
-    int index = startIndex;
-    int newIndex = 0;
-
-    if (!str.startsWith("$Port", index))
-      return startIndex;
-
-    index += "$Port".length();
-    if (str.charAt(index) != '=')
-      return index;
-
-    index++;
-    if (str.charAt(index) != '\"')
-      return startIndex;
-
-    index++;
-    newIndex = getLastPortList(str, index);
-    if (index == newIndex)
-      return startIndex;
-
-    index = newIndex;
-    if (str.charAt(index) != '\"')
-      return startIndex;
-    index++;
-    return index;
-  }
-
-  /**
-   * Method skipSpaces.
-   * @param str
-   * @param index
-   * @return int
-   */
-  private int skipSpaces(String str, int index)
-  {
-    for (; index < str.length(); index++)
-      if (!BasicRules.isSP(str.charAt(index)))
-        break;
-    return index;
-  }
-
-  /**
-   * Method getValue.
-   * @param str
-   * @param beg
-   * @param end
-   * @return String
-   */
-  private String getValue(String str, int beg, int end)
-  {
-    String qqq = null;
-    if (str.charAt(beg) == '\"')
-      qqq = str.substring(beg + 1, end - 1);
-    else
-      qqq = str.substring(beg, end);
-    return qqq;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
deleted file mode 100644
index 9dc70d7..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/StringTokenizer.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- ********************************************************************************/
-package org.eclipse.wst.wsi.internal.core.util;
-
-/**
- * String tokenizer.
- * 
- * @author: Kulik
- */
-final public class StringTokenizer
-{
-  private char[] spaceDel;
-  private char[] del;
-  private char[] allDel;
-
-  /**
-   * Enumeration of strings.
-  * @author Kulik
-   */
-  private class StringTokenizerEnumeration implements java.util.Enumeration
-  {
-    private final char[] str;
-    private final int size;
-    private int index;
-    private String next;
-
-    /**
-     * Constructor.
-     * @param s
-     */
-    StringTokenizerEnumeration(char[] s)
-    {
-      str = s;
-      size = str.length;
-      index = 0;
-
-      // skip space delimiters
-      while (index < size && contain(str[index], spaceDel))
-        index++;
-    }
-
-    /**
-     * @see java.util.Enumeration#hasMoreElements()
-     */
-    public boolean hasMoreElements()
-    {
-      return (index < size);
-    }
-
-    /**
-     * @see java.util.Enumeration#nextElement()
-     */
-    public Object nextElement()
-    {
-      if (index >= size)
-        throw new java.util.NoSuchElementException(
-          "StringTokenizer enumeration");
-
-      // skip delimiters
-      int begStr = index;
-      if (index < size && contain(str[index], del))
-        index++;
-
-      // skip word
-      if (begStr == index)
-        while (index < size && !contain(str[index], allDel))
-          index++;
-
-      int endStr = index;
-
-      // skip space delimiters
-      while (index < size && contain(str[index], spaceDel))
-        index++;
-
-      return String.copyValueOf(str, begStr, endStr - begStr);
-    }
-
-    /**
-     * @see java.lang.Object#toString()
-     */
-    public String toString()
-    {
-      int i = index;
-      String s = (String) nextElement();
-      index = i;
-      return s;
-    }
-  }
-
-  /**
-   * StringTokenizer constructor.
-     * @param spaceDelimiters the set of delimiters to be ignored
-     * @param delimiters the set of delimiters to be remained.
-   */
-  public StringTokenizer(char[] spaceDelimiters, char[] delimiters)
-  {
-    super();
-
-    if (spaceDelimiters != null)
-    {
-      spaceDel = new char[spaceDelimiters.length];
-      System.arraycopy(spaceDelimiters, 0, spaceDel, 0, spaceDelimiters.length);
-      sort(spaceDel);
-    }
-    else
-      spaceDel = null;
-
-    if (delimiters != null)
-    {
-      del = new char[delimiters.length];
-      System.arraycopy(delimiters, 0, del, 0, delimiters.length);
-      sort(del);
-    }
-    else
-      del = null;
-
-    if (del != null && spaceDel != null)
-    {
-      allDel = new char[del.length + spaceDel.length];
-      System.arraycopy(del, 0, allDel, 0, del.length);
-      System.arraycopy(spaceDel, 0, allDel, del.length, spaceDel.length);
-    }
-    else if (del != null)
-      allDel = del;
-    else
-      allDel = spaceDel;
-
-    sort(allDel);
-  }
-  /**
-   * Parses string.
-   * @return java.util.Enumeration
-   * @param s java.lang.String
-   */
-  public java.util.Enumeration parse(String s)
-  {
-    if (s == null)
-      throw new IllegalArgumentException("StringTokenizer : String cannot be NULL");
-
-    return new StringTokenizerEnumeration(s.toCharArray());
-  }
-
-  /**
-   * Binary search.
-   * @return boolean
-   * @param c char
-   */
-  private static boolean contain(char c, char[] a)
-  {
-    if (a == null)
-      return false;
-
-    int l = 0, r = a.length - 1, center;
-    while (l < r)
-    {
-      center = (l + r) / 2;
-      if (c > a[center])
-        l = center + 1;
-      else
-        r = center;
-    }
-
-    return a[l] == c;
-  }
-  /**
-   * Heap sort
-   * @param c char[]
-   */
-  static private void sort(char[] c)
-  {
-    if (c != null)
-    {
-      int j, k;
-      char ci;
-
-      // push heap
-      for (int i = 1; i < c.length; i++)
-      {
-        j = ((k = i) - 1) / 2;
-        ci = c[i];
-        while (k > 0 && c[j] < ci)
-        {
-          c[k] = c[j];
-          j = ((k = j) - 1) / 2;
-        }
-        c[k] = ci;
-      }
-
-      // pop heap
-      for (int i = c.length - 1; i > 0; i--)
-      {
-        j = 2;
-        k = 0;
-        ci = c[0];
-        while (j <= i)
-        {
-          c[k] = (c[j - 1] > c[j]) ? c[--j] : c[j];
-          j = ((k = j) + 1) * 2;
-        }
-        c[k] = c[i];
-        c[i] = ci;
-      }
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/Utils.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/Utils.java
deleted file mode 100644
index ce36626..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/util/Utils.java
+++ /dev/null
@@ -1,1418 +0,0 @@
-/*******************************************************************************
- *
- * Copyright (c) 2002-2003 IBM Corporation, Beacon Information Technology Inc. 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      - Initial API and implementation
- *   BeaconIT - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.util;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.ConnectException;
-import java.net.InetAddress;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.ResourceBundle;
-import java.util.StringTokenizer;
-import java.util.TimeZone;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.log.impl.MimePartImpl;
-import org.eclipse.wst.wsi.internal.core.log.impl.MimePartsImpl;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-/**
- * General set of utilities.
- */
-public final class Utils
-{
-  public static final byte CR = (byte) '\r';
-  public static final byte LF = (byte) '\n';
-
-  /**
-   * Common timestamp format.
-   */
-  //	public static final SimpleDateFormat timestampFormat = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
-  public static final SimpleDateFormat timestampFormat =
-    new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
-
-  /**
-   * Basic date format.
-   */
-  public static final SimpleDateFormat dateFormat =
-    new SimpleDateFormat("yyyy-MM-dd");
-
-  /**
-   * Wrapper method for error logging;
-   * for now it just goes to stderr.
-   * @param inError  an error message.
-   */
-  public final static void logError(String inError)
-  {
-    System.err.println("Error: " + inError);
-  }
-
-  /** 
-   * Get exception information as a string.
-   * @param throwable  a Throwable object.
-   * @return exception information as a string.
-   */
-  public final static String getExceptionDetails(Throwable throwable)
-  {
-    StringWriter sw = new StringWriter();
-    PrintWriter pw = new PrintWriter(sw);
-
-    pw.println("Exception: ");
-    throwable.printStackTrace(pw);
-
-    return sw.toString();
-  }
-
-  /**
-   * Get current date and time as a timestamp.
-   * @return urrent date and time as a timestamp.
-   */
-  public static String getTimestamp()
-  {
-    // Use GMT timezone
-    //timestampFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
-    timestampFormat.setTimeZone(TimeZone.getDefault());
-
-    // Return timestamp
-    return timestampFormat.format(new Date());
-  }
-
-  /**
-   * Get current date for default time zone.
-   * @return current date for default time zone.
-   */
-  public static String getDate()
-  {
-    // Use GMT timezone
-    dateFormat.setTimeZone(TimeZone.getDefault());
-
-    // Return date
-    return dateFormat.format(new Date());
-  }
-
-  /**
-   * Get HTTP status code.
-   * @param httpHeaders  HTTP headers.
-   * @return HTTP status code.
-   * @throws WSIException if the status code in http headers was not found.
-   */
-  public static String getHTTPStatusCode(String httpHeaders)
-    throws WSIException
-  {
-    String statusCode = null;
-
-    if (httpHeaders.startsWith("HTTP"))
-    {
-      // Get location of status code
-      int index = httpHeaders.indexOf(" ");
-      int index2 = httpHeaders.indexOf(" ", index + 1);
-
-      if ((index == -1) || (index2 == -1))
-      {
-        throw new WSIException(
-          "Could not find status code in http headers: [" + httpHeaders + "].");
-      }
-
-      else
-      {
-        statusCode = httpHeaders.substring(index + 1, index2);
-      }
-    }
-
-    else
-    {
-      throw new WSIException(
-        "Could not find status code in http headers: [" + httpHeaders + "].");
-    }
-
-    // Return status code
-    return statusCode;
-  }
-
-  /**
-   * Get HTTP headers from a full message.
-   * @param fullMessage  a message.
-   * @return HTTP headers from a full message.
-   */
-  public static String getHTTPHeaders(String fullMessage)
-  {
-    //String httpHeaders = null;
-
-    // Try looking for the double newline
-    int index = fullMessage.indexOf("\r\n\r\n");
-    if (index != -1)
-    {
-      index += 4;
-    }
-    else
-    {
-      // check for case "\r\r...\r\n\r\r...\n"
-      // Note the index that is returned points to the first character 
-      // immediatedly following the first occurence of the CRLFCRLF. 
-      index = getFirstCRLFCRLF(fullMessage);
-      if (index == -1)
-      {
-        logError(
-          "Unable to parse HTTP message to find headers.  Full message: "
-          + fullMessage);
-        return "x-WSI-Test-Tool-Error: Couldn't find headers.  Full message: ["
-          + fullMessage
-          + "].";
-      }
-    }
-
-    // Return HTTP headers
-    return fullMessage.substring(0, index);
-  }
-
-  /**
-   * Get SOAP message from a full message.
-   * @param fullMessage  a message.
-   * @return SOAP message from a full message.
-   */
-  public static String getContent(String fullMessage)
-  {
-    String message = "";
-
-    // Find start of message
-    int index = fullMessage.indexOf("\r\n\r\n");
-    if (index != -1)
-    {
-      index += 4;
-    }
-    else
-    {
-      // check for case "\r\r...\r\n\r\r...\n"
-      // Note the index that is returned points to the first character 
-      // immediatedly following the first occurence of the CRLFCRLF. 
-      index = getFirstCRLFCRLF(fullMessage);
-    }    	
-
-    if (index < 0)
-    {
-    	// If we couldn't find the end of the HTTP headers or the start of the message, then show error
-      logError(
-        "Unable to parse message to get content.  Full message: "
-          + fullMessage);
-      message =
-        "x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
-          + fullMessage
-          + "].";
-    }
-    // If the index is greater than the length, then there is no message content
-    else if (index >= fullMessage.length())
-    {
-      message = "";
-    }
-
-    // Else get the message content
-    else
-    {
-      message = fullMessage.substring(index);
-    }
-
-    // Return SOAP message
-    return message;
-  }
- 
-  /**
-   * Get HTTP headers from a full message.
-   * @param fullMessage  a message.
-   * @return HTTP headers from a full message.
-   */
-  public static byte[] getHTTPHeaders(byte[] fullMessage)
-  {
-    //String httpHeaders = null;
-    int index = getFirstCRLFCRLF(fullMessage, 0);
-    if (index == -1)
-    {
-      logError(
-        "Unable to parse HTTP message to find headers.  Full message: "
-          + fullMessage);
-      return ("x-WSI-Test-Tool-Error: Couldn't find headers.  Full message: ["
-        + fullMessage + "].").getBytes();
-    }
-
-    // Return HTTP headers
-	byte[] b = new byte[index];
-	System.arraycopy(fullMessage, 0, b, 0, index);
-
-    return b;
-  }
-
-  /**
-   * Get HTTP headers from a full message.
-   * @param fullMessage  a message.
-   * @return HTTP headers from a full message.
-   */
-  public static String getHTTPHeadersAsString(byte[] fullMessage, String encoding)
-  {
-    //String httpHeaders = null;
-    int index = getFirstCRLFCRLF(fullMessage, 0);
-    if (index == -1)
-    {
-      logError(
-        "Unable to parse HTTP message to find headers.  Full message: "
-          + fullMessage);
-      return "x-WSI-Test-Tool-Error: Couldn't find headers.  Full message: ["
-        + fullMessage + "].";
-    }
-
-    // Return HTTP headers
-    try
-    {
-      return new String(fullMessage, 0, index, encoding);
-    }
-    catch (UnsupportedEncodingException e)
-    {
-        logError(
-                "Unsupported Encoding: " + encoding + ".  Full message: "
-                  + fullMessage);
-              return "x-WSI-Test-Tool-Error: Unsupported Encoding \"" + encoding + "\".  Full message: ["
-                + fullMessage + "].";
-    }
-  }
-
-  /**
-   * Get SOAP message from a full message.
-   * @param fullMessage  a message.
-   * @return SOAP message from a full message.
-   */
-  public static String getContentAsString(byte[] message)
-  {
-  	String content = "";
-    //String httpHeaders = null;
-    int index = getFirstCRLFCRLF(message, 0);
-
-    // If we couldn't find the end of the HTTP headers or the start of the message, then show error
-    if (index < 0)
-    {
-      logError(
-        "Unable to parse message to get content.  Full message: "
-          + message);
-      content =
-        "x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
-          + message.toString()
-          + "].";
-    }
-
-    // Else get the message content
-    else if (index < message.length)
-    {
-      try
-      {
-        content = new String(message, index, message.length - index);
-       }
-      catch (Exception e)
-      {
-      	logError(
-      	        "Unable to parse message to get content.  Full message: "
-      	          + message);
-      	content =
-      	        "x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
-      	          + message.toString()
-      	          + "].";
-      }
-    }
-
-    // Return SOAP message
-    return content;
-  }
-
-  /**
-   * Get SOAP message from a full message.
-   * @param fullMessage  a message.
-   * @return SOAP message from a full message.
-   */
-  public static byte[] getContent(byte[] message)
-  {
-    byte[] content = new byte [0];
-
-    //String httpHeaders = null;
-    int index = getFirstCRLFCRLF(message, 0);
- 
-    // If we couldn't find the end of the HTTP headers or the start of the message, then show error
-    if (index < 0)
-    {
-      logError(
-        "Unable to parse message to get content.  Full message: "
-          + message);
-      message =
-        ("x-WSI-Test-Tool-Error: Couldn't find message content.  Full message: ["
-          + message.toString()
-          + "].").getBytes();
-    }
-
-    // If the index is greater than the length, then there is no message content
-    //else if (index >= fullMessage.length())
-    //{
-    //  message = "";
-    //}
-
-    // Else get the message content
-    else if (index < message.length)
-    {
-    	byte[] b = new byte[message.length - index];
-    	System.arraycopy(message, index, b, 0, message.length - index);
-
-        content = b;
-    }
-
-    // Return SOAP message
-    return content;
-  }
-
-  
-  /**
-	 * Returns the first location of a CRLF.
-	 *
-	 * @return int
-	 */
-	public static int getFirstCRLF(byte[] buffer, int index) 
-	{
-		int size = buffer.length;
-		int i = index;
-		while (i < size - 1) {
-			if (buffer[i] == CR && buffer[i+1] == LF)
-				return i;
-			i++;
-		}
-		return -1;
-	}
-
-	/**
-	 * Returns the first location of a CRLF followed imediately by another CRLF.
-	 *
-	 * @return int
-	 */
-	public static int getFirstCRLFCRLF(byte[] buffer, int index) 
-	{
-		int size = buffer.length;
-		int i = index;
-		while (i < size - 3) 
-		{
-		  if (buffer[i] == CR && buffer[i+1] == LF && buffer[i+2] == CR)
-		  {
-			if (buffer[i+3] == LF)
-			{
-			  return i+4;
-			}
-			else
-			{
-			  int j = i + 3;
-			  while (j < buffer.length && buffer[j] == CR)
-			  {
-				j++;
-			  }
-			  if (j < buffer.length && buffer[j] == LF)
-			  {
-			  	return j + 1;
-			  }
-			}
-		  }
-		  i++;
-		}
-		return -1;
-	}
-
-	/**
-	 * Returns the first location of a CRLF followed imediately by another CRLF.
-	 *
-	 * @return int
-	 */
-	public static int getFirstCRLFCRLF(String buffer) 
-	{
-		int index = buffer.indexOf("\r\n\r");
-		if (index != -1)
-		{
-		  int i = index +3;
-		  while (i < buffer.length() && buffer.startsWith("\r", i))
-		     i++;
-		
-		  if (i < buffer.length() && buffer.startsWith("\n", i))
-			return i+1;
-		  else
-			return getFirstCRLFCRLF(buffer.substring(index + 3));
-		}
-		else
-		{
-		  return -1;
-		}
-	}
-
-	/**
-     * Returns the list of indices which marks the separation of parts.
-     */
-	public static int[] getBoundaryIndices(byte[] message, String boundaryStr)
-	{
-	  int[] indices = new int[256];
-	  int indicesIndex = 0;
-	  try
-	  {
-	    byte[] boundary = ("\r\n--" + boundaryStr).getBytes("US-ASCII");
-
-	    int index = 0;
-	    int start = 0;
-	    int end = message.length;
-	    while (index != -1)
-	    {
-	      index = indexOf(message, boundary, start);
-	      
-	      if (index != -1) 
-	      {
-		    start = index + boundary.length;
-	    	indices[indicesIndex] = index;
-	    	indicesIndex++;
-	      }
-	    }
-      	int[] b = new int[indicesIndex];
-    	System.arraycopy(indices, 0, b, 0, indicesIndex);
-    	indices = b;
-	  }
-	  catch (Exception e)
-	  {}
-	  return indices;
-	}
- 
-    /**
-     * Returns the index of the first occurrence of key in the buffer.
-     */
-	public static int indexOf(byte[] buffer, byte[] key, int start)
-	{
-		int bufferLen = buffer.length;
-		int keyLen = key.length;
-		int i,j,k = 0;
-		
-		if (keyLen > bufferLen - start)
-		{
-			return -1;
-		}
-	
-		for (k = start + keyLen - 1; k < bufferLen; k++)
-		{
-           for (j = keyLen - 1, i = k; (j >= 0) && (buffer[i] == key[j]); j--) 
-           {
-               i--;
-           }
-
-           if (j == (-1)) {
-               return i + 1;
-           }
-		}
-
-		return -1;
-	}
-	/**
-   * Get contents of a resource and return as a input stream.
-   *
-   * @param resourceName the name of the resource to get and return as
-   *                      an input stream.
-   * @return contents of a resource as an input stream.
-   * @throws IOException if the resource could not be located.
-   */
-  public static InputStream getInputStream(String resourceName)
-    throws IOException
-  {
-    InputStream is = null;
-
-    // If resource reference is a URL, then input stream from URL
-    try
-    {
-      // Try to create URL
-      URL urlResource = new URL(resourceName);
-
-      // If successful, then get URL input stream
-      is = getInputStream(urlResource);
-    }
-
-    // Else try to read resource directly
-    catch (MalformedURLException mue)
-    {
-      boolean bTryClassLoader = false;
-
-      try
-      {
-        // Open file input stream
-        is = new BufferedInputStream(new FileInputStream(resourceName));
-      }
-      catch (FileNotFoundException fnfe)
-      {
-        // Set try class loader flag
-        bTryClassLoader = true;
-      }
-      catch (SecurityException se)
-      {
-        // Set try class loader flag
-        bTryClassLoader = true;
-      }
-      catch (Exception e)
-      {
-        // DEBUG:
-        System.out.println("Exception in getInputStream :" + e.toString());
-      }
-
-      // If try class loader, then use it to get input stream
-      if (bTryClassLoader)
-      {
-        // Use class loader to load resource
-        is = ClassLoader.getSystemResourceAsStream(resourceName);
-      }
-    }
-
-    // If the input stream is null, then throw FileNotFoundException
-    if (is == null)
-    {
-      //try this
-      is =
-        Thread.currentThread().getContextClassLoader().getResourceAsStream(
-          resourceName);
-    }
-
-    // If the input stream is null, then throw FileNotFoundException
-    if (is == null)
-    {
-      //try this
-      URL aURL =
-        Thread.currentThread().getContextClassLoader().getResource(
-          resourceName);
-      if (aURL != null)
-        is = getInputStream(aURL);
-    }
-
-    if (is == null)
-      // Throw execption
-      throw new FileNotFoundException(
-        "Could not locate resource file: " + resourceName);
-
-    // Return input stream
-    return is;
-  }
-
-  /**
-   * Get the input stream from a URL.
-   * @param urlFile the URL to get the input stream from.
-   * @return the input stream corresponding to the given URL.
-   * @throws IOException if attempt to open the file denoted by URL has failed.
-   * @throws ConnectException if trouble connecting to URL.
-   */
-  public static InputStream getInputStream(URL urlFile)
-    throws IOException, ConnectException
-  {
-    InputStream is = null;
-
-    // ADD: how are URLs that are password protected handled????
-
-    try
-    {
-      // Open file input stream
-      is = new BufferedInputStream(urlFile.openStream());
-    }
-
-    catch (ConnectException e)
-    {
-      // Re-throw this excpetion with additional information
-      throw new java.net.ConnectException(
-        "Could not connect to URL: " + urlFile.toExternalForm() + ".");
-    }
-
-    // Return input stream
-    return is;
-  }
-
-  /**
-   * Get contents of a resource and return as a input stream.
-   * @param fileLocation the location of the file.
-   * @return contents of a resource as a input stream.
-   */
-  public static boolean fileExists(String fileLocation)
-  {
-    boolean fileExists = false;
-
-    // If resource reference is a URL, then input stream from URL
-    try
-    {
-      // Try to create URL
-      URL url = new URL(fileLocation);
-
-      // If successful, then try to open connection
-      InputStream is = url.openStream();
-
-      fileExists = true;
-    }
-
-    // Else try to read resource directly
-    catch (MalformedURLException mue)
-    {
-      try
-      {
-        File file = new File(fileLocation);
-
-        fileExists = file.exists();
-      }
-
-      catch (Exception e2)
-      {
-        fileExists = false;
-      }
-    }
-
-    catch (FileNotFoundException fnfe)
-    {
-      fileExists = false;
-    }
-
-    catch (Exception e)
-    {
-      fileExists = false;
-    }
-
-    // Return file exists indicator
-    return fileExists;
-  }
-
-  /**
-   * Get local host name.
-   * @return the local host name.
-   */
-  public static String getLocalHostName()
-  {
-    String sLocalHostName;
-
-    try
-    {
-      // Get local host name
-      sLocalHostName = InetAddress.getLocalHost().getHostName();
-    }
-    catch (Exception e)
-    {
-      // Set default local host name
-      sLocalHostName = "127.0.0.1";
-    }
-
-    // Return local host name
-    return sLocalHostName;
-  }
-
-  /**
-   * Build a URL string from hostname, port and URN.
-   *
-   * @param hostname the hostname.
-   * @param port the port.
-   * @param urn the URN.
-   * @return formatted URL string.
-   */
-  public static String formatURL(String hostname, String port, String urn)
-  {
-    // Build URN
-    String formatURN = urn;
-
-    // If URN doesn't start with "/", then add it
-    if (!(formatURN.startsWith("/")))
-    {
-      // Add "/" to beginning of the string
-      formatURN = "/" + urn;
-    }
-
-    // Return URL string
-    return "http://" + hostname + ":" + port + formatURN;
-  }
-
-  /**
-   * This method will replace all of the occurances of a string
-   * with a substitution string.
-   *
-   * @param sText String to udpate.
-   * @param sFind String to find.
-   * @param sReplace String to use for substitution.
-   * @return updated string.
-   */
-  public static String replaceString(
-    String sText,
-    String sFind,
-    String sReplace)
-  {
-    int iPrevIndex = 0;
-
-    int iFindLen = sFind.length();
-    int iReplaceLen = sReplace.length();
-
-    String sUpdatedText = sText;
-
-    // Replace all occurances of the find string
-    for (int iIndex = sUpdatedText.indexOf(sFind);
-      iIndex < (sUpdatedText.length() - 1) && iIndex != -1;
-      iIndex = sUpdatedText.indexOf(sFind, iPrevIndex + iReplaceLen))
-    {
-      // Set updated text from the front portion + replacement text + back portion
-      sUpdatedText =
-        sUpdatedText.substring(0, iIndex)
-          + sReplace
-          + sUpdatedText.substring(iIndex + iFindLen);
-
-      // Set the previous index field
-      iPrevIndex = iIndex;
-    }
-
-    // Return updated text string
-    return sUpdatedText;
-  }
-
-  /**
-   * Convert string to hex string.
-   * @param data  a String object.
-   * @return hex string.
-   */
-  public static String toHexString(String data)
-  {
-    char[] HEX_CHARS =
-      {
-        '0',
-        '1',
-        '2',
-        '3',
-        '4',
-        '5',
-        '6',
-        '7',
-        '8',
-        '9',
-        'A',
-        'B',
-        'C',
-        'D',
-        'E',
-        'F' };
-
-    // Get string as byte array
-    byte[] byteData = data.getBytes();
-
-    // Get length
-    int length = byteData.length;
-
-    // Create Char buffer
-    char[] charBuffer = new char[length * 2];
-
-    int next;
-    for (int byteCnt = 0, charCnt = 0; byteCnt < length;)
-    {
-      next = byteData[byteCnt++];
-      charBuffer[charCnt++] = HEX_CHARS[(next >>> 4) & 0x0F];
-      charBuffer[charCnt++] = HEX_CHARS[next & 0x0F];
-    }
-
-    return new String(charBuffer);
-  }
-
-  /**
-   * Convert byte buffer to hex string.
-   * @param data  a byte array.
-   * @return hex string.
-   */
-  public static String toHexString(byte[] byteData)
-  {
-    char[] HEX_CHARS =
-      {
-        '0',
-        '1',
-        '2',
-        '3',
-        '4',
-        '5',
-        '6',
-        '7',
-        '8',
-        '9',
-        'A',
-        'B',
-        'C',
-        'D',
-        'E',
-        'F' };
-
-
-    // Get length
-    int length = byteData.length;
-
-    // Create Char buffer
-    char[] charBuffer = new char[length * 2];
-
-    int next;
-    for (int byteCnt = 0, charCnt = 0; byteCnt < length;)
-    {
-      next = byteData[byteCnt++];
-      charBuffer[charCnt++] = HEX_CHARS[(next >>> 4) & 0x0F];
-      charBuffer[charCnt++] = HEX_CHARS[next & 0x0F];
-    }
-
-    return new String(charBuffer);
-  }
-
-  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-  /**
-   * Get MIME charset from a HTTP headers.
-   * @param httpHeaders String of HTTP header.
-   * @return the MIME charset string.
-   * @author K.Nakagome@BeaconIT Japan SIG 
-   */
-  public static String getHTTPCharset(String httpHeaders)
-  {
-    String mimeCharset = null;
-
-    mimeCharset = httpHeaders.toUpperCase();
-    int[] index = { -1, -1, -1 };
-    int indexS = mimeCharset.indexOf("CHARSET");
-    int indexE = Integer.MAX_VALUE;
-    if (indexS < 17)
-    {
-      return "";
-    }
-    indexS = mimeCharset.indexOf("=", indexS + 7);
-    if (indexS == -1)
-    {
-      return "";
-    }
-    indexS++;
-    index[0] = mimeCharset.indexOf("'", indexS);
-    index[1] = mimeCharset.indexOf("\r\n", indexS);
-    index[2] = mimeCharset.indexOf("\"", indexS);
-    for (int i = 0; i < 3; i++)
-    {
-      if (index[i] != -1 & indexE > index[i])
-      {
-        indexE = index[i];
-      }
-    }
-
-    if (indexE != Integer.MAX_VALUE)
-    {
-      mimeCharset = httpHeaders.substring(indexS, indexE);
-      mimeCharset.trim();
-    }
-    else
-    {
-      mimeCharset = "";
-    }
-    return mimeCharset;
-  }
-
-  /**
-   * Checks to see if the message is a simple SOAP message or whether it is a SOAP messagwe with attachments.
-   */
-  public static boolean isMultipartRelatedMessage(String httpHeaders)
-  {
-  	boolean result = false;
-    try 
-    {
-      // check header for mime version and boundary
-      String contentType = HTTPUtils.getHttpHeaderAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE);
-      if (contentType == null)
-      {
-        // there is no contentType, check if there is a boundary attribute
-        String boundary = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "boundary");
-        if ((boundary != null) && (!boundary.equals("")))
-           result = true;
-      }
-      else
-      {
-        result = contentType.equalsIgnoreCase("multipart/related");
-      }
-    } 
-    catch (WSIException e)
-	{ 
-    	result = false; 
-    }
-    return result;
-  }
-
-  public static String getHttpHeaderAttribute(String httpHeaders, String attributeName)
-  { String result = null;
-  	try
-  	{
-     result = HTTPUtils.getHttpHeaderAttribute(httpHeaders, attributeName);
-  	}
-    catch (WSIException e)
-	{ 
-    	result = null; 
-    }
-    return result;
- }
-
-  public static String getHttpHeaderSubAttribute(String httpHeaders, String attributeName, String subAttributeName)
-  { String result = null;
-  	try
-  	{
-     result = HTTPUtils.getHttpHeaderSubAttribute(httpHeaders, attributeName, subAttributeName);
-  	}
-    catch (WSIException e)
-	{ 
-    	result = null; 
-    }
-    return result;
- }
-
-  public static String getMimeHeaderAttribute(String mimeHeaders, String attributeName)
-  { String result = null;
-  	try
-  	{
-     result = MIMEUtils.getMimeHeaderAttribute(mimeHeaders, attributeName);
-  	}
-    catch (WSIException e)
-	{ 
-    	result = null; 
-    }
-    return result;
- }
-
-  public static String getMimeHeaderSubAttribute(String mimeHeaders, String attributeName, String subAttributeName)
-  { String result = null;
-  	try
-  	{
-     result = MIMEUtils.getMimeHeaderSubAttribute(mimeHeaders, attributeName, subAttributeName);
-  	}
-    catch (WSIException e)
-	{ 
-    	result = null; 
-    }
-    return result;
- }
-  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-  /**
-   * Get XML encoding from a SOAP Messages.
-   * @param message  SOAP Message String. 
-   * @return character encoding of XML.
-   * @author K.Nakagome@BeaconIT Japan SIG 
-   */
-  public static String getXMLEncoding(String message)
-  {
-    String xmlDef = null;
-
-    int indexS = message.indexOf("<?xml");
-    int indexE = -1;
-    if (indexS != -1)
-    {
-      indexE = message.indexOf("?>", indexS);
-      if (indexE > indexS)
-      {
-        xmlDef = message.substring(indexS, indexE);
-      }
-    }
-
-    if (xmlDef != null)
-    {
-      indexS = xmlDef.indexOf("encoding");
-      if (indexS == -1)
-      {
-        xmlDef = "";
-      }
-      else
-      {
-        xmlDef = xmlDef.substring(indexS + 8);
-        xmlDef = xmlDef.trim();
-      }
-    }
-    else
-    {
-      return "";
-    }
-
-    if (xmlDef.length() > 3)
-    {
-      indexS = xmlDef.indexOf("=");
-      if (indexS == 0)
-      {
-        xmlDef = xmlDef.substring(1);
-      }
-      else
-      {
-        return "";
-      }
-    }
-
-    if (xmlDef.length() > 3)
-    {
-      String end = "\"";
-      indexS = xmlDef.indexOf(end);
-      if (indexS != 0)
-      {
-        indexS = xmlDef.indexOf((end = "'"));
-      }
-      if (indexS == 0)
-      {
-        indexE = xmlDef.indexOf(end, 3);
-        if (indexE != -1)
-        {
-          xmlDef = xmlDef.substring(1, indexE);
-        }
-        else
-        {
-          xmlDef = "";
-        }
-      }
-      else
-      {
-        xmlDef = "";
-      }
-    }
-    return xmlDef;
-  }
-
-  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-  private static ResourceBundle javaEncodingResource = null;
-  private static final String JAVA_ENCODING_RESOURCE =
-    "org.wsi.test.util.JavaEncoding";
-  private static final String JAVA_ENCODING_DEFAULT = "UTF-8";
-
-  // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
-  /**
-   * Get Java VM supported character encoding.
-   * 
-   * @param mimeEncoding  string of MIME(IANA) character encoding. 
-   * @return string of character encoding supported by Java VM.
-   * @author K.Nakagome@BeaconIT Japan SIG 
-   */
-  public static String getJavaEncoding(String mimeEncoding)
-  {
-    if (mimeEncoding == null || mimeEncoding.length() == 0)
-    {
-      return JAVA_ENCODING_DEFAULT;
-    }
-    try
-    {
-      if (javaEncodingResource == null)
-      {
-        javaEncodingResource = ResourceBundle.getBundle(JAVA_ENCODING_RESOURCE);
-      }
-      return javaEncodingResource.getString(mimeEncoding);
-    }
-    catch (Throwable t)
-    {
-      return mimeEncoding;
-    }
-  }
-
-  /**
-   * Convert an array to a Vector.
-   * 
-   * @param array  the array to be converted .
-   * @return converted Vector (null if array is null, empty if empty).
-   * @author Graham Turrell IBM
-   */
-  public static Vector arrayToVector(Object[] array)
-  {
-    if (array == null)
-      return null;
-    Vector v = new Vector(array.length);
-    for (int i = 0; i < array.length; i++)
-      v.add(array[i]);
-    return v;
-  }
-  /**
-   * Checks to ensure that version of the profile test assertion 
-   * document is supported in this version of the test tools.
-   * @param profileAssertions - a profile TAD.
-   * @return true if the version of the profile test assertion
-   *         docuement is supported in this version of the test tools.
-   */
-  public static boolean isValidProfileTADVersion(ProfileAssertions profileAssertions)
-  {
-    boolean result = false;
-
-    String name = profileAssertions.getTADName();
-    String version = profileAssertions.getTADVersion();
-
-    if (WSIConstants.BASIC_PROFILE_TAD_NAME.equals(name))
-    {
-      result =
-        checkVersionNumber(WSIConstants.BASIC_PROFILE_TAD_VERSION, version);
-    } else if (WSIConstants.BASIC_PROFILE_1_1_TAD_NAME.equals(name))
-    {  
-      result =
-        checkVersionNumber(WSIConstants.BASIC_PROFILE_1_1_TAD_VERSION, version);
-    } else if (WSIConstants.SIMPLE_SOAP_BINDINGS_PROFILE_TAD_NAME.equals(name))
-    {
-      result =
-        checkVersionNumber(WSIConstants.SIMPLE_SOAP_BINDINGS_PROFILE_TAD_VERSION, version);
-    } else if (WSIConstants.ATTACHMENTS_PROFILE_TAD_NAME.equals(name))
-    {
-      result =
-        checkVersionNumber(WSIConstants.ATTACHMENTS_PROFILE_TAD_VERSION, version);
-    }
-    return result;
-  }
-
-  /**
-   * Checks to ensure that version number of the actual profile test assertion 
-   * document is supported in this version of the test tools.
-   * @param supportedVersion - supported version number of profile TAD.
-   * @param actualVersion    - actual version number of profile TAD. 
-   * @return true if the version number of the actual profile test assertion
-   *         document is supported in this version of the test tools.
-   */
-  private static boolean checkVersionNumber(
-    String supportedVersion,
-    String actualVersion)
-  {
-    boolean validVersion = true;
-
-    try
-    {
-      StringTokenizer supportedVersionTokenizer =
-        new StringTokenizer(supportedVersion, ".");
-      StringTokenizer actualVersionTokenizer =
-        new StringTokenizer(actualVersion, ".");
-
-      while (supportedVersionTokenizer.hasMoreTokens() && validVersion)
-      {
-        int supportedVersionToken =
-          Integer.parseInt(supportedVersionTokenizer.nextToken());
-        if (actualVersionTokenizer.hasMoreTokens())
-        {
-          int actualVersionToken =
-            Integer.parseInt(actualVersionTokenizer.nextToken());
-          if (supportedVersionToken > actualVersionToken) break;
-          else validVersion = (supportedVersionToken >= actualVersionToken);
-        }
-      }
-    }
-    catch (Exception e)
-    {
-      validVersion = false;
-    }
-    return validVersion;
-  }
-  
-  /**
-   * Identifies the root part in the list using the "start" attribute.
-   * If the "start" attribute does not exist then the first part is designated the root.
-   */
-  public static MimePart findRootPart(String httpHeaders, Collection parts)
-  {
-  	MimePart root = null;
-    String start = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "start");
-    if (!parts.isEmpty())
-    {
-      // default to the first part in the collection
-      root = (MimePart)parts.iterator().next();
-    	
-      if ((start != null) && (!start.equals("")))
-      {
-    	Iterator i = parts.iterator();
-    	boolean rootNotFound = true;
-    	while (i.hasNext() && rootNotFound)
-    	{
-    	  MimePart part = (MimePart)i.next();
-    	  String headers = part.getHeaders();
-    	  if (headers != null)
-    	  {
-            String contentId = Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_ID);
-            if (start.equals(contentId))
-            {
-              root = part;
-			  rootNotFound = false;
-            }
-    	  }
-    	}
-      }
-    }
-  	return root;
-  }
-  
-  /**
-   * Decodes the given encoded string.
-   */
-  public static byte[] decodeBase64(String str)
-  {
-  	try
-  	{
-    	sun.misc.BASE64Decoder decoder =  new sun.misc.BASE64Decoder();
-  	    return decoder.decodeBuffer(str);
-  	}
-  	catch (Exception e)
-  	{
-  		return new byte[0];
-  	}
-  }
-
-  /**
-   * Encodes the given byte array.
-   */
-  public static String encodeBase64(byte[] buffer)
-  {    
-  	sun.misc.BASE64Encoder encoder =  new sun.misc.BASE64Encoder();
-  	return encoder.encodeBuffer(buffer);  
-  }
-
-  public static MimeParts parseMultipartRelatedMessage(String message, String httpHeaders, String encoding)
-  {
-  	byte[] buffer = null;
-  	try
-	{ 
-  	  buffer = message.getBytes(encoding);
-	}
-  	catch (Exception e)
-	{
-  		return null;
-	}
-  	return parseMultipartRelatedMessage(buffer, httpHeaders, encoding);
-  }
-  public static MimeParts parseMultipartRelatedMessage(byte[] message, String httpHeaders, String encoding)
-  {
-    MimeParts mimeParts = new MimePartsImpl();
-    String boundary = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "boundary");
-    ArrayList parts = new ArrayList();
-    
-    if (boundary == null)
-    {
-    	// assume it is a simple SOAP message
-    	return null;
-    }
-    else
-    {
-      String start = Utils.getHttpHeaderSubAttribute(httpHeaders, HTTPConstants.HEADER_CONTENT_TYPE, "start");
-      int[] indices = Utils.getBoundaryIndices(message, boundary);
-      boolean rootNotFound = true;
-      
-      for (int i= indices.length - 2; i>=0; i--)
-      {
-        try
-    	{
-          MimePart part = new MimePartImpl();
-          int index = Utils.getFirstCRLFCRLF(message, indices[i]);
-          if ((index > indices[i]) && (index < indices[i+1]))
-          {
-            // the boundary string & mime headers (include the trailing CRLF CRLF)
-        	String str = new String(message, indices[i], (index - indices[i]), "US-ASCII");
-        	String delimiter = str.substring(0, str.indexOf("\r\n", 2) + 2);
-
-        	if (i == indices.length -2)
-        	{
-        	  String endDelimiter = new String(message, indices[i + 1], message.length - indices[i + 1], "US-ASCII");
-        	  int j = str.indexOf("\r\n", 2);
-        	  if (j != -1)
-        	    endDelimiter = str.substring(0, str.indexOf("\r\n", 2) + 2);
-              part.setBoundaryStrings(new String[]{delimiter, endDelimiter});
-            }
-        	else
-        	  part.setBoundaryStrings(new String[]{delimiter});
-       
-        	// the headers
-        	String headers = str.substring(delimiter.length());
-            if (headers.startsWith("\r\n"))
-            {
-          	  // no headers present
-          	  part.setHeaders("");
-            }
-            else
-            {
-          	  part.setHeaders(headers);
-            }
-            
-            // the content
-            String contentId = Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_ID);
-            int size = indices[i+1] - (index);
-         	byte[] content = new byte[size];
-      	    System.arraycopy(message, index, content, 0, size);
-      	  
-            if ((rootNotFound && (i == 0)) ||
-            	((start != null) && (!start.equals("")) && (start.equals(contentId))))
-            {
-              // root part -- do not encode
-              part.setContent(new String(content, encoding));
-              mimeParts.setRootPart(part);
-            }
-            else
-            {
-              String transferEncoding =  Utils.getMimeHeaderAttribute(headers, MIMEConstants.HEADER_CONTENT_TRANSFER_ENCODING);
-   
-              if ((transferEncoding != null) && transferEncoding.equalsIgnoreCase("base64"))
-              	part.setContent(new String(content, encoding));
-              else
-                part.setContent(Utils.encodeBase64(content));
-            }
-           parts.add(part);
-         }
-    	}
-    	catch (Exception e)
-    	{
-    	  return null;
-    	}
-      }
-      int size = parts.size();
-      for (int i = size-1; i>=0; i--)
-         mimeParts.addPart((MimePart)parts.get(i));
-    }
-    return mimeParts;
-  }
-
-  public static String toXMLString(MimeParts mimeParts)
-  {
-    StringWriter sw = new StringWriter();
-    PrintWriter pw = new PrintWriter(sw);
-
-    // Add message content with attachments element
-    pw.print("<" + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS);
-    pw.print(">");
-
-    Collection partList = mimeParts.getParts();
-    if (!partList.isEmpty())
-        {
-         	Iterator iMimeParts = partList.iterator();
-        	while (iMimeParts.hasNext())
-            {
-        	  MimePart mimePart = (MimePart)iMimeParts.next();
-         	  pw.print(mimePart.toXMLString(""));
-            }
-        }
-
-        // Add end message element
-        pw.println("</" + WSIConstants.ELEM_MESSAGE_CONTENT_WITH_ATTACHMENTS + ">");
-    // Return string
-    return sw.toString();
-  }
-
-  public static void main (String[] args)
-  {
-  	try
-	{
-  	  FileInputStream inputStream = new FileInputStream("d:\\b.xml");
-  	  int i = inputStream.available();
-  	  byte[] buffer = new byte[i];
-  	  inputStream.read(buffer);
-  	  String message = new String(buffer);
-  	  message = XMLUtils.xmlRemoveEscapedString(message);
-  	  String headers = Utils.getHTTPHeaders(message);
-  	  String content = Utils.getContent(message);
-  	  MimeParts parts = Utils.parseMultipartRelatedMessage(message, headers, Utils.JAVA_ENCODING_DEFAULT);
-  	  System.out.println(Utils.toXMLString(parts));
-	}
-  	catch (Exception e){}
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java
deleted file mode 100644
index d90d7ed..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLReaderImpl.java
+++ /dev/null
@@ -1,802 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.factory.WSDLFactory;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xerces.dom.ElementImpl;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-
-import com.ibm.wsdl.Constants;
-import com.ibm.wsdl.util.StringUtils;
-import com.ibm.wsdl.util.xml.DOMUtils;
-import com.ibm.wsdl.util.xml.QNameUtils;
-import com.ibm.wsdl.util.xml.XPathUtils;
-
-/**
- * This class is a specialization of com.ibm.wsdl.xml.WSDLReaderImpl in WSDL4J.
- * 
- * @version 1.0.1
- * @author Peter Brittenham  (peterbr@us.ibm.com)
- */
-public class WSDLReaderImpl extends com.ibm.wsdl.xml.WSDLReaderImpl
-{
-  // WSDL element list.
-  protected WSDLElementList wsdlElementList = new WSDLElementList();
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseDefinitions(java.lang.String, org.w3c.dom.Element, java.util.Map)
-   */
-  protected Definition parseDefinitions(
-    String documentBaseURI,
-    Element defEl,
-    Map importedDefs)
-    throws WSDLException
-  {
-	  Definition def = null;
-	ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
-	try
-	{
-   	  Thread.currentThread().setContextClassLoader(WSDLReaderImpl.class.getClassLoader());   
-	
-      def =
-      super.parseDefinitions(documentBaseURI, defEl, importedDefs);
-
-    // Try to add element to list
-    addElementToList(defEl, def);
-
-
-	}
-catch (Exception e)
-	{
-	}
-    finally
-    { 
-      Thread.currentThread().setContextClassLoader(currentLoader);
-    }  
-    return def;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseImport(org.w3c.dom.Element, javax.wsdl.Definition, java.util.Map)
-   */
-  protected Import parseImport(Element element, Definition definition, Map map)
-    throws WSDLException
-  {
-    /*boolean wasEx = false;
-    if (def.getDocumentBaseURI()!=null){
-    	File f = new File(def.getDocumentBaseURI());
-    	if (f.getParent()!=null && importEl.getAttribute("location")!=null){		
-    	   f = new File(f.getParent()+"/"+importEl.getAttribute("location"));
-    	   
-    	}
-    } else wasEx = false;
-      
-    Import importDef = super.parseImport(importEl, def, importedDefs);
-    
-    // Try to add element to list
-    addElementToList(importEl, importDef);
-    
-    return importDef;*/
-
-    /*Import import1 = definition.createImport();
-    String s = DOMUtils.getAttribute(element, "namespace");
-    String s1 = DOMUtils.getAttribute(element, "location");
-    if (s != null)
-    	import1.setNamespaceURI(s);
-    if (s1 != null) {
-    	if (importDocuments) {
-    		String s2 = definition.getDocumentBaseURI();
-    		try {
-    
-    			URL url1 = s2 == null ? null : StringUtils.getURL(null, s2);
-    			URL url = StringUtils.getURL(url1, s1);
-    			InputStream inputstream =
-    				StringUtils.getContentAsInputStream(url);
-    			inputstream.close();
-    		} catch (IOException ex) {
-    			//import1.setLocationURI(null);
-    			addElementToList(element, import1);
-    			return import1;
-    		} catch (Throwable ex) {
-    			throw new WSDLException(
-    				"OTHER_ERROR",
-    				"Unable to resolve imported document at '" + s1 + "'.",
-    				ex);
-    		}
-    
-    	}
-    }
-    Import importDef = super.parseImport(element, definition, map);
-    addElementToList(element, importDef);*/
-    Import import1 = definition.createImport();
-    String s = DOMUtils.getAttribute(element, "namespace");
-    String s1 = DOMUtils.getAttribute(element, "location");
-    if (s != null)
-      import1.setNamespaceURI(s);
-    // ADD: check "location" attribute for empty 
-    // string to prevent self-defenition assigning
-    if ((s1 != null) && (s1.length() > 0))
-    {
-      import1.setLocationURI(s1);
-      if (importDocuments)
-        try
-        {
-          String s2 = definition.getDocumentBaseURI();
-          Definition definition1 = null;
-          InputStream inputstream = null;
-          InputSource inputsource = null;
-          URL url = null;
-          if (loc != null)
-          {
-            inputsource = loc.getImportInputSource(s2, s1);
-            String s3 = loc.getLatestImportURI();
-            definition1 = (Definition) map.get(s3);
-          }
-          else
-          {
-            URL url1 = s2 == null ? null : StringUtils.getURL(null, s2);
-            url = StringUtils.getURL(url1, s1);
-            definition1 = (Definition) map.get(url.toString());
-            if (definition1 == null)
-            {
-              try
-              {
-
-                inputstream = url.openStream();
-              }
-              catch (IOException ex)
-              {
-                //import1.setLocationURI(null);
-                addElementToList(element, import1);
-                return import1;
-              }
-              if (inputstream != null)
-                inputsource = new InputSource(inputstream);
-            }
-          }
-          if (definition1 == null)
-          {
-            if (inputsource == null)
-              throw new WSDLException(
-                "OTHER_ERROR",
-                "Unable to locate imported document at '"
-                  + s1
-                  + "'"
-                  + (s2 != null ? ", relative to '" + s2 + "'." : "."));
-            Document document = null;
-            try
-            {
-              document = getDocument(inputsource, s1);
-            }
-            catch (WSDLException ex)
-            {
-              addElementToList(element, import1);
-              return import1;
-            }
-            if (inputstream != null)
-              inputstream.close();
-            Element element2 = document.getDocumentElement();
-            if (QNameUtils.matches(Constants.Q_ELEM_DEFINITIONS, element2))
-            {
-              //if (verbose)
-              //  System.out.println(
-              //    "Retrieving document at '"
-              //      + s1
-              //      + "'"
-              //      + (s2 != null ? ", relative to '" + s2 + "'." : "."));
-              String s4 =
-                loc == null
-                  ? url == null
-                  ? s1
-                  : url.toString() : loc.getLatestImportURI();
-              definition1 = readWSDL(s4, element2, map);
-            }
-            else
-            {
-              QName qname = QNameUtils.newQName(element2);
-              if (Constants.XSD_QNAME_LIST.contains(qname))
-              {
-                WSDLFactory wsdlfactory =
-                  factoryImplName == null
-                    ? WSDLFactory.newInstance()
-                    : WSDLFactory.newInstance(factoryImplName);
-                definition1 = wsdlfactory.newDefinition();
-                if (extReg != null)
-                  definition1.setExtensionRegistry(extReg);
-                String s5 =
-                  loc == null
-                    ? url == null
-                    ? s1
-                    : url.toString() : loc.getLatestImportURI();
-                definition1.setDocumentBaseURI(s5);
-                /* Don't add types element since it doesn't exist.  Adding it causes problems
-                 * since it will add a types element for processing that does not exist.
-                Types types = definition1.createTypes();
-                UnknownExtensibilityElement unknownextensibilityelement =
-                	new UnknownExtensibilityElement();
-                unknownextensibilityelement.setElement(element2);
-                types.addExtensibilityElement(
-                	unknownextensibilityelement);
-                definition1.setTypes(types);
-                */
-              }
-            }
-          }
-          if (definition1 != null)
-            import1.setDefinition(definition1);
-        }
-        catch (WSDLException wsdlexception)
-        {
-          wsdlexception.setLocation(XPathUtils.getXPathExprFromNode(element));
-          throw wsdlexception;
-        }
-        catch (Throwable throwable)
-        {
-          throw new WSDLException(
-            "OTHER_ERROR",
-            "Unable to resolve imported document at '" + s1 + "'.",
-            throwable);
-        }
-    }
-    for (Element element1 = DOMUtils.getFirstChildElement(element);
-      element1 != null;
-      element1 = DOMUtils.getNextSiblingElement(element1))
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, element1))
-        import1.setDocumentationElement(element1);
-      else
-        DOMUtils.throwWSDLException(element1);
-
-    return import1;
-
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseTypes(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Types parseTypes(Element typesEl, Definition def)
-    throws WSDLException
-  {
-    Types types = super.parseTypes(typesEl, def);
-
-    // Try to add element to list
-    addElementToList(typesEl, types);
-
-    return types;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBinding(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Binding parseBinding(Element bindingEl, Definition def)
-    throws WSDLException
-  {
-    Binding binding = super.parseBinding(bindingEl, def);
-
-    // Try to add element to list
-    addElementToList(bindingEl, binding);
-
-    return binding;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingOperation(org.w3c.dom.Element, javax.wsdl.PortType, javax.wsdl.Definition)
-   */
-  protected BindingOperation parseBindingOperation(
-    Element bindingOperationEl,
-    PortType portType,
-    Definition def)
-    throws WSDLException
-  {
-    BindingOperation bindingOperation = null;
-
-    // The follow try-catch was added to detect when a duplicate operation name was detected
-    try
-    {
-      bindingOperation =
-        super.parseBindingOperation(bindingOperationEl, portType, def);
-    }
-
-    catch (IllegalArgumentException iae)
-    {
-      if (iae.getMessage().startsWith("Duplicate"))
-      {
-        bindingOperation =
-          parseBindingOperationWithDuplicateNames(
-            bindingOperationEl,
-            portType,
-            def);
-      }
-
-      else
-      {
-        throw iae;
-      }
-    }
-
-    // Try to add element to list
-    if (bindingOperation != null)
-    {
-      addElementToList(bindingOperationEl, bindingOperation);
-    }
-
-    return bindingOperation;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingInput(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected BindingInput parseBindingInput(
-    Element bindingInputEl,
-    Definition def)
-    throws WSDLException
-  {
-    BindingInput bindingInput = super.parseBindingInput(bindingInputEl, def);
-
-    // Try to add element to list
-    addElementToList(bindingInputEl, bindingInput);
-
-    return bindingInput;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingOutput(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected BindingOutput parseBindingOutput(
-    Element bindingOutputEl,
-    Definition def)
-    throws WSDLException
-  {
-    BindingOutput bindingOutput =
-      super.parseBindingOutput(bindingOutputEl, def);
-
-    // Try to add element to list
-    addElementToList(bindingOutputEl, bindingOutput);
-
-    return bindingOutput;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseBindingFault(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected BindingFault parseBindingFault(
-    Element bindingFaultEl,
-    Definition def)
-    throws WSDLException
-  {
-    BindingFault bindingFault = super.parseBindingFault(bindingFaultEl, def);
-
-    // Try to add element to list
-    addElementToList(bindingFaultEl, bindingFault);
-
-    return bindingFault;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseMessage(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Message parseMessage(Element msgEl, Definition def)
-    throws WSDLException
-  {
-    Message msg = super.parseMessage(msgEl, def);
-
-    // Try to add element to list
-    addElementToList(msgEl, msg);
-
-    return msg;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePart(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Part parsePart(Element partEl, Definition def) throws WSDLException
-  {
-    //Part part = super.parsePart(partEl, def);
-
-    Part part = def.createPart();
-    String name = DOMUtils.getAttribute(partEl, Constants.ATTR_NAME);
-
-    // WS-I: The try-catch was added for WSI2416
-    QName elementName;
-
-    try
-    {
-      elementName =
-        DOMUtils.getQualifiedAttributeValue(
-          partEl,
-          Constants.ATTR_ELEMENT,
-          Constants.ELEM_MESSAGE,
-          false);
-    }
-
-    catch (WSDLException we)
-    {
-      String prefixedValue =
-        DOMUtils.getAttribute(partEl, Constants.ATTR_ELEMENT);
-      int index = prefixedValue.indexOf(':');
-      String prefix = (index != -1) ? prefixedValue.substring(0, index) : null;
-      String localPart = prefixedValue.substring(index + 1);
-
-      elementName = new QName(localPart);
-    }
-
-    QName typeName =
-      DOMUtils.getQualifiedAttributeValue(
-        partEl,
-        Constants.ATTR_TYPE,
-        Constants.ELEM_MESSAGE,
-        false);
-
-    if (name != null)
-    {
-      part.setName(name);
-    }
-
-    if (elementName != null)
-    {
-      part.setElementName(elementName);
-    }
-
-    if (typeName != null)
-    {
-      part.setTypeName(typeName);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(partEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        part.setDocumentationElement(tempEl);
-      }
-      else
-      {
-        DOMUtils.throwWSDLException(tempEl);
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    Map extensionAttributes = part.getExtensionAttributes();
-
-    extensionAttributes.putAll(getPartAttributes(partEl, def));
-
-    // Need to do something here to locate part definition.
-
-    // Try to add element to list
-    addElementToList(partEl, part);
-
-    return part;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePortType(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected PortType parsePortType(Element portTypeEl, Definition def)
-    throws WSDLException
-  {
-    PortType portType = super.parsePortType(portTypeEl, def);
-
-    // Try to add element to list
-    addElementToList(portTypeEl, portType);
-
-    return portType;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseOperation(org.w3c.dom.Element, javax.wsdl.PortType, javax.wsdl.Definition)
-   */
-  protected Operation parseOperation(
-    Element opEl,
-    PortType portType,
-    Definition def)
-    throws WSDLException
-  {
-    Operation op = super.parseOperation(opEl, portType, def);
-
-    // Try to add element to list
-    addElementToList(opEl, op);
-
-    return op;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseService(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Service parseService(Element serviceEl, Definition def)
-    throws WSDLException
-  {
-    Service service = super.parseService(serviceEl, def);
-
-    // Try to add element to list
-    addElementToList(serviceEl, service);
-
-    return service;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parsePort(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Port parsePort(Element portEl, Definition def) throws WSDLException
-  {
-    Port port = super.parsePort(portEl, def);
-
-    // Try to add element to list
-    addElementToList(portEl, port);
-
-    return port;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseExtensibilityElement(java.lang.Class, org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected ExtensibilityElement parseExtensibilityElement(
-    Class parentType,
-    Element el,
-    Definition def)
-    throws WSDLException
-  {
-    ExtensibilityElement extElement =
-      super.parseExtensibilityElement(parentType, el, def);
-
-    // Try to add element to list
-    addElementToList(el, extElement);
-
-    return extElement;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseInput(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Input parseInput(Element inputEl, Definition def)
-    throws WSDLException
-  {
-    Input input = super.parseInput(inputEl, def);
-
-    // Try to add element to list
-    addElementToList(inputEl, input);
-
-    return input;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseOutput(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Output parseOutput(Element outputEl, Definition def)
-    throws WSDLException
-  {
-    Output output = super.parseOutput(outputEl, def);
-
-    // Try to add element to list
-    addElementToList(outputEl, output);
-
-    return output;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#parseFault(org.w3c.dom.Element, javax.wsdl.Definition)
-   */
-  protected Fault parseFault(Element faultEl, Definition def)
-    throws WSDLException
-  {
-    Fault fault = super.parseFault(faultEl, def);
-
-    // Try to add element to list
-    addElementToList(faultEl, fault);
-
-    return fault;
-  }
-
-  /* (non-Javadoc)
-   * @see com.ibm.wsdl.xml.WSDLReaderImpl#getDocument(org.xml.sax.InputSource, java.lang.String)
-   */
-  protected Document getDocument(InputSource inputSource, String desc)
-    throws WSDLException
-  {
-    ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
-    try
-	{
-      Thread.currentThread().setContextClassLoader(WSDLReaderImpl.class.getClassLoader());   	
-	
-  	  //DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-      DocumentBuilderFactory factory =
-        new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
-      factory.setNamespaceAware(true);
-      factory.setValidating(false);
-
-      DocumentBuilder builder = factory.newDocumentBuilder();
-      Document doc = builder.parse(inputSource);
-
-      return doc;
-    }
-    catch (Throwable t)
-    {
-      throw new WSDLException(
-        WSDLException.PARSER_ERROR,
-        "Problem parsing '" + desc + "'.",
-        t);
-    }
-    finally
-    { 
-      Thread.currentThread().setContextClassLoader(currentLoader);
-    }    
-  }
-
-  /**
-   * Get element list.
-   * @return the element list.
-   */
-  public WSDLElementList getElementList()
-  {
-    return this.wsdlElementList;
-  }
-
-  /** 
-   * Add WSDL element to element list.
-   */
-  private void addElementToList(Element element, Object wsdlElement)
-  {
-    ElementLocation elementLocation = null;
-
-    try
-    {
-      // See if the element object is an instanceof org.apache.xerces.dom.ElementImpl
-      ElementImpl elementImpl = (ElementImpl) element;
-
-      // If it is, then get the element location information
-      elementLocation =
-        (ElementLocation) elementImpl.getUserData();
-
-      // Add it to the list
-      this.wsdlElementList.addElement(wsdlElement, elementLocation);
-    }
-
-    catch (ClassCastException cce)
-    {
-      // ADD: Should we add the element with a null or zero location?
-    }
-  }
-
-  /**
-   * This method is used when a WSDL document contains duplicate operation names.
-   * It is the same as the original parseBindingOperation method, except that it will
-   * just find the first operation that matches instead of throwing an exception.
-   */
-  private BindingOperation parseBindingOperationWithDuplicateNames(
-    Element bindingOperationEl,
-    PortType portType,
-    Definition def)
-    throws WSDLException
-  {
-    BindingOperation bindingOperation = def.createBindingOperation();
-    String name =
-      DOMUtils.getAttribute(bindingOperationEl, Constants.ATTR_NAME);
-
-    if (name != null)
-    {
-      bindingOperation.setName(name);
-    }
-
-    Element tempEl = DOMUtils.getFirstChildElement(bindingOperationEl);
-
-    while (tempEl != null)
-    {
-      if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, tempEl))
-      {
-        bindingOperation.setDocumentationElement(tempEl);
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_INPUT, tempEl))
-      {
-        bindingOperation.setBindingInput(parseBindingInput(tempEl, def));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_OUTPUT, tempEl))
-      {
-        bindingOperation.setBindingOutput(parseBindingOutput(tempEl, def));
-      }
-      else if (QNameUtils.matches(Constants.Q_ELEM_FAULT, tempEl))
-      {
-        bindingOperation.addBindingFault(parseBindingFault(tempEl, def));
-      }
-      else
-      {
-        bindingOperation.addExtensibilityElement(
-          parseExtensibilityElement(BindingOperation.class, tempEl, def));
-      }
-
-      tempEl = DOMUtils.getNextSiblingElement(tempEl);
-    }
-
-    if (portType != null)
-    {
-      BindingInput bindingInput = bindingOperation.getBindingInput();
-      BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-      String inputName = (bindingInput != null ? bindingInput.getName() : null);
-      String outputName =
-        (bindingOutput != null ? bindingOutput.getName() : null);
-
-      //Operation op = portType.getOperation(name, inputName, outputName);
-      // Get all operations, and then find the first one that matches
-      Operation op = null, checkOperation;
-      Iterator iterator = portType.getOperations().iterator();
-      while (iterator.hasNext() && op == null)
-      {
-        // Get the next operation
-        checkOperation = (Operation) iterator.next();
-
-        // Get the operation name, input name, and output name
-        String checkName = checkOperation.getName();
-        String checkInputName =
-          (checkOperation.getInput() == null
-            ? null
-            : checkOperation.getInput().getName());
-        String checkOutputName =
-          (checkOperation.getOutput() == null
-            ? null
-            : checkOperation.getOutput().getName());
-
-        // If the names match, then that operation
-        if ((checkName != null && checkName.equals(name))
-          && ((checkInputName != null && checkInputName.equals(inputName))
-            || (checkInputName == null && inputName == null))
-          && ((checkOutputName != null && checkOutputName.equals(outputName))
-            || (checkOutputName == null && outputName == null)))
-        {
-          op = checkOperation;
-        }
-      }
-
-      if (op == null)
-      {
-        op = def.createOperation();
-        op.setName(name);
-        portType.addOperation(op);
-      }
-
-      bindingOperation.setOperation(op);
-    }
-
-    return bindingOperation;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java
deleted file mode 100644
index 9b408ff..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/WSDLUtils.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-
-/**
- * Set of XML related utilities.
- * 
- * @author Peter  Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public final class WSDLUtils
-{
-
-  /**
-   * Method isRpcLiteral.
-   * @param bindingStyle a binding style.
-   * @param operation a WSDL binding operation artifact.
-   * @return true if binding is rpc literal.
-   */
-  public static boolean isRpcLiteral(
-    String bindingStyle,
-    BindingOperation operation)
-  {
-    return checkStyleAndUse(
-      WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
-      WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT,
-      bindingStyle,
-      operation);
-  }
-
-  /**
-   * Method isDocLiteral.
-   * @param bindingStyle  the binding style.
-   * @param operation a WSDL binding operation.
-   * @return true if binding is document literal. 
-   */
-  public static boolean isDocLiteral(
-    String bindingStyle,
-    BindingOperation operation)
-  {
-    return checkStyleAndUse(
-      WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
-      WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT,
-      bindingStyle,
-      operation);
-  }
-
-  /**
-   * Method checkStyleAndUse.
-   */
-  private static boolean checkStyleAndUse(
-    String checkStyle,
-    String checkUse,
-    String bindingStyle,
-    BindingOperation bindingOperation)
-  {
-    boolean styleFound = false;
-    boolean styleAndUseFound = false;
-
-    // Find the soapbind:operation element
-    SOAPOperation soapOperation = getSoapOperation(bindingOperation);
-
-    // If there are no ext elements, then check against binding style
-    if ((soapOperation == null) || (soapOperation.getStyle() == null))
-    {
-      if (checkStyle.equals(bindingStyle))
-        styleFound = true;
-    }
-
-    else
-    {
-      if (checkStyle.equals(soapOperation.getStyle()))
-        styleFound = true;
-    }
-
-    // If style found then check use
-    if (styleFound)
-    {
-      // Find the soapbind:body element
-      SOAPBody soapBody = getInputSoapBody(bindingOperation);
-
-      // If there are no soapbind:body, then check against default use value
-      if ((soapBody == null) || (soapBody.getUse() == null))
-      {
-        if (checkUse.equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
-          styleAndUseFound = true;
-      }
-
-      else
-      {
-        if (checkUse.equals(soapBody.getUse()))
-          styleAndUseFound = true;
-      }
-    }
-
-    return styleAndUseFound;
-  }
-
-  /**
-   * Get soapbind:binding.
-   * @param binding  a Binding object.
-   * @return soapbind:binding.
-   */
-  public static SOAPBinding getSoapBinding(Binding binding)
-  {
-    SOAPBinding soapBinding = null;
-
-    List extElements = null;
-
-    // Find the soapbind:operation element
-    if ((extElements = binding.getExtensibilityElements()) != null)
-    {
-      for (Iterator iterator = extElements.iterator();
-        iterator.hasNext() && (soapBinding == null);
-        )
-      {
-        Object obj = iterator.next();
-
-        if (obj instanceof SOAPBinding)
-        {
-          soapBinding = (SOAPBinding) obj;
-        }
-      }
-    }
-
-    return soapBinding;
-  }
-
-  /**
-   * Get soapbind:operation.
-   * @param bindingOperation  a BindingOperation object.
-   * @return soapbind:operation.
-   */
-  public static SOAPOperation getSoapOperation(BindingOperation bindingOperation)
-  {
-    SOAPOperation soapOperation = null;
-
-    List extElements = null;
-
-    // Find the soapbind:operation element
-    if ((extElements = bindingOperation.getExtensibilityElements()) != null)
-    {
-      for (Iterator iterator = extElements.iterator();
-        iterator.hasNext() && (soapOperation == null);
-        )
-      {
-        Object obj = iterator.next();
-
-        if (obj instanceof SOAPOperation)
-        {
-          soapOperation = (SOAPOperation) obj;
-        }
-      }
-    }
-
-    return soapOperation;
-  }
-
-  /**
-   * Get soapbind:body from input element.
-   * @param bindingOperation  the BindingOperation object.
-   * @return soapbind:body from input element.
-   */
-  public static SOAPBody getInputSoapBody(BindingOperation bindingOperation)
-  {
-    SOAPBody soapBody = null;
-
-    List extElements = null;
-
-    // Find the soapbind:body element
-    if ((extElements =
-      bindingOperation.getBindingInput().getExtensibilityElements())
-      != null)
-    {
-      for (Iterator iterator = extElements.iterator();
-        iterator.hasNext() && (soapBody == null);
-        )
-      {
-        Object obj = iterator.next();
-
-        if (obj instanceof SOAPBody)
-        {
-          soapBody = (SOAPBody) obj;
-        }
-      }
-    }
-
-    return soapBody;
-  }
-
-  /**
-   * Find messages referenced by a header or headerfault.
-   * @param definition  a Definition object.
-   * @param binding  a Binding object.
-   * @return messages referenced by a header or headerfault.
-   */
-  public static HashSet findMessages(Definition definition, Binding binding)
-  {
-    BindingOperation bindingOperation;
-
-    HashSet tempMessages, bindingMessages = new HashSet();
-
-    HashSet portTypeMessages = findMessages(binding.getPortType());
-
-    // Process each operation
-    Iterator iterator = binding.getBindingOperations().iterator();
-    while (iterator.hasNext())
-    {
-      bindingOperation = (BindingOperation) iterator.next();
-
-      // Process the input and then the output
-      if (bindingOperation.getBindingInput() != null)
-      {
-        tempMessages =
-          findMessages(
-            bindingOperation
-              .getBindingInput()
-              .getExtensibilityElements()
-              .iterator(),
-            portTypeMessages,
-            definition);
-
-        // Add messages to binding message set
-        bindingMessages.addAll(tempMessages);
-      }
-
-      // Process output
-      if (bindingOperation.getBindingOutput() != null)
-      {
-        tempMessages =
-          findMessages(
-            bindingOperation
-              .getBindingOutput()
-              .getExtensibilityElements()
-              .iterator(),
-            portTypeMessages,
-            definition);
-
-        // Add messages to binding message set
-        bindingMessages.addAll(tempMessages);
-      }
-    }
-
-    return bindingMessages;
-  }
-
-  /**
-   * Find the messages that are referenced by a header or headerfault.
-   * @param portType a PortType object.
-   * @return he messages that are referenced by a header or headerfault.
-   */
-  public static HashSet findMessages(PortType portType)
-  {
-    HashSet messageSet = new HashSet();
-    ExtensibilityElement extElement;
-    Operation operation;
-
-    Iterator iterator = portType.getOperations().iterator();
-    while (iterator.hasNext())
-    {
-      // Get next operation to process
-      operation = (Operation) iterator.next();
-
-      // Get input and output message
-      if (operation.getInput() != null)
-        messageSet.add(operation.getInput().getMessage());
-      if (operation.getOutput() != null)
-        messageSet.add(operation.getOutput().getMessage());
-
-      // Process any faults
-      Iterator faults = operation.getFaults().values().iterator();
-      while (faults.hasNext())
-      {
-        messageSet.add(((Fault) faults.next()).getMessage());
-      }
-    }
-
-    return messageSet;
-  }
-
-  /**
-   * Find the messages that are referenced by a header or headerfault.
-   * @param extElementList a list of external elements.
-   * @param messageSet a set of messages.
-   * @param definition a Definition object.
-   * @return the messages that are referenced by a header or headerfault.
-   */
-  protected static HashSet findMessages(
-    Iterator extElementList,
-    HashSet messageSet,
-    Definition definition)
-  {
-    HashSet returnSet = new HashSet();
-    ExtensibilityElement extElement;
-    Message saveMessage = null;
-
-    while (extElementList.hasNext())
-    {
-      // Get ext. element
-      extElement = (ExtensibilityElement) extElementList.next();
-
-      QName messageQName;
-      Message message;
-
-      // If this is a soap:header element, then check for message reference
-      if (extElement instanceof SOAPHeader)
-      {
-        SOAPHeader soapHeader = (SOAPHeader) extElement;
-        if ((messageQName = soapHeader.getMessage()) != null)
-        {
-          // If message not found, then create a dummy message element
-          if ((message = definition.getMessage(messageQName)) == null)
-          {
-            message = definition.createMessage();
-            message.setQName(messageQName);
-            message.setUndefined(true);
-          }
-
-          if (!messageSet.contains(message))
-          {
-            returnSet.add(message);
-            saveMessage = message;
-          }
-        }
-
-        // Process any header faults within this header
-        Iterator headerFaultList = soapHeader.getSOAPHeaderFaults().iterator();
-        while (headerFaultList.hasNext())
-        {
-          // Get soap header fault
-          SOAPHeaderFault soapHeaderFault =
-            (SOAPHeaderFault) headerFaultList.next();
-          if ((messageQName = soapHeaderFault.getMessage()) != null)
-          {
-            // If message not found, then create a dummy message element
-            if ((message = definition.getMessage(messageQName)) == null)
-            {
-              message = definition.createMessage();
-              message.setQName(messageQName);
-              message.setUndefined(true);
-            }
-
-            // If message not in message set and return set, then add it  
-            if (!messageSet.contains(message)
-              && ((saveMessage == null)
-                || (saveMessage != null
-                  && !saveMessage.getQName().equals(message.getQName()))))
-              returnSet.add(message);
-          }
-        }
-      }
-    }
-
-    return returnSet;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java
deleted file mode 100644
index 635dd92..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/traversal/VisitorAdaptor.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl.traversal;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.w3c.dom.Element;
-
-/**
- * The class adapts the given object with the implemented
- * <code>WSDLVisitor</code> methods.
- * 
- * @author Kulik
- */
-public class VisitorAdaptor implements InvocationHandler
-{
-
-  // optimization hint
-  static final private Class[] nullClass = new Class[] {
-  };
-  static final private Object[] nullObject = new Object[] {
-  };
-  static final private Class[] visitorClass = new Class[] { WSDLVisitor.class };
-
-  /**
-   * The array is used for determination of actual javax.wsdl class
-   */
-  private static Class[] wsdl =
-    new Class[] {
-      Part.class,
-      Service.class,
-      Types.class,
-      Operation.class,
-      Input.class,
-      Output.class,
-      Fault.class,
-      Binding.class,
-      BindingOperation.class,
-      BindingInput.class,
-      BindingOutput.class,
-      BindingFault.class,
-      Import.class,
-      Element.class,
-      Message.class,
-      Port.class,
-      PortType.class,
-      Definition.class,
-      ExtensibilityElement.class,
-      SOAPBinding.class,
-      SOAPBody.class,
-      SOAPHeader.class,
-      SOAPHeaderFault.class,
-      SOAPFault.class,
-      SOAPOperation.class };
-
-  final private Object visitor;
-
-  private Map methods = new HashMap();
-
-  /**
-   * Constructor.
-   * @param o  a visitor object.
-   */
-  private VisitorAdaptor(Object o)
-  {
-    this.visitor = o;
-  }
-
-  /**
-   * Adds method to method binding.
-   * @param wsdlMethod    a WSDL method.
-   * @param targetMethod  a  target method.
-   */
-  private void addMethodBinding(Method wsdlMethod, Method targetMethod)
-  {
-    methods.put(wsdlMethod, targetMethod);
-  }
-
-  /**
-   * The method proxies all "visit(XXX)" methods to the corresponding
-   * "visit(XXX)" methods of the target visitor object. 
-   * @see java.lang.reflect.InvocationHandler#invoke(Object, Method, Object[])
-   */
-  public Object invoke(Object proxy, Method m, Object[] params)
-  {
-    try
-    {
-      Method target = (Method) methods.get(m);
-      // assert target != null
-      return target.invoke(visitor, params);
-    }
-    catch (Throwable t)
-    {
-      t.printStackTrace();
-    }
-    return null;
-  }
-
-  /**
-   * The method extract the short class name. 
-   * @param c  a class.
-   * @return the short class name.
-   */
-  static private String getName(Class c)
-  {
-    if (c != null)
-    {
-      String name = c.getName();
-      return name.substring(name.lastIndexOf(".") + 1);
-    }
-    return null;
-  }
-
-  /**
-   * The method generates proxy for the given visitor.
-   * Proxy redirects all visit(XXX) callback to the implemented in visitor
-   * object.
-   * @param visitor  a vistor object.
-   * @return a proxy for the given visitor.
-   */
-  public static WSDLTraversal adapt(Object visitor)
-  {
-    WSDLTraversal traversal = new WSDLTraversal();
-
-    if (visitor == null)
-      throw new IllegalArgumentException("Visitor object can not be NULL");
-
-    VisitorAdaptor adaptor = new VisitorAdaptor(visitor);
-
-    // check whether methods are implemented
-    // get real class of the object
-    Class c = visitor.getClass();
-    // iterates through wsdl artifacts and looking for
-    // void visit(XXX) implemented methods.  
-    for (int i = 0; i < wsdl.length; i++)
-      try
-      {
-        // if method is not found the exception will be thrown
-        Method m =
-          c.getMethod(
-            "visit",
-            new Class[] { wsdl[i], Object.class, WSDLTraversalContext.class });
-        // register binding WSDLVisitor method -> target visitor method
-        adaptor.addMethodBinding(
-          WSDLVisitor.class.getMethod(
-            "visit",
-            new Class[] { wsdl[i], Object.class, WSDLTraversalContext.class }),
-          m);
-        // register visitXXX in WSDLTraversalBuilder
-        m =
-          WSDLTraversal.class.getMethod(
-            "visit" + getName(wsdl[i]),
-            new Class[] { boolean.class });
-        m.invoke(traversal, new Object[] { Boolean.TRUE });
-      }
-      catch (Exception e)
-      {
-      }
-
-    // construct the WSDLVisitor by using java.lang.reflect.Proxy
-    ClassLoader loader = Thread.currentThread().getContextClassLoader();
-    WSDLVisitor wsdlVisitor =
-      (WSDLVisitor) Proxy.newProxyInstance(loader, visitorClass, adaptor);
-    // traverse WSDL document
-    traversal.setVisitor(wsdlVisitor);
-    return traversal;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java
deleted file mode 100644
index 12af18d..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/FileEntityResolver.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-
-/**
- * Entity resolve to resolve file entities.
- */
-public class FileEntityResolver implements XMLEntityResolver
-{
-
-  /**
-   * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
-   */
-  public XMLInputSource resolveEntity(XMLResourceIdentifier resource) throws XNIException, IOException
-  {
-    String publicId = resource.getPublicId();
-    String systemId = resource.getExpandedSystemId();
-    String url = systemId;
-    if(url == null)
-    {
-      url = publicId;
-    }
-    if(url == null)
-    {
-      url = resource.getNamespace();
-    }
-    if(url != null)
-    {
-      InputStream is = new LazyURLInputStream(url);
-      return new XMLInputSource(publicId, systemId, systemId, is, null);
-    }
-    return null;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java
deleted file mode 100644
index 8759de5..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineSchemaValidator.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
-
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import com.ibm.wsdl.Constants;
-
-/**
- * Plugin validator for the WSDL Validation framework. Validates inline schema found in a WSDL document.
- * 
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class InlineSchemaValidator
-{
-  List elements = null;
-
-
-  public Map validate(Object element, List parents, String filename) throws Exception
-  {
-  	elements = new Vector();
-    UnknownExtensibilityElement elem = (UnknownExtensibilityElement) element;
-    Definition wsdlDefinition = (Definition) parents.get(parents.size() - 1);
-    // Add in the namespaces defined in the doc already that aren't defined locally in this schema.
-    // There is no need to check for namespaces other then in the defintions and types elements as
-    // inline schema can not have any other parents and must have there two parents.
-    // First take care of the definitions element
-
-    // create the inline schema string
-	Element w3celement = elem.getElement();
-	Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,w3celement);
-	String targetNamespace = w3celement.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
-	// if the targetNamespace hasn't been defined for the schema use the 
-	// targetNamespace of the definitions element
-	/*if(targetNamespace == null || targetNamespace.equals(""))
-	 {
-	  targetNamespace = wsdlDefinition.getTargetNamespace();
-	  w3celement.setAttribute(Constants.ATTR_TARGET_NAMESPACE,targetNamespace);
-	}*/
-
-	String xsd = InlineSchemaGenerator.createXSDString(w3celement, elements, filename, parentnamespaces);
-
-    // If the namespace given is one of the old schema namespaces produce a warning.
-    String namespace = w3celement.getNamespaceURI();
-    if(namespace.equals(Constants.NS_URI_XSD_1999) || namespace.equals(Constants.NS_URI_XSD_2000))
-    {
-      throw new Exception("An old version of the schema namespace is specified.");
-    }
-
-    // now create and call the validator for the inline schema
-    XSDValidator schemav = new XSDValidator();
-
-    //String fileLocation = new URL(validatormanager.getFilename()).getPath();
-    InlineXSDResolver inlineEntityResolver =
-      getEntityResolver(wsdlDefinition, (Types) parents.get(0), filename, targetNamespace);
-    //	add in the external XSD Catalog to resolve schemas offline
-    XMLEntityResolverChain entityResolverChain = new XMLEntityResolverChain();
-    entityResolverChain.addEntityResolver(inlineEntityResolver);
-    entityResolverChain.addEntityResolver(new FileEntityResolver());
-    entityResolverChain.addEntityResolver(XMLCatalogResolver.getInstance());
-    schemav.validateInlineSchema(xsd, targetNamespace, filename, entityResolverChain, inlineEntityResolver);
-
-    // check if the SOAP Encoding namespace is required but not imported
-    if (InlineSchemaGenerator.soapEncodingRequiredNotImported(elem.getElement(), filename,parentnamespaces))
-    {
-      throw new Exception("The inline schema uses an element or type from "
-        + "the SOAP encoding namespace but the namespace has not been imported. "
-        + "The SOAP encoding namespace should be imported with an import "
-        + "statement before it is used.");
-    }
-
-    // If the schema isn't valid
-    if (!schemav.isValid())
-    {
-      // Gathering all the errors
-      StringBuffer exception = new StringBuffer();
-      Iterator i = schemav.getErrors().iterator();
-      while (i.hasNext())
-      {
-        exception.append(i.next()).append('\n');
-      }
-      // throw an exception
-      throw new Exception(exception.toString());
-    }
-    // if the schema is valid
-    else
-    {
-      Map map = new HashMap(1);
-      map.put(targetNamespace, schemav.getXSModel());
-      return map;
-    }
-  }
-
-  /**
-   * Get an entity resolver that will resolve inline schemas.  Every inline schema is preregistered with
-   * the resolver.
-   * 
-   * @param wsdlDefinition The WSDL definitions element.
-   * @param types The types element.
-   * @param referenceLocation The location of the file that contains this schema.
-   * @param targetNamespace The targetNamespace of the schema.
-   * @return An entity resolver that can resolve inline schemas.
-   */
-  protected InlineXSDResolver getEntityResolver(Definition wsdlDefinition, Types types, String referenceLocation, String targetNamespace)
-  {
-    InlineXSDResolver entityResolver = new InlineXSDResolver();
-//    entityResolver.setReferenceLocation(referenceLocation);
-    List schemas = types.getExtensibilityElements();
-    if (schemas != null)
-    {
-      Iterator iSchemas = schemas.iterator();
-      while (iSchemas.hasNext())
-      {
-        UnknownExtensibilityElement extElem = (UnknownExtensibilityElement) iSchemas.next();
-        String thisNamespace = extElem.getElement().getAttribute(Constants.ATTR_TARGET_NAMESPACE);
-        if (thisNamespace != null && !thisNamespace.equalsIgnoreCase(targetNamespace))
-        {
-
-        	Element element = extElem.getElement();
-			
-//			create the inline schema string
-			 //Element w3celement = elem.getElement();
-			 Hashtable parentnamespaces = getNamespaceDeclarationsFromParents(wsdlDefinition,element);
-			 String xsd = InlineSchemaGenerator.createXSDString(element, elements, referenceLocation, parentnamespaces);
-        	//addNamespaceDeclarationsFromParents(wsdlDefinition,element);
-          entityResolver.add(thisNamespace, xsd);
-        }
-
-      }
-    }
-    return entityResolver;
-  }
-  
-  /**
-   * Get the namespace declarations as in the form 
-   * xmlns="somenamespace"
-   * from the definitions and types elements and add them to the schema element so the schema 
-   * validator will have access to them.
-   * 
-   * @param wsdlDefinition The WSDL definitions element.
-   * @param element The types element.
-   * @return A hashtable with the namespace elements from the elements provided.
-   */
-  protected Hashtable getNamespaceDeclarationsFromParents(Definition wsdlDefinition, Element element)
-  {
-  	Hashtable nss = new Hashtable();
-    Iterator nameSpaces = wsdlDefinition.getNamespaces().keySet().iterator();
-
-    String XMLNS = Constants.ATTR_XMLNS;
-    
-    String schemaLocation = "";
-    while (nameSpaces.hasNext())
-    {
-      String nsprefix = XMLNS;
-      String ns = (String) nameSpaces.next();
-      if (!ns.equalsIgnoreCase(""))
-      {
-        nsprefix += ":";
-      }
-      if (!element.hasAttribute(nsprefix + ns))
-      {
-      	nss.put(nsprefix + ns, wsdlDefinition.getNamespace(ns));
-//        element.setAttribute(nsprefix + ns, wsdlDefinition.getNamespace(ns));
-      }
-
-    }
-    // Next handle the parent types element
-    NamedNodeMap atts = element.getParentNode().getAttributes();
-    int attslength = atts.getLength();
-    for (int i = 0; i < attslength; i++)
-    {
-      Node tempnode = atts.item(i);
-      String nodename = tempnode.getNodeName();
-      // if this is a namespace attribute
-      if (nodename.indexOf(XMLNS) != -1)
-      {
-		nss.put(nodename,  tempnode.getNodeValue());
-        //element.setAttribute(nodename, tempnode.getNodeValue());
-      }
-    }
-    return nss;
-  }
-  
-  /**
-   * Given a line number for the schema returns the element found on that line. 
-   * Useful for obtaining elements from schema Strings.
-   * 
-   * @param line The line number for the schema.
-   * @return The object located at the line or at line 0 if the line is invalid.
-   */
-   public Object getObjectAtLine(int line)
-   {
-   	if(line < 0 || line >= elements.size())
-   	{
-   	  line = 0;
-   	}
-	return elements.get(line);
-   }
-   
-  /**
-   * Replace any instance of the 2001 schema namespace in the given message with
-   * the given namespace.
-   * 
-   * @param message The message to replace the namespace in.
-   * @param namespace The namespace used for replacement.
-   * @return The message with the 2001 schema namespace replaced by the given namespace.
-   */
-  private String replaceNamespace(String message, String namespace)
-   {
-     String xsd2001 = Constants.NS_URI_XSD_2001;
-     int start = message.indexOf(xsd2001);
-     int end = start + xsd2001.length();
-     if(start < 0)
-     {
-       return message;
-     }
-     String startString = message.substring(0,start);
-     String endString = message.substring(end,message.length());
-     return startString + namespace + endString;
-   }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java
deleted file mode 100644
index 1e3268b..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/InlineXSDResolver.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Hashtable;
-
-import org.apache.xerces.xni.XMLResourceIdentifier;
-import org.apache.xerces.xni.XNIException;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-
-/**
- * An XMLEntityResolver that allows inline schemas to resolve each other through imports.
- * 
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class InlineXSDResolver implements XMLEntityResolver
-{
-  protected Hashtable entities = new Hashtable();
-  protected XMLInputSource referringSchemaInputSource = null;
-  protected String referringSchemaNamespace = null;
-
-  /**
-   * Constuctor.
-   */
-  public InlineXSDResolver()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.apache.xerces.xni.parser.XMLEntityResolver#resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier)
-   */
-  public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier)
-		 throws XNIException, IOException {
-	String systemId = resourceIdentifier.getExpandedSystemId();
-	String publicId = resourceIdentifier.getPublicId();
-	String namespace = resourceIdentifier.getNamespace();
-	XMLInputSource is = null;
-	Reader reader = null;
-	String schema = null;
-	if (systemId == null)
-	{
-	  if(publicId == null)
-	  {
-	  	if(namespace == null)
-	  	{	
-	      return null;
-	  	}
-	  	else
-	  	{
-	  		systemId = namespace;
-	  	}
-	  }
-	  else
-	  {	
-	    systemId = publicId;
-	  }
-	}
-	  
-	if(referringSchemaNamespace != null && referringSchemaNamespace.equals(systemId))
-	{
-		if(referringSchemaInputSource!=null)
-		{
-			return referringSchemaInputSource;
-		}
-	}
-	else if ((schema = (String) entities.get(systemId)) != null && !schema.equals(""))
-	{
-		is = new XMLInputSource(publicId, systemId, systemId,new StringReader(schema),null);
-	}
-	
-    //if(is == null)
-    //{
-    //	throw new IOException();
-    //}
-	return is;
-  }
-
-  /**
-   * Add an inline schema.
-   * 
-   * @param targetNamespace - the target namespace of the schema
-   * @param schema - a string representation of the schema
-   */
-  public void add(String targetNamespace, String schema)
-  {
-    entities.put(targetNamespace, schema);
-  }
-  
-  /**
-   * Add the referring inline schema. 
-   * 
-   * @param inputSource - a representation of the inline schema
-   * @param namespace - the namespace of the inline schema
-   */
-  public void addReferringSchema(XMLInputSource inputSource, String namespace)
-  {
-    referringSchemaInputSource = inputSource;
-    referringSchemaNamespace = namespace;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java
deleted file mode 100644
index 0f17a474..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/wsdl/xsd/XSDValidator.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl.xsd;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.xerces.parsers.XMLGrammarPreparser;
-import org.apache.xerces.util.XMLGrammarPoolImpl;
-import org.apache.xerces.xni.grammars.XMLGrammarDescription;
-import org.apache.xerces.xni.grammars.XMLGrammarLoader;
-import org.apache.xerces.xni.grammars.XMLGrammarPool;
-import org.apache.xerces.xni.grammars.XSGrammar;
-import org.apache.xerces.xni.parser.XMLEntityResolver;
-import org.apache.xerces.xni.parser.XMLInputSource;
-import org.apache.xerces.xs.XSModel;
-
-
-/**
- * Validate schemas from files or String.
- * 
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- */
-public class XSDValidator
-{
-  private XSModel xsModel;
-  private boolean isValidXSD;
-  private List errors;
-  private String filelocation;
-
-  /**
-   * Constructor.
-   */
-  public XSDValidator()
-  {
-    xsModel = null;
-    isValidXSD = false;
-    errors = new ArrayList();
-  }
-  /**
-   * Validate an inline schema.
-   * 
-   * @param schema A schema represented as a string.
-   * @param targetNamespace The target namespace of the schema.
-   * @param fileloc The uri of the file that contains the schema.
-   */
-  public void validateInlineSchema(String schema, String targetNamespace, String fileloc)
-  {
-    validateInlineSchema(schema, targetNamespace, fileloc, null, null);
-  }
-
-  /**
-   * Validate an inline schema and specify an entity resolver.
-   * 
-   * @param schema This schema represented as a string.
-   * @param targetNamespace The target namespace of the schema.
-   * @param fileloc The uri of the file that contains this schema.
-   * @param entityResolverChain The entity resolver chain.
-   * @param inlineSchemaEntityResolver An inline schema resolver for this schema.
-   */
-  public void validateInlineSchema(
-    String schema,
-    String targetNamespace,
-    String fileloc,
-    XMLEntityResolver entityResolverChain,
-    XMLEntityResolver inlineSchemaEntityResolver)
-  {
-    filelocation = fileloc;
-
-    validateXSD(schema, true, entityResolverChain,targetNamespace, inlineSchemaEntityResolver);
-  }
-
-  /**
-   * Validate the file located at the uri specified with the given entity resolver.
-   * 
-   * @param uri An absolute uri for the schema location.
-   * @param entityResolver An entity resolver to be used.
-   */
-  public void validate(String uri, XMLEntityResolver entityResolver)
-  {
-    validateXSD(uri, false, entityResolver, null, null);
-  }
-
-  /**
-   * Validate the schema.
-   * 
-   * @param schema The schema or it's location.
-   * @param inlineXSD True if an inline schema, false otherwise.
-   * @param entityResolver An entity resolver to use.
-   * @param targetNamespace The target namespace of the schema being validated.
-   * @param inlineSchemaEntityResolver An inline schema entity resolver.
-   */
-  protected void validateXSD(String schema, boolean inlineXSD, XMLEntityResolver entityResolver, String targetNamespace, XMLEntityResolver inlineSchemaEntityResolver)
-  {
-    ValidateErrorHandler errorHandler = new ValidateErrorHandler();
-    errorHandler.getErrorMessages().clear();
-    try
-    {
-		XMLGrammarPreparser grammarPreparser = new XMLGrammarPreparser();
-		XMLGrammarPool grammarPool = new XMLGrammarPoolImpl();
-		grammarPreparser.setGrammarPool(grammarPool);
-	 
-      grammarPreparser.setErrorHandler(errorHandler);
-      if (entityResolver != null)
-      {
-		grammarPreparser.setEntityResolver(entityResolver);
-      }
-
-      try
-      {
-		XMLInputSource is = null;
-        // this allows support for the inline schema in WSDL documents
-        if (inlineXSD)
-        {
-        	
-        	Reader reader = new StringReader(schema);
-			is = new XMLInputSource(null,filelocation,filelocation,reader,null);
-			
-			((InlineXSDResolver)inlineSchemaEntityResolver).addReferringSchema(is,targetNamespace);
-
-        }
-        // get the input source for an external schema file
-        else
-        {
-          is = new XMLInputSource(null,schema,schema);
-        }
-        
-        grammarPreparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA,null/*schemaLoader*/);
-        XMLGrammarLoader schemaLoader = grammarPreparser.getLoader(XMLGrammarDescription.XML_SCHEMA);
-
-		XSGrammar grammar = (XSGrammar)grammarPreparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,is);
-		xsModel = grammar.toXSModel();
-      }
-      catch (Exception e)
-      {
-        //parser will return null pointer exception if the document is structurally invalid
-        errors.add("Schema is structurally invalid.");
-      }
-
-      errors.addAll(errorHandler.getErrorMessages());
-    }
-    catch (Exception e)
-    {
-    	System.out.println(e);
-    }
-    if (errors.isEmpty())
-    {
-      isValidXSD = true;
-    }
-  }
-
-  /**
-   * Returns the XSModel created.
-   * 
-   * @return The XSModel created.
-   */
-
-  public XSModel getXSModel()
-  {
-  	return xsModel;
-  }
-  /**
-   * Returns true if the schema is valid, false otherwise.
-   * 
-   * @return True if the schema is valid, false otherwise.
-   */
-  public boolean isValid()
-  {
-    return isValidXSD;
-  }
-
-  /**
-   * Return the error list.
-   * 
-   * @return A list of error from the schema.
-   */
-  public List getErrors()
-  {
-    return errors;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java
deleted file mode 100644
index 2815a88..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/XMLUtils.java
+++ /dev/null
@@ -1,1531 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.xml;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.w3c.dom.Attr;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-
-import com.ibm.wsdl.util.StringUtils;
-
-/**
- * Set of XML related utilities.
- * 
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public final class XMLUtils
-{
-	/**
-	 * Some sax features that need to be set.
-	 */
-	public static final String FEATURE_NAMESPACE_PREFIXES = "http://xml.org/sax/features/namespace-prefixes";
-	public static final String FEATURE_NAMESPACES = "http://xml.org/sax/features/namespaces";
-	public static final String FEATURE_VALIDATION_SCHEMA = "http://apache.org/xml/features/validation/schema";
-	public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
-	public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
-	public static final String W3C_SOAP_12_SCHEMA = "http://schemas.xmlsoap.org/soap/envelope/";
-	public static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
-	public static final String PROPERTY_EXTERNAL_SCHEMA_LOCATION = "http://apache.org/xml/properties/schema/external-schemaLocation";
-
-	public static final String SOAP_ELEM_ENVELOPE = "Envelope";
-	public static final String SOAP_ELEM_HEADER = "Header";
-	public static final String SOAP_ELEM_BODY = "Body";
-	public static final String SOAP_ELEM_FAULT = "Fault";
-	public static final String SOAP_ELEM_FAULT_CODE = "faultcode";
-	public static final String SOAP_ELEM_FAULT_STRING = "faultstring";
-	public static final String SOAP_ELEM_FAULT_DETAIL = "detail";
-	public static final String SOAP_ELEM_FAULT_ACTOR = "faultactor";
-	public static final String SOAP_ATTR_MUST_UNDERSTAND = "mustUnderstand";
-	public static final String SOAP_ATTR_ACTOR = "actor";
-
-	/**
-	 * Get XMLReader.
-	 * 
-	 * @return the XMLReader value
-	 * @throws WSIException if there are problems getting the XMLReader
-	 *           implementation.
-	 */
-	public static XMLReader getXMLReader() throws WSIException {
-		XMLReader xmlReader = null;
-
-		try
-		{
-			xmlReader = (new org.apache.xerces.jaxp.SAXParserFactoryImpl())
-					.newSAXParser().getXMLReader();
-
-			// Set namespace aware
-			xmlReader.setFeature(FEATURE_NAMESPACE_PREFIXES, true);
-			xmlReader.setFeature(FEATURE_NAMESPACES, true);
-		}
-
-		catch (Exception e)
-		{
-			throw new WSIException("Could not get XMLReader implementation.", e);
-		}
-
-		return xmlReader;
-	}
-
-	/**
-	 * Parse text string as an XML document and return the document element.
-	 * 
-	 * @param text XML document text.
-	 * @param validate true if the document will be validate, false otherwise
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(String text, boolean validate)
-			throws WSIException {
-		return parseXML(new StringReader(text), validate);
-	}
-
-	/**
-	 * Parse text string as an XML document and return the document element.
-	 * 
-	 * @param text XML document text.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(String text) throws WSIException {
-		return parseXML(new StringReader(text));
-	}
-
-	/**
-	 * Parse the XML document and return the document element.
-	 * 
-	 * @param uri the location of the XML document.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 * @throws IOException if an I/O exception of some sort has occurred.
-	 */
-	public static Document parseXMLDocument(String uri) 
-	throws WSIException, IOException 
-	{
-		return parseXMLDocument(uri, null);
-	}
-
-	/**
-	 * Parse the XML document and return the document element.
-	 * 
-	 * @param uri the location of the XML document.
-	 * @param schema a String identifying related schema document.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 * @throws IOException if an I/O exception of some sort has occurred.
-	 */
-	public static Document parseXMLDocument(String uri, String schema)
-	throws WSIException, IOException 
-	{
-	      URL url = StringUtils.getURL(null, uri);
-	      InputStream inputStream = (InputStream)url.getContent();
-	      InputSource inputSource = new InputSource(inputStream);
-	      inputSource.setSystemId(url.toString());
-	      
-	      if (schema == null)
-	      	return parseXML(inputSource, false);
-	      else
-            return parseXML(inputSource, schema);
-	}
-
-	/**
-	 * Parses an XML document from a reader and returns the document object.
-	 * 
-	 * @param url a String locating the XML document.
-	 * @param schema a String identifying related schema document.
-	 * @param baseURI a base url to assist in locating the XML document.
-	 * @return Document.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXMLDocumentURL(String url, String schema,
-			String baseURI) throws WSIException {
-		Document document = null;
-
-		try
-		{
-			document = parseXMLDocumentURL(createURL(url, baseURI), schema);
-		}
-
-		catch (Exception e)
-		{
-			throw new WSIException(e.getMessage(), e);
-		}
-
-		return parseXMLDocumentURL(url, schema);
-	}
-
-	/**
-	 * Parses an XML document from a reader and returns the document object.
-	 * 
-	 * @param url a URL object identifying the XML document.
-	 * @param schema a String identifying related schema document.
-	 * @return Document.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXMLDocumentURL(URL url, String schema)
-			throws WSIException {
-		try
-		{
-	      InputStream inputStream = (InputStream)url.getContent();
-	      InputSource inputSource = new InputSource(inputStream);
-	      inputSource.setSystemId(url.toString());
-
-			Document doc = null;
-
-			if (schema == null)
-				doc = parseXML(inputSource);
-			else
-				doc = parseXML(inputSource, schema);
-
-			inputStream.close();
-			return doc;
-		}
-
-		catch (WSIException e)
-		{
-			throw e;
-		}
-
-		catch (Throwable t)
-		{
-			throw new WSIException(t.getMessage());
-		}
-	}
-
-	/**
-	 * Parses an XML document from a reader and returns the document object.
-	 * 
-	 * @param urlString a String locating the XML document.
-	 * @param baseURI a base url to assist in locating the XML document.
-	 * @return Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXMLDocumentURL(String urlString, String baseURI)
-			throws WSIException {
-		Document document = null;
-
-		try
-		{
-			URL url = createURL(urlString, baseURI);
-
-			document = parseXMLDocumentURL(url);
-		}
-
-		catch (WSIException we)
-		{
-			throw we;
-		}
-
-		catch (Exception e)
-		{
-			throw new WSIException(e.getMessage(), e);
-		}
-
-		return document;
-	}
-
-	/**
-	 * Parses an XML document from a reader and returns the document object.
-	 * 
-	 * @param url a URL object identifying the XML document.
-	 * @return Document.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXMLDocumentURL(URL url) throws WSIException {
-		Document document = null;
-
-		try
-		{
-			Reader reader = new InputStreamReader(url.openStream());
-			InputSource source = new InputSource(reader);
-			source.setSystemId(url.toString());
-			document = parseXML(source);
-
-			reader.close();
-		}
-
-		catch (Exception e)
-		{
-			throw new WSIException(e.getMessage(), e);
-		}
-
-		return document;
-	}
-
-	/**
-	 * Parse an XML document from a reader and return the document object.
-	 * 
-	 * @param reader a Reader object.
-	 * @param validate true if the document will be validate, false otherwise
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(InputSource source, boolean validate)
-			throws WSIException {
-		Document doc = null;
-		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
-		try
-		{
-    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
-
-  		  // Get the document factory
-		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
-		  // Set namespace aware, but for now do not validate
-		  factory.setNamespaceAware(true);
-		  factory.setIgnoringElementContentWhitespace(true);
-
-		  // ADD: This should be set to true when we have access to the schema
-		  // document
-		  factory.setValidating(false);
-
- 		  // Parse the document
-		  DocumentBuilder builder = factory.newDocumentBuilder();
-		  doc = builder.parse(source);
-		  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
-		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
-		  // supported only XML 1.0
-		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
-		  {
-			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
-						"1.1"))
-			{
-				throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
-						+ "is not supported, only XML 1.0 is supported.");
-			}
-		  }
-		}
-		catch (Exception e)
-		{
-			throw new WSIException("Could not parse XML document.", e);
-		}
-	    finally
-	    { 
-	      Thread.currentThread().setContextClassLoader(currentLoader);
-	    }    
-
-		// Return document
-		return doc;
-	}
-
-	/**
-	 * Parse an XML document from a reader and return the document object.
-	 * 
-	 * @param reader a Reader object.
-	 * @param validate true if the document will be validate, false otherwise
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(Reader reader, boolean validate)
-			throws WSIException {
-		Document doc = null;
-		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
-		try
-		{
-		  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
-		  ClassLoader tempLoader = Thread.currentThread().getContextClassLoader();
-		
-		  // Create input source
-		  InputSource inputSource = new InputSource(reader);
-
-		  // Get the document factory
-		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
-		  // Set namespace aware, but for now do not validate
-		  factory.setNamespaceAware(true);
-		  factory.setIgnoringElementContentWhitespace(true);
-
-		  // ADD: This should be set to true when we have access to the schema
-		  // document
-		  factory.setValidating(false);
-
-		  // Parse the document
-		  DocumentBuilder builder = factory.newDocumentBuilder();
-		  doc = builder.parse(inputSource);
-	   	  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
-		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
-		  // supported only XML 1.0
-		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
-		  {
-			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
-						"1.1"))
-			{
-			  throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
-							+ "is not supported, only XML 1.0 is supported.");
-			}
-	      }
-		}
-		catch (Exception e)
-		{
-			throw new WSIException("Could not parse XML document.", e);
-		}
-	    finally
-	    { 
-	      Thread.currentThread().setContextClassLoader(currentLoader);
-	    }    
-
-		// Return document
-		return doc;
-	}
-
-	/**
-	 * Parse an XML document from a input source and return the document object.
-	 * 
-	 * @param source a InputSource object.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(Reader reader) throws WSIException {
-		return parseXML(reader, false);
-	}
-
-	/**
-	 * Parse an XML document from a input source and return the document object.
-	 * 
-	 * @param source a InputSource object.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(InputSource source) throws WSIException {
-		return parseXML(source, false);
-	}
-
-	/**
-	 * Parse text string as an XML document and return the document element.
-	 * 
-	 * @param text XML document text.
-	 * @param schema a String identifying related schema document.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(String text, String schema)
-			throws WSIException {
-		return parseXML(new StringReader(text), schema);
-	}
-
-	/**
-	 * Parse text string as an XML document and return the document element.
-	 * 
-	 * @param text XML document text.
-	 * @param schemas a collection of related schema documents.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(String text, Collection schemas)
-			throws WSIException {
-		return parseXML(new StringReader(text), schemas);
-	}
-
-
-	/**
-	 * Parse the XML document and return the document element.
-	 * 
-	 * @param text XML document text.
-	 * @param schemaString a StringReader object.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 * @throws IOException if an I/O exception of some sort has occurred.
-	 */
-	public static Document parseXML(String text, StringReader schemaString)
-			throws WSIException, IOException {
-		return parseXML(new StringReader(text), schemaString);
-	}
-
-	/**
-	 * Parse the XML document and return the document element.
-	 * 
-	 * @param reader a Reader object.
-	 * @param schema a String identifying related schema document.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(Reader reader, String schema)
-			throws WSIException {
-		Document doc = null;
-		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
-		try
-		{
-    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
-		  // Create input source
-		  InputSource inputSource = new InputSource(reader);
-
-		  // Get the document factory
-		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
-		  // Set namespace aware, but for now do not validate
-		  factory.setNamespaceAware(true);
-		  factory.setIgnoringElementContentWhitespace(true);
-
-		  try
-		  {
-		    factory.setValidating(false);
-			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
- 		  }
-   		  catch (IllegalArgumentException e)
-		  {
-			String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
-					+ JAXP_SCHEMA_LANGUAGE
-					+ "\n"
-					+ "Check to see if parser conforms to JAXP 1.2 spec.";
-			throw new WSIException(errMessage, e);
-		  }
-		  factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schema));
-
-		  // Parse the document
-		  DocumentBuilder builder = factory.newDocumentBuilder();
-		  builder.setErrorHandler(new ErrHandler());
-		  doc = builder.parse(inputSource);
-
-		  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
-		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
-		  // supported only XML 1.0
-		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
-		  {
-			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals("1.1"))
-			{
-		 	  throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
-							+ "is not supported, only XML 1.0 is supported.");
-			}
-		  }
-	    }
-		catch (Exception e)
-		{
-			throw new WSIException("Could not parse XML document.", e);
-		}
-	    finally
-	    { 
-	      Thread.currentThread().setContextClassLoader(currentLoader);
-	    }    
-		// Return document
-    	return doc;
-	}
-
-	/**
-	 * Parse the XML document and return the document element.
-	 * 
-	 * @param reader a Reader object.
-	 * @param schema a String identifying related schema document.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(InputSource source, String schema)
-			throws WSIException {
-		Document doc = null;
-		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
-		try
-		{
-    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
- 		  // Get the document factory
-		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
-		  // Set namespace aware, but for now do not validate
-		  factory.setNamespaceAware(true);
-		  factory.setIgnoringElementContentWhitespace(true);
-
-		  factory.setValidating(false);
-		  try
-		  {
-			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
-		  }
-
-		  catch (IllegalArgumentException e)
-		  {
-			String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
-					+ JAXP_SCHEMA_LANGUAGE
-					+ "\n"
-					+ "Check to see if parser conforms to JAXP 1.2 spec.";
-			throw new WSIException(errMessage, e);
-		  }
-		  factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schema));
-
-          // Parse the document
-		  DocumentBuilder builder = factory.newDocumentBuilder();
-		  builder.setErrorHandler(new ErrHandler());
-		  doc = builder.parse(source);
-
-		  // workaround for compatibility Xerces 2.2.1 with Xerces 2.6.2,
-		  // Xerces 2.6.2 supported XML 1.1 but WSI-tool and Xerces 2.2.1
-		  // supported only XML 1.0
-		  if (doc instanceof org.apache.xerces.dom.DocumentImpl)
-		  {
-			if (((org.apache.xerces.dom.DocumentImpl) doc).getXmlVersion().equals(
-						"1.1"))
-			{
-				throw new WSIException("Fatal Error: XML version &quot;1.1&quot; "
-						+ "is not supported, only XML 1.0 is supported.");
-			}
-		  }
-		}
-		catch (Exception e)
-		{
-			throw new WSIException("Could not parse XML document.", e);
-		}
-	    finally
-	    { 
-	      Thread.currentThread().setContextClassLoader(currentLoader);
-	    }    
-
-		// Return document
-		return doc;
-
-	}
-
-	/**
-	 * Parse the XML document and return the document element.
-	 * 
-	 * @param filename a Reader object.
-	 * @param schemaString a StringReader object.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(Reader filename, StringReader schemaString)
-			throws WSIException {
-
-		Document doc = null;
-		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
-		try
-		{
-    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
-
-		  // Create input source
-		  InputSource inputSource = new InputSource(filename);
-
-		  // Get the document factory
-		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
-		  // Set namespace aware, but for now do not validate
-		  factory.setNamespaceAware(true);
-		  factory.setIgnoringElementContentWhitespace(true);
-
-		  factory.setValidating(false);
-		  try
-		  {
-			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
-		  } catch (IllegalArgumentException e)
-		  {
-			String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
-					+ JAXP_SCHEMA_LANGUAGE
-					+ "\n"
-					+ "Check to see if parser conforms to JAXP 1.2 spec.";
-			throw new WSIException(errMessage, e);
-		  }
-		  factory.setAttribute(JAXP_SCHEMA_SOURCE, new InputSource(schemaString));
-
-		  // Parse the document
-		  DocumentBuilder builder = factory.newDocumentBuilder();
-		  builder.setErrorHandler(new ErrHandler());
-		  doc = builder.parse(inputSource);
-		}
-		catch (Exception e)
-		{
-			throw new WSIException("Could not parse XML document.", e);
-		}
-	    finally
-	    { 
-	      Thread.currentThread().setContextClassLoader(currentLoader);
-	    }    
-
-		// Return document
-		return doc;
-
-	}
-
-	/**
-	 * Parse the XML document and return the document element.
-	 * 
-	 * @param filename a Reader object
-	 * @param schemaStrings a collection of related schema documents.
-	 * @return a Document object.
-	 * @throws WSIException if there is a problem parsing the XML document.
-	 */
-	public static Document parseXML(Reader filename, Collection schemaStrings)
-			throws WSIException {
-
-		Document doc = null;
-		ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();   
-		try
-		{
-    	  Thread.currentThread().setContextClassLoader(XMLUtils.class.getClassLoader());   
-
-		  // Create input source
-		  InputSource inputSource = new InputSource(filename);
-
-		  // Get the document factory
-		  DocumentBuilderFactory factory = new org.eclipse.wst.wsi.internal.core.xml.jaxp.DocumentBuilderFactoryImpl();
-
-		  // Set namespace aware, but for now do not validate
-		  factory.setNamespaceAware(true);
-		  factory.setIgnoringElementContentWhitespace(true);
-
-		  factory.setValidating(false);
-		  try
-		  {
-			factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
-		  } catch (IllegalArgumentException e)
-		  {
-		    String errMessage = "Error: JAXP DocumentBuilderFactory attribute not recognized: "
-					+ JAXP_SCHEMA_LANGUAGE
-					+ "\n"
-					+ "Check to see if parser conforms to JAXP 1.2 spec.";
-			throw new WSIException(errMessage, e);
-		  }
-		  // convert schema strings to array of InputSources
-		  Iterator i = schemaStrings.iterator();
-		  Vector readers = new Vector();
-		  while (i.hasNext())
-		  {
-			String nextSchema = (String) i.next();
-			readers.add(new InputSource(new StringReader(nextSchema)));
-		  }
-		  InputSource[] inputSources = (InputSource[]) readers
-				.toArray(new InputSource[]{});
-		  // pass an array of schema strings (each of which contains a schema)
-		  factory.setAttribute(JAXP_SCHEMA_SOURCE, inputSources);
-
-		  // Parse the document
-		  DocumentBuilder builder = factory.newDocumentBuilder();
-		  builder.setErrorHandler(new ErrHandler());
-		  doc = builder.parse(inputSource);
-		}
-		catch (Exception e)
-		{
-			throw new WSIException("Could not parse XML document.", e);
-		}
-	    finally
-	    { 
-	      Thread.currentThread().setContextClassLoader(currentLoader);
-	    }    
-
-		// Return document
-		return doc;
-
-	}
-
-	/**
-	 * Get attribute value with the given name defined for the specified element.
-	 * 
-	 * @param element an Element object.
-	 * @param attrName a name of an attribute
-	 * @return the attribute value.
-	 */
-	public static String getAttributeValue(Element element, String attrName) {
-		String attrValue = null;
-		Attr attr = null;
-
-		// Get the attribute using its name
-		if ((attr = element.getAttributeNode(attrName)) != null)
-		{
-			attrValue = attr.getValue().trim();
-		}
-
-		// Return attribute value
-		return attrValue;
-	}
-
-	/**
-	 * Get attribute value.
-	 * 
-	 * @param element an Element object.
-	 * @param attrName a name of an attribute
-	 * @param defaultValue a default value for the specified attribute.
-	 * @return the attribute value if found. Otherwise the specified default
-	 *         value.
-	 */
-	public static String getAttributeValue(Element element, String attrName,
-			String defaultValue) {
-		String returnValue = defaultValue;
-		String attrValue = null;
-
-		if ((attrValue = getAttributeValue(element, attrName)) != null)
-			returnValue = attrValue;
-
-		return returnValue;
-	}
-
-	/**
-	 * Get attribute value.
-	 * 
-	 * @param element an Element object.
-	 * @param namespace a namespace.
-	 * @param attrName a name of an attribute
-	 * @return the attribute value.
-	 */
-	public static String getAttributeValueNS(Element element, String namespace,
-			String attrName) {
-		String attrValue = null;
-		Attr attr = null;
-
-		// Get the attribute using its name
-		if ((attr = element.getAttributeNodeNS(namespace, attrName)) != null)
-		{
-			attrValue = attr.getValue().trim();
-		}
-
-		// Return attribute value
-		return attrValue;
-	}
-
-	/**
-	 * Get the first child element from the input elment.
-	 * 
-	 * @param element an Element object.
-	 * @return the firstchild element.
-	 */
-	public static Element getFirstChild(Element element) {
-		// Return the first child element
-		return findNextSibling(element.getFirstChild());
-	}
-
-	/**
-	 * Get the next sibling element.
-	 * 
-	 * @param element - an Element object.
-	 * @return the next sibling element.
-	 */
-	public static Element getNextSibling(Element element) {
-		// Return next sibling element
-		return findNextSibling(element.getNextSibling());
-	}
-
-	/**
-	 * Find the next sibling element.
-	 * 
-	 * @param startNode XML start node.
-	 * @return the next sibling element.
-	 */
-	protected static Element findNextSibling(Node startNode) {
-		Node node = null;
-		Element returnElement = null;
-
-		// Find the next sibling element
-		for (node = startNode; node != null && returnElement == null; node = node
-				.getNextSibling())
-		{
-			// If this node is an element node, then return it
-			if (node.getNodeType() == Node.ELEMENT_NODE)
-			{
-				returnElement = (Element) node;
-			}
-		}
-
-		// Return next sibling element
-		return (Element) returnElement;
-	}
-
-	/**
-	 * Find the previous sibling element.
-	 * 
-	 * @param startNode XML start node.
-	 * @return the previous sibling element.
-	 */
-	public static Element findPreviousSibling(Node startNode) {
-		if (startNode == null)
-			return null;
-
-		while (startNode != null)
-		{
-			startNode = startNode.getPreviousSibling();
-			if (startNode == null)
-				return null;
-			if (startNode.getNodeType() == Node.ELEMENT_NODE)
-				return (Element) startNode;
-		}
-
-		return null;
-	}
-
-	/**
-	 * Get the text that is associated with this element.
-	 * 
-	 * @param element an Element object.
-	 * @return the text that is associated with this element.
-	 */
-	public static String getText(Element element) {
-		String text = null;
-
-		// Get first child element
-		Node node = element.getFirstChild();
-
-		// NodeList nodeList = element.getChildNodes();
-
-		// int length = nodeList.getLength();
-
-		// Process while there are nodes and the text hasn't been found
-		while ((node != null) && (text == null))
-		{
-			// If a text node or cdata section is found, then get text
-			if ((node.getNodeType() == Node.TEXT_NODE)
-					|| (node.getNodeType() == Node.CDATA_SECTION_NODE))
-			{
-				text = ((CharacterData) node).getData();
-			}
-
-			// Get next sibling
-			node = node.getNextSibling();
-		}
-
-		if (text != null)
-			text = text.trim();
-
-		return text;
-	}
-
-	/**
-	 * Determine if an element is represented by the QName.
-	 * 
-	 * @param qname a QName object.
-	 * @param element an Element object.
-	 * @return true if an element is represented by the QName.
-	 */
-	public static boolean equals(QName qname, Element element) {
-		boolean equals = false;
-
-		// If both the namespace URI and local name are the same, then they are
-		// equal
-		if ((qname.getNamespaceURI().equals(element.getNamespaceURI()))
-				&& (qname.getLocalPart().equals(element.getLocalName())))
-		{
-			equals = true;
-		}
-
-		return equals;
-	}
-
-	/**
-	 * XML encode a text string.
-	 * 
-	 * @param text - a String.
-	 * @return an XML encoded text string.
-	 */
-	public static String xmlEscapedString(String text) 
-	{
-	  if (text == null) return text;
-	  else
-	  {
-	    StringBuffer sb = new StringBuffer(text.length()*2);
-	    int size = text.length();
-	    for (int i=0; i<size; i++)
-	    {
-	      char c = text.charAt(i);
-	      switch (c)
-		  {
-             case '<': 
-               sb.append("&lt;");
-               break;
-             case '>': 
-             	sb.append("&gt;");
-                break;
-             case '&': 
-             	sb.append("&amp;");
-                break;
-             case '"': 
-             	sb.append("&quot;");
-                break;
-             case '\'': 
-             	sb.append("&apos;");
-                break;
-             case '\r': 
-             	sb.append("&#xd;");
-                break;
-             default:
-             	sb.append(c);
-		  }
-		}
-	    return  sb.toString();
-	  }
-	}
-
-	/**
-	 * XML encode a text string.
-	 * 
-	 * @param text - a String.
-	 * @return an XML encoded text string.
-	 */
-	public static String xmlRemoveEscapedString(String text) 
-	{
-	  if (text == null) return text;
-	  else
-	  {
-        StringBuffer sb = new StringBuffer(text);
-      
-	    int i = sb.indexOf("&#xd;");
-	    while(i != -1)
-	    {
-	      sb.replace(i, i+5, "\r");
-	      i = sb.indexOf("&#xd;");
-	    }
-	    
-	    i = sb.indexOf("&lt;");
-	    while(i != -1)
-	    {
-	      sb.replace(i, i+4, "<");
-	      i = sb.indexOf("&lt;");
-	    }
-
-	    i = sb.indexOf("&gt;");
-	    while(i != -1)
-	    {
-	      sb.replace(i, i+4, ">");
-	      i = sb.indexOf("&gt;");
-	    }
-
-	    i = sb.indexOf("&quot;");
-	    while(i != -1)
-	    {
-	      sb.replace(i, i+6, "\"");
-	      i = sb.indexOf("&quot;");
-	    }
-
-	    i = sb.indexOf("&apos;");
-	    while(i != -1)
-	    {
-	      sb.replace(i, i+6, "\'");
-	      i = sb.indexOf("&apos;");
-	    }
-
-	    i = sb.indexOf("&amp;");
-	    while(i != -1)
-	    {
-	      sb.replace(i, i+5, "&");
-	      i = sb.indexOf("&amp;");
-	    }
- 	    return  sb.toString();
-	  }
-	}
-	/**
-	 * Get the specified element from a parent element.
-	 * 
-	 * @param elementName the element tag to serach for.
-	 * @param parentElement the parent element.
-	 * @return an element given the name and the parent element.
-	 */
-	public static Element getElement(String elementName, Element parentElement) {
-		Element returnElement = null;
-		NodeList nl;
-
-		// Get the list of elements
-		if ((nl = parentElement.getElementsByTagName(elementName)) != null)
-		{
-			// Return first element found
-			returnElement = (Element) nl.item(0);
-		}
-
-		// Return element
-		return returnElement;
-	}
-
-	/**
-	 * Determine if this element matches specified local name in the specified
-	 * namespace.
-	 * 
-	 * @param element an Element object.
-	 * @param namespaceURI a namespace.
-	 * @param localName a local name.
-	 * @return true if this element matches specified local name in the specified
-	 *         namespace.
-	 */
-	public static boolean isElement(Element element, String namespaceURI,
-			String localName) {
-		boolean isElement = false;
-
-		if (element != null)
-		{
-			// Check is
-			if (element.getNamespaceURI().equals(namespaceURI)
-					&& element.getLocalName().equals(localName))
-			{
-				isElement = true;
-			}
-		}
-
-		return isElement;
-	}
-
-	/**
-	 * Determine if this element matches specified local name in the specified
-	 * namespace.
-	 * 
-	 * @param element an Element object.
-	 * @param namespaceURIs a list of valid namespaces.
-	 * @param localName a local name.
-	 * @return true if this element matches specified local name in the specified
-	 *         namespace.
-	 */
-	public static boolean isElement(Element element, List namespaceURIs,
-			String localName) {
-		boolean isElement = false;
-
-		if (element != null)
-		{
-			// Check is
-			if (namespaceURIs.contains(element.getNamespaceURI())
-					&& element.getLocalName().equals(localName))
-			{
-				isElement = true;
-			}
-		}
-
-		return isElement;
-	}
-
-	/**
-	 * Get element text as a boolean.
-	 * 
-	 * @param element an Element object.
-	 * @param defaultValue a boolean to be used as a default value.
-	 * @return element text as a boolean value.
-	 */
-	public static boolean getBooleanValue(Element element, boolean defaultValue) {
-		boolean returnValue = defaultValue;
-		String booleanValue = null;
-
-		// Get value as a string
-		if ((booleanValue = XMLUtils.getText(element)) != null)
-		{
-			returnValue = Boolean.valueOf(booleanValue).booleanValue();
-		}
-
-		// Return boolean
-		return returnValue;
-	}
-
-	/**
-	 * Get attribute value as a boolean.
-	 * 
-	 * @param element an Element object.
-	 * @param attrName a name of an attribute.
-	 * @param defaultValue a boolean to be used as a default value.
-	 * @return attribute value as a boolean.
-	 */
-	public static boolean getBooleanValue(Element element, String attrName,
-			boolean defaultValue) {
-		boolean returnValue = defaultValue;
-		String booleanValue = null;
-
-		// Get value as a string
-		if ((booleanValue = XMLUtils.getAttributeValue(element, attrName)) != null)
-		{
-			returnValue = Boolean.valueOf(booleanValue).booleanValue();
-		}
-
-		// Return boolean
-		return returnValue;
-	}
-
-	/**
-	 * Create QName.
-	 * 
-	 * @param qnameString a qualified name.
-	 * @return a QName object.
-	 */
-	public static QName createQName(String qnameString) {
-		QName qname = null;
-
-		// Locate local part
-		int index = qnameString.lastIndexOf(":");
-
-		// Create new QName
-		if (index != -1)
-		{
-			qname = new QName(qnameString.substring(0, index), qnameString
-					.substring(index + 1));
-		}
-
-		else
-		{
-			qname = new QName(qnameString);
-		}
-
-		return qname;
-	}
-
-	/**
-	 * Error Handler
-	 */
-	private static class ErrHandler implements ErrorHandler
-	{
-		/**
-		 * Warning
-		 */
-		public void warning(SAXParseException spe) throws SAXException {
-			String message = "Warning: " + spe.getMessage();
-			throw new SAXException(message);
-		}
-
-		/**
-		 * Error
-		 */
-		public void error(SAXParseException spe) throws SAXException {
-			String message = "Error: " + spe.getMessage();
-			throw new SAXException(message);
-		}
-
-		/**
-		 * Fatal Error
-		 */
-		public void fatalError(SAXParseException spe) throws SAXException {
-			String message = "Fatal Error: " + spe.getMessage();
-			throw new SAXException(message);
-		}
-	}
-
-	/**
-	 * Determine if the string is a NMTOKEN data type.
-	 * 
-	 * @param text a string value.
-	 * @return true if the string is a NMTOKEN data type.
-	 */
-	public static boolean isNmtoken(String text) {
-		boolean nmtoken = true;
-
-		// ADD: Need to find a utility function that does this or write it from
-		// scratch
-
-		return nmtoken;
-	}
-
-	/**
-	 * The method searches the first direct descendant element with the given
-	 * qname.
-	 * 
-	 * @param parent parent DOM element.
-	 * @param elementName QName of the element to be searched.
-	 * @return DOM element if the required element found, and null otherwise.
-	 */
-	static public Element findChildElement(Element parent, QName elementName) {
-		if (parent == null)
-			throw new IllegalArgumentException("Parent element can not be NULL");
-		if (elementName == null)
-			throw new IllegalArgumentException("Element name can not be NULL");
-		if (elementName.getLocalPart() == null)
-			throw new IllegalArgumentException(
-					"Local part of the element name can not be NULL");
-
-		Node n = parent.getFirstChild();
-		String local = elementName.getLocalPart();
-		String ns = elementName.getNamespaceURI();
-		while (n != null)
-		{
-			if (Node.ELEMENT_NODE == n.getNodeType()
-					&& local.equals(n.getLocalName())
-					&& NullUtil.equals(ns, n.getNamespaceURI()))
-				return (Element) n;
-			n = n.getNextSibling();
-		}
-
-		return null;
-	}
-
-	/**
-	 * The method searches the first sibling element with the given qname.
-	 * 
-	 * @param active DOM element.
-	 * @param elementName QName of the element to be searched.
-	 * @return DOM element if the required element found, and null otherwise.
-	 */
-	static public Element findElement(Element active, QName elementName) {
-		if (active == null)
-			throw new IllegalArgumentException("Active element can not be NULL");
-		if (elementName == null)
-			throw new IllegalArgumentException("Element name can not be NULL");
-		if (elementName.getLocalPart() == null)
-			throw new IllegalArgumentException(
-					"Local part of the element name can not be NULL");
-
-		Node n = active.getNextSibling();
-		String local = elementName.getLocalPart();
-		String ns = elementName.getNamespaceURI();
-		while (n != null)
-		{
-			if (Node.ELEMENT_NODE == n.getNodeType()
-					&& local.equals(n.getLocalName())
-					&& NullUtil.equals(ns, n.getNamespaceURI()))
-				return (Element) n;
-			n = n.getNextSibling();
-		}
-
-		return null;
-	}
-
-	/**
-	 * The method returns attribute node by the given qname.
-	 * 
-	 * @param el owner element.
-	 * @param attributeName QName of the attribute node to be searched.
-	 * @return attribute node by the given qname.
-	 */
-	static public Attr getAttribute(Element el, QName attributeName) {
-		if (el == null)
-			throw new IllegalArgumentException("Element can not be NULL");
-		if (attributeName == null)
-			throw new IllegalArgumentException("Attribute name can not be NULL");
-		if (attributeName.getLocalPart() == null)
-			throw new IllegalArgumentException(
-					"Local part of the attribute name can not be NULL");
-
-		attributeName.getNamespaceURI();
-		attributeName.getLocalPart();
-		Attr a = el.getAttributeNodeNS(attributeName.getNamespaceURI(),
-				attributeName.getLocalPart());
-		if (a == null)
-			// try to get with null namespace
-			a = el.getAttributeNodeNS(null, attributeName.getLocalPart());
-		return a;
-	}
-
-	/**
-	 * The method compares node's name to the given qname.
-	 * 
-	 * @param n a node.
-	 * @param name a QName object.
-	 * @return true if the node's name is the same as the given qname.
-	 */
-	static public boolean equals(Node n, QName name) {
-		if (n == null || name == null)
-			return false;
-		return (NullUtil.equals(name.getLocalPart(), n.getLocalName()) && NullUtil
-				.equals(name.getNamespaceURI(), n.getNamespaceURI()));
-	}
-
-	/**
-	 * The method searches namespace URI for the given prefix. The searching
-	 * mechanism is implemented according to the "XML Namespaces resolution"
-	 * algorithm ('http://www.w3.org/TR/2003/WD-DOM-Level-3-
-	 * Core-20030226/namespaces-algorithms.html').
-	 * 
-	 * @param n a node.
-	 * @param prefix a prefix.
-	 * @return the namespace URI for the given prefix.
-	 */
-	static public String findNamespaceURI(Node n, String prefix) {
-		if (prefix == null)
-			return null;
-
-		while (n != null)
-		{
-			if (prefix.equals(n.getPrefix()))
-				return n.getNamespaceURI();
-
-			if (Node.ELEMENT_NODE == n.getNodeType())
-			{
-				NamedNodeMap m = n.getAttributes();
-				if (m != null)
-					for (int i = 0; i < m.getLength(); i++)
-					{
-						Node a = m.item(i);
-						if (WSITag.NS_URI_XMLNS.equals(a.getNamespaceURI())
-								&& prefix.equals(a.getLocalName()))
-							return a.getNodeValue();
-					}
-			}
-
-			n = n.getParentNode();
-		}
-
-		return null;
-	}
-
-	/**
-	 * Serializes element.
-	 * 
-	 * @param n a DOM element.
-	 * @return the serialized element.
-	 */
-	public static String serialize(Element n) {
-		String value = null;
-		try
-		{
-			StringWriter writer = new StringWriter();
-			XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
-					"UTF-8", true));
-			s.serialize(n);
-			value = writer.toString();
-			writer.close();
-		} catch (Throwable t)
-		{
-			// nothing
-			value = "EXCEPTION : " + t.getMessage();
-		}
-
-		return value;
-	}
-
-	/**
-	 * The method return list of child elements.
-	 * 
-	 * @param parent an org.w3c.dom.Element object.
-	 * @return list of child elements.
-	 */
-	static public Vector getChildElements(Element parent) {
-		if (parent == null)
-			throw new IllegalArgumentException("Element can not be NULL");
-
-		Vector vect = new Vector();
-		Element elem = getFirstChild(parent);
-		while (elem != null)
-		{
-			vect.add(elem);
-			elem = getNextSibling(elem);
-		}
-		return vect;
-	}
-
-	/**
-	 * Serializes document.
-	 * 
-	 * @param doc an org.w3c.dom.Document object.
-	 * @param writer a java.io.Writer object.
-	 * @throws Exception if unable to serialize the document.
-	 */
-	public static void serializeDoc(Document doc, Writer writer)
-			throws java.lang.Exception {
-		XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
-				"UTF-8", true));
-		s.serialize(doc);
-	}
-
-	/**
-	 * Serealizes element.
-	 * 
-	 * @param elem an org.w3c.dom.Element object.
-	 * @param writer a java.io.Writer object.
-	 * @throws Exception if unable to serialize the DOM element.
-	 */
-	public static void serializeElement(Element elem, Writer writer)
-			throws java.lang.Exception {
-		XMLSerializer s = new XMLSerializer(writer, new OutputFormat("xml",
-				"UTF-8", true));
-		s.serialize(elem);
-	}
-
-	/**
-	 * Remove all elements from list without namespace.
-	 * 
-	 * @param vect a list of elements.
-	 */
-	public static void removeAllElementsWithoutNS(Vector vect) {
-		for (int i = 0; i < vect.size();)
-		{
-			if (((Element) vect.get(i)).getNamespaceURI() == null
-					|| ((Element) vect.get(i)).getNamespaceURI().equals(""))
-				vect.remove(i);
-			else
-				i++;
-		}
-	}
-
-	/**
-	 * Create URL using base URI.
-	 * 
-	 * @param url a URL string.
-	 * @param baseURI a base url string to assist in creating a URL.
-	 * @return newly created URL.
-	 * @throws MalformedURLException if a malformed URL has occurred.
-	 */
-	public static URL createURL(String url, String baseURI)
-			throws MalformedURLException {
-		URL returnURL = null;
-		URI uri = null;
-		try
-		{
-            returnURL = new URL(url);
-			uri = new URI(url);
-			uri = uri.normalize();
-			returnURL =  new URL(uri.toString());
-		}
-
-		catch (Exception mue)
-		{
-			int i = baseURI.lastIndexOf('/');
-			int j = baseURI.lastIndexOf('\\');
-			if (j > i)
-				i = j;
-			try
-			{
-			  uri = new URI(baseURI.substring(0, i + 1) + url);
-			  uri = uri.normalize();
-			  returnURL = uri.toURL();
-			}
-			catch (Exception e)
-			{
-			  return new URL(baseURI.substring(0, i + 1) + url);
-			}
-		}
-		return returnURL;
-	}
-
-	/**
-	 * Create URL using base URI.
-	 * 
-	 * @param url a URL string.
-	 * @param baseURI a base url string to assist in creating a URL.
-	 * @return newly created URL string.
-	 * @throws MalformedURLException if a malformed URL has occurred.
-	 */
-	public static String createURLString(String url, String baseURI)
-			throws MalformedURLException {
-		return createURL(url, baseURI).toExternalForm();
-	}
-
-	/**
-	 * This method is used only for unit testing.
-	 * 
-	 * @param args arguments for main.
-	 */
-	public static void main(String[] args) {
-		try
-		{
-			System.out.println("Filename: " + args[0] + ", schema: " + args[1]);
-			Document doc = parseXMLDocument(args[0], args[1]);
-			System.out.println("Done.");
-		}
-
-		catch (Exception e)
-		{
-			System.err.println(e.toString());
-		}
-
-		System.exit(0);
-	}
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
deleted file mode 100644
index eff7cbc..0000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.xml.schema;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import com.ibm.wsdl.util.xml.DOM2Writer;
-
-/**
- * This class is used to validate an XML Schema.
- * 
- * @author Peter  Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class XMLSchemaValidator extends XMLSchemaProcessor
-{
-  private static final String XMLNS_PREFIX = "xmlns:";
-
-  /**
-   * Constructor for XMLSchemaValidator.
-   * @param context       document context. 
-   * @param documentList  cache of previously parsed documents.
-   */
-  public XMLSchemaValidator(String context)
-  {
-    super(context);
-  }
-
-  protected void processSchema(Element element)
-  {
-    NamedNodeMap attrList;
-    String elementPrefix = null;
-
-    HashMap elementMap = new HashMap();
-    HashMap nsMap = new HashMap();
-
-    try
-    {
-      // Get schema content as a string
-      String schema = DOM2Writer.nodeToString(element);
-
-      // Get list of element namespaces
-      if ((attrList = element.getAttributes()) != null)
-      {
-        addNamespaces(attrList, elementMap, null);
-      }
-
-      // If elementMap does not contain entry for it's own namespace, then add it
-      if (elementMap.get(XMLNS_PREFIX + element.getPrefix()) == null)
-      {
-        elementMap.put(
-          XMLNS_PREFIX + element.getPrefix(),
-          element.getNamespaceURI());
-      }
-
-      // Get first parent node and then process all of them until you hit the top of the document
-      Node parentNode = element.getParentNode();
-      while (parentNode != null)
-      {
-        // Only process Element nodes
-        if (parentNode.getNodeType() == Node.ELEMENT_NODE)
-        {
-          // Get the list of attributes for the parent node
-          attrList = parentNode.getAttributes();
-
-          // If there are attributes, look for the xmlns: attributes
-          if (attrList != null)
-          {
-            addNamespaces(attrList, nsMap, elementMap);
-          }
-        }
-
-        parentNode = parentNode.getParentNode();
-      }
-
-      // Build namespace list
-      if (nsMap.size() > 0)
-      {
-        String attr;
-        String namespaceList = "";
-        Iterator iterator = nsMap.keySet().iterator();
-        while (iterator.hasNext())
-        {
-          attr = (String) iterator.next();
-          namespaceList += " " + attr + "=\"" + nsMap.get(attr) + "\"";
-        }
-
-        // Add namespace settings, since the DOM2Writer will miss any that are used as attribute values
-        int index = schema.indexOf(">");
-        if (index > 0)
-        {
-          String start = schema.substring(0, index);
-          String end = schema.substring(index);
-
-          schema = start + namespaceList + end;
-        }
-      }
-
-      // Schema validate the XML schema document
-      Document doc =
-        XMLUtils.parseXML(schema, TestUtils.getXMLSchemaLocation());
-    }
-
-    catch (WSIException we)
-    {
-      Throwable t = we.getTargetException();
-      if (t != null)
-      {
-        returnList.add(t.getMessage());
-      }
-    }
-  }
-
-  private void addNamespaces(NamedNodeMap attrList, Map nsMap, Map elementMap)
-  {
-    Node attr;
-    String nodeName;
-
-    for (int i = 0; i < attrList.getLength(); i++)
-    {
-      attr = attrList.item(i);
-
-      // Get the attribute node name
-      nodeName = attr.getNodeName();
-
-      // If it starts with xmlns:, then determine if it should be added to the list of namespaces 
-      if (nodeName.startsWith(XMLNS_PREFIX)
-        && ((elementMap == null
-          || (elementMap != null && elementMap.get(nodeName) == null))))
-      {
-        if (nsMap.get(nodeName) == null)
-          nsMap.put(nodeName, attr.getNodeValue());
-      }
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java b/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java
deleted file mode 100644
index 54662d2..0000000
--- a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsEclipseProperties.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
-
-/**
- * WS-I test tool properties specific for Eclipse.
- */
-public class WSITestToolsEclipseProperties extends WSITestToolsProperties
-{
- /**
-  * @see org.eclipse.wst.wsi.internal.WSITestToolsProperties#checkWSIPreferences(java.lang.String)
-  */
-  public static WSIPreferences checkWSIPreferences(String fileuri)
-  {
-    WSIPreferences preferences = new WSIPreferences();
-    
-    // Remove file: and any slashes from the fileuri. 
-    // Eclipse's resolution mechanism needs to start with the drive.
-    String uriStr = trimURI(fileuri);
-
-    WSUIPlugin wsui = WSUIPlugin.getInstance();
-    PersistentWSIContext APcontext = wsui.getWSIAPContext();
-    PersistentWSIContext SSBPcontext = wsui.getWSISSBPContext();
-    
-    IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(uriStr));
-    if (files != null && files.length == 1)
-    {
-      //check project level conpliance
-      IProject project = files[0].getProject();
-      
-      if (APcontext.projectStopNonWSICompliances(project))
-      {
-        preferences.setTADFile(AP_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
-      } 
-      else if (APcontext.projectWarnNonWSICompliances(project))
-      {
-        preferences.setTADFile(AP_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
-      }
-      else if (SSBPcontext.projectStopNonWSICompliances(project))
-      {
-        preferences.setTADFile(SSBP_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
-      }
-      else if (SSBPcontext.projectWarnNonWSICompliances(project))
-      {
-        preferences.setTADFile(SSBP_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
-      }
-      else
-      {
-        preferences.setTADFile(DEFAULT_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.IGNORE_NON_WSI);
-      }
-    }
-    else
-    {
-      // If we can't obtain the project preference use the global preference.
-      String APlevel = APcontext.getPersistentWSICompliance();
-      String SSBPlevel = SSBPcontext.getPersistentWSICompliance();
-      if(APlevel.equals(PersistentWSIContext.STOP_NON_WSI))
-      {
-        preferences.setTADFile(AP_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
-      }
-      else if(APlevel.equals(PersistentWSIContext.WARN_NON_WSI))
-      {
-        preferences.setTADFile(AP_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
-     }
-     if(SSBPlevel.equals(PersistentWSIContext.STOP_NON_WSI))
-     {
-       preferences.setTADFile(SSBP_ASSERTION_FILE);
-       preferences.setComplianceLevel(PersistentWSIContext.STOP_NON_WSI);
-     }
-     else if(SSBPlevel.equals(PersistentWSIContext.WARN_NON_WSI))
-     {
-      preferences.setTADFile(SSBP_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.WARN_NON_WSI);
-     }
-     else
-     {
-        preferences.setTADFile(DEFAULT_ASSERTION_FILE);
-        preferences.setComplianceLevel(PersistentWSIContext.IGNORE_NON_WSI);
-      }
-    }
-    return preferences;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java b/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java
deleted file mode 100644
index 4dd002a..0000000
--- a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsPlugin.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal;
-
-import java.io.IOException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The WS-I test tools plugin.
- * 
- * @author lauzond
- */
-
-public class WSITestToolsPlugin extends AbstractUIPlugin
-{
-  private static AbstractUIPlugin instance;
-  protected final String PLUGIN_PROPERTIES = "wsivalidate";
-  protected ResourceBundle resourcebundle = null;
-  
-  /**
-   * Constructor for wsiTestToolsPlugin.
-   * @param descriptor an IPluginDescriptor object.
-   */
-  public WSITestToolsPlugin(IPluginDescriptor descriptor)
-  {
-    super(descriptor);
-    instance = this;
-
-    // set the current directory
-   WSITestToolsProperties.setInstallDir(getInstallURL());
-   WSITestToolsProperties.setEclipseContext(true);
-   resourcebundle = ResourceBundle.getBundle(PLUGIN_PROPERTIES);
-  }
-
-  /**
-   * Method getInstance.
-   * @return AbstractUIPlugin
-   */
-  public static AbstractUIPlugin getInstance()
-  {
-    return instance;
-  }
-
-  /**
-   * Returns the resource bundle for this plugin.
-   * 
-   * @return The resource bundle for this plugin.
-   */
-  public ResourceBundle getResourceBundle()
-  {
-    return resourcebundle;
-  }
-
-  /**
-   * Method getPlugin.
-   * @return WSIToolsUtilPlugin
-   */
-  public static WSITestToolsPlugin getPlugin()
-  {
-    return (WSITestToolsPlugin) instance;
-  }
-
-  /**
-   * Returns installable URL for this plugin.
-   * @return installable URL for this plugin.
-   */
-  public String getInstallURL()
-  {
-    try
-    {
-      return Platform.resolve(getDescriptor().getInstallURL()).getFile();
-    }
-    catch (IOException e)
-    {
-      return null;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java b/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java
deleted file mode 100644
index bb644f3..0000000
--- a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/WSITestToolsProperties.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Properties;
-
-import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
-import org.eclipse.wst.wsi.internal.core.util.WSIProperties;
-
-/**
- * WS-I test tools property.
- */
-public class WSITestToolsProperties
-{
-  protected static String installURL = "";
-  protected static String tadfile = "";
-
-  public final static String schemaDir = "common/schemas/";
-  public final static String SSBP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2005/01/SSBP10_BP11_TAD_1-0.xml";
-  public final static String AP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2004/12/AP10_BP11_SSBP10_TAD.xml";
-  public final static String DEFAULT_ASSERTION_FILE = AP_ASSERTION_FILE;
-  
-  public static final String STOP_NON_WSI = "0";
-  public static final String WARN_NON_WSI = "1";
-  public static final String IGNORE_NON_WSI = "2";
-  
-  protected static boolean eclipseContext = false;
-
-  /**
-   *  Constructor.
-   */
-  protected WSITestToolsProperties()
-  {
-    super();
-  }
-  
-  public static void setEclipseContext(boolean eclipseActive)
-  {
-    eclipseContext = eclipseActive;
-  }
-  
-  public static boolean getEclipseContext()
-  {
-    return eclipseContext;
-  }
-  
-  /**
-   * Set the schema location.
-   * @param dir the schema location.
-   */
-  public static void setInstallDir(String dir)
-  {
-    installURL = dir.replace('\\', '/');
-  }
-  
-  /**
-   * Set local properties.
-   */
-  public static void setLocal()
-  {
-    Properties schemaLocationProperties = new Properties();
-    String schemaURL = installURL + schemaDir;
-    try
-    {
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.xmlschema.schema",
-        URIEncoder.encode(schemaURL + "XMLSchema.xsd", "UTF8"));
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.wsdl.schema",
-        URIEncoder.encode(schemaURL + "wsdl11.xsd", "UTF8"));
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.soap.schema",
-        URIEncoder.encode(schemaURL + "soapEnvelope.xsd", "UTF8"));
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.wsdlsoap.schema",
-        URIEncoder.encode(schemaURL + "wsdlSoap.xsd", "UTF8"));
-    }
-    catch (UnsupportedEncodingException e)
-    {
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.xmlschema.schema",
-        URIEncoder.encode(schemaURL + "XMLSchema.xsd"));
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.wsdl.schema",
-        URIEncoder.encode(schemaURL + "wsdl11.xsd"));
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.soap.schema",
-        URIEncoder.encode(schemaURL + "soapEnvelope.xsd"));
-      schemaLocationProperties.setProperty(
-        "wsi.analyzer.wsdlsoap.schema",
-        URIEncoder.encode(schemaURL + "wsdlSoap.xsd"));
-    }
-    WSIProperties.setThreadLocalProperties(schemaLocationProperties);
-  }
-
-  /**
-   * Checks the WS-I preferences for the given file and return them in a
-   * WSIPreferences object.
-   * 
-   * @param fileuri The file URI to check the WS-I preferences for.
-   * @return A WSIPreferences object containing the preference for this file URI.
-   */
-  public static WSIPreferences checkWSIPreferences(String fileuri)
-  {
-  	return new WSIPreferences();
-  }
-  
-  /**
-   * Remove file: and any slashes from the fileuri. 
-   * Eclipse's resolution mechanism needs to start with the drive.
-   */
-  protected static String trimURI(String fileuri)
-  {
-  	String uriStr = fileuri;
-  	
-    if(fileuri.startsWith("file:"))
-    {
-      uriStr = fileuri.substring(5);
-    }
-    while(uriStr.startsWith("/") || uriStr.startsWith("\\"))
-    {
-      uriStr = uriStr.substring(1);
-    }
-    return uriStr;
-  }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java b/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java
deleted file mode 100644
index 16f5eec..0000000
--- a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/MessageAnalyzer.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.analyzer;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
-import org.eclipse.wst.wsi.internal.WSIPreferences;
-import org.eclipse.wst.wsi.internal.WSITestToolsEclipseProperties;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AssertionResultsOptionImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLReferenceImpl;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.impl.FailureDetailImpl;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.eclipse.wst.wsi.internal.report.AssertionError;
-
-/**
- * MessageAnalyzer
- * 
- * A class that allows simple access to the WS-I Test Tools in order to analyze
- * messages in a log file.
- */
-
-public class MessageAnalyzer
-{
-  public final static String PLUGIN_ID = "org.wsi.test.tools";
-  
-  public final static String TYPE_PORT = "port";
-  public final static String TYPE_BINDING = "binding";
-  public final static String TYPE_PORTTYPE = "porttype";
-  public final static String TYPE_OPERATION = "operation";
-  public final static String TYPE_MESSAGE = "message";
-
-  // Test result Strings
-  protected final String NOTPASSED = "notPassed";
-  protected final String WARNING = "warning";
-  protected final String FAILED = "failed";
-  
-  protected String filename;
-  protected String wsdlfile = null;
-  protected String elementname = null;
-  protected String namespace = null;
-  protected String parentname = null;
-  protected boolean wsdlspecified = false;
-  protected String type  = null;
-  protected List assertionwarnings;
-  protected List assertionerrors;
-  protected WSIPreferences wsiPreferences = null;
-  
-  /**
-   * Constructor for MessageAnalyzer.
-   * @param filename log file name.
-   */
-  public MessageAnalyzer(String filename)
-  {
-    this.filename = filename.replace('\\', '/');
-
-    assertionwarnings = new Vector();
-    assertionerrors = new Vector();
-  	this.wsiPreferences = WSITestToolsEclipseProperties.checkWSIPreferences(filename);
-  }
-  
-  /**
-   * Constructor for MessageAnalyzer.
-   * @param filename log file name.
-   */
-  public MessageAnalyzer(String filename, WSIPreferences wsiPreferences)
-  {
-    this.filename = filename.replace('\\', '/');
-
-    assertionwarnings = new Vector();
-    assertionerrors = new Vector();
-  	this.wsiPreferences = wsiPreferences;
-  }
-
-  public MessageAnalyzer(String filename, String wsdlfile, String elementname, String namespace, String parentname, String type)
-  {
-  	this(filename.replace('\\', '/'));
-  	wsdlspecified = true;
-  	
-  	this.wsdlfile = wsdlfile.replace('\\', '/');
-  	this.elementname = elementname;
-  	this.namespace = namespace;
-  	this.parentname = parentname;
-  	this.type = type;
-  }
-
-  public MessageAnalyzer(String filename, String wsdlfile, String elementname, String namespace, String parentname, String type, WSIPreferences wsiPreferences)
-  {
-  	this(filename, wsiPreferences);
-  	wsdlspecified = true;
-  	
-  	this.wsdlfile = wsdlfile.replace('\\', '/');
-  	this.elementname = elementname;
-  	this.namespace = namespace;
-  	this.parentname = parentname;
-  	this.type = type;
-  }
-
-  /**
-   * Method validateConformance.
-   * 
-   * Checks the conformance of the given logfile against the WS-I Basic Profile.
-   * If there are conformance problems they can be obtained from getAssertionErrors.
-   * 
-   * @throws WSIAnalyzerException
-   */
-  public void validateConformance() throws WSIAnalyzerException
-  {
-    try
-    {
-	  WSITestToolsEclipseProperties.setLocal();
-	  
-	  if (wsiPreferences.getComplianceLevel() != WSITestToolsEclipseProperties.IGNORE_NON_WSI)
-	  {
-        DocumentFactory documentFactory = DocumentFactory.newInstance();
-        // Initialize the BasicProfileAnalyzer using an analyzerconfig object
-        AnalyzerConfig analyzerconfig = documentFactory.newAnalyzerConfig();
-        if(wsdlspecified)
-        {
-      	  WSDLReference wsdlref = new WSDLReferenceImpl();
-      	  wsdlref.setWSDLLocation(wsdlfile);
-      	
-      	  WSDLElement wsdlelem = new WSDLElementImpl();
-      	  wsdlelem.setName(elementname);
-      	  wsdlelem.setNamespace(namespace);
-      	  wsdlelem.setParentElementName(parentname);
-      	  wsdlelem.setType(type);
-      	
-      	  wsdlref.setWSDLElement(wsdlelem);
-      	
-      	  analyzerconfig.setWSDLReference(wsdlref);
-        }
-
-        AssertionResultsOption aro = new AssertionResultsOptionImpl();
-        aro.setAssertionResultType(AssertionResultType.newInstance(NOTPASSED));
-        aro.setShowAssertionDescription(false);
-        aro.setShowFailureDetail(false);
-        aro.setShowFailureMessage(false);
-        aro.setShowMessageEntry(false);
-
-        // although we don't use a stylesheet for our application it is required or the 
-        // WS-I tools will fail
-        AddStyleSheet addstylesheet = new AddStyleSheetImpl();
-
-        analyzerconfig.setAssertionResultsOption(aro);
-        analyzerconfig.setAddStyleSheet(addstylesheet);
-      
-        analyzerconfig.setCorrelationType("endpoint");
-  	    try
-		{
-		  analyzerconfig.setLogLocation(URIEncoder.encode(filename, "UTF8"));
-		  analyzerconfig.setTestAssertionsDocumentLocation(
-			   URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
-		}
-		catch (UnsupportedEncodingException uee)
-		{
-		  analyzerconfig.setLogLocation(URIEncoder.encode(filename));
-	      analyzerconfig.setTestAssertionsDocumentLocation(URIEncoder.encode(wsiPreferences.getTADFile()));
-		}
-        //analyzerconfig.setLogLocation(filename);
-        //analyzerconfig.setTestAssertionsDocumentLocation(getBasicProfileTestAssertionsFile());
-        analyzerconfig.setVerboseOption(false);
-      
-
-        List analyzerConfigs = new Vector();
-        analyzerConfigs.add(analyzerconfig);
-        // here's where the validation actually starts happening
-        WSIBasicProfileAnalyzer bpanalyzer = new WSIBasicProfileAnalyzer(analyzerConfigs);
-
-        bpanalyzer.validateAll();
-        ReportImpl report = (ReportImpl) bpanalyzer.getReport();
-
-        List entries = report.getEntries();
-
-        // if there are report entries we iterate through them and add all
-        // error and warning messages to the error list.
-        if (entries != null)
-        {
-          Iterator ientry = entries.iterator();
-          while (ientry.hasNext())
-          {
-            Entry entry = (Entry) ientry.next();
-            Map assertionResults = entry.getAssertionResultList();
-
-            if (assertionResults != null)
-            {
-              Iterator iassertionResults = assertionResults.values().iterator();
-
-              while (iassertionResults.hasNext())
-              {
-                AssertionResult ar = (AssertionResult) iassertionResults.next();
-
-                if (ar.getResult().equalsIgnoreCase(FAILED) && 
-                	wsiPreferences.getComplianceLevel().equals(WSITestToolsEclipseProperties.STOP_NON_WSI))
-                {
-                  TestAssertion ta = ar.getAssertion();
-                  if (ta.isEnabled())
-                  {
-                    Iterator errorMessages = ar.getFailureDetailList().iterator();
-                    String error = "";
-                    while (errorMessages.hasNext())
-                    {
-                      FailureDetailImpl fdi = (FailureDetailImpl)errorMessages.next();
-                      error = (String) fdi.getFailureMessage();
-
-                      int lineNumber = 0;
-                      int columnNumber = 0;
-                    
-                      ElementLocation el = fdi.getElementLocation();
-
-                      if (el != null)
-                      {
-                        lineNumber = el.getLineNumber();
-                        columnNumber = el.getColumnNumber();
-                      }
-
-                      //TODO: get assertion locations in the log file
-                      assertionerrors.add(
-                        new AssertionError(
-                        ta.getId(),
-                        "Message ID " + entry.getReferenceID() + ":" + ta.getFailureMessage(),
-                        lineNumber,
-                        columnNumber));
-                    }
-                  }
-                }
-                else if (ar.getResult().equalsIgnoreCase(FAILED) && 
-                         wsiPreferences.getComplianceLevel().equals(WSITestToolsEclipseProperties.WARN_NON_WSI))
-                {
-                  TestAssertion ta = ar.getAssertion();
-                  if (ta.isEnabled())
-                  {
-                    Iterator errorMessages = ar.getFailureDetailList().iterator();
-                    String error = "";
-                    while (errorMessages.hasNext())
-                    {
-                      FailureDetailImpl fdi = (FailureDetailImpl)errorMessages.next();
-                      error = (String) fdi.getFailureMessage();
-
-                      int lineNumber = 0;
-                      int columnNumber = 0;
-                    
-                      ElementLocation el = fdi.getElementLocation();
-
-                      if (el != null)
-                      {
-                        lineNumber = el.getLineNumber();
-                        columnNumber = el.getColumnNumber();
-                      }
-                      //TODO: get assertion locations in the log file
-                      assertionwarnings.add(
-                        new AssertionError(
-                        ta.getId(),
-                        "Message ID " + entry.getReferenceID() + ":" + ta.getFailureMessage(),
-                        lineNumber,
-                        columnNumber));
-                    }
-                  }
-                }
-              }
-            }
-          }
-        } 
-	  }
-    }
-    catch (WSIException e)
-    {
-      throw new WSIAnalyzerException("The MessageAnalyzer was unable to validate the given logfile.", e.getTargetException());
-    }
-    catch (Exception e)
-    {
-      throw new WSIAnalyzerException("The MessageAnalyzer was unable to validate the given logfile.");
-    }
-
-  }
-
-  /**
-   * Method getAssertionWarnings.
-   * Returns a list of any assertion warnings generated from validateConformance.
-   * @return List
-   */
-  public List getAssertionWarnings()
-  {
-    return assertionwarnings;
-  }
-
-  /**
-   * Method getAssertionFailures.
-   * Returns a list of any assertion errors generated from validateConformance.
-   * @return List
-   */
-  public List getAssertionErrors()
-  {
-    return assertionerrors;
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java b/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java
deleted file mode 100644
index 8078b1e..0000000
--- a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/analyzer/WSDLAnalyzer.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.analyzer;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.wst.common.uriresolver.internal.util.URIEncoder;
-import org.eclipse.wst.wsi.internal.WSIPreferences;
-import org.eclipse.wst.wsi.internal.WSITestToolsEclipseProperties;
-import org.eclipse.wst.wsi.internal.WSITestToolsProperties;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultType;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AssertionResultsOption;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.AssertionResultsOptionImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLReferenceImpl;
-import org.eclipse.wst.wsi.internal.core.common.AddStyleSheet;
-import org.eclipse.wst.wsi.internal.core.common.impl.AddStyleSheetImpl;
-import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.impl.FailureDetailImpl;
-import org.eclipse.wst.wsi.internal.core.report.impl.ReportImpl;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.eclipse.wst.wsi.internal.report.AssertionError;
-
-/**
- * WSDLAnalyzer
- * The interface to the WS-I Test Tools for analyzing a WSDL file.  Allows a WSDL file to be analyzed
- * at any of the following levels.
- *  port
- *  binding
- *  portType
- *  operation
- *  message
- */
-
-public class WSDLAnalyzer
-{
-  public final static String PLUGIN_ID = "org.wsi.test.tools";
-  
-  public static final String PORT = "port";
-  public static final String BINDING = "binding";
-  public static final String PORTTYPE = "portType";
-  public static final String OPERATION = "operation";
-  public static final String MESSAGE = "message";
-
-  protected final String NOTPASSED = "notPassed";
-  protected final String WARNING = "warning";
-  protected final String FAILED = "failed";
-  
-  protected List analyzerConfigs;
-  protected String wsdlURI;
-  // assertions to ignore - used for assertions that the tools have not implemented properly yet
-  //protected String[] ignoreAssertions = { /*"WSI2105" , "WSI2119"*/};
-  protected List assertionerrors;
-  protected List assertionwarnings;
-  protected WSIPreferences wsiPreferences = null;
-
-  /**
-   * Constructor.
-   * Given the file name, parent element name, the element to analyze and the type of element
-   * sets up the WSDLAnalyzer to analyze the file.
-   * @param fileName log file name.
-   * @param parentName parent element name.
-   * @param namespace  a namespace.
-   * @param elementName the element to analyze.
-   * @param elementType the type of the element.
-   * @param wsiPreferences the preferences.
-   * @throws WSIAnalyzerException if unable to add configuration information.
-   */
-  public WSDLAnalyzer(String fileName, String parentName, String namespace, String elementName, String elementType, WSIPreferences wsiPreferences) throws WSIAnalyzerException
-  {
-    this(fileName, wsiPreferences);
-    addConfigurationToTest(parentName, namespace, elementName, elementType);
-
-  }
-
-  /**
-   * Constructor.
-   * Given the file name, parent element name, the element to analyze and the type of element
-   * sets up the WSDLAnalyzer to analyze the file.
-   * @param fileName log file name.
-   * @param parentName parent element name.
-   * @param namespace  a namespace.
-   * @param elementName the element to analyze.
-   * @param elementType the type of the element.
-   * @throws WSIAnalyzerException if unable to add configuration information.
-   */
-  public WSDLAnalyzer(String fileName, String parentName, String namespace, String elementName, String elementType) throws WSIAnalyzerException
-  {
-    this(fileName);
-    addConfigurationToTest(parentName, namespace, elementName, elementType);
-
-  }
-
-  /**
-   * Constructor.
-   * @param fileName  log file name.
-   */
-  public WSDLAnalyzer(String fileName, WSIPreferences wsiPreferences)
-  {
-    reset(fileName);
-    this.wsiPreferences = wsiPreferences;
-  }
-
-  /**
-   * Constructor.
-   * @param fileName  log file name.
-   */
-  public WSDLAnalyzer(String fileName)
-  {
-    reset(fileName);
-    if(WSITestToolsProperties.getEclipseContext())
-    {
-      this.wsiPreferences = WSITestToolsEclipseProperties.checkWSIPreferences(fileName);
-    }
-    else
-    {
-  	  this.wsiPreferences = WSITestToolsProperties.checkWSIPreferences(fileName);
-    }
-  }
-
-  public WSIPreferences getWSIPreferences()
-  {
-	  return this.wsiPreferences;
-  }
-	  
-  /**
-   * validateConformance.
-   * Validate the WSDL file as setup in the constructor.
-   * @throws WSIAnalyzerException if unable to validate the given WSDL File.
-   */
-  public void validateConformance() throws WSIAnalyzerException
-  {
-    try
-    {
-      WSITestToolsProperties.setLocal();
-	  
-	  if (wsiPreferences.getComplianceLevel() != WSITestToolsProperties.IGNORE_NON_WSI)
-	  {
-        // here's where the validation actually starts happening
-        WSIBasicProfileAnalyzer bpanalyzer = new WSIBasicProfileAnalyzer(analyzerConfigs,wsdlURI);
-        bpanalyzer.validateAll();
-        ReportImpl report = (ReportImpl) bpanalyzer.getReport();
-
-        List entries = report.getEntries();
-
-        // if there are report entries we iterate through them and add all
-        // error and warning messages to the error list. 
-        if (entries != null)
-        {
-          Iterator ientry = entries.iterator();
-          while (ientry.hasNext())
-          {
-            Entry entry = (Entry) ientry.next();
-            Map assertionResults = entry.getAssertionResultList();
-
-            if (assertionResults != null)
-            {
-              Iterator iassertionResults = assertionResults.values().iterator();
-
-              while (iassertionResults.hasNext())
-              {
-                AssertionResult ar = (AssertionResult) iassertionResults.next();
-                TestAssertion ta = ar.getAssertion();
-                // add in to skip errors for assertions that are reporting incorrect problems.
-                // This allows us to not report incorrect errors reported in the tools without disabling them
-                //              String assertionId = ta.getId();
-                //              boolean ignoreAssertion = false;
-                //              for(int i = ignoreAssertions.length-1; i >=0;i--)
-                //              {
-                //              	if(ignoreAssertions[i].equalsIgnoreCase(assertionId))
-                //              	{
-                //              		ignoreAssertion = true;
-                //              	}
-                //              }
-                //              if(ignoreAssertion)
-                //              {
-                //              	continue;
-                //              }
-                if (ar.getResult().equalsIgnoreCase(FAILED) && 
-                	wsiPreferences.getComplianceLevel().equals(WSITestToolsProperties.STOP_NON_WSI))
-                {
-                  if (ta.isEnabled())
-                  {
-                    List errorMessageList = ar.getFailureDetailList();
-                    if (errorMessageList != null)
-                    {
-                      Iterator errorMessages = errorMessageList.iterator();
-
-                      String error = "";
-                      while (errorMessages.hasNext())
-                      {
-                        FailureDetailImpl fdi = (FailureDetailImpl) errorMessages.next();
-                        error = (String) fdi.getFailureMessage();
-
-                        int lineNumber = 0;
-                        int columnNumber = 0;
-
-                        ElementLocation el = fdi.getElementLocation();
-
-                        if (el != null)
-                        {
-                          lineNumber = el.getLineNumber();
-                          columnNumber = el.getColumnNumber();
-                        }
-
-                        assertionerrors.add(
-                          new AssertionError(ta.getId(), ta.getFailureMessage(), lineNumber, columnNumber));
-                      }
-                    }
-                    // the errorMessageList is null but there is an error so assign it to line 0 for now
-                    else
-                    {
-                      assertionerrors.add(new AssertionError(ta.getId(), ta.getFailureMessage(), 0, 0));
-                    }
-                  }
-                }
-                else if (ar.getResult().equalsIgnoreCase(FAILED) && 
-                         wsiPreferences.getComplianceLevel().equals(WSITestToolsProperties.WARN_NON_WSI))
-                {
-                  if (ta.isEnabled())
-                  {
-                    List errorMessageList = ar.getFailureDetailList();
-                    if (errorMessageList != null)
-                    {
-                      Iterator errorMessages = errorMessageList.iterator();
-                      String error = "";
-                      while (errorMessages.hasNext())
-                      {
-                        FailureDetailImpl fdi = (FailureDetailImpl) errorMessages.next();
-                        error = (String) fdi.getFailureMessage();
-
-                        int lineNumber = 0;
-                        int columnNumber = 0;
-
-                        ElementLocation el = fdi.getElementLocation();
-
-                        if (el != null)
-                        {
-                          lineNumber = el.getLineNumber();
-                          columnNumber = el.getColumnNumber();
-                        }
-                        assertionwarnings.add(
-                          new AssertionError(ta.getId(), ta.getFailureMessage(), lineNumber, columnNumber));
-                      }
-                    }
-                    // the errorMessageList is null but there is an error so assign it to line 0 for now
-                    else
-                    {
-                      assertionwarnings.add(new AssertionError(ta.getId(), ta.getFailureMessage(), 0, 0));
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-	  }
-    }
-
-    catch (Exception e)
-    {
-      throw new WSIAnalyzerException(e + "The WSDLAnalyzer was unable to validate the given WSDL File.");
-    }
-
-  }
-
-  /**
-   * Add configuration information.
-   * @param parentName parent element name.
-   * @param namespace  a namespace.
-   * @param elementName the element to analyze.
-   * @param elementType the type of the element.
-   * @throws WSIAnalyzerException if unable to add configuration information.
-   */
-  public void addConfigurationToTest(
-    String parentName,
-    String namespace,
-    String elementName,
-    String elementType) throws WSIAnalyzerException
-  {
-  	try
-  	{
-      WSDLReference wsdlReference = new WSDLReferenceImpl();
-
-      WSDLElement wsdlElement = (WSDLElement) new WSDLElementImpl();
-      wsdlElement.setType(elementType);
-      if (parentName != null)
-      {
-        wsdlElement.setParentElementName(parentName);
-      }
-      wsdlElement.setNamespace(namespace);
-      wsdlElement.setName(elementName);
-      wsdlReference.setWSDLElement(wsdlElement);
-
-      wsdlReference.setWSDLLocation(wsdlURI);
-      DocumentFactory documentFactory = DocumentFactory.newInstance();
-      // Initialize the BasicProfileAnalyzer using an analyzerconfig object
-      AnalyzerConfig analyzerconfig = documentFactory.newAnalyzerConfig();
-
-      AssertionResultsOption aro = new AssertionResultsOptionImpl();
-      aro.setAssertionResultType(AssertionResultType.newInstance(NOTPASSED));
-      aro.setShowAssertionDescription(false);
-      aro.setShowFailureDetail(false);
-      aro.setShowFailureMessage(false);
-      aro.setShowMessageEntry(false);
-
-      // although we don't use a stylesheet for our application it is required or the 
-      // WS-I tools will fail
-      AddStyleSheet addstylesheet = new AddStyleSheetImpl();
-
-      analyzerconfig.setAssertionResultsOption(aro);
-      analyzerconfig.setAddStyleSheet(addstylesheet);
-      analyzerconfig.setReplaceReport(true);
-      //analyzerconfig.setLogLocation(filename);
-	  try
-	 {
-	   analyzerconfig.setTestAssertionsDocumentLocation(
-		 URIEncoder.encode(wsiPreferences.getTADFile(), "UTF8"));
-	 }
-	 catch (UnsupportedEncodingException uee)
-	 {
-	   analyzerconfig.setTestAssertionsDocumentLocation(URIEncoder.encode(wsiPreferences.getTADFile()));
-
-	 }
-      analyzerconfig.setVerboseOption(false);
-
-      // set the wsdlReference
-      analyzerconfig.setWSDLReference(wsdlReference);
-      analyzerConfigs.add(analyzerconfig);
-    }
-    catch (Exception e)
-    {
-      throw new WSIAnalyzerException("Unable to add AnalyzerConfig to list. " + e);
-    }
-  }
-  /**
-   * Method getAssertionFailures.
-   * Return a list of the assertion failures.
-   * @return a list of the assertion failures.
-   */
-  public List getAssertionErrors()
-  {
-    return assertionerrors;
-  }
-
-  /**
-  	 * Method getAssertionWarnings.
-  	 * Returns a list of any assertion warnings generated from validateConformance.
-  	 * @return a list of any assertion warnings generated from validateConformance.
-  	 */
-  public List getAssertionWarnings()
-  {
-    return assertionwarnings;
-  }
-  
-  /**
-   * Reset.
-   * @param filename log file name.
-   */
-  public void reset(String filename)
-  {
-	if (filename != null)
-	{
-	  String tmp = filename.replace('\\', '/');
-	  if (!tmp.startsWith(WSIConstants.FILE_PREFIX))
-	  {
-	    tmp = WSIConstants.FILE_PROTOCOL + tmp;
-	  }
-	  try
-	  {
-	    wsdlURI = URIEncoder.encode(tmp, "UTF8");
-	  }
-	  catch (UnsupportedEncodingException uee)
-	  {
-	    wsdlURI = URIEncoder.encode(tmp);
-	  }
-	}
-  	analyzerConfigs = new Vector();
-  	assertionerrors = new Vector();
-  	assertionwarnings = new Vector();
-  }
-}
diff --git a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java b/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java
deleted file mode 100644
index c0f2c0a..0000000
--- a/bundles/org.eclipse.wst.wsi/wsivalidate/org/eclipse/wst/wsi/internal/validate/wsdl/WSDLValidator.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.validate.wsdl;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-
-import org.eclipse.wst.wsdl.validation.internal.IValidationInfo;
-import org.eclipse.wst.wsdl.validation.internal.IWSDLValidator;
-import org.eclipse.wst.wsdl.validation.internal.ValidationInfoImpl;
-import org.eclipse.wst.wsdl.validation.internal.exception.ValidateWSDLException;
-import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolver;
-import org.eclipse.wst.wsdl.validation.internal.util.MessageGenerator;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDL11ValidationInfoImpl;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDLDocument;
-import org.eclipse.wst.wsdl.validation.internal.wsdl11.WSDLReaderImpl;
-import org.eclipse.wst.wsi.internal.WSIPreferences;
-import org.eclipse.wst.wsi.internal.WSITestToolsEclipseProperties;
-import org.eclipse.wst.wsi.internal.WSITestToolsProperties;
-import org.eclipse.wst.wsi.internal.analyzer.WSDLAnalyzer;
-import org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.report.AssertionError;
-import org.w3c.dom.Document;
-
-/**
- * The WSI validator plugs into the WSDL validator to provide
- * validation for a WSDL document with respect to the WS-I Basic Profile (currently 1.0).
- * This class acts as an bridge between the WS-I tools and the WSDL Validator.
- * 
- * @author Lawrence Mandel (lmandel@ca.ibm.com)
- * @author Wajiha Rehman
- */
-public class WSDLValidator implements IWSDLValidator
-{
-  protected final String _EXC_UNABLE_TO_VALIDATE_WSI = "_EXC_UNABLE_TO_VALIDATE_WSI";
-
-  // indications for types of errors
-  protected final int ERROR = 2;
-  protected final int WARNING = 1;
-  
-  protected MessageGenerator messagegenerator = null;
-  protected boolean wsiValid = false;
-
-  /**
-   * Constructor.
-   */
-  public WSDLValidator()
-  {
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.wsdl.validate.IWSDLValidator#validate(org.w3c.dom.Document, org.eclipse.wsdl.validate.ValidationInfo)
-   */
-  public void validate(Document domModel, IValidationInfo valInfo) throws ValidateWSDLException
-  {
-	boolean withAttachments = false;
-	boolean withBasic = false;
-	Object attValue = valInfo.getAttribute("http://ws-i.org/profiles/BasicWithAttachments/ComplianceLevel");
-	if(attValue == null)
-	{
-	  attValue = valInfo.getAttribute("http://ws-i.org/profiles/Basic/ComplianceLevel");
-   	  if(attValue != null)
-	  {
-	    withBasic = true;
-	  }
-	}
-	else
-	{
-	  withAttachments = true;
-	}
-	String wsiLevel = WSITestToolsProperties.WARN_NON_WSI;
-	if(attValue != null)
-	{
-	  String value = (String)attValue;
-	  if(value.equals("IGNORE"))
-	  {
-	  	wsiLevel = WSITestToolsProperties.IGNORE_NON_WSI;
-	  }
-	  else if(value.equals("REQUIRE"))
-	  {
-	   	wsiLevel = WSITestToolsProperties.STOP_NON_WSI;
-	  }
-	}
-	// If we are ignoring WS-I then don't run the tests.
-	if(wsiLevel.equals(WSITestToolsProperties.IGNORE_NON_WSI))
-	{
-	  return;
-	}
-	    
-  	wsiValid = true;
-  	Definition definition = null;
-	boolean hasAnalyzerConfig = false;
-	String uri = valInfo.getFileURI();
-  	try
-  	{
-      //WSDLFactory factory = WSDLFactory.newInstance();
- 	  ValidationInfoImpl vali = new ValidationInfoImpl(valInfo.getFileURI(), messagegenerator);
-  	  vali.setURIResolver((URIResolver)valInfo.getURIResolver());
-      WSDLReaderImpl reader = new WSDLReaderImpl(new WSDL11ValidationInfoImpl(vali));
-      WSDLDocument[] docs = reader.readWSDL(uri, domModel);
-      int numdocs = docs.length;
-      for(int i = 0; i < numdocs; i++)
-      {
-        WSDLDocument tempDoc = docs[i];
-		if(tempDoc.getDefinition().getDocumentBaseURI().equals(valInfo.getFileURI()))
-        {
-          definition = tempDoc.getDefinition();  
-          break;
-        }
-      }
-  	}
-  	catch(WSDLException e)
-  	{
-  	  throw new ValidateWSDLException(messagegenerator.getString(_EXC_UNABLE_TO_VALIDATE_WSI,uri));
-  	}
-	    
-    if (definition != null && valInfo != null)
-    {
-      String namespace = definition.getTargetNamespace();
-
-      // get all the collections we may need to validate
-      Collection services = definition.getServices().values();
-      Collection bindings = definition.getBindings().values();
-      Collection portTypes = definition.getPortTypes().values();
-      Collection messages = definition.getMessages().values();
-
-      WSDLAnalyzer wsdlAnalyzer;
-	  if(withAttachments)
-	  {
-	  	WSIPreferences preferences = new WSIPreferences();
-   	    preferences.setComplianceLevel(wsiLevel);
-	    preferences.setTADFile(WSITestToolsProperties.AP_ASSERTION_FILE);
-	    wsdlAnalyzer = new WSDLAnalyzer(uri, preferences);
-	  }
-	  else if(withBasic)
-	  {
-	  	WSIPreferences preferences = new WSIPreferences();
-		preferences.setComplianceLevel(wsiLevel);	
-	    preferences.setTADFile(WSITestToolsProperties.SSBP_ASSERTION_FILE);
-	    wsdlAnalyzer = new WSDLAnalyzer(uri, preferences);
-	  }
-	  else
-	  {
-		// default preference setting
-	  	wsdlAnalyzer = new WSDLAnalyzer(uri);
-	  }
-
-	  // The WS-I conformance tools require that each service be analyzed separately.
-	  // Get all the services and analyze them.
-	  if (services != null && !services.isEmpty())
-	  {
-	    Iterator serviceIterator = services.iterator();
-
-	    while (serviceIterator.hasNext())
-        {
-          Service service = (Service) serviceIterator.next();
-
-          String servicename = service.getQName().getLocalPart();
-
-          Collection ports = service.getPorts().values();
-          if (ports != null && !ports.isEmpty())
-          {
-            // The WS-I tools must be called once for each port within each service.
-            Iterator portIterator = ports.iterator();
-            while (portIterator.hasNext())
-            {
-              Port port = (Port) portIterator.next();
-
-              try
-              {
-                wsdlAnalyzer.addConfigurationToTest(servicename, namespace, port.getName(), WSDLAnalyzer.PORT);
-				hasAnalyzerConfig = true;
-              }
-              catch (WSIAnalyzerException e)
-              {
-                // TODO: Add code to log error 
-                //System.out.println("exception " + e);
-              }
-
-            }
-          }
-        }
-      }
-      // validate at the binding level - check for every binding
-      else if (bindings != null && !bindings.isEmpty())
-      {
-        Iterator bindingIterator = bindings.iterator();
-
-        while (bindingIterator.hasNext())
-        {
-          Binding binding = (Binding) bindingIterator.next();
-
-          String bindingname = binding.getQName().getLocalPart();
-          try
-          {
-            wsdlAnalyzer.addConfigurationToTest(null, namespace, bindingname, WSDLAnalyzer.BINDING);
-			hasAnalyzerConfig = true;
-          }
-          catch (WSIAnalyzerException e)
-          {
-            // TODO: Add code to log error 
-            //System.out.println("exception " + e);
-          }
-        }
-      }
-      // validate at the portType level - check for every portType
-      else if (portTypes != null && !portTypes.isEmpty())
-      {
-        Iterator portTypeIterator = portTypes.iterator();
-        while (portTypeIterator.hasNext())
-        {
-          PortType portType = (PortType) portTypeIterator.next();
-          String portTypename = portType.getQName().getLocalPart();
-          try
-          {
-            wsdlAnalyzer.addConfigurationToTest(null, namespace, portTypename, WSDLAnalyzer.PORTTYPE);
-			hasAnalyzerConfig = true;
-          }
-          catch (WSIAnalyzerException e)
-          {
-            // TODO: Add code to log error 
-            //System.out.println("exception " + e);
-          }
-        }
-      }
-      // validate at the message level - check for every message
-      else if (messages != null && !messages.isEmpty())
-      {
-        Iterator messageIterator = messages.iterator();
-
-        while (messageIterator.hasNext())
-        {
-          Message message = (Message) messageIterator.next();
-          String messagename = message.getQName().getLocalPart();
-          try
-          {
-            wsdlAnalyzer.addConfigurationToTest(null, namespace, messagename, WSDLAnalyzer.MESSAGE);
-			hasAnalyzerConfig = true;
-          }
-          catch (WSIAnalyzerException e)
-          {
-            // TODO: Add code to log error 
-            //System.out.println("exception " + e);
-          }
-        }
-      }
-      try
-      {
-        // only run the analyzer if there is something to check
-		if(hasAnalyzerConfig)
-		{
-		  // run the conformance check and add errors and warnings as needed
-		  wsdlAnalyzer.validateConformance();
-			  
-		  // If the level is suggest all errors should be reported as warnings.
-		  if(wsdlAnalyzer.getWSIPreferences().getComplianceLevel().equals(WSITestToolsProperties.WARN_NON_WSI))
-		  {
-		    addWarnings(wsdlAnalyzer.getAssertionErrors(), valInfo);
-		  }
-		  else
-		  {
-		    addErrors(wsdlAnalyzer.getAssertionErrors(), valInfo);
-		  }
-		  addWarnings(wsdlAnalyzer.getAssertionWarnings(), valInfo);
-		}
-      }
-	  catch (WSIAnalyzerException e)
-	  {
-		// TODO: Add code to log error 
-		System.out.println("Unable to run WS-I WSDL conformance check.\n" + e);
-	  }
-    }
-  }
-
-  /**
-   * Add error messages to the validationcontroller.
-   * 
-   * @param errors The list of errors to add.
-   * @param valInfo The object that contains the validation information.
-   */
-  protected void addErrors(List errors, IValidationInfo valInfo)
-  {
-    reportProblems(errors, valInfo, ERROR);
-  }
-
-  /**
-   * Add warning messages to the validationcontroller.
-   * 
-   * @param warnings The list of warnings to add.
-   * @param valInfo The object that contains the validation information.
-   */
-  protected void addWarnings(List warnings, IValidationInfo valInfo)
-  {
-    reportProblems(warnings, valInfo, WARNING);
-  }
-
-  /**
-   * Report the problems specified for the given type to the validationcontroller.
-   * 
-   * @param problems The problems to report.
-   * @param valInfo The object to report the problems to.
-   * @param type The type of messages to add.
-   */
-  protected void reportProblems(List problems, IValidationInfo valInfo, int type)
-  {
-    // if there were no problems just return
-    if (problems == null)
-      return;
-
-    
-    Iterator problemsIterator = problems.iterator();
-    while (problemsIterator.hasNext())
-    {
-      AssertionError assertionerror = (AssertionError) problemsIterator.next();
-      if (type == ERROR)
-      {
-		wsiValid = false;
-        valInfo.addError(
-        		WSIConstants.WSI_PREFIX + "(" + assertionerror.getAssertionID()+ ") " + assertionerror.getErrorMessage(),
-          assertionerror.getLine(),
-          assertionerror.getColumn(),
-          valInfo.getFileURI());
-
-      }
-      else if (type == WARNING)
-      {
-        valInfo.addWarning(
-        		WSIConstants.WSI_PREFIX + "(" + assertionerror.getAssertionID()+ ") " + assertionerror.getErrorMessage(),
-          assertionerror.getLine(),
-          assertionerror.getColumn(),
-          valInfo.getFileURI());
-      }
-    }
-  }
-
-  /**
-   * @see org.eclipse.wsdl.validate.controller.IWSDLValidator#setResourceBundle(java.util.ResourceBundle)
-   */
-  public void setResourceBundle(ResourceBundle rb)
-  {
-    messagegenerator = new MessageGenerator(rb);
-  }
-
-  /**
-   * @see org.eclipse.wsdl.validate.controller.IWSDLValidator#isValid()
-   */
-  public boolean isValid()
-  {
-    return wsiValid;
-  }
-
-}
diff --git a/docs/org.eclipse.jst.ws.axis.infopop/.cvsignore b/docs/org.eclipse.jst.ws.axis.infopop/.cvsignore
new file mode 100644
index 0000000..c14487c
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.axis.infopop/.cvsignore
@@ -0,0 +1 @@
+build.xml
diff --git a/docs/org.eclipse.jst.ws.axis.infopop/META-INF/MANIFEST.MF b/docs/org.eclipse.jst.ws.axis.infopop/META-INF/MANIFEST.MF
index 4f54f9b..5329111 100644
--- a/docs/org.eclipse.jst.ws.axis.infopop/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.jst.ws.axis.infopop/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Web services Axis UI
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.infopop; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.jst.ws.axis.infopop/about.html b/docs/org.eclipse.jst.ws.axis.infopop/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.jst.ws.axis.infopop/about.html
+++ b/docs/org.eclipse.jst.ws.axis.infopop/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.jst.ws.axis.infopop/plugin.xml b/docs/org.eclipse.jst.ws.axis.infopop/plugin.xml
index fa27731..430617d 100644
--- a/docs/org.eclipse.jst.ws.axis.infopop/plugin.xml
+++ b/docs/org.eclipse.jst.ws.axis.infopop/plugin.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" ?>
-<?eclipse version="3.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <?NLS TYPE="org.eclipse.help.toc"?> 
 <!-- /*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/.cvsignore b/docs/org.eclipse.jst.ws.axis.ui.doc.user/.cvsignore
new file mode 100644
index 0000000..ddcf3a9
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/.cvsignore
@@ -0,0 +1,2 @@
+build.xml
+org.eclipse.jst.ws.axis.ui.doc.user_1.0.0.jar
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/.project b/docs/org.eclipse.jst.ws.axis.ui.doc.user/.project
index c0232a5..e75aa99 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/.project
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/.project
@@ -5,7 +5,18 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
 </projectDescription>
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/META-INF/MANIFEST.MF b/docs/org.eclipse.jst.ws.axis.ui.doc.user/META-INF/MANIFEST.MF
index adbb422..d63ffb5 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/META-INF/MANIFEST.MF
@@ -1,11 +1,9 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.jst.ws.axis.ui.doc.user
-Bundle-Version: 0.7.0
+Bundle-SymbolicName: org.eclipse.jst.ws.axis.ui.doc.user; singleton:=true
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="2.1",
- org.eclipse.core.runtime.compatibility
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/about.html b/docs/org.eclipse.jst.ws.axis.ui.doc.user/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/about.html
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/concepts/caxistover.html b/docs/org.eclipse.jst.ws.axis.ui.doc.user/concepts/caxistover.html
index 780868d..375e5c5 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/concepts/caxistover.html
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/concepts/caxistover.html
@@ -2,7 +2,18 @@
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
-<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+ <link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
+
 <title>Creating Web services with the Apache Axis run-time environment</title>
 </head>
 <body id="axisoverview"><a name="axisoverview"><!-- --></a>
@@ -64,8 +75,5 @@
 
 <div><a href="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html"> Developing Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/plugin.xml b/docs/org.eclipse.jst.ws.axis.ui.doc.user/plugin.xml
index 19c2280..8c0ab31 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/plugin.xml
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/plugin.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0" ?>
-<?eclipse version="3.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <?NLS TYPE="org.eclipse.help.toc"?> 
 <!-- /*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsampappa.html b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsampappa.html
index 3c48821..e848b2c 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsampappa.html
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsampappa.html
@@ -2,7 +2,18 @@
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
-<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+ <link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
+
 <title>Generating a Java client proxy and a sample application from
 a WSDL document using the Axis run-time environment</title>
 </head>
@@ -91,7 +102,30 @@
 </ul>
 <p>For more information on creating a Web project, refer to the Web application
 development documentation.</p>
-</div>
+</div><p> <span class="uicontrol">Note:</span>
+<ul>
+<li>You may encounter the following error when running the Web Service client wizard:
+<br>
+<samp>
+IWAB0399E Error in generating Java from WSDL java.io.IOException: WSDL2Java
+emitter timed out (this often means the WSDL at the specified URL is
+inaccessible)!</samp>
+<br>
+You might be accessing a WSDL file that requires a timeout setting of more than
+the default 45 seconds (for example, trying to access a large WSDL file or a
+WSDL file on a slow machine).  You could change the timeout value for the Axis
+WSDL to Java emitter by starting the Eclipse workbench with the
+<samp>AxisWsdl2JavaTimeout</samp> virtual machine argument.  The timeout value is
+specified in milliseconds.  Use a timeout value of <samp>-1</samp> if you want the emitter to never
+time out.
+<br>
+For example, to set the timeout to 60 seconds, use the following command to
+start the Eclipse workbench:
+<br>
+<samp>eclipse -vmargs "-DAxisWsdl2JavaTimeout=60000"</samp>
+</li>
+</ul>
+</p>
 </div>
 <div>
 <div class="familylinks">
@@ -102,7 +136,7 @@
 
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html"> Tools for Web services development</a></div>
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cws.html">Web services development</a></div>
-<div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cruntime.html"> Web services run-time environments</a></div></div>
+</div>
 
 <div class="linklist"><strong>Related Tasks</strong><br />
 
@@ -112,8 +146,6 @@
 
 <div><a href="../../org.eclipse.jst.ws.doc.user/ref/rwsdl.html">WSDL documents</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
+
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsklwsdla.html b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsklwsdla.html
index c3505c6..3972135 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsklwsdla.html
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsklwsdla.html
@@ -2,7 +2,18 @@
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
-<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+ <link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
+
 <title>Creating a Java bean skeleton from a WSDL document using the
 Apache Axis run-time environment</title>
 </head>
@@ -47,7 +58,8 @@
 you to watch the SOAP traffic generated by the Web service and to test this
 traffic for WS-I compliance. Note that this is only supported for Tomcat v4.0
 and v4.1. If you are using Tomcat v5.0 and want to monitor the Web service
-traffic, you need to manually set up a TCP/IP monitor as described in <a href="../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html">../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html</a></li>
+traffic, you need to manually set up a TCP/IP monitor as described in <a href="../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html">Using
+the TCP/IP Monitor to test Web services</a></li>
 </ul>
 </li>
 <li class="stepexpand"><span>Web Service Selection page: Enter the URI to the WSDL, WSIL, or
@@ -125,7 +137,30 @@
 Test Registry. Follow the instructions in  <var class="varname">Publishing the Web service</var> to
 complete this task.</li>
 </ul>
-</div>
+</div><p> <span class="uicontrol">Note:</span>
+<ul>
+<li>You may encounter the following error when running the Web Service wizard:
+<br>
+<samp>
+IWAB0399E Error in generating Java from WSDL java.io.IOException: WSDL2Java
+emitter timed out (this often means the WSDL at the specified URL is
+inaccessible)!</samp>
+<br>
+You might be accessing a WSDL file that requires a timeout setting of more than
+the default 45 seconds (for example, trying to access a large WSDL file or a
+WSDL file on a slow machine).  You could change the timeout value for the Axis
+WSDL to Java emitter by starting the Eclipse workbench with the
+<samp>AxisWsdl2JavaTimeout</samp> virtual machine argument.  The timeout value is
+specified in milliseconds.  Use a timeout value of <samp>-1</samp> if you want the emitter to never
+time out.
+<br>
+For example, to set the timeout to 60 seconds, use the following command to
+start the Eclipse workbench:
+<br>
+<samp>eclipse -vmargs "-DAxisWsdl2JavaTimeout=60000"</samp>
+</li>
+</ul>
+</p>
 </div>
 <div>
 <div class="familylinks">
@@ -136,7 +171,7 @@
 
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html"> Tools for Web services development</a></div>
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cws.html">Web services development</a></div>
-<div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cruntime.html"> Web services run-time environments</a></div></div>
+</div>
 
 <div class="linklist"><strong>Related Tasks</strong><br />
 
@@ -147,8 +182,6 @@
 
 <div><a href="../../org.eclipse.jst.ws.doc.user/ref/rwsdl.html">WSDL documents</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
+
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/ttomcatserv.html b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/ttomcatserv.html
index bc99c1a..3cfdfb3 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/ttomcatserv.html
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/ttomcatserv.html
@@ -2,7 +2,18 @@
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
-<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+ <link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
+
 <title>Creating an Apache Tomcat server and Web project</title>
 </head>
 <body id="creatinganapachetomcatserver"><a name="creatinganapachetomcatserver"><!-- --></a>
@@ -53,8 +64,6 @@
 </div>
 </div>
 <div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
+
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/twsbeana.html b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/twsbeana.html
index cee53bf..555504b 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/twsbeana.html
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/tasks/twsbeana.html
@@ -2,7 +2,18 @@
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
-<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+ <link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
+
 <title>Creating a Web service from a Java bean using the Apache Axis
 run-time environment</title>
 </head>
@@ -47,7 +58,8 @@
 you to watch the SOAP traffic generated by the Web service and to test this
 traffic for WS-I compliance. Note that this is only supported for Tomcat v4.0
 and v4.1. If you are using Tomcat v5.0 and want to monitor the Web service
-traffic, you need to manually set up a TCP/IP monitor as described in <a href="../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html">../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html</a></li>
+traffic, you need to manually set up a TCP/IP monitor as described in <a href="../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html">Using
+the TCP/IP Monitor to test Web services</a></li>
 </ul>
 </li>
 <li class="stepexpand"><span>Object selection page: select the Java bean from which the Web service will
@@ -133,10 +145,34 @@
 complete this task.</li>
 </ul>
 </div>
-<p> <span class="uicontrol">Important:</span> If your methods contain types,
+<p> <span class="uicontrol">Note:</span>
+<ul>
+<li>If your methods contain types,
 not supported by the sample, such as arrays, indexed properties, and collections,
 the methods will be omitted from the sample and you will receive a warning
-message.</p>
+message.</li>
+<li>You may encounter the following error when running the Web Service wizard:
+<br>
+<samp>
+IWAB0399E Error in generating Java from WSDL java.io.IOException: WSDL2Java
+emitter timed out (this often means the WSDL at the specified URL is
+inaccessible)!</samp>
+<br>
+You might be accessing a WSDL file that requires a timeout setting of more than
+the default 45 seconds (for example, trying to access a large WSDL file or a
+WSDL file on a slow machine).  You could change the timeout value for the Axis
+WSDL to Java emitter by starting the Eclipse workbench with the
+<samp>AxisWsdl2JavaTimeout</samp> virtual machine argument.  The timeout value is
+specified in milliseconds.  Use a timeout value of <samp>-1</samp> if you want the emitter to never
+time out.
+<br>
+For example, to set the timeout to 60 seconds, use the following command to
+start the Eclipse workbench:
+<br>
+<samp>eclipse -vmargs "-DAxisWsdl2JavaTimeout=60000"</samp>
+</li>
+</ul>
+</p>
 <p>Once you have created your Web service from a bean, you may
 test the methods of your Web service, using the Universal Test Client, and
 then publish your Web service to a UDDI Business Registry. For more information
@@ -154,7 +190,7 @@
 
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html"> Tools for Web services development</a></div>
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cws.html">Web services development</a></div>
-<div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cruntime.html"> Web services run-time environments</a></div></div>
+</div>
 
 <div class="linklist"><strong>Related Tasks</strong><br />
 
@@ -165,8 +201,5 @@
 
 <div><a href="../../org.eclipse.jst.ws.doc.user/ref/rwsdl.html">WSDL documents</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.axis.ui.doc.user/wsaxisbuild_toc.xml b/docs/org.eclipse.jst.ws.axis.ui.doc.user/wsaxisbuild_toc.xml
index 4f5c835..c3ec062 100644
--- a/docs/org.eclipse.jst.ws.axis.ui.doc.user/wsaxisbuild_toc.xml
+++ b/docs/org.eclipse.jst.ws.axis.ui.doc.user/wsaxisbuild_toc.xml
@@ -1,5 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?NLS  TYPE="org.eclipse.help.toc"?>
-<toc label="wsaxis" link_to="../com.ibm.etools.webservice.creation.doc/wscreationt1_toc.xml#wsaxis" topic="concepts/caxistover.html">
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<toc label="wsaxis" >
    <topic label="Creating an Apache Tomcat server and Web project" href="tasks/ttomcatserv.html"/>
 </toc>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.infopop/.cvsignore b/docs/org.eclipse.jst.ws.consumption.infopop/.cvsignore
new file mode 100644
index 0000000..c14487c
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.consumption.infopop/.cvsignore
@@ -0,0 +1 @@
+build.xml
diff --git a/docs/org.eclipse.jst.ws.consumption.infopop/META-INF/MANIFEST.MF b/docs/org.eclipse.jst.ws.consumption.infopop/META-INF/MANIFEST.MF
index fb67cfd..680cadc 100644
--- a/docs/org.eclipse.jst.ws.consumption.infopop/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.jst.ws.consumption.infopop/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Web services UI
 Bundle-SymbolicName: org.eclipse.jst.ws.consumption.infopop; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.jst.ws.consumption.infopop/about.html b/docs/org.eclipse.jst.ws.consumption.infopop/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.jst.ws.consumption.infopop/about.html
+++ b/docs/org.eclipse.jst.ws.consumption.infopop/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.jst.ws.consumption.infopop/build.properties b/docs/org.eclipse.jst.ws.consumption.infopop/build.properties
index 34c2687..ad0098e 100644
--- a/docs/org.eclipse.jst.ws.consumption.infopop/build.properties
+++ b/docs/org.eclipse.jst.ws.consumption.infopop/build.properties
@@ -1,7 +1,7 @@
 bin.includes = plugin.xml,\
                wsconsumptionui-f1Contexts.xml,\
                wscreationui-f1Contexts.xml,\
-               wsui-f1Contexts.xml,\
                about.html,\
-               META-INF/
+               META-INF/,\
+               wsui-f1Contexts.xml
 src.includes = build.properties
diff --git a/docs/org.eclipse.jst.ws.consumption.infopop/plugin.xml b/docs/org.eclipse.jst.ws.consumption.infopop/plugin.xml
index 4cfaa46..3b80770 100644
--- a/docs/org.eclipse.jst.ws.consumption.infopop/plugin.xml
+++ b/docs/org.eclipse.jst.ws.consumption.infopop/plugin.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" ?>
+<?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.0"?>
 <?NLS TYPE="org.eclipse.help.toc"?> 
 <!-- /*******************************************************************************
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/.cvsignore b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/.cvsignore
new file mode 100644
index 0000000..9dcb266
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/.cvsignore
@@ -0,0 +1,2 @@
+build.xml
+org.eclipse.jst.ws.consumption.ui.doc.user_1.0.0.jar
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/.project b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/.project
index a4059a9..0b3dcb1 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/.project
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/.project
@@ -5,7 +5,18 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
 </projectDescription>
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/META-INF/MANIFEST.MF b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/META-INF/MANIFEST.MF
index 072044b..35fae6a 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/META-INF/MANIFEST.MF
@@ -1,11 +1,9 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %Plugin.name
-Bundle-SymbolicName: org.eclipse.jst.ws.consumption.doc.user
-Bundle-Version: 0.7.0
+Bundle-SymbolicName: org.eclipse.jst.ws.consumption.ui.doc.user; singleton:=true
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.core.internal.compatibility.PluginActivator
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="2.1",
- org.eclipse.core.runtime.compatibility
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/about.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/about.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cuddi.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cuddi.html
index 5dc0cf6..cd1a722 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cuddi.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cuddi.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Universal Description, Discovery, and Integration (UDDI)</title>
 </head>
@@ -26,35 +38,25 @@
 business entity and Web service to a public registry, you must first register
 your business entity with a UDDI registry.</p>
 <p>UDDI registries come in two
-forms: public and private.  Both types comply to the same specifications. 
+forms: public and private.  Both types comply to the same specifications. 
 A private registry enables you to publish and test your internal e-business
-applications in a secure, private environment.  Rational<sup>®</sup> Developer
-products include a private UDDI registry. </p>
+applications in a secure, private environment.  Rational<sup>®</sup> Developer
+products include a private UDDI registry. </p>
 <p>A public registry is
 a collection of peer directories that contain information about businesses
 and services. It locates services that are registered at one of its peer nodes
 and facilitates the discovery of published Web services. Data is replicated
 at each of the registries on a regular basis. This ensures consistency in
-service description formats and makes it easy to track changes as they occur. IBM<sup>®</sup> maintains
+service description formats and makes it easy to track changes as they occur. IBM<sup>®</sup> maintains
 two public registries called the IBM UDDI Business Registry and the IBM UDDI Test
 Registry. The IBM UDDI
 Test Registry allows you to develop your Web service and experience the UDDI
-registration process without placing your Web service in an official registry. 
+registration process without placing your Web service in an official registry. 
 Use the IBM UDDI
-Test Registry to experiment with UDDI, and to test and validate your Web service. 
+Test Registry to experiment with UDDI, and to test and validate your Web service. 
 For more information on the IBM's public registries, refer to  <a href="http://uddi.ibm.com" target="_blank">http://uddi.ibm.com</a> For
 a list of public registries, refer to  <a href="http://www.uddi.org/register.html" target="_blank">http://www.uddi.org/register.html</a></p>
-<p>A private
-registry allows you to publish and test your internal applications in a secure,
-private environment. IBM has developed a private registry called the IBM WebSphere<sup>®</sup> UDDI
-Registry.  The IBM WebSphere UDDI Registry is a persistent storage
-mechanism for information published in the Registry.  There are two implementations
-of the SOAP-based APIs - the WebSphere Studio version 5.0 and 5.1 registries
-based on UDDI v2 and the Rational Developer products' registry based on UDDI
-v3 - that allow programmatic publish and inquiry operations. The private registry
-supports access using JDBC 2. Access using JDBC 1 is not supported. The IBM private
-registry and the Web Services Explorer support user-defined custom taxonomies
-in addition to the standard NAICS, UNSPSC and ISO-3166 taxonomies.</p>
+
 <p>The
 UDDI Business Registry acts as a B2B directory linking marketplaces, buyers,
 and sellers. The information provided in the registry consists of three components:
@@ -82,19 +84,16 @@
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cws.html">Web services development</a></div>
 <div><a href="cwsdlud.html" title="The Universal Description, Discovery, and Integration (UDDI) specification defines a way to publish and discover information about Web services. UDDI has two functions: (1) it is a SOAP-based protocol that defines how UDDI clients communicate with registries, and (2) it is a particular set of globally replicated registries.">Relationship between UDDI and WSDL</a></div>
 <div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cwsilud.html">Relationship between UDDI and WSIL</a></div>
-<div><a href="../../org.eclipse.jst.ws.uddi.registry.doc.user/concepts/cusercats.html">User-defined UDDI categories</a></div></div>
+</div>
 
 <div class="linklist"><strong>Related Tasks</strong><br />
 
 <div><a href="../tasks/tuddiexp.html" title="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes.">Publishing Web services and business entities</a></div>
-<div><a href="../../org.eclipse.jst.ws.uddi.registry.doc.user/tasks/tuddiwiz.html"> Configuring a Unit Test UDDI Registry</a></div></div>
+</div>
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cwsdlud.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cwsdlud.html
index 27c7bc5..2f0d394 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cwsdlud.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cwsdlud.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Relationship between UDDI and WSDL</title>
 </head>
@@ -33,21 +45,21 @@
 document-oriented or procedure-oriented information.</p>
 <p>The WSDL service description can be structured in many ways. However, to
 assist with publishing and finding WSDL service descriptions in a UDDI registry,
-WSDL documents consist of two main parts: </p>
+WSDL documents consist of two main parts: </p>
 <ul><li>The service interface definition describes the abstract type interface
 and its protocol binding, known as the WSDL binding document</li>
 <li>The service implementation definition describes the service access location
 information, known as the WSDL service document</li>
 </ul>
-<p>When creating Web services with the IBM<sup>®</sup> SOAP run-time environment,  the
+<p>When creating Web services with the IBM<sup>®</sup> SOAP run-time environment,  the
 tools in this product store these two main parts in three separate XML documents
-when generating Web services from Java™ beans, EJBs, and URLs: the WSDL service
+when generating Web services from Java™ beans, EJBs, and URLs: the WSDL service
 document, the WSDL binding document, and the WSDL interface document. When
 generating Web services from DADX files, the two main parts are stored in
 two separate XML documents: the WSDL binding document and the WSDL service
 document. For more information on the WSDL service, binding, and interface
 documents, refer to the related reference topics at the end of this topic.</p>
-<p>Whe creating Web services with the WebSphere<sup>®</sup> run-time environment or
+<p>Whe creating Web services with the WebSphere<sup>®</sup> run-time environment or
 the Apache Axis run-time environment, the Web services tools create a single
 WSDL document when generating Web services from Java beans or EJBs. This WSDL document contains
 both the service interface and implementation documents.</p>
@@ -107,11 +119,8 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div>
 <div><a href="../../org.eclipse.jst.ws.doc.user/ref/rwsdl.html">Web Services Description Language (WSDL)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/plugin.xml b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/plugin.xml
index 94fe893..248e72b 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/plugin.xml
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/plugin.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" ?>
+<?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.0"?>
 <?NLS TYPE="org.eclipse.help.toc"?> 
 <!-- /*******************************************************************************
@@ -14,7 +14,7 @@
 <plugin>
   
 	<extension point="org.eclipse.help.toc">
-		<toc file="wsconsumptionbuild_toc.xml""/>
+		<toc file="wsconsumptionbuild_toc.xml"/>
 		<toc file="wsconsumptiont_toc.xml" />
 	</extension>
 </plugin>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/ref/ruddi.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/ref/ruddi.html
index d627448..0e8a157 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/ref/ruddi.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/ref/ruddi.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Data structure types (UDDI registry)</title>
 </head>
@@ -9,7 +21,7 @@
 
 <h1 class="topictitle1">Data structure types (UDDI registry)</h1>
 <div><p>Once you have registered and logged in to the UDDI registry that
-you want to use, you can register your Web service.  Registration of
+you want to use, you can register your Web service.  Registration of
 a service involves four core data structure types: business information, service
 information, binding information, and information describing the specifications
 for services. The relationship between these data types is described in Figure
@@ -22,15 +34,15 @@
  <p> <span class="uicontrol">Service information.</span> Information
 that describes a group of Web services. It is contained in a  <tt class="sysout">businessService</tt> structure.
 The  <tt class="sysout">businessService</tt> contains information about
-families of technical services.  It groups a set of Web services related
+families of technical services.  It groups a set of Web services related
 to either a business process or group of services.</p>
  <p> <span class="uicontrol">Binding
 information.</span> Information represented by the  <tt class="sysout">bindingTemplate</tt> structure.
 The  <tt class="sysout">bindingTemplate</tt> holds technical information
 for determining the entry point and construction specifications for invoking
-a Web service.  The  <tt class="sysout">bindingTemplate</tt> provides
+a Web service.  The  <tt class="sysout">bindingTemplate</tt> provides
 the Web service descriptions relevant for application developers that want
-to find and invoke a Web service.  The  <tt class="sysout">bindingTemplate</tt> points
+to find and invoke a Web service.  The  <tt class="sysout">bindingTemplate</tt> points
 to a service implementation descriptions, for example via a URL.</p>
  <p> <span class="uicontrol">Information
 describing the specifications for services.</span> Metadata about the
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/taddreg.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/taddreg.html
index d12befd..87c7d20 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/taddreg.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/taddreg.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Adding a Registry to the Web Services Explorer</title>
 </head>
@@ -16,7 +28,7 @@
 </div>
 </div>
 <div class="section"><p>When you are ready to publish your business entity and Web service,
-add a production registry to the IBM<sup>®</sup> Web Services Explorer. In order to publish
+add a production registry to the IBM<sup>®</sup> Web Services Explorer. In order to publish
 your business entity and Web service to a production registry, you must first
 register with the registry. The registry will provide instructions for registering.
 For more information on registries, refer to  <a href="treg.html">Registering
@@ -63,10 +75,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tassert.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tassert.html
index 0edcb3f..d970c06 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tassert.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tassert.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Managing publisher assertions</title>
 </head>
@@ -9,7 +21,7 @@
 
 <h1 class="topictitle1">Managing publisher assertions</h1>
 <div><p>A publisher assertion is a way in UDDI to associate businessEntity
-structures.  The publisher assertion defines a group of businessEntity
+structures.  The publisher assertion defines a group of businessEntity
 structures. Many businesses are not effectively represented by a single businessEntity.
 A publisher assertion allows for associations to be formed between several
 businessEntity structures. For example, a large company may have several subsidiaries
@@ -58,10 +70,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbkmrk.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbkmrk.html
index fb044ce..77d5f24 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbkmrk.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbkmrk.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Adding a registry, business entity, business service, service
 interface, WSIL, or WSDL service to Favorites</title>
@@ -25,7 +37,7 @@
  <img src="../images/addfav.gif" alt="Picture of the Add to favorites icon." />.</span></li>
 </ol>
 <div class="section"><p>Any favorites that you add are saved by the Web Services Explorer
-to </p>
+to </p>
 <p> <var class="varname">X</var>:\workspace\.metadata\.plugins\org.eclipse.webservice.explorer\favorites.wsil</p>
 <p>Where
  <var class="varname">X</var> is the directory where your workspace folder is located.
@@ -52,7 +64,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbusproj.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbusproj.html
index ce13177..bbd85d0 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbusproj.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tbusproj.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Managing referenced services</title>
 </head>
@@ -11,7 +23,7 @@
 <div><p>A service projection enables a business entity to reference a service
 that was published by another business entity. By using the businessService
 structure as a projection to an already published businessService, businesses
-can share or reuse services.  Service projections are managed centrally
+can share or reuse services.  Service projections are managed centrally
 as part of the referencing businessEntity.</p>
 <div class="p">Prerequisites:<ol><li><a href="treg.html">Register with a registry</a></li>
 <li><a href="tstrtexp.html">Launch the Web Services Explorer</a></li>
@@ -50,10 +62,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tdiscov.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tdiscov.html
index 6a0d133..7b4a71a 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tdiscov.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tdiscov.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Discovering and importing Web services</title>
 </head>
@@ -9,7 +21,7 @@
 
 <h1 class="topictitle1">Discovering Web Services</h1>
 <div><p>Web services can be located through a public business registry
-such as the IBM<sup>®</sup> UDDI
+such as the IBM<sup>®</sup> UDDI
 Business Registry, a private business registry, or a WSIL document. UDDI manages
 the discovery of Web services by relying on a distributed registry of businesses
 and their service descriptions implemented in a common XML format.</p>
@@ -47,7 +59,7 @@
 <li><span>In the Actions pane toolbar click the  <strong>Find</strong> icon  <img src="../images/find.gif" alt="A picture of the Find icon." />.</span></li>
 <li><span>In the Actions pane, enter the name of the query, what you are
 searching for, the type of search that you want to perform, and any query
-information: </span><ol type="a"><li class="substepexpand"><span> <strong>Search for</strong>  This list allows you to search for
+information: </span><ol type="a"><li class="substepexpand"><span> <strong>Search for</strong>  This list allows you to search for
 businesses, services, or service interfaces. </span> <ul><li> <strong>Businesses</strong> Once you locate a business in the registry, use the
 icons in the Action pane toolbar to do the following:<ul><li>View and edit business details</li>
 <li>Get the services associated with that business</li>
@@ -82,19 +94,19 @@
 </li>
 </ul>
 </li>
-<li class="substepexpand"><span> <strong>Type of search</strong>  These radio buttons allow you to
+<li class="substepexpand"><span> <strong>Type of search</strong>  These radio buttons allow you to
 specify a simple or advanced search, or a search by a Universal Unique Identifier
 (UUID). </span> <dl><dt class="dlterm">Simple</dt>
 <dd>Type the name of the businesses, services, or service interfaces for which
 you are searching.  <strong>Note:</strong> The search set size is set to 100 and the
-maximum number of returned results is set to 10 by default.  If you would
+maximum number of returned results is set to 10 by default.  If you would
 like to override the defaults, use the Advanced search.</dd>
 <dt class="dlterm">Advanced </dt>
 <dd>Allows you to enter more search options to focus the scope of your search.
 Select this option if you would like to search for multiple businesses or
 services.</dd>
 <dt class="dlterm">UUID </dt>
-<dd>Allow you to enter the UUID key.  The UUID key is the identifier
+<dd>Allow you to enter the UUID key.  The UUID key is the identifier
 that is associated with the published object.</dd>
 </dl>
 </li>
@@ -151,10 +163,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
-</div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+</div></div> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tgenwsil.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tgenwsil.html
index a5e0af2..ae282f8 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tgenwsil.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tgenwsil.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Generating a WSIL file</title>
 </head>
@@ -62,9 +74,6 @@
  <strong>Go</strong>.</span></li>
 </ol>
 </div>
-</div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
+</div> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpubent.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpubent.html
index 9ed30c9..dbfe066 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpubent.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpubent.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Publishing a business entity</title>
 </head>
@@ -9,10 +21,10 @@
 
 <h1 class="topictitle1">Publishing a business entity</h1>
 <div><p>A business entity contains information about the business that
-has published a service.  Before you can publish a business service,
+has published a service.  Before you can publish a business service,
 you must publish a business entity.</p>
 <div class="p">Prerequisites:<ol><li><a href="treg.html">Register with a registry</a></li>
-<li><a href="tstrtexp.html">Launch the IBM<sup>®</sup> Web Services Explorer</a></li>
+<li><a href="tstrtexp.html">Launch the IBM<sup>®</sup> Web Services Explorer</a></li>
 <li><a href="taddreg.html">Add the registry to the IBM Web Services Explorer</a></li>
 </ol>
 </div>
@@ -20,7 +32,7 @@
 formats: simple and advanced.</p>
 <blockquote> <p> <span class="uicontrol">Simple</span> Allows
 you to enter the minimal amount of information required to publish your business
-entity.  A simple publish only allows you to specify only one name and
+entity.  A simple publish only allows you to specify only one name and
 one business description.</p>
 <p> <span class="uicontrol">Advanced </span> Allows you
 to enter more information about your business entity. An advanced publish
@@ -37,7 +49,7 @@
 </div>
 <ol><li><span>In the Web Services Explorer, select UDDI Main and select the registry
 to which you want to publish the business entity.</span></li>
-<li><span>In the Navigator pane, select the business entity for which
+<li><span>In the Navigator pane, select the business entity for which
 you want to publish the business service.</span></li>
 <li><span>In the Actions pane toolbar, click the  <strong>Publish</strong> icon  <img src="../images/publish2.gif" alt="Picture of the Publish  icon." />.</span></li>
 <li><span>Select the  <strong>Simple</strong> radio button.</span></li>
@@ -55,7 +67,7 @@
 <div class="nested1" xml:lang="en-us" id="d0e113"><a name="d0e113"><!-- --></a><h2 class="topictitle2">Publish a business entity using the advanced option</h2>
 <div><div class="section"><p>To publish a business entity using the advanced option:</p>
 </div>
-<ol><li><span>In the  Web Services Explorer Navigator pane, select the business
+<ol><li><span>In the  Web Services Explorer Navigator pane, select the business
 entity for which you want to publish the business service.</span></li>
 <li><span>In the Actions pane toolbar, click the  <strong>Publish Service</strong> icon
  <img src="../images/pubserv.gif" alt="Picture of the Publish Service icon." />.</span></li>
@@ -96,10 +108,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpublish.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpublish.html
index e7d60b9..68fe528 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpublish.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tpublish.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Publishing a Web service</title>
 </head>
@@ -27,7 +39,7 @@
 <ul class="ullinks">
 <li class="ulchildlink"><strong><a href="../ref/ruddi.html">Data structure types (UDDI registry)</a></strong><br />
 Once you have registered and logged in to the UDDI registry that
-you want to use, you can register your Web service.  Registration of
+you want to use, you can register your Web service.  Registration of
 a service involves four core data structure types: business information, service
 information, binding information, and information describing the specifications
 for services. The relationship between these data types is described in Figure
@@ -78,14 +90,14 @@
 <li><span>Click  <strong>Add</strong> to create business service descriptions.</span></li>
 <li><span>Click  <strong>Add</strong> to create categories. Enter your business service
 categories. Select a category type from the drop down list. Click  <strong>Browse</strong> to
-open the Categories pane.  Navigate through the hierarchical taxonomy
+open the Categories pane.  Navigate through the hierarchical taxonomy
 and select the appropriate classification for your business service, then
 exit the Categories pane.</span></li>
 <li><span>Click  <strong>Go</strong> to publish your business entity.</span></li>
 </ol>
 <div class="section"><p> <strong>Important:</strong> Ensure that you select the service document,
 since the service element is the basis for the Business Service that you will
-publish.  You cannot publish a Business Service using a WSDL document
+publish.  You cannot publish a Business Service using a WSDL document
 that does not have service elements.</p>
 <p>The Web Services Explorer
 is automatically updated with your published Web service. The registry contains
@@ -108,10 +120,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/treg.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/treg.html
index 050c471..115e4a7 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/treg.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/treg.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Registering with a UDDI Registry</title>
 </head>
@@ -11,15 +23,15 @@
 <div><p>In order to publish your business entity and Web service to a UDDI
 registry, you must first register with the registry that you want to use.</p>
 <div class="section"><p>There are many different public and private registries with which
-you can register.  For a list of public registries refer to  <a href="http://www.uddi.org/register.html" target="_blank">www.uddi.org/register.html</a> Since each registry is
+you can register.  For a list of public registries refer to  <a href="http://www.uddi.org/register.html" target="_blank">www.uddi.org/register.html</a> Since each registry is
 different, the registry provider will give you instructions for registering.</p>
 <p>The
 following registries are automatically added to Favorites:</p>
-<ul><li>IBM<sup>®</sup> UDDI
+<ul><li>IBM<sup>®</sup> UDDI
 Registry</li>
 <li>IBM UDDI
 Test Registry</li>
-<li>Microsoft<sup>®</sup> UDDI
+<li>Microsoft<sup>®</sup> UDDI
 Registry</li>
 <li>Microsoft UDDI
 Test Registry</li>
@@ -38,9 +50,9 @@
 registration process without placing your Web service in an official registry.
 Use the IBM UDDI
 Test Registry or a private registry to experiment with UDDI, and to test and
-validate your Web service. The public production registries are listed
+validate your Web service. The public production registries are listed
 under Favorites. The Web Services Explorer does not preload any registries
-by default.  You can preload registries from the favorites section of
+by default.  You can preload registries from the favorites section of
 the Web Services Explorer or by using the Unit Test UDDI wizard. You can also
 preload and configure private registries using the Unit Test UDDI wizard.
 On the Open Registry page of the Web Services Explorer, you can select from
@@ -66,10 +78,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tsampapp.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tsampapp.html
index 4ebc7ef..5c65754 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tsampapp.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tsampapp.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Generating a Java client proxy and a sample application from
 a WSDL document</title>
@@ -10,12 +22,12 @@
 
 <h1 class="topictitle1">Generating a Java client proxy and a sample application
 from a WSDL document using the IBM SOAP run-time environment</h1>
-<div><p>The Web Service Client wizard assists you in generating a Java™ bean
-proxy and a sample application.  The sample Web application demonstrates
+<div><p>The Web Service Client wizard assists you in generating a Java™ bean
+proxy and a sample application.  The sample Web application demonstrates
 how to code a proxy file.</p>
 <div class="p">Prerequisites:<ol><li id="tsampapp__createtomcatlinks"><a name="tsampapp__createtomcatlinks"><!-- --></a>If you are using the Apache Jakarta Tomcat servlet
 container as your server, you must install it, configure an instance of it,
-and create a Web project targeted to it as described in <a href="../../org.eclipse.jst.ws.axis.creation.ui.doc.user/tasks/ttomcatserv.html">Creating a WebSphere<sup>®</sup> Server and Web project</a></li>
+and create a Web project targeted to it as described in <a href="../../org.eclipse.jst.ws.axis.creation.ui.doc.user/tasks/ttomcatserv.html">Creating a WebSphere<sup>®</sup> Server and Web project</a></li>
 <li id="tsampapp__prereqcreatewsprojs"><a name="tsampapp__prereqcreatewsprojs"><!-- --></a>If you are using a WebSphere server, create a dynamic
 Web project targeted to the appropriate server as described in <a href="../../org.eclipse.jst.ws.doc.user/tasks/twasserv.html">Creating a WebSphere Server and Web project</a>.</li>
 <li>Discover and import a WSDL document into the Web project. You can only
@@ -35,7 +47,7 @@
 <li><span>Web Services panel: Select the type of proxy to be generated, and
 whether or not it will be tested.</span></li>
 <li><span>Client Environment Configuration page: Select the run-time environment
-and the server for your Web service client.</span><ol type="a"><li class="substepexpand"><span>Click  <span class="uicontrol">Explore Options</span> and select the IBM<sup>®</sup> SOAP
+and the server for your Web service client.</span><ol type="a"><li class="substepexpand"><span>Click  <span class="uicontrol">Explore Options</span> and select the IBM<sup>®</sup> SOAP
 run-time environment and select the server on which you want to run your Web
 service client.</span> If you want to use the Apache Axis 1.0 run-time
 environment or the IBM WebSphere run-time environments, refer to the appropriate
@@ -69,7 +81,7 @@
 proxy. Note that the Universal Test Client (UTC) is only compatible with Web
 service clients deployed on WebSphere servers. Click  <span class="uicontrol">Finish</span></span></li>
 </ol>
-<div class="section"><p>Notes<sup>®</sup>:</p>
+<div class="section"><p>Notes<sup>®</sup>:</p>
 <ul><li>When defining custom mappings ensure the bean, serializer, and deserializer
 classes are on the build path of the Web project, otherwise the wizard will
 not accept their class names.</li>
@@ -92,9 +104,9 @@
 document rather than the binding WSDL document in order to generate a client
 proxy that contains the complete endpoint information. The service element
 is the basis for the Business Service that you will publish. You cannot publish
-a Business Service using a WSDL document that does not have service elements. 
+a Business Service using a WSDL document that does not have service elements. 
 If you generate a proxy from a WSDL binding document, you must call the  <tt class="sysout">setEndPoint()</tt> method
-to set an endpoint URL before you call any other method in the proxy. 
+to set an endpoint URL before you call any other method in the proxy. 
 The proxy generated from a WSDL binding document is not automatically equipped
 with an endpoint URL.</p>
 <p>The generated Java bean proxy provides a remote procedure
@@ -130,8 +142,5 @@
 <div><a href="tuddiexp.html" title="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes.">Publishing Web services and business entities</a></div></div>
 
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tstrtexp.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tstrtexp.html
index a8e035a..6fb1de5 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tstrtexp.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tstrtexp.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Launching the Web Services Explorer</title>
 </head>
@@ -69,7 +81,7 @@
 Export wizard opens.</span></li>
 <li><span>Click  <strong>Finish</strong>. The Web Services Explorer opens.</span></li>
 </ol>
-<div class="section"><p>The Web Services Explorer opens.  If you selected a registry
+<div class="section"><p>The Web Services Explorer opens.  If you selected a registry
 on the Web Service Publication page of the Web Service Export wizard, you
 will see the registry displayed in the Navigator pane.</p>
 </div>
@@ -78,7 +90,7 @@
 <div class="nested1" xml:lang="en-us" id="d0e127"><a name="d0e127"><!-- --></a><h2 class="topictitle2">Launching the Web Services Explorer from the Run menu</h2>
 <div><div class="section"><p>To launch the Web Services Explorer from the main menu, ensure
 that you are in the J2EE perspective and click  <strong>Run &gt; Launch the Web Services
-Explorer</strong>. The Import wizard opens. The Web Services Explorer opens. 
+Explorer</strong>. The Import wizard opens. The Web Services Explorer opens. 
 The Web Services Explorer opens without any registries displayed in the Navigator
 pane.</p>
 </div>
@@ -87,7 +99,7 @@
 <div class="nested1" xml:lang="en-us" id="d0e134"><a name="d0e134"><!-- --></a><h2 class="topictitle2">Launching the Web Services Explorer from a WSDL file</h2>
 <div><div class="section"><p>To launch the Web Services Explorer from a WSDL file,
 select the WSDL file and right-click and choose  <strong>Web Services &gt; Test with
-Web Services Explorer</strong> or  <strong>Publish WSDL file</strong>.  The Web Services
+Web Services Explorer</strong> or  <strong>Publish WSDL file</strong>.  The Web Services
 Explorer opens. The  <strong>Test with Web Services Explorer</strong> action will preload
 the WSDL in the WSDL page.</p>
 </div>
@@ -106,10 +118,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/ttestwsdl.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/ttestwsdl.html
index 235bdfc..61132ab 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/ttestwsdl.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/ttestwsdl.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Using the WSDL Explorer</title>
 </head>
@@ -13,7 +25,7 @@
 applications can discover WSDL documents and bind with them to execute transactions
 or perform other business processes. The Web Services Explorer allows you
 to explore, import, and test WSDL documents.</p>
-<div class="p">Prerequisites:  To use the WSDL Explorer:<ul><li>You must have a valid URL for a WSDL document.</li>
+<div class="p">Prerequisites:  To use the WSDL Explorer:<ul><li>You must have a valid URL for a WSDL document.</li>
 <li>You must launch the Web Services Explorer: <a href="tstrtexp.html">Launch
 the Web Services Explorer</a></li>
 </ul>
@@ -49,11 +61,11 @@
 names are displayed as links whose action is to display a dialog describing
 embedded XML Schema Definition Language (XSD) information. More information
 about XSD can be found here:  <a href="http://www.eclipse.org/xsd/">http://www.eclipse.org/xsd/</a> 
- <br /><img src="../images/scenario7.gif" alt="Screen capture of the XSD Information Dialog" /><br />  </li>
+ <br /><img src="../images/scenario7.gif" alt="Screen capture of the XSD Information Dialog" /><br />  </li>
 </ul>
 </li>
 <li class="stepexpand"><span>Enter your string and click  <strong>Go</strong>. The result is returned
-in the Status pane.   <br /><img src="../images/wsdlopret.gif" alt="Screen capture of an invoked WSDL operation showing the result in the Status pane" /><br />  </span></li>
+in the Status pane.   <br /><img src="../images/wsdlopret.gif" alt="Screen capture of an invoked WSDL operation showing the result in the Status pane" /><br />  </span></li>
 <li class="stepexpand"><span>If you are using SOAP as your binding method, clicking Source or
 Form in the upper right-hand corner will toggle the display between the Form
 view (shown above) and the Source view, which displays the SOAP message in
@@ -61,7 +73,7 @@
 in XML format (this is suggested for advanced users only). The Explorer does
 validate the XML if you modify it, but not the parameter values you enter.
  <br /><img src="../images/wsdlopretx.gif" alt="Source view of the Invoke a WSDL Operation pane." /><br /></span></li>
-<li class="stepexpand"><span> If you are using SOAP as your binding type, you will also
+<li class="stepexpand"><span> If you are using SOAP as your binding type, you will also
 have the option of toggling the Status pane between the Source and Form views.
 The Source view shows the SOAP request and response envelopes, including the
 parameters you have entered to test the service and the returned value.   <br /><img src="../images/wsdlstatx.gif" alt="Screen capture of the source view of the SOAP request and response envelopes" /><br /> </span></li>
@@ -80,8 +92,5 @@
 <div><a href="tstrtexp.html" title="The Web services tools allows you to launch the Web Services Explorer in several ways.">Launching the Web Services Explorer</a></div>
 <div><a href="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html"> Developing Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.html
index b143137..8d1148e 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Publishing Web services and business entities with the Web Services
 Explorer</title>
@@ -13,17 +25,17 @@
 and bind with them to execute transactions or perform other business processes. </p>
 <div class="section"><p>UDDI enables the discovery of Web services by providing a distributed
 registry of businesses and their service descriptions, implemented in a common
-XML format.  In order for a service requestor to discover a service,
+XML format.  In order for a service requestor to discover a service,
 a service provider must first publish a business entity and at least one business
-service, and service interface in a UDDI registry.  The Web Services
+service, and service interface in a UDDI registry.  The Web Services
 Explorer is a Web application that supports the publication, discovery, and
 maintenance of business entities, business services, and service interfaces.</p>
 <p>WSIL
 enables the discovery of Web services by defining a distributed service discovery
 method that supplies references to service descriptions at the service provider's
 point-of-offering, by specifying how to inspect a Web site for available Web
-services.  The WSIL specification defines the locations on a Web site
-where you can look for Web service descriptions. Since WSIL focuses on
+services.  The WSIL specification defines the locations on a Web site
+where you can look for Web service descriptions. Since WSIL focuses on
 distributed service discovery, the WSIL specification complements UDDI by
 facilitating the discovery of services that are available on Web sites
 that may not be listed yet in a UDDI registry. The Web Services Explorer allows
@@ -50,7 +62,7 @@
 <p>Prerequisites:</p>
 </div>
 <ol><li class="stepexpand"><span>Before you can use the Web Services Explorer to perform any of
-these functions, you must  <a href="treg.html">register with a public registry</a> or <a href="../../org.eclipse.jst.ws.uddi.registry.doc.user/tasks/tuddiwiz.html"> configure a private registry</a>.  There are many different
+these functions, you must  <a href="treg.html">register with a public registry</a>.  There are many different
 registries with which you can register.</span> </li>
 <li class="stepexpand"><span>Ensure that you are using a supported Web browser.</span> The
 following Web browsers and versions are supported:<ul><li>Internet Explorer: 6.0 and up</li>
@@ -78,11 +90,11 @@
 are launched by the user or by the tools themselves (such as the Universal
 Test Client).  The Web Services Explorer will now launch in an external browser
 and its URL should be in the Address field. This can then be pasted or opened
-using am accessibility assisting browser such as IBM<sup>®</sup> Home Page Reader.</li>
+using am accessibility assisting browser such as IBM<sup>®</sup> Home Page Reader.</li>
 <li>When performing an advanced find or publish in the UDDI page of the Web
 Services Explorer, the items in the drop down list for picking a language
 in conjunction with a name or description is sorted  according to the operating
-system's locale settings. On Windows<sup>®</sup>, this order may be managed through
+system's locale settings. On Windows<sup>®</sup>, this order may be managed through
 the Control Panel. To do this:<ol><li>Open the Control Panel.</li>
 <li>Launch the Regional Options control panel applet.</li>
 <li>In the General tab of the resulting dialog, there may be a "Sorting order"
@@ -114,7 +126,7 @@
 registries, you can also add additional registries to your list of favorites.</li>
 <li class="ulchildlink"><strong><a href="../tasks/tpubent.html">Publishing a business entity</a></strong><br />
 A business entity contains information about the business that
-has published a service.  Before you can publish a business service,
+has published a service.  Before you can publish a business service,
 you must publish a business entity.</li>
 <li class="ulchildlink"><strong><a href="../tasks/tpublish.html">Publishing a Web service</a></strong><br />
 The Web service, also known as the business service, describes
@@ -130,11 +142,11 @@
 A service projection enables a business entity to reference a service
 that was published by another business entity. By using the businessService
 structure as a projection to an already published businessService, businesses
-can share or reuse services.  Service projections are managed centrally
+can share or reuse services.  Service projections are managed centrally
 as part of the referencing businessEntity.</li>
 <li class="ulchildlink"><strong><a href="../tasks/tassert.html">Managing publisher assertions</a></strong><br />
 A publisher assertion is a way in UDDI to associate businessEntity
-structures.  The publisher assertion defines a group of businessEntity
+structures.  The publisher assertion defines a group of businessEntity
 structures. Many businesses are not effectively represented by a single businessEntity.
 A publisher assertion allows for associations to be formed between several
 businessEntity structures. For example, a large company may have several subsidiaries
@@ -165,10 +177,7 @@
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tunpub.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tunpub.html
index 7534a0a..f5587c4 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tunpub.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tunpub.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Removing a business entity, Web service, or service interface
 from a registry</title>
@@ -15,7 +27,7 @@
 <div class="p">Prerequisites:<ol><li> <a href="tpubent.html">Publish a business entity</a>.</li>
 <li> <a href="tpublish.html">Publish a Web service</a>.</li>
 <li> <a href="tpublish.html">Publish a service interface</a>.</li>
-<li> <a href="tstrtexp.html">Launch the IBM<sup>®</sup> Web Services Explorer</a>.</li>
+<li> <a href="tstrtexp.html">Launch the IBM<sup>®</sup> Web Services Explorer</a>.</li>
 </ol>
 </div>
 <div class="section">To unpublish a business entity, Web service, or service interface
@@ -47,17 +59,14 @@
 
 <div><a href="tuddiexp.html" title="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes.">Publishing Web services and business entities</a></div>
 <div><a href="tstrtexp.html" title="The Web services tools allows you to launch the Web Services Explorer in several ways.">Launching the Web Services Explorer</a></div>
-<div><a href="tpubent.html" title="A business entity contains information about the business that has published a service.  Before you can publish a business service, you must publish a business entity.">Publishing a business entity</a></div>
+<div><a href="tpubent.html" title="A business entity contains information about the business that has published a service.  Before you can publish a business service, you must publish a business entity.">Publishing a business entity</a></div>
 <div><a href="tpublish.html" title="The Web service, also known as the business service, describes a Web service's endpoint and where its WSDL file resides. The WSDL file lists the operations that service provides.">Publishing a Web service</a></div>
 <div><a href="tunpub.html" title="After you have published a business entity, Web service, or service interface, you can remove or unpublish it through the Web Services Explorer.">Removing a business entity, Web service, or service interface from a registry</a></div>
 <div><a href="tupdate.html" title="After you have published a business entity, Web service, or service interface, you can update it through the Web Services Explorer.">Updating a business entity, Web service, or service interface</a></div></div>
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tupdate.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tupdate.html
index 323218e..edb2c81 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tupdate.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tupdate.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Updating a business entity, Web service, or service interface</title>
 </head>
@@ -45,16 +57,13 @@
 
 <div><a href="tuddiexp.html" title="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes.">Publishing Web services and business entities</a></div>
 <div><a href="tstrtexp.html" title="The Web services tools allows you to launch the Web Services Explorer in several ways.">Launching the Web Services Explorer</a></div>
-<div><a href="tpubent.html" title="A business entity contains information about the business that has published a service.  Before you can publish a business service, you must publish a business entity.">Publishing a business entity</a></div>
+<div><a href="tpubent.html" title="A business entity contains information about the business that has published a service.  Before you can publish a business service, you must publish a business entity.">Publishing a business entity</a></div>
 <div><a href="tpublish.html" title="The Web service, also known as the business service, describes a Web service's endpoint and where its WSDL file resides. The WSDL file lists the operations that service provides.">Publishing a Web service</a></div>
 <div><a href="tunpub.html" title="After you have published a business entity, Web service, or service interface, you can remove or unpublish it through the Web Services Explorer.">Removing a business entity, Web service, or service interface from a registry</a></div></div>
 
 <div class="linklist"><strong>Related Reference</strong><br />
 
-<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
+<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service.  Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdisc.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdisc.html
index 45ef506..1186622 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdisc.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdisc.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Creating a Web service proxy using Faces</title>
 </head>
@@ -87,8 +99,5 @@
 JSP and run it on a sever to test your Web service.</div>
 </div>
 <div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdlexp.html b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdlexp.html
index d8fb3a7..a07c991 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdlexp.html
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdlexp.html
@@ -1,9 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
-<title>Exploring WSDL using the WSDL Explorer</title>
 </head>
 <body id="twsdlexp"><a name="twsdlexp"><!-- --></a>
 
@@ -112,8 +123,5 @@
 <!-- <div><a href="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html"> Developing Web services</a></div>-->
 </div>
 </div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/wsconsumptionbuild_toc.xml b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/wsconsumptionbuild_toc.xml
index 46ed8dc..e52d256 100644
--- a/docs/org.eclipse.jst.ws.consumption.ui.doc.user/wsconsumptionbuild_toc.xml
+++ b/docs/org.eclipse.jst.ws.consumption.ui.doc.user/wsconsumptionbuild_toc.xml
@@ -7,7 +7,6 @@
    <topic label="Exploring WSDL using the WSDL Explorer" href="tasks/twsdlexp.html"/>
    <topic label="Testing WSDL documents and Web services using the WSDL Explorer" href="tasks/ttestwsdl.html"/>
    <topic label="Generating a Java client proxy and a sample application from a WSDL document using the IBM SOAP run-time environment" href="tasks/tsampapp.html"/>
-   <topic label="Creating a Web service proxy using Faces" href="tasks/twsdisc.html"/>
    <topic label="Publishing Web services and business entities" href="tasks/tuddiexp.html">
       <topic label="Launching the Web Services Explorer" href="tasks/tstrtexp.html"/>
       <topic label="Registering with a UDDI registry" href="tasks/treg.html"/>
diff --git a/docs/org.eclipse.jst.ws.doc.user/.cvsignore b/docs/org.eclipse.jst.ws.doc.user/.cvsignore
new file mode 100644
index 0000000..1551830
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.doc.user/.cvsignore
@@ -0,0 +1,2 @@
+build.xml
+org.eclipse.jst.ws.doc.user_1.0.0.jar
diff --git a/docs/org.eclipse.jst.ws.doc.user/.project b/docs/org.eclipse.jst.ws.doc.user/.project
index 395f1e9..b0cfef7 100644
--- a/docs/org.eclipse.jst.ws.doc.user/.project
+++ b/docs/org.eclipse.jst.ws.doc.user/.project
@@ -5,7 +5,18 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
 </projectDescription>
diff --git a/docs/org.eclipse.jst.ws.doc.user/META-INF/MANIFEST.MF b/docs/org.eclipse.jst.ws.doc.user/META-INF/MANIFEST.MF
index d09d896..8e790da 100644
--- a/docs/org.eclipse.jst.ws.doc.user/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.jst.ws.doc.user/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Web services UI
-Bundle-SymbolicName: org.eclipse.jst.ws.doc.user
-Bundle-Version: 0.7.0
+Bundle-SymbolicName: org.eclipse.jst.ws.doc.user; singleton:=true
+Bundle-Version: 1.0.0
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.jst.ws.doc.user/about.html b/docs/org.eclipse.jst.ws.doc.user/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.jst.ws.doc.user/about.html
+++ b/docs/org.eclipse.jst.ws.doc.user/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cjaxrpc.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cjaxrpc.html
index 1f7679c..30a692a 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cjaxrpc.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cjaxrpc.html
@@ -1,14 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>JAX-RPC</title>
 </head>
 <body id="cjaxrpc"><a name="cjaxrpc"><!-- --></a>
 
 <h1 class="topictitle1">JAX-RPC</h1>
-<div><p>JAX-RPC stands for Java™ API for XML-based RPC, also known as
+<div><p>JAX-RPC stands for Java™ API for XML-based RPC, also known as
 JSR 101. It is a specification that describes Java Application Programming Interfaces
 (APIs) and conventions for building Web services and Web service clients that
 use remote procedure calls (RPC) and XML. It standardizes the Java to
@@ -55,8 +67,5 @@
 <div><a href="../tasks/toverws.html"> Developing
 Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cjsr109.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cjsr109.html
index 3f7561c..50e94b2 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cjsr109.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cjsr109.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>JSR 109 and JSR 921- Implementing Enterprise Web services</title>
 </head>
@@ -38,8 +50,5 @@
 <div><a href="../tasks/toverws.html"> Developing
 Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/csoap.html b/docs/org.eclipse.jst.ws.doc.user/concepts/csoap.html
index add5288..b9c796a 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/csoap.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/csoap.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Simple Object Access Protocol (SOAP)</title>
 </head>
@@ -13,20 +25,20 @@
 A SOAP message is a transmission of information from a sender to a receiver.
 SOAP messages can be combined to perform request/response patterns. </p>
 <p>SOAP is transport independent but is most commonly carried over HTTP in
-order to run with the existing Internet infrastructure.  SOAP enables
+order to run with the existing Internet infrastructure.  SOAP enables
 the binding and usage of discovered Web services by defining a message path
-for routing messages. SOAP is used to query UDDI for Web services. Rational<sup>®</sup> Developer
+for routing messages. SOAP is used to query UDDI for Web services. Rational<sup>®</sup> Developer
 products support SOAP 1.1.</p>
 <p>SOAP is an XML-based protocol that defines three parts to every message:</p>
-<ul><li> <span class="uicontrol">Envelope.</span>  The envelope defines a framework
-for describing what is in a message and how to process it.  A SOAP message
-is an envelope containing zero or more headers and exactly one body. 
+<ul><li> <span class="uicontrol">Envelope.</span>  The envelope defines a framework
+for describing what is in a message and how to process it.  A SOAP message
+is an envelope containing zero or more headers and exactly one body. 
 The envelope is the top element of the XML document, providing a container
-for control information, the address of a message, and the message itself. 
-Headers transport any control information such as quality-of-service attributes. 
-The body contains the message identification and its parameters.  Both
+for control information, the address of a message, and the message itself. 
+Headers transport any control information such as quality-of-service attributes. 
+The body contains the message identification and its parameters.  Both
 the headers and the body are child elements of the envelope.</li>
-<li> <span class="uicontrol">Encoding rules.</span>  The set of encoding rules
+<li> <span class="uicontrol">Encoding rules.</span>  The set of encoding rules
 expresses instances of application-defined data types. Encoding rules define
 a serialization mechanism that can be used to exchange instances of application-defined
 data types. SOAP defines a programming language-independent data type scheme
@@ -35,34 +47,34 @@
 is no encoding) is suggested for interoperable Web services and required for
 WS-I compliance.</li>
 <li> <span class="uicontrol">Communication styles.</span> Communications can follow
-a remote procedure call (RPC) or message-oriented (Document) format. 
+a remote procedure call (RPC) or message-oriented (Document) format. 
 These are discussed below.</li>
 </ul>
 <div class="section"><h4 class="sectiontitle">Binding styles</h4><p>SOAP supports two different communication
 styles:</p>
-<blockquote> <p> <span class="uicontrol">Remote procedure call (RPC):</span> 
+<blockquote> <p> <span class="uicontrol">Remote procedure call (RPC):</span> 
 Invocation of an operation returning a result. Typically used with SOAP encoding,
 which is not WS-I compliant.</p>
-<p> <span class="uicontrol">Document Style:</span> 
-Also known as document-oriented or message-oriented style.  This style
+<p> <span class="uicontrol">Document Style:</span> 
+Also known as document-oriented or message-oriented style.  This style
 provides a lower layer of abstraction, and requires more programming work
-if you are using the IBM<sup>®</sup> SOAP or Apache Axis run-time environments.</p>
+if you are using the IBM<sup>®</sup> SOAP or Apache Axis run-time environments.</p>
  </blockquote>
 </div>
 <div class="section"><h4 class="sectiontitle">Encoding styles</h4><p>In distributed computing environments,
 encoding styles define how data values defined in the application can be translated
-to and from a particular protocol format.  The translation process is
+to and from a particular protocol format.  The translation process is
 know as serialization and deserialization.</p>
 <p>The SOAP specification defines
 the SOAP encoding style:</p>
-<blockquote> <p> <span class="uicontrol">SOAP encoding:</span> 
+<blockquote> <p> <span class="uicontrol">SOAP encoding:</span> 
 The SOAP encoding style allows you to serialize/deserialize values of data
-types from the SOAP data model.  This encoding style is defined in the
+types from the SOAP data model.  This encoding style is defined in the
 SOAP 1.1 standard, and is not WS-I compliant.</p>
  </blockquote>
 <p>WSDL defines the
 Literal XML encoding style:</p>
-<blockquote> <p> <span class="uicontrol">Literal XML:</span> 
+<blockquote> <p> <span class="uicontrol">Literal XML:</span> 
 Literal refers to the fact that the document should be read as-is, or unencoded.
 The document is serialized as XMI, meaning that the message XML complies with
 the Schema in the WSDL. When using Literal encoding, each message part references
@@ -71,34 +83,34 @@
 </div>
 <div class="section"><h4 class="sectiontitle">Data model</h4><p>The purpose of the SOAP data model is
 to provide a language-independent abstraction for data types used by common
-programming language types. It consists of:</p>
-<ul><li> <span class="uicontrol">Simple XSD types.</span>  For example int, string,
+programming language types. It consists of:</p>
+<ul><li> <span class="uicontrol">Simple XSD types.</span>  For example int, string,
 and date.</li>
-<li> <span class="uicontrol">Compound types.</span>  There are two kinds of compound
-types,  <var class="varname">structs</var> and  <var class="varname">arrays</var>.  Structs
-are named aggregate types in which each element has a unique name or XML tag. 
+<li> <span class="uicontrol">Compound types.</span>  There are two kinds of compound
+types,  <var class="varname">structs</var> and  <var class="varname">arrays</var>.  Structs
+are named aggregate types in which each element has a unique name or XML tag. 
 Arrays have elements that are identified by position, not by name.</li>
 </ul>
 <p>All elements and identifiers comprising the SOAP data model are defined
-in the namespace URI.  The SOAP standard defines the rules for how data
-types can be constructed.  A project specific XML schema must define
+in the namespace URI.  The SOAP standard defines the rules for how data
+types can be constructed.  A project specific XML schema must define
 the actual data types. The elements of the SOAP specification are defined
 in  <a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a> and
  <a href="http://schemas.xmlsoap.org/soap/encoding/" target="_blank">http://schemas.xmlsoap.org/soap/encoding/</a></p>
 </div>
 <div class="section"><h4 class="sectiontitle">SOAP implementations</h4><p>Different implementations of
-the SOAP protocol are available today.  For example, the Apache Foundation
+the SOAP protocol are available today.  For example, the Apache Foundation
 provides Apache SOAP, which grew out of an IBM project called SOAP4J, as well as Apache
-Axis and the IBM WebSphere<sup>®</sup> run-time
+Axis and the IBM WebSphere<sup>®</sup> run-time
 environment. This release of the Web services tools in Rational Developer Tools supports Apache
 SOAP 2.3, Axis 1.0, and IBM WebSphere implementations.</p>
 </div>
 <div class="section"><h4 class="sectiontitle">Mappings</h4><p>A mapping defines an association between
-a qualified XML element name, a Java™ class name, and an encoding style. 
+a qualified XML element name, a Java™ class name, and an encoding style. 
 The mapping specifies how, under the given encoding, an incoming XML element
 with a fully qualified name is converted to a Java class and vice versa.</p>
 <p>For more
-information on Apache SOAP, refer to  <a href="http://xml.apache.org/soap" target="_blank">xml.apache.org/soap</a>  For more information on
+information on Apache SOAP, refer to  <a href="http://xml.apache.org/soap" target="_blank">xml.apache.org/soap</a>  For more information on
 SOAP refer to  <a href="http://www.w3.org/TR/SOAP" target="_blank">www.w3.org/TR/SOAP</a> For
 more information on Web services and the WebSphere Application Server SOAP
 run-time, refer to the WebSphere Application Server documentation.</p>
@@ -119,8 +131,5 @@
 <div><a href="../tasks/toverws.html"> Developing
 Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cws.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cws.html
index b138cdb..a1d9204 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cws.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cws.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Web services overview</title>
 </head>
@@ -16,19 +28,19 @@
 human interaction.</p>
 <p>Web services are self-contained, self-describing modular applications that
 can be published, located, and invoked across the Web.</p>
-<blockquote> <p> <span class="uicontrol">Web services are self-contained.</span>  On
-the client side, no additional software is required.  A programming language
-with XML and HTTP client support is enough to get you started.  On the
-server side, a Web server and servlet engine are required.  The client
-and server can be implemented in different environments.  It is possible
+<blockquote> <p> <span class="uicontrol">Web services are self-contained.</span>  On
+the client side, no additional software is required.  A programming language
+with XML and HTTP client support is enough to get you started.  On the
+server side, a Web server and servlet engine are required.  The client
+and server can be implemented in different environments.  It is possible
 to Web service enable an existing application without writing a single line
 of code.</p>
- <p> <span class="uicontrol">Web services are self-describing.</span> 
+ <p> <span class="uicontrol">Web services are self-describing.</span> 
 The client and server need to recognize only the format and content of request
-and response messages.  The definition of the message format travels
+and response messages.  The definition of the message format travels
 with the message; no external metadata repositories or code generation tools
 are required.</p>
- <p> <span class="uicontrol">Web services are modular.</span> 
+ <p> <span class="uicontrol">Web services are modular.</span> 
 Simple Web services can be aggregated to form more complex Web services either
 by using workflow techniques or by calling lower layer Web services from a
 Web service implementation.</p>
@@ -86,102 +98,9 @@
 1. Service roles and interactions.</p>
 <p> <img src="../images/roles.gif" alt="Figure 1 illustrates the interactions between the service broker, service provider, and service requestor." /> </p>
 </div>
-<div class="section"><h4 class="sectiontitle">Web service standards</h4><p>One of the key attributes
-of Internet standards is that they focus on protocols and not on implementations.
-The Internet is composed of heterogeneous technologies that successfully interoperate
-through shared protocols. This prevents individual vendors from imposing a
-standard on the Internet. Open Source software development plays a crucial
-role in preserving the interoperability of vendor implementations of standards.</p>
-<p>The
-following standards play key roles in Web services: Universal Description,
-Discovery and Integration (UDDI), Web Services Description Language (WSDL),
-Web Services Inspection Language (WSIL), Simple Object Access Protocol (SOAP)
-and Web Services Interoperability (WS-I). The relationship between these standards
-is described in Figure 2.</p>
-<p>The UDDI specification defines open, platform-independent
-standards that enable businesses to share information in a global business
-registry, discover services on the registry, and define how they interact
-over the Internet. For more information on UDDI, refer to  <a href="http://www.uddi.org" target="_blank">www.uddi.org</a></p>
-<p>WSIL
-is an XML-based open specification that defines a distributed service discovery
-method that supplies references to service descriptions at the service provider's
-point-of-offering, by specifying how to inspect a Web site for available Web
-services.  A WSIL document defines the locations on a Web site where
-you can look for Web service descriptions. Since WSIL focuses on distributed
-service discovery, the WSIL specification complements UDDI by facilitating
-the discovery of services that are available on Web sites that may not be
-listed yet in a UDDI registry. A separate topic in this documentation
-discusses the  <a href="cwsilud.html">Relationship between UDDI and WSIL</a>. 
-For more information on WSIL, refer to  <a href="http://www-106.ibm.com/developerworks/webservices/library/ws-wsilspec.html" target="_blank"> www.ibm.com/developerworks/webservices/library/ws-wsilspec.html</a></p>
-<p>WSDL
-is an XML-based open specification that describes the interfaces to and instances
-of Web services on the network. It is extensible, so endpoints can be described
-regardless of the message formats or network protocols that are used to communicate.
-Businesses can make the WSDL documents for their Web services available though
-UDDI, WSIL, or by broadcasting the URLs to their WSDL via email or Web sites.
-WSDL is described as a separate topic in this documentation. For more information
-on WSDL, refer to  <a href="http://www.w3.org/TR/wsdl" target="_blank">www.w3.org/TR/wsdl</a></p>
-<div class="p">SOAP
-is an XML-based standard for messaging over HTTP and other Internet protocols.
-It is a lightweight protocol for the exchange of information in a decentralized,
-distributed environment. It is based on XML and consists of three parts:<ul><li>An envelope that defines a framework for describing what is in a message
-and how to process it.</li>
-<li>A set of encoding rules for expressing instances of application-defined
-data types.</li>
-<li>A convention for representing remote procedure calls and responses.</li>
-</ul>
-SOAP enables the binding and usage of discovered Web services by defining
-a message path for routing messages. SOAP may be used to query UDDI for Web
-services. For more information on SOAP, refer to  <a href="http://www.w3.org/TR/SOAP" target="_blank">www.w3.org/TR/SOAP</a></div>
-<p>Figure 2. Relationships between
-SOAP, UDDI, WSIL and WSDL.</p>
-<p> <img src="../images/soapudws.gif" alt="Figure 2 illustrates the relationships between SOAP, UDDI, WSIL, and WSDL." /> </p>
-<p>A service provider hosts a Web
-service and makes it accessible using protocols such as SOAP/HTTP or SOAP/JMS.
-The Web service is described by a WSDL document that is stored on the provider's
-server or in a special repository. The WSDL document may be referenced by
-the UDDI business registry and WSIL documents. These contain pointers to the
-Web service's WSDL files.</p>
-<p>The WS-I Simple SOAP Binding Profile and WS-I
-Attachments Profile are outlines of requirements to which WSDL and Web service
-protocol (SOAP/HTTP) traffic must comply in order to claim WS-I conformance.
-The Web services WS-I validation tools currently support WS-I Simple SOAP
-Binding Profile 1.0 and the Attachment Profile 1.0. To view the specifications,
-refer to the WS-I Web site, and under  <span class="uicontrol">Resources</span> select
- <span class="uicontrol">Documentation</span>: <a href="http://www.ws-i.org" target="_blank">http://www.ws-i.org</a></p>
-<div class="p">Several
-new Web services standards are also supported by Rational<sup>®</sup> Developer products. These
-include:<dl><dt class="dlterm">JAX-RPC</dt>
-<dd>JAX-RPC stands for Java™ API for XML-based RPC, also known as
-JSR 101. It is a specification that describes Java Application Programming Interfaces
-(APIs) and conventions for building Web services and Web service clients that
-use remote procedure calls (RPC) and XML. It standardizes the Java to
-WSDL and WSDL to Java mappings, and provides the core APIs for developing
-and deploying Web services and Web service clients on the Java platform.
-For more information refer to the <a href="http://www.jcp.org/en/jsr/detail?id=101" target="_blank">official specifications</a>.</dd>
-<dt class="dlterm">JSR-109 and JSR-921</dt>
-<dd>JSR-109 and JSR-921 (Implementing Enterprise Web Services) define the
-programming model and run-time architecture to deploy and look up Web services
-in the J2EE environment; more specifically, in the Web, EJB, and Client Application
-containers. One of its main goals is to ensure vendors' implementations interoperate.
-For more information, refer to the official specifications: <ul><li><a href="http://www.jcp.org/en/jsr/detail?id=109" target="_blank">JSR-109</a></li>
-<li><a href="http://www.jcp.org/en/jsr/detail?id=921" target="_blank">JSR-921</a></li>
-</ul>
-</dd>
-<dt class="dlterm">WS-S</dt>
-<dd>Rational Developer
-products support the OASIS Web Services Security 1.0 standard. For more information
-on the various components of this standard, refer to:<ul><li><a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf" target="_blank">Web Services Security: SOAP Message Security
-V1.0</a> </li>
-<li> <a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf" target="_blank">Web Services Security: Username Token Profile
-V1.0</a></li>
-<li> <a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf" target="_blank">Web Services Security: X.509 Token Profile V1.0</a></li>
-</ul>
-</dd>
-</dl>
-</div>
+
 <p>For more information on Web services, refer to  <a href="http://www.ibm.com/developerworks/webservices" target="_blank">www.ibm.com/developerworks/webservices</a></p>
-</div>
+
 </div>
 <div>
 <div class="linklist"><strong>Related Concepts</strong><br />
@@ -195,8 +114,5 @@
 <div><a href="../tasks/toverws.html" title="Use Web services tools to discover, create, and publish Web services that are created from Java beans, DADX files, enterprise beans, WSDL files, and URLs. The Rational Developer products support the creation of Web services using a top-down approach (which starts with a WSDL file) or a bottom-up approach (which starts with a Java bean or EJB)."> Developing Web
 services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsbtmup.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsbtmup.html
index 09ac9bf..ecef71f 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsbtmup.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsbtmup.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Creating bottom-up Web services</title>
 </head>
@@ -10,8 +22,7 @@
 <h1 class="topictitle1">Creating bottom-up Web services</h1>
 <div><p>Web services can be created using two methods: top-down development
 and bottom-up development. Bottom-up Web services development involves creating
-a Web service from a Java™ bean, enterprise bean, URL, DADX file,
-or ISD.</p>
+a Web service from a Java™ bean or enterprise bean.</p>
 <p>Although bottom-up Web service development may be faster and easier, especially
 if you are new to Web services, the top-down approach is the recommended way
 of creating a Web service.</p>
@@ -31,9 +42,5 @@
 <div><a href="cwsinwsa.html">Tools for Web services development</a></div>
 <div><a href="cwstopdown.html" title="Web services can be created using two methods: top-down development and bottom-up development. Top-down Web services development involves creating a Web service from a WSDL file.">Creating top-down Web
 services</a></div></div>
-
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsdl.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsdl.html
index 2f9d258..557198f 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsdl.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsdl.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Web Services Description Language (WSDL)</title>
 </head>
@@ -34,10 +46,10 @@
 services on the Internet. Through UDDI and WSIL, other applications can discover
 WSDL documents and bind with them to execute transactions or perform other
 business processes.</p>
-<p>Rational<sup>®</sup> Developer
+<p>Rational<sup>®</sup> Developer
 products support and encourages the development and use of WS-I compliant
 WSDL. Using Rational Developer
-products a business service provider can deploy Java™ beans and enterprise beans, DADX-described
+products a business service provider can deploy Java™ beans and enterprise beans, DADX-described
 queries and remote procedures, or existing URLs as a Web service and generate
 a WSDL document that describes the service. They can also generate Java and
 enterprise bean skeletons from an existing WSDL file. A business service client
@@ -80,8 +92,5 @@
 <div><a href="../tasks/toverws.html"> Developing Web
 services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsil.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsil.html
index daa1bd6..7c6abfa 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsil.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsil.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Web Services Inspection Language (WSIL)</title>
 </head>
@@ -10,29 +22,29 @@
 <h1 class="topictitle1">Web Services Inspection Language (WSIL)</h1>
 <div><p>Web Services Inspection Language (WSIL) is a service discovery
 mechanism that is an alternative to UDDI as well as complementary to UDDI.
-When you discover Web services with UDDI, you go to a centralized registry. 
-WSIL is an alternative approach to Web service discovery.  WSIL allows
+When you discover Web services with UDDI, you go to a centralized registry. 
+WSIL is an alternative approach to Web service discovery.  WSIL allows
 you to go directly to the service provider and ask for the services it provides.</p>
-<p>IBM<sup>®</sup> and
+<p>IBM<sup>®</sup> and
 Microsoft's proposal for the WSIL specification is designed around an XML-based
 model for building an aggregation of references to existing Web service descriptions,
 that are exposed using standard Web server technology.</p>
 <p>WSIL provides a distributed service discovery method that supplies references
 to service descriptions at the service provider's point-of-offering, by specifying
-how to inspect a Web site for available Web services.  The WSIL specification
-defines the locations on a Web site where you can look for Web service descriptions. </p>
+how to inspect a Web site for available Web services.  The WSIL specification
+defines the locations on a Web site where you can look for Web service descriptions. </p>
 <p>Since WSIL focuses on distributed service discovery, the WSIL specification
 complements UDDI by facilitating the discovery of services that are available
-on Web sites that may not be listed yet in a UDDI registry. A separate
+on Web sites that may not be listed yet in a UDDI registry. A separate
 topic in this documentation discusses the  <a href="cwsilud.html">Relationship
 between UDDI and WSIL</a>.</p>
-<p>The WSIL specification does not define a service description language. 
+<p>The WSIL specification does not define a service description language. 
 WSIL documents provide a method for aggregating different types of service
-descriptions.  Within a WSIL document, a single service can have more
-than one reference to a service description.  For example, a single Web
+descriptions.  Within a WSIL document, a single service can have more
+than one reference to a service description.  For example, a single Web
 service might be referenced twice in a WSIL document: once directly via its
 WSDL, and again via its businessService entry in a UDDI registry. References
-to these two service descriptions should be put into a WSIL document. 
+to these two service descriptions should be put into a WSIL document. 
 If multiple references are available, it is beneficial to put all of them
 in the WSIL document so that the application that uses the document can select
 the type of service description that is compatible with and preferred by that
@@ -40,24 +52,24 @@
 <p>The WSIL specification serves two primary functions:</p>
 <ul><li>WSIL defines an XML format for listing references to existing service
 descriptions. These service descriptions can be defined in any format, such
-as WSDL, UDDI, or plain HTML.  A WSIL document is generally made available
+as WSDL, UDDI, or plain HTML.  A WSIL document is generally made available
 at the point-of-offering for the services that are referenced within the document.
 A WSIL document can contain a list of references to service descriptions,
 as well as references to other WSIL documents.  <p>The ability to link a WSIL
 document to one or more different WSIL documents allows you to manage service
 description references by grouping them into different documents and to build
-a hierarchy of WSIL documents.  For example, separate WSIL documents
+a hierarchy of WSIL documents.  For example, separate WSIL documents
 can be created for different categories of services, and one primary WSIL
 document can link all of them together.</p>
 </li>
 <li>WSIL defines a set of conventions so that it is easy to locate other WSIL
 documents. The WSIL specification does not limit the type of service descriptions
-that can be referenced.  The WSIL specification defines a set of standard
-extensibility elements for both WSDL and UDDI.  The WSIL specification
-is the definition of locations where you can access WSIL documents.  </li>
+that can be referenced.  The WSIL specification defines a set of standard
+extensibility elements for both WSDL and UDDI.  The WSIL specification
+is the definition of locations where you can access WSIL documents.  </li>
 <li> Two conventions make the location and retrieval of WSIL documents easy: <ul><li> <span class="uicontrol">Fixed-name WSIL documents.</span> The fixed name for
-WSIL documents is inspection.wsil.  The inspection.wsil file is placed
-at common entry points for a Web site.  For example, if the common entry
+WSIL documents is inspection.wsil.  The inspection.wsil file is placed
+at common entry points for a Web site.  For example, if the common entry
 point is http://entrypoint.com then the location of the WSIL document would
 be http://entrypoint.com/inspection.wsil</li>
 <li> <span class="uicontrol">Linked WSIL documents.</span> References to WSIL documents
@@ -73,8 +85,8 @@
 <li class="ulchildlink"><strong><a href="../concepts/cwsilud.html">Relationship between UDDI and WSIL</a></strong><br />
 The Web Services Inspection Language (WSIL) and the Universal Description,
 Discovery, and Integration (UDDI) specification both address issues related
-to Web service discovery.  However, each specification takes a different
-approach to the discovery of Web services.  The two specifications can
+to Web service discovery.  However, each specification takes a different
+approach to the discovery of Web services.  The two specifications can
 be used separately or jointly; searching with WSIL can result in finding items
 in UDDI.</li>
 </ul>
@@ -93,8 +105,5 @@
 <div><a href="../tasks/toverws.html"> Developing
 Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsilud.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsilud.html
index b85dd96..e54aec9 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsilud.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsilud.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Relationship between UDDI and WSIL</title>
 </head>
@@ -10,71 +22,68 @@
 <h1 class="topictitle1">Relationship between UDDI and WSIL</h1>
 <div><p>The Web Services Inspection Language (WSIL) and the Universal Description,
 Discovery, and Integration (UDDI) specification both address issues related
-to Web service discovery.  However, each specification takes a different
-approach to the discovery of Web services.  The two specifications can
+to Web service discovery.  However, each specification takes a different
+approach to the discovery of Web services.  The two specifications can
 be used separately or jointly; searching with WSIL can result in finding items
 in UDDI.</p>
 <p>The UDDI specification addresses Web service discovery through the use
-of a centralized model.  One or more repositories are created to house
-information about businesses and the services they offer.  Requests and
+of a centralized model.  One or more repositories are created to house
+information about businesses and the services they offer.  Requests and
 updates pertaining to the service and business related information are issued
-directly against the repositories.  In addition, UDDI prescribes a specific
+directly against the repositories.  In addition, UDDI prescribes a specific
 format for a portion of the stored description information and, to facilitate
 advanced (focused) searching, assumes that other description information will
 be stored and registered within the system as well.</p>
 <p>UDDI systems facilitate focused discovery patterns since these systems
-are based on organized repositories that provide advanced searching capabilities. 
-This helps requestors locate potential communication partners.  In order
+are based on organized repositories that provide advanced searching capabilities. 
+This helps requestors locate potential communication partners.  In order
 to provide advanced functionality, however, UDDI requires the deployment and
 maintenance of a certain amount of infrastructure, thus increasing the cost
-of operation.  In addition, unless the service descriptions are stored
+of operation.  In addition, unless the service descriptions are stored
 only within UDDI, there is a cost associated with keeping the different versions
 synchronized.</p>
 <p>The WSIL specification relies on a completely distributed model for providing
-service-related information.  The service descriptions can be stored
+service-related information.  The service descriptions can be stored
 at any location, and requests to retrieve the information are generally made
-directly to the entities that are offering the services.  The WSIL specification
-does not stipulate any particular format for the service information. 
-It relies on other standards, including UDDI, to define the description formats. 
+directly to the entities that are offering the services.  The WSIL specification
+does not stipulate any particular format for the service information. 
+It relies on other standards, including UDDI, to define the description formats. 
 The WSIL specification also relies on existing Web technologies and infrastructure
 to provide mechanisms for publishing and retrieving its documents.</p>
 <p>WSIL provides the ability to disseminate service-related information through
-existing protocols directly from the point at which the service is being offered. 
+existing protocols directly from the point at which the service is being offered. 
 This enables focused discovery to be performed on a single target; however,
 because of its decentralized and distributed model, WSIL is not a good mechanism
 for executing focused discovery if the communication partner is unknown.</p>
 <p>The UDDI and WSIL specifications should be viewed as complementary technologies
-to be used either together or separately depending on the situation. 
+to be used either together or separately depending on the situation. 
 For example, a UDDI repository could be populated based on the results found
-when performing a search for WSIL documents.  Likewise, a UDDI repository
+when performing a search for WSIL documents.  Likewise, a UDDI repository
 may itself be discovered when a requester retrieves a WSIL document that references
-an entry in the repository.  In environments where the advanced functionality
+an entry in the repository.  In environments where the advanced functionality
 afforded by UDDI is not required and where constraints do not allow for its
 deployment, the WSIL mechanism may provide all of the capabilities that are
-needed.  In situations where data needs to be centrally managed, a UDDI
-solution alone may provide the best fit.  The UDDI and WSIL specifications
+needed.  In situations where data needs to be centrally managed, a UDDI
+solution alone may provide the best fit.  The UDDI and WSIL specifications
 should not be viewed as mutually exclusive.</p>
 <div class="note"><span class="notetitle">Note:</span> Both UDDI and WSIL contain only references to WSDL - they do not contain
 the WSDL documents themselves.</div>
 </div>
 <div>
 <div class="familylinks">
-<div class="parentlink"><strong>Parent topic:</strong> <a href="../concepts/cwsil.html" title="Web Services Inspection Language (WSIL) is a service discovery mechanism that is an alternative to UDDI as well as complementary to UDDI. When you discover Web services with UDDI, you go to a centralized registry.  WSIL is an alternative approach to Web service discovery.  WSIL allows you to go directly to the service provider and ask for the services it provides.">Web Services Inspection Language (WSIL)</a></div>
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../concepts/cwsil.html" title="Web Services Inspection Language (WSIL) is a service discovery mechanism that is an alternative to UDDI as well as complementary to UDDI. When you discover Web services with UDDI, you go to a centralized registry.  WSIL is an alternative approach to Web service discovery.  WSIL allows you to go directly to the service provider and ask for the services it provides.">Web Services Inspection Language (WSIL)</a></div>
 </div>
 
 <div class="linklist"><strong>Related Concepts</strong><br />
 
 <div><a href="cws.html" title="A Web service is a set of related application functions that can be programmatically invoked over the Internet. Businesses can dynamically mix and match Web services to perform complex transactions with minimal programming. Web services allow buyers and sellers all over the world to discover each other, connect dynamically, and execute transactions in real time with minimal human interaction.">Web services overview</a></div>
 <div><a href="cwsinwsa.html">Tools for Web services development</a></div>
-<div><a href="cwsil.html" title="Web Services Inspection Language (WSIL) is a service discovery mechanism that is an alternative to UDDI as well as complementary to UDDI. When you discover Web services with UDDI, you go to a centralized registry.  WSIL is an alternative approach to Web service discovery.  WSIL allows you to go directly to the service provider and ask for the services it provides.">Web Services Inspection Language (WSIL)</a></div></div>
+<div><a href="cwsil.html" title="Web Services Inspection Language (WSIL) is a service discovery mechanism that is an alternative to UDDI as well as complementary to UDDI. When you discover Web services with UDDI, you go to a centralized registry.  WSIL is an alternative approach to Web service discovery.  WSIL allows you to go directly to the service provider and ask for the services it provides.">Web Services Inspection Language (WSIL)</a></div></div>
 
 <div class="linklist"><strong>Related Tasks</strong><br />
 
 <div><a href="../tasks/toverws.html"> Developing
 Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html
index 8d2ecd1..d70b451 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Tools for Web services development</title>
 </head>
@@ -12,17 +24,17 @@
 development:</p>
 <ul><li> <span class="uicontrol">Discover</span>. Browse the UDDI Business Registries
 or WSIL documents to locate existing Web services for integration. The Web
-becomes an extension of Rational<sup>®</sup> Developer products.</li>
+becomes an extension of Rational<sup>®</sup> Developer products.</li>
 <li> <span class="uicontrol">Create or Transform</span>. Create bottom-up Web services
-from existing artifacts, such as Java™ beans, enterprise beans, URLs that
-take and return data, DB2<sup>®</sup> XML Extender calls, DB2 Stored Procedures, and SQL queries.
+from existing artifacts, such as Java™ beans, enterprise beans, URLs that
+take and return data, DB2<sup>®</sup> XML Extender calls, DB2 Stored Procedures, and SQL queries.
 Create top-down Web services from WSDL discovered from others or created using
 the WSDL Editor.</li>
 <li> <span class="uicontrol">Build</span>. Wrap existing artifacts as SOAP accessible
 services and describe them in WSDL. The Web services wizards assist you in
 generating a Java client proxy to Web services described in WSDL
 and in generating Java bean skeletons from WSDL.</li>
-<li> <span class="uicontrol">Deploy</span>. Deploy Web services into the WebSphere<sup>®</sup> Application
+<li> <span class="uicontrol">Deploy</span>. Deploy Web services into the WebSphere<sup>®</sup> Application
 Server or Tomcat test environments. Secure Web services running on WebSphere Application
 Server.</li>
 <li> <span class="uicontrol">Test</span>. Test Web services running locally or remotely
@@ -57,70 +69,7 @@
 the appropriate editor.</li>
 </ul>
  </div>
-<p>Web services tooling supports the following specifications:</p>
 
-<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" width="47.73869346733669%" id="d0e117">Technology or specification</th>
-<th valign="top" width="52.26130653266332%" id="d0e119">Version or level supported</th>
-</tr>
-</thead>
-<tbody><tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Transports</strong></td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">HTTP/HTTPS</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.0 and v1.1</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JMS</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">&nbsp;</td>
-</tr>
-<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Messaging</strong></td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">SOAP specification</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.1</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">SOAP Attachements</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">&nbsp;</td>
-</tr>
-<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Description</strong></td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">UDDI</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">v2.0</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WSDL</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.1</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WSIL</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.0</td>
-</tr>
-<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Security</strong></td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-Security</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">OASIS Standard 1.0</td>
-</tr>
-<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Ineroperability</strong></td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-I Basic Profile</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">1.1.2</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-I Simple SOAP Binding Profile</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">1.0.3</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-I Attachments Profile</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">1.0</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 "><strong>Other Standards</strong></td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">&nbsp;</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JAX-RPC</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.0 for J2EE 1.3, v1.1 for J2EE 1.4</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JSR 109</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">J2EE 1.3</td>
-</tr>
-<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JSR 921</td>
-<td valign="top" width="52.26130653266332%" headers="d0e119 ">J2EE 1.4</td>
-</tr>
-</tbody>
-</table>
-</div>
 </div>
 <div>
 <ul class="ullinks">
@@ -140,9 +89,6 @@
 
 <div><a href="../tasks/toverws.html" title="Use Web services tools to discover, create, and publish Web services that are created from Java beans, DADX files, enterprise beans, WSDL files, and URLs. The Rational Developer products support the creation of Web services using a top-down approach (which starts with a WSDL file) or a bottom-up approach (which starts with a Java bean or EJB)."> Developing Web
 services</a></div></div>
-</div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
+</div> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsiover.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsiover.html
index 33ba967..d2b1bac 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsiover.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsiover.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Web services interoperability (WS-I)</title>
 </head>
@@ -25,7 +37,7 @@
 of compliance is to generate a warning if a non WS-I SSBP complaint Web service
 option is selected and to ignore any non WS-I AP compliant selections. You
 can set the level of WS-I compliance at the workspace or project level. The
-Web services wizards, the WebSphere<sup>®</sup> run-time environments, the WSDL editor,
+Web services wizards, the WebSphere<sup>®</sup> run-time environments, the WSDL editor,
 and other Web services tools provided support and encourage the development
 of WS-I compliance services.</p>
 </div>
@@ -47,9 +59,6 @@
 <div class="linklist"><strong>Related Tasks</strong><br />
 
 <div><a href="../tasks/twsicomply.html" title="The Web services WS-I validation tools support the level of WS-I compliance outlined in the WS-I Basic Profile 1.1, the WS-I Simple SOAP Binding Profile 1.0 (WS-I SSBP), and the WS-I Attachments Profile 1.0 (WS-I AP). You can choose to make your Web service compliant or non-compliant, depending on your needs. For example, encoded style (RPC/encoded), SOAP over JMS protocols, and secured Web services, are not WS-I compliant.">Setting the level of WS-I compliance</a></div></div>
-</div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
+</div> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwsstandards.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsstandards.html
new file mode 100644
index 0000000..90e7cec
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwsstandards.html
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html lang="en-us" xml:lang="en-us">
+<head>
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+ <link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
+
+<title>Web services standards</title>
+</head>
+<body id="webservicesstandards"><a name="webservicesstandards"><!-- --></a>
+<h1 class="topictitle1">Web services standards</h1>
+<div><p>One of the key attributes of Internet standards is that they focus
+on protocols and not on implementations. The Internet is composed of heterogeneous
+technologies that successfully interoperate through shared protocols. This
+prevents individual vendors from imposing a standard on the Internet. Open
+Source software development plays a crucial role in preserving the interoperability
+of vendor implementations of standards.</p>
+<p>The following standards play key roles in Web services: Universal Description,
+Discovery and Integration (UDDI), Web Services Description Language (WSDL),
+Web Services Inspection Language (WSIL), Simple Object Access Protocol (SOAP)
+and Web Services Interoperability (WS-I). The relationship between these standards
+is described in Figure 2.</p>
+<p>The UDDI specification defines open, platform-independent standards that
+enable businesses to share information in a global business registry, discover
+services on the registry, and define how they interact over the Internet.
+For more information on UDDI, refer to  <a href="http://www.uddi.org" target="_blank">www.uddi.org</a></p>
+<p>WSIL is an XML-based open specification that defines a distributed service
+discovery method that supplies references to service descriptions at the service
+provider's point-of-offering, by specifying how to inspect a Web site for
+available Web services.  A WSIL document defines the locations on a Web
+site where you can look for Web service descriptions. Since WSIL focuses
+on distributed service discovery, the WSIL specification complements UDDI
+by facilitating the discovery of services that are available on Web sites
+that may not be listed yet in a UDDI registry. A separate topic in this
+documentation discusses the  <a href="cwsilud.html">Relationship between
+UDDI and WSIL</a>.  For more information on WSIL, refer to  <a href="http://www-106.ibm.com/developerworks/webservices/library/ws-wsilspec.html" target="_blank"> www.ibm.com/developerworks/webservices/library/ws-wsilspec.html</a></p>
+<p>WSDL is an XML-based open specification that describes the interfaces to
+and instances of Web services on the network. It is extensible, so endpoints
+can be described regardless of the message formats or network protocols that
+are used to communicate. Businesses can make the WSDL documents for their
+Web services available though UDDI, WSIL, or by broadcasting the URLs to their
+WSDL via email or Web sites. WSDL is described as a separate topic in this
+documentation. For more information on WSDL, refer to  <a href="http://www.w3.org/TR/wsdl" target="_blank">www.w3.org/TR/wsdl</a></p>
+<div class="p">SOAP is an XML-based standard for messaging over HTTP and other Internet
+protocols. It is a lightweight protocol for the exchange of information in
+a decentralized, distributed environment. It is based on XML and consists
+of three parts:<ul><li>An envelope that defines a framework for describing what is in a message
+and how to process it.</li>
+<li>A set of encoding rules for expressing instances of application-defined
+data types.</li>
+<li>A convention for representing remote procedure calls and responses.</li>
+</ul>
+SOAP enables the binding and usage of discovered Web services by defining
+a message path for routing messages. SOAP may be used to query UDDI for Web
+services. For more information on SOAP, refer to  <a href="http://www.w3.org/TR/SOAP" target="_blank">www.w3.org/TR/SOAP</a></div>
+<p>Figure 2. Relationships between SOAP, UDDI, WSIL and WSDL.</p>
+<p> <img src="../images/soapudws.gif" alt="Figure 2 illustrates the relationships between SOAP, UDDI, WSIL, and WSDL." /> </p>
+<p>A service provider hosts a Web service and makes it accessible using protocols
+such as SOAP/HTTP or SOAP/JMS. The Web service is described by a WSDL document
+that is stored on the provider's server or in a special repository. The WSDL
+document may be referenced by the UDDI business registry and WSIL documents.
+These contain pointers to the Web service's WSDL files.</p>
+<p>The WS-I Simple SOAP Binding Profile and WS-I Attachments Profile are outlines
+of requirements to which WSDL and Web service protocol (SOAP/HTTP) traffic
+must comply in order to claim WS-I conformance. The Web services WS-I validation
+tools currently support WS-I Simple SOAP Binding Profile 1.0 and the Attachment
+Profile 1.0. To view the specifications, refer to the WS-I Web site, and under
+ <span class="uicontrol">Resources</span> select  <span class="uicontrol">Documentation</span>: <a href="http://www.ws-i.org" target="_blank">http://www.ws-i.org</a></p>
+<div class="p">Several new Web services standards are also supported by Rational<sup>®</sup> Developer
+products. These include:<dl><dt class="dlterm">JAX-RPC</dt>
+<dd>JAX-RPC stands for Java„¢ API for XML-based RPC, also known as
+JSR 101. It is a specification that describes Java Application Programming Interfaces
+(APIs) and conventions for building Web services and Web service clients that
+use remote procedure calls (RPC) and XML. It standardizes the Java to
+WSDL and WSDL to Java mappings, and provides the core APIs for developing
+and deploying Web services and Web service clients on the Java platform.
+For more information refer to the <a href="http://www.jcp.org/en/jsr/detail?id=101" target="_blank">official specifications</a>.</dd>
+<dt class="dlterm">JSR-109 and JSR-921</dt>
+<dd>JSR-109 and JSR-921 (Implementing Enterprise Web Services) define the
+programming model and run-time architecture to deploy and look up Web services
+in the J2EE environment; more specifically, in the Web, EJB, and Client Application
+containers. One of its main goals is to ensure vendors' implementations interoperate.
+For more information, refer to the official specifications: <ul><li><a href="http://www.jcp.org/en/jsr/detail?id=109" target="_blank">JSR-109</a></li>
+<li><a href="http://www.jcp.org/en/jsr/detail?id=921" target="_blank">JSR-921</a></li>
+</ul>
+</dd>
+<dt class="dlterm">WS-S</dt>
+<dd>Rational Developer
+products support the OASIS Web Services Security 1.0 standard. For more information
+on the various components of this standard, refer to:<ul><li><a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf" target="_blank">Web Services Security: SOAP Message Security
+V1.0</a> </li>
+<li> <a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf" target="_blank">Web Services Security: Username Token Profile
+V1.0</a></li>
+<li> <a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf" target="_blank">Web Services Security: X.509 Token Profile V1.0</a></li>
+</ul>
+</dd>
+</dl>
+</div>
+<p>Web services tooling supports the following specifications:</p>
+
+<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" width="47.73869346733669%" id="d0e125">Technology or specification</th>
+<th valign="top" width="52.26130653266332%" id="d0e127">Version or level supported</th>
+</tr>
+</thead>
+<tbody><tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Transports</strong></td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">HTTP/HTTPS</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.0 and v1.1</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JMS</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">&nbsp;</td>
+</tr>
+<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Messaging</strong></td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">SOAP specification</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.1</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">SOAP Attachements</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">&nbsp;</td>
+</tr>
+<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Description</strong></td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">UDDI</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">v2.0</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WSDL</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.1</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WSIL</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.0</td>
+</tr>
+<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Security</strong></td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-Security</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">OASIS Standard 1.0</td>
+</tr>
+<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Ineroperability</strong></td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-I Basic Profile</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">1.1.2</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-I Simple SOAP Binding Profile</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">1.0.3</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-I Attachments Profile</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">1.0</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 "><strong>Other Standards</strong></td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">&nbsp;</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JAX-RPC</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.0 for J2EE 1.3, v1.1 for J2EE 1.4</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JSR 109</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">J2EE 1.3</td>
+</tr>
+<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JSR 921</td>
+<td valign="top" width="52.26130653266332%" headers="d0e127 ">J2EE 1.4</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><strong><a href="../concepts/cwsdl.html">Web Services Description Language (WSDL)</a></strong><br />
+Web Services Description Language (WSDL) is a standard specification
+for describing networked, XML-based services. It provides a simple way for
+service providers to describe the basic format of requests to their systems
+regardless of the underlying run-time implementation.</li>
+<li class="ulchildlink"><strong><a href="../concepts/csoap.html">Simple Object Access Protocol (SOAP)</a></strong><br />
+Simple Object Access Protocol (SOAP) is a lightweight protocol
+for the exchange of information in a decentralized, distributed environment.
+A SOAP message is a transmission of information from a sender to a receiver.
+SOAP messages can be combined to perform request/response patterns. </li>
+<li class="ulchildlink"><strong><a href="../../org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cuddi.html">Universal Description, Discovery, and Integration (UDDI)</a></strong><br />
+</li>
+<li class="ulchildlink"><strong><a href="../concepts/cwsil.html">Web Services Inspection Language (WSIL)</a></strong><br />
+Web Services Inspection Language (WSIL) is a service discovery
+mechanism that is an alternative to UDDI as well as complementary to UDDI.
+When you discover Web services with UDDI, you go to a centralized registry. 
+WSIL is an alternative approach to Web service discovery.  WSIL allows
+you to go directly to the service provider and ask for the services it provides.</li>
+<li class="ulchildlink"><strong><a href="../concepts/cjaxrpc.html">JAX-RPC</a></strong><br />
+JAX-RPC stands for Java API for XML-based RPC, also known as
+JSR 101. It is a specification that describes Java Application Programming Interfaces
+(APIs) and conventions for building Web services and Web service clients that
+use remote procedure calls (RPC) and XML. It standardizes the Java to
+WSDL and WSDL to Java mappings, and provides the core APIs for developing
+Web services and Web service clients on the Java platform. Often used in a distributed
+client/server model, an RPC mechanism enables clients to execute procedures
+on other systems.</li>
+<li class="ulchildlink"><strong><a href="../concepts/cjsr109.html">JSR 109 and JSR 921- Implementing Enterprise Web services</a></strong><br />
+JSR 109 and JSR 921 (Implementing Enterprise Web Services) define
+the programming model and run-time architecture to deploy and look up Web
+services in the J2EE environment; more specifically, in the Web, EJB, and
+Client Application containers. One of its main goals is to ensure vendors'
+implementations interoperate.</li>
+</ul>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../concepts/cws.html" title="A Web service is a set of related application functions that can be programmatically invoked over the Internet. Businesses can dynamically mix and match Web services to perform complex transactions with minimal programming. Web services allow buyers and sellers all over the world to discover each other, connect dynamically, and execute transactions in real time with minimal human interaction.">Web services overview</a></div>
+</div>
+
+<div class="linklist"><strong>Related Concepts</strong><br />
+
+<div><a href="cws.html" title="A Web service is a set of related application functions that can be programmatically invoked over the Internet. Businesses can dynamically mix and match Web services to perform complex transactions with minimal programming. Web services allow buyers and sellers all over the world to discover each other, connect dynamically, and execute transactions in real time with minimal human interaction.">Web services overview</a></div>
+<div><a href="cwsinwsa.html">Tools for Web services
+development</a></div>
+<div><a href="cwsiover.html" title="WS-I is an organization designed to promote Web service interoperability across platforms, operating systems, and programming languages.">Web services interoperability
+(WS-I)</a></div></div>
+
+<div class="linklist"><strong>Related Tasks</strong><br />
+
+</div>
+</div></body>
+</html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/concepts/cwstopdown.html b/docs/org.eclipse.jst.ws.doc.user/concepts/cwstopdown.html
index 34852e0..248b775 100644
--- a/docs/org.eclipse.jst.ws.doc.user/concepts/cwstopdown.html
+++ b/docs/org.eclipse.jst.ws.doc.user/concepts/cwstopdown.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Creating top-down Web services</title>
 </head>
@@ -17,7 +29,7 @@
 <p>When creating a Web service using a top-down approach, first you design
 the implementation of the Web service by creating a WSDL file. You can do
 this using the WSDL Editor. You can then use the Web services wizard to create
-the Web service and skeleton Java™ classes to which you can add the required
+the Web service and skeleton Java™ classes to which you can add the required
 code.</p>
 </div>
 <div>
@@ -31,8 +43,5 @@
 <div><a href="cwsinwsa.html">Tools for Web services development</a></div>
 <div><a href="cwsbtmup.html" title="Web services can be created using two methods: top-down development and bottom-up development. Bottom-up Web services development involves creating a Web service from a Java bean, enterprise bean, URL, DADX file, or ISD.">Creating bottom-up Web services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/plugin.xml b/docs/org.eclipse.jst.ws.doc.user/plugin.xml
index 8d2b403..6eda01a 100644
--- a/docs/org.eclipse.jst.ws.doc.user/plugin.xml
+++ b/docs/org.eclipse.jst.ws.doc.user/plugin.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" ?>
+<?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.0"?>
 <?NLS TYPE="org.eclipse.help.toc"?> 
 <!-- /*******************************************************************************
diff --git a/docs/org.eclipse.jst.ws.doc.user/ref/rwsdl.html b/docs/org.eclipse.jst.ws.doc.user/ref/rwsdl.html
index 686c64d..f7d9127 100644
--- a/docs/org.eclipse.jst.ws.doc.user/ref/rwsdl.html
+++ b/docs/org.eclipse.jst.ws.doc.user/ref/rwsdl.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Web Services Description Language (WSDL) reference</title>
 </head>
@@ -39,8 +51,8 @@
 <p><a href="http://www.w3.org/TR/wsdl" target="_blank">www.w3.org/TR/wsdl</a></p>
 <p>The
 various WSDL elements can be structured in many ways. It can be in one single
-WSDL file or in mulitple WSDL files. If the IBM<sup>®</sup> WebSphere<sup>®</sup> or AXIS 1.0 run-time environment
-are selected, Rational<sup>®</sup> Developer
+WSDL file or in mulitple WSDL files. If the IBM<sup>®</sup> WebSphere<sup>®</sup> or AXIS 1.0 run-time environment
+are selected, Rational<sup>®</sup> Developer
 products generate one single WSDL file containing in-line schema. If the IBM SOAP
 run-time environment is selected, Rational Developer products generate
 multiple WSDL and XSD files by default.</p>
@@ -66,8 +78,5 @@
 
 <div><a href="rsoapwsdl.html" title="When using the IBM SOAP run-time environment, by default the Web services tools in this product store the elements in three separate XML documents when generating Web services from Java beans, EJBs, and URLs: the WSDL binding document, the WSDL service document, and the WSDL interface document. By default XSD files are also generated if non-inline complex types are used by the interface. When generating Web services from DADX files, one WSDL document is generated.">WSDL files generated by the IBM SOAP run-time environment</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/ref/rwspref.html b/docs/org.eclipse.jst.ws.doc.user/ref/rwspref.html
index ea538c3..bbdafc3 100644
--- a/docs/org.eclipse.jst.ws.doc.user/ref/rwspref.html
+++ b/docs/org.eclipse.jst.ws.doc.user/ref/rwspref.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Web services preferences</title>
 </head>
@@ -92,8 +104,5 @@
 <div><a href="../tasks/toverws.html"> Developing Web
 services</a></div></div>
 </div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/tasks/toverws.html b/docs/org.eclipse.jst.ws.doc.user/tasks/toverws.html
new file mode 100644
index 0000000..663b084
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.doc.user/tasks/toverws.html
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html lang="en-us" xml:lang="en-us">
+<head>
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+ <link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
+<title>Developing Web services</title>
+</head>
+<body id="toverws"><a name="toverws"><!-- --></a>
+<h1 class="topictitle1">Developing Web services</h1>
+<div><p>Use Web services tools to discover, create, and publish Web services
+that are created from Java™ beans, enterprise beans, and WSDL files.
+You can create of Web services using a top-down approach (which starts with
+a WSDL file) or a bottom-up approach (which starts with a Java bean
+or EJB).</p>
+<div class="section"><p>In this release, the development path that you would typically
+follow to create and publish a Web service is as follows:</p>
+</div>
+<ol><li><span>Create a Web project.</span></li>
+<li><span>Create or import an artifact to be turned into a Web service.</span></li>
+<li><span>Create a Web service.</span></li>
+<li><span>Publish a business entity.</span></li>
+<li><span>Publish a Web service.</span></li>
+</ol>
+<div class="section"><p>For instructions on performing these tasks, refer to the list of
+related topics at the end of this topic.</p>
+<p>Web tools assist you in developing
+Web applications that you can configure as a Web service. Web applications
+are developed in a Web project, and Server tools allow you to use the server
+test environment to test and deploy your Web services.</p>
+</div>
+</div>
+<div>
+<div class="linklist"><strong>Related Concepts</strong><br />
+
+<div><a href="../concepts/cws.html" title="A Web service is a set of related application functions that can be programmatically invoked over the Internet. Businesses can dynamically mix and match Web services to perform complex transactions with minimal programming. Web services allow buyers and sellers all over the world to discover each other, connect dynamically, and execute transactions in real time with minimal human interaction.">Web services overview</a></div>
+<div><a href="../concepts/cwsinwsa.html">Tools for Web
+services development</a></div>
+<div><a href="../concepts/cwsbtmup.html" title="Web services can be created using two methods: top-down development and bottom-up development. Bottom-up Web services development involves creating a Web service from a Java bean or enterprise bean.">Creating bottom-up
+Web services</a></div>
+<div><a href="../concepts/cwstopdown.html" title="Web services can be created using two methods: top-down development and bottom-up development. Top-down Web services development involves creating a Web service from a WSDL file.">Creating
+top-down Web services</a></div></div>
+
+<div class="linklist"><strong>Related Tasks</strong><br />
+
+<div><a href="../../org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtwsdl.html">Creating a WSDL file</a></div>
+<div><a href="../../org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.html">Publishing Web services and business entities</a></div></div>
+</div></body>
+</html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/tasks/twsicomply.html b/docs/org.eclipse.jst.ws.doc.user/tasks/twsicomply.html
index 39fa1d2..6e4099b 100644
--- a/docs/org.eclipse.jst.ws.doc.user/tasks/twsicomply.html
+++ b/docs/org.eclipse.jst.ws.doc.user/tasks/twsicomply.html
@@ -1,7 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html lang="en-us" xml:lang="en-us">
 <head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Setting the level of WS-I compliance</title>
 </head>
@@ -61,8 +73,5 @@
 
 <div><a href="../concepts/cwsiover.html" title="WS-I is an organization designed to promote Web service interoperability across platforms, operating systems, and programming languages.">Web services interoperability (WS-I)</a></div></div>
 </div></div>
-<p>
-		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
-		</p> 
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.doc.user/webservice_toc.xml b/docs/org.eclipse.jst.ws.doc.user/webservice_toc.xml
index 2eecd59..0a17921 100644
--- a/docs/org.eclipse.jst.ws.doc.user/webservice_toc.xml
+++ b/docs/org.eclipse.jst.ws.doc.user/webservice_toc.xml
@@ -1,8 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
-<?NLS  TYPE="org.eclipse.help.toc"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <toc label="wsmaintoc" topic="concepts/cws.html">
    <topic label="Web services overview" href="concepts/cws.html">
-      <topic label="Technologies">
+      <topic label="Web services standards" href="concepts/cwsstandards.html">
          <topic label="Web Services Description Language (WSDL)" href="concepts/cwsdl.html">
             <topic label="Web Services Description Language (WSDL) reference" href="ref/rwsdl.html"/>
          </topic>
@@ -32,7 +42,7 @@
    <topic label="Importing and creating resources used by Web services">
       <link toc="../org.eclipse.wst.wsdl.ui.doc.user/wswsdleditort_toc.xml"/>
    </topic>
-   <topic label="Creating Web services" href="/tasks/toverws.html">
+   <topic label="Creating Web services" href="tasks/toverws.html">
       <topic label="Creating top-down Web services" href="concepts/cwstopdown.html">
          <topic label="Creating a Web service and Java bean skeleton from WSDL" href="../org.eclipse.jst.ws.axis.ui.doc.user/tasks/tsklwsdla.html"/>
       </topic>
diff --git a/docs/org.eclipse.jst.ws.infopop/.cvsignore b/docs/org.eclipse.jst.ws.infopop/.cvsignore
new file mode 100644
index 0000000..c14487c
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.infopop/.cvsignore
@@ -0,0 +1 @@
+build.xml
diff --git a/docs/org.eclipse.jst.ws.infopop/META-INF/MANIFEST.MF b/docs/org.eclipse.jst.ws.infopop/META-INF/MANIFEST.MF
index f59d3fb..6c593ba 100644
--- a/docs/org.eclipse.jst.ws.infopop/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.jst.ws.infopop/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Web services UI
 Bundle-SymbolicName: org.eclipse.jst.ws.infopop; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.jst.ws.infopop/about.html b/docs/org.eclipse.jst.ws.infopop/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.jst.ws.infopop/about.html
+++ b/docs/org.eclipse.jst.ws.infopop/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.jst.ws.infopop/build.properties b/docs/org.eclipse.jst.ws.infopop/build.properties
index e30e471..76184b8 100644
--- a/docs/org.eclipse.jst.ws.infopop/build.properties
+++ b/docs/org.eclipse.jst.ws.infopop/build.properties
@@ -1,5 +1,6 @@
 bin.includes = plugin.xml,\
                webserviceui-f1Contexts.xml,\
                about.html,\
-               META-INF/
+               META-INF/,\
+               wsui-f1Contexts.xml
 src.includes = build.properties
diff --git a/docs/org.eclipse.jst.ws.infopop/plugin.xml b/docs/org.eclipse.jst.ws.infopop/plugin.xml
index 29d848b..4db6d24 100644
--- a/docs/org.eclipse.jst.ws.infopop/plugin.xml
+++ b/docs/org.eclipse.jst.ws.infopop/plugin.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" ?>
+<?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.0"?>
 <?NLS TYPE="org.eclipse.help.toc"?> 
 <!-- /*******************************************************************************
@@ -14,5 +14,6 @@
 <plugin>
 	<extension point="org.eclipse.help.contexts">
 		<contexts file="webserviceui-f1Contexts.xml" plugin="org.eclipse.jst.ws.ui"/>
+		<contexts file="wsui-f1Contexts.xml" plugin="org.eclipse.jst.ws.ui"/>
 	</extension>
 </plugin>
\ No newline at end of file
diff --git a/docs/org.eclipse.jst.ws.infopop/wsui-f1Contexts.xml b/docs/org.eclipse.jst.ws.infopop/wsui-f1Contexts.xml
new file mode 100644
index 0000000..c0c7d91
--- /dev/null
+++ b/docs/org.eclipse.jst.ws.infopop/wsui-f1Contexts.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.contexts"?>
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<contexts>
+
+
+
+<context id="PPAD0006">
+<!--  create web service check box-->
+<description>Select this check box to hide the option of generating a Web service client when you right-click a file in the Project Explorer or Navigator.</description>
+</context>
+
+<context id="PPAD0008">
+<!--  generate skeleton check box-->
+<description>Select this check box to hide the option of generating skeleton Java classes when you right-click a file in the Project Explorer or Navigator. The skeleton bean contains a set of methods that correspond to the operations described in the WSDL document. When the bean is created, each method has a trivial implementation that you replace by editing the bean.</description>
+</context>
+
+<context id="PPAD0009">
+<!--  publish WSDL check box-->
+<description>Select this check box to hide the option of publishing the Web service's WSDL file to a UDDI registry when you right-click a file in the Project Explorer or Navigator.</description>
+</context>
+
+
+</contexts>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.ws.infopop/.cvsignore b/docs/org.eclipse.wst.ws.infopop/.cvsignore
new file mode 100644
index 0000000..c14487c
--- /dev/null
+++ b/docs/org.eclipse.wst.ws.infopop/.cvsignore
@@ -0,0 +1 @@
+build.xml
diff --git a/docs/org.eclipse.wst.ws.infopop/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.ws.infopop/META-INF/MANIFEST.MF
index 2bc9d65..87da34c 100644
--- a/docs/org.eclipse.wst.ws.infopop/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.wst.ws.infopop/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Web services UI
 Bundle-SymbolicName: org.eclipse.wst.ws.infopop; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Localization: plugin
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.wst.ws.infopop/about.html b/docs/org.eclipse.wst.ws.infopop/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.wst.ws.infopop/about.html
+++ b/docs/org.eclipse.wst.ws.infopop/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.wst.ws.infopop/webserviceui-f1Contexts.xml b/docs/org.eclipse.wst.ws.infopop/webserviceui-f1Contexts.xml
index f8bd2b4..6dbb6be 100644
--- a/docs/org.eclipse.wst.ws.infopop/webserviceui-f1Contexts.xml
+++ b/docs/org.eclipse.wst.ws.infopop/webserviceui-f1Contexts.xml
@@ -17,13 +17,22 @@
 <context id="PWSI0001">
 <!--desc-->
 <description>The Web services WS-I validation tools support the level of WS-I compliance outlined in the WS-I Basic Profile 1.1, the WS-I Simple SOAP Binding Profile 1.0 (WS-I SSBP), and the WS-I Attachments Profile 1.0 (WS-I AP). You can choose to make your Web service compliant or non-compliant, depending on your needs. For example, encoded style (RPC/encoded), SOAP over JMS protocols, and secured Web services, are not WS-I compliant.
-<br>
+<br />
 You can set the level of compliance for either the Basic Profile and the Simple SOAP Binding Profile, or for the Attachments Profile. You can select from three levels of compliance with WS-I specifications:
 <ul>
 <li>Require WS-I compliance - this level prevents you from creating a non-compliant Web service.</li>
 <li>Suggest WS-I compliance - this level allows you to create a non-compliant Web service, but provides a visible warning stating how the service is non-compliant.</li>
 <li>Ignore WS-I compliance - this level allows you to create a non-compliant Web service and does not notify you of non-compliance.</li>
 </ul>
+<br>
+You can also select which types of WSDL files to run validation on:
+<ul>
+<li>By selecting "No wizard WSDL validation" the wizards will not run validation on the WSDL file.</li>
+<li>By selecting to run validation on remote files, the wizards will only validate WSDL files that exist outside of your workspace.</li>
+<li>By selecting to run validation on all WSDL files the wizard will validate all WSDL files, regardless of where they reside.</li>
+</ul>
+<br>
+If you select to wait for WSDL validation to complete, the Web services wizards will prevent you from going forward and completing additional wizard pages once you have selected your WSDL file until that WSDL file has been validated. If the WSDL file is not valid, you will be given the option of exiting the wizard or continuing with the invalid WSDL file.
 </description>
 </context>
 
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/.cvsignore b/docs/org.eclipse.wst.wsdl.ui.doc.user/.cvsignore
new file mode 100644
index 0000000..dfce8dd
--- /dev/null
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/.cvsignore
@@ -0,0 +1,2 @@
+build.xml
+org.eclipse.wst.wsdl.ui.doc.user_1.0.0.jar
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/.project b/docs/org.eclipse.wst.wsdl.ui.doc.user/.project
index c65381b..2785100 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/.project
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/.project
@@ -5,7 +5,18 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
 </projectDescription>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.wsdl.ui.doc.user/META-INF/MANIFEST.MF
index 51149ce..f929ee1 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: WSDL Editor Documentation
-Bundle-SymbolicName: org.eclipse.wst.wsdl.doc.user; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-SymbolicName: org.eclipse.wst.wsdl.ui.doc.user; singleton:=true
+Bundle-Version: 1.0.0
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/about.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/about.html
new file mode 100644
index 0000000..4c99086
--- /dev/null
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>February 24, 2005</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/build.properties b/docs/org.eclipse.wst.wsdl.ui.doc.user/build.properties
new file mode 100644
index 0000000..47af986
--- /dev/null
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/build.properties
@@ -0,0 +1,11 @@
+bin.includes = wswsdleditorc_toc.xml,\
+               wswsdleditort_toc.xml,\
+               about.html,\
+               images/,\
+               plugin.properties,\
+               plugin.xml,\
+               topics/,\
+               META-INF/,\
+               concepts/,\
+               tasks/
+src.includes = build.properties
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/concepts/cwsdled.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/concepts/cwsdled.html
index 1a9d64c..b853ce3 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/concepts/cwsdled.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/concepts/cwsdled.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="concept" />
-<meta name="DC.Title" content="Editing WSDL files with the WSDL Editor" />
-<meta name="abstract" content="The WSDL editor allows you to easily and graphically create, modify, view, and validate WSDL files." />
-<meta name="description" content="The WSDL editor allows you to easily and graphically create, modify, view, and validate WSDL files." />
-<meta name="DC.Relation" scheme="URI" content="../../org.eclipse.jst.ws.doc.user/concepts/cwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="cwsdled" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Editing WSDL files with the WSDL editor</title>
 </head>
 <body id="cwsdled"><a name="cwsdled"><!-- --></a>
@@ -61,7 +50,7 @@
 </ul>
 <p>The WSDL support in the WSDL editor is based on the W3C <a href="http://www.w3.org/TR/wsdl" target="_blank">Web Services Description
 Language (WSDL) 1.1</a>. The WSDL specification from the W3C Web site is
-also used for validation.  </p>
+also used for validation.  </p>
 </div>
 <div>
 <ul class="ullinks">
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/plugin.xml b/docs/org.eclipse.wst.wsdl.ui.doc.user/plugin.xml
index 26cbcb2..f3ca99a 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/plugin.xml
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/plugin.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.0"?>
 <!-- /*******************************************************************************
  * Copyright (c) 2000, 2005 IBM Corporation and others.
@@ -15,11 +15,7 @@
 <!-- contributions for using the tool.                 -->
 <!-- ================================================= -->
 
-<plugin
-   id="org.eclipse.wst.wsdl.ui.doc.user"
-   name="webservices documentation"
-   version="7.0.0"
-   provider-name="Eclipse.org">
+<plugin>
 
 <extension point="org.eclipse.help.toc">
     <toc file="wswsdleditort_toc.xml"/>   
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddmess.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddmess.html
index 040ceee..742d36e 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddmess.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddmess.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Adding a message" />
-<meta name="abstract" content="Messages represent an abstract definition of the data being transmitted. A message consists of logical parts, each of which is associated with a definition within some type system. WSDL messages are top level objects that can be referenced by an operation's input, output and fault elements (within a port type)." />
-<meta name="description" content="Messages represent an abstract definition of the data being transmitted. A message consists of logical parts, each of which is associated with a definition within some type system. WSDL messages are top level objects that can be referenced by an operation's input, output and fault elements (within a port type)." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="taddmess" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Adding a message</title>
 </head>
 <body id="taddmess"><a name="taddmess"><!-- --></a>
@@ -56,7 +45,7 @@
 <p> <strong>Tip</strong>: You can also create a new message for your input,
 output, or fault element using the Outline view. Under the  <strong>Port Types</strong> 
 folder, right-click your element and click  <strong>Set Message &gt; Create a new
-message</strong>. Your message will appear in the Outline view under the  <strong>Messages</strong> folder. </p>
+message</strong>. Your message will appear in the Outline view under the  <strong>Messages</strong> folder. </p>
 <p>If
 you want to reuse a message for your input, output, or fault element, follow
 these steps:  </p>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddoper.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddoper.html
index 1cbb167..bb553f6 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddoper.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddoper.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Adding an operation" />
-<meta name="abstract" content="An operation names the operation and lists the expected inputs and outputs. The operation element may also contain a fault sub-element that describes any error data the operation may return." />
-<meta name="description" content="An operation names the operation and lists the expected inputs and outputs. The operation element may also contain a fault sub-element that describes any error data the operation may return." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="taddoper" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Adding an operation</title>
 </head>
 <body id="taddoper"><a name="taddoper"><!-- --></a>
@@ -45,7 +34,7 @@
 <p>To
 add an operation to a port type, follow these steps:</p>
 </div>
-<ol><li class="stepexpand"><span>In the Graph view, right-click your port type.</span> Click <strong>Add Child
+<ol><li class="stepexpand"><span>In the Graph view, right-click your port type.</span> Click <strong>Add Child
 &gt; Operation</strong>.</li>
 <li class="stepexpand"><span>In the dialog, enter a name for the operation.</span></li>
 <li class="stepexpand"><span>Right click on the operation to add an input, output or fault objects.</span> Depending on an operation's inputs and outputs it can be classified
@@ -56,7 +45,7 @@
 </ul>
 </li>
 <li class="stepexpand"><span>Type any information about the operation you wish the user to read
-in the  <strong>Documentation</strong> pane. </span></li>
+in the  <strong>Documentation</strong> pane. </span></li>
 </ol>
 <div class="section"><p> <strong>Tip</strong>: You can also create a new operation for your port
 type using the Outline view.</p>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddpart.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddpart.html
index 4ea8cbf..579b6ee 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddpart.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddpart.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Adding a part to a message" />
-<meta name="abstract" content="All messages contain one or more parts. Parts are a flexible mechanism for describing the logical abstract content of a message. The message definition associates each part with a type using a message-typing attribute." />
-<meta name="description" content="All messages contain one or more parts. Parts are a flexible mechanism for describing the logical abstract content of a message. The message definition associates each part with a type using a message-typing attribute." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="taddpart" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Adding a part to a message</title>
 </head>
 <body id="taddpart"><a name="taddpart"><!-- --></a>
@@ -44,7 +33,7 @@
 down list. The list of types comes from any available referenced XML schemas.</span> </li>
 <li class="stepexpand"><span>If you selected <strong>element</strong> in the <strong>Reference Kind</strong> list,
 you now have the option of selecting an XML schema element from
-the  <strong>Element</strong> drop down list. The list of elements comes from any
+the  <strong>Element</strong> drop down list. The list of elements comes from any
 available referenced XML schemas.</span> </li>
 </ol>
 <div class="section"><p> <strong>Tip</strong>: You can also create a new part for your message using
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddport.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddport.html
index c924cb3..535dbc5 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddport.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddport.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Adding a port to a service" />
-<meta name="abstract" content="A port defines an individual endpoint by specifying a single address for a binding. The port contains a 'binding' attribute that references a binding and an address element that provides a specification for the endpoint." />
-<meta name="description" content="A port defines an individual endpoint by specifying a single address for a binding. The port contains a 'binding' attribute that references a binding and an address element that provides a specification for the endpoint." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="taddport" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Adding a port to a service</title>
 </head>
 <body id="taddport"><a name="taddport"><!-- --></a>
@@ -40,7 +29,7 @@
 <li>If a service has several ports that share a port type, but employ different
 bindings or addresses, the ports are alternatives. Each port provides semantically
 equivalent behavior (within the transport and message format limitations imposed
-by each binding). </li>
+by each binding). </li>
 <li>You can determine a service's port types by examining its ports. Using
 this information a user can determine if a given machine supports all the
 operations needed to complete a given task.</li>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddsrvc.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddsrvc.html
index cbeb373..07b3c91 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddsrvc.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/taddsrvc.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Adding a service" />
-<meta name="abstract" content="The service element is a collection of related ports and specifies the location of the service." />
-<meta name="description" content="The service element is a collection of related ports and specifies the location of the service." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="taddsrvc" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Adding a service</title>
 </head>
 <body id="taddsrvc"><a name="taddsrvc"><!-- --></a>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtimpt.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtimpt.html
index 3ab54ae..398b62d 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtimpt.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtimpt.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Creating an import statement" />
-<meta name="abstract" content="The import statement is used to import other WSDL documents or XML schemas into your WSDL document. This enables you to have more modular WSDL documents. The use of the import statement allows the separation of the different elements of a service definition into independent documents, which can then be imported as needed. This technique helps in writing clearer service definitions, by separating the definitions according to their level of abstraction." />
-<meta name="description" content="The import statement is used to import other WSDL documents or XML schemas into your WSDL document. This enables you to have more modular WSDL documents. The use of the import statement allows the separation of the different elements of a service definition into independent documents, which can then be imported as needed. This technique helps in writing clearer service definitions, by separating the definitions according to their level of abstraction." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="tcrtimpt" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Creating an import statement</title>
 </head>
 <body id="tcrtimpt"><a name="tcrtimpt"><!-- --></a>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrttype.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrttype.html
index 4523234..34d86ff 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrttype.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrttype.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Creating a new type for your WSDL file" />
-<meta name="abstract" content="Types describe all the data types used between the client and server. WSDL is not tied exclusively to a specific typing system, but it uses the W3C XML Schema specification as its default choice." />
-<meta name="description" content="Types describe all the data types used between the client and server. WSDL is not tied exclusively to a specific typing system, but it uses the W3C XML Schema specification as its default choice." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="tcrttype" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Creating a new type for your WSDL file</title>
 </head>
 <body id="tcrttype"><a name="tcrttype"><!-- --></a>
@@ -41,7 +30,7 @@
 file, follow these steps:</p>
 </div>
 <ol><li class="stepexpand"><span>In the Graph view right-click the  <strong>Types</strong> group.</span></li>
-<li class="stepexpand"><span>Click  <strong>Add Child</strong> &gt;  <strong>Add Schema</strong>.  You will be
+<li class="stepexpand"><span>Click  <strong>Add Child</strong> &gt;  <strong>Add Schema</strong>.  You will be
 creating an inline schema - a schema that is defined directly within the WSDL
 file.</span> </li>
 <li class="stepexpand"><span>A schema object will appear in the group.</span> Select it.</li>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtwsdl.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtwsdl.html
index 4f3f23e..f16e13e 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtwsdl.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tcrtwsdl.html
@@ -1,30 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Creating a new WSDL file" />
-<meta name="abstract" content="You can create a new, empty WSDL file, then edit it using the WSDL editor." />
-<meta name="description" content="You can create a new, empty WSDL file, then edit it using the WSDL editor." />
-<meta name="DC.Relation" scheme="URI" content="../../org.eclipse.jst.ws.doc.user/concepts/cwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="timpwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="tcrtwsdl" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Creating a new WSDL file</title>
 </head>
 <body id="tcrtwsdl"><a name="tcrtwsdl"><!-- --></a>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tedtwsdl.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tedtwsdl.html
index abf78bb..5ded832 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tedtwsdl.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tedtwsdl.html
@@ -1,43 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Editing WSDL files" />
-<meta name="abstract" content="Once you have created a WSDL file, you can edit it in the WSDL editor. You can also import WSDL files you have created outside Rational Developer products into the workbench and edit them in the WSDL editor." />
-<meta name="description" content="Once you have created a WSDL file, you can edit it in the WSDL editor. You can also import WSDL files you have created outside Rational Developer products into the workbench and edit them in the WSDL editor." />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/taddsrvc.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/taddport.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tsetprtt.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tsetbind.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/taddoper.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/taddmess.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/taddpart.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tcrtimpt.html" />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tcrttype.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="tedtwsdl" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Editing WSDL files</title>
 </head>
 <body id="tedtwsdl"><a name="tedtwsdl"><!-- --></a>
 
 <h1 class="topictitle1">Editing WSDL files</h1>
 <div><p>Once you have created a WSDL file, you can edit it in the WSDL
-editor. You can also import WSDL files you have created outside Rational<sup>®</sup> Developer
+editor. You can also import WSDL files you have created outside Rational<sup>®</sup> Developer
 products into the workbench and edit them in the WSDL editor.</p>
 <div class="section"><p>To open a WSDL file in the WSDL editor, double-click it in the
 Navigator view or right-click it and click  <strong>Open With &gt; WSDL Editor.</strong></p>
@@ -135,10 +118,10 @@
 <p>The
 Outline view contains the following folders you can use (by right-clicking
 and selecting the appropriate option) to edit your WSDL file:</p>
-<ul><li> <strong>Imports</strong> statements, which are used to associate a namespace
+<ul><li> <strong>Imports</strong> statements, which are used to associate a namespace
 with a document location.</li>
 <li> <strong>Types</strong>, which provide data type definitions used to describe the
-messages exchanged.  You cannot edit any types directly using this folder.</li>
+messages exchanged.  You cannot edit any types directly using this folder.</li>
 <li> <strong>Messages</strong>, which represent an abstract definition of the data being
 transmitted. A message consists of logical parts, each of which is associated
 with a definition within some type system.</li>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/timpwsdl.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/timpwsdl.html
index a5e3b75..90a8205 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/timpwsdl.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/timpwsdl.html
@@ -1,28 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Importing a WSDL file" />
-<meta name="DC.Relation" scheme="URI" content="../../org.eclipse.jst.ws.doc.user/concepts/cwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="../concepts/cwsdled.html" />
-<meta name="DC.Relation" scheme="URI" content="tcrtwsdl.html" />
-<meta name="DC.Relation" scheme="URI" content="tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="timpwsdl" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Importing WSDL files</title>
 </head>
 <body id="timpwsdl"><a name="timpwsdl"><!-- --></a>
@@ -70,10 +61,10 @@
 <p>Alternately, you can import
 a WSDL file using the WSDL Explorer. For more information, refer to:  <a href="../../org.eclipse.jst.ws.consumption.ui.doc.user/tasks/twsdlexp.html"> Using the WSDL Explorer</a>.  </p>
 </div>
-<div class="section"><strong>Known limitation when importing WSDL:</strong> On some Windows<sup>®</sup> systems,
+<div class="section"><strong>Known limitation when importing WSDL:</strong> On some Windows<sup>®</sup> systems,
 the "Import to File System" operation may result in saving the HTML file rather
 than the desired WSDL files. The workaround and fix for this problem is documented
-in Microsoft<sup>®</sup> Knowledge
+in Microsoft<sup>®</sup> Knowledge
 Base article Q281119. A dialog box may ask if you want to save "WSDLFileDownloader",
 the message is incorrect and does not affect the actual name of the file saved.
 If the file extension displays XML when selecting the save location for the
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetbind.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetbind.html
index 58351ca..c53655f 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetbind.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetbind.html
@@ -1,27 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Setting a binding" />
-<meta name="abstract" content="A binding is a top level WSDL object that provides a concrete specification regarding the transmission of messages to and from a web service. A binding references exactly one port type. The structure of a binding corresponds very closely to that of the port type. The binding contains extensibility elements (for example, soap, http, and mime) that specify protocol specific details. Each port within a service references exactly one binding." />
-<meta name="description" content="A binding is a top level WSDL object that provides a concrete specification regarding the transmission of messages to and from a web service. A binding references exactly one port type. The structure of a binding corresponds very closely to that of the port type. The binding contains extensibility elements (for example, soap, http, and mime) that specify protocol specific details. Each port within a service references exactly one binding." />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="tsetbind" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Setting a binding</title>
 </head>
 <body id="tsetbind"><a name="tsetbind"><!-- --></a>
diff --git a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetprtt.html b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetprtt.html
index 587e509..105e521 100644
--- a/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetprtt.html
+++ b/docs/org.eclipse.wst.wsdl.ui.doc.user/tasks/tsetprtt.html
@@ -1,27 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
-<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow" />
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<meta name="DC.Type" content="task" />
-<meta name="DC.Title" content="Setting a port type" />
-<meta name="abstract" content="A port type is a named set of abstract operations and the abstract messages involved. Each operation refers to an input message and output messages. A port type is reference by a binding object. Each binding references exactly one port type. Since each port refers to exactly one binding, each port has exactly one port type." />
-<meta name="description" content="A port type is a named set of abstract operations and the abstract messages involved. Each operation refers to an input message and output messages. A port type is reference by a binding object. Each binding references exactly one port type. Since each port refers to exactly one binding, each port has exactly one port type." />
-<meta name="DC.Relation" scheme="URI" content="../tasks/tedtwsdl.html" />
-<meta name="DC.Format" content="XHTML" />
-<meta name="DC.Identifier" content="tsetprtt" />
-<meta name="DC.Language" content="en-us" />
-<!-- All rights reserved. Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<link rel="stylesheet" type="text/css" href="../ibmdita.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Setting a port type</title>
 </head>
 <body id="tsetprtt"><a name="tsetprtt"><!-- --></a>
@@ -53,8 +45,8 @@
 <li class="stepexpand"><span>Click the  <strong>Create a new port type</strong> radio button.</span></li>
 <li class="stepexpand"><span>Type the name of the port type in the  <strong>Name of port type</strong> field.</span> The name should be unique name among all port types defined within in
 the enclosing WSDL document. Click <strong>Finish</strong>.</li>
-<li class="stepexpand"><span>Click the port type. Type any information about the port type
-you wish the user to read in the  </span> <strong>Documentation</strong> field. </li>
+<li class="stepexpand"><span>Click the port type. Type any information about the port type
+you wish the user to read in the  </span> <strong>Documentation</strong> field. </li>
 </ol>
 <div class="section"><p> <strong>Tip</strong>: You can also create a new port type for your binding
 using the Outline view.</p>
@@ -85,7 +77,7 @@
 <li><span>Select the file that contains the port type you want to use. Click
  <strong>OK</strong>.</span></li>
 <li><span>The bindings in the file will be listed. Select one and click  <strong>Finish</strong>.</span></li>
-<li><span>Click the port type. Type any information about the port type
+<li><span>Click the port type. Type any information about the port type
 you wish the user to read in the  <strong>Documentation</strong> field.</span></li>
 </ol>
 </div>
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/.cvsignore b/docs/org.eclipse.wst.wsi.ui.doc.user/.cvsignore
new file mode 100644
index 0000000..93439c6
--- /dev/null
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/.cvsignore
@@ -0,0 +1,2 @@
+build.xml
+org.eclipse.wst.wsi.ui.doc.user_1.0.0.jar
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.wsi.ui.doc.user/META-INF/MANIFEST.MF
index 2954c5c..da2ee09 100644
--- a/docs/org.eclipse.wst.wsi.ui.doc.user/META-INF/MANIFEST.MF
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: WSDL Editor Documentation
+Bundle-Name: WS Documentation
 Bundle-SymbolicName: org.eclipse.wst.wsi.ui.doc.user; singleton:=true
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Vendor: Eclipse.org
 Bundle-Localization: plugin
 Eclipse-AutoStart: true
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/about.html b/docs/org.eclipse.wst.wsi.ui.doc.user/about.html
index 6f6b96c..4c99086 100644
--- a/docs/org.eclipse.wst.wsi.ui.doc.user/about.html
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
 <html>
 <head>
-<title>About</title>
 <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
 </head>
 <body lang="EN-US">
 <h2>About This Content</h2>
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/build.properties b/docs/org.eclipse.wst.wsi.ui.doc.user/build.properties
new file mode 100644
index 0000000..d96075d
--- /dev/null
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/build.properties
@@ -0,0 +1,8 @@
+bin.includes = about.html,\
+               concepts/,\
+               images/,\
+               plugin.xml,\
+               tasks/,\
+               wswsitest_toc.xml,\
+               META-INF/
+src.includes = build.properties
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html b/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html
index 977fbbb..81fe615 100644
--- a/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html
@@ -1,9 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<link rel="stylesheet" type="text/css" href="../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Using the TCP/IP or SOAP monitor to test Web services</title>
 </head>
 <body id="tmonitor"><a name="tmonitor"><!-- --></a>
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsdlval.html b/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsdlval.html
index fb149f6..9309a24 100644
--- a/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsdlval.html
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsdlval.html
@@ -1,9 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<link rel="stylesheet" type="text/css" href="../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Validating WSDL files</title>
 </head>
 <body id="twsdlval"><a name="twsdlval"><!-- --></a>
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsival.html b/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsival.html
index 615e585..08287c1 100644
--- a/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsival.html
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/tasks/twsival.html
@@ -1,9 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html lang="en-us" xml:lang="en-us">
+<html>
 <head>
-<link rel="stylesheet" type="text/css" href="../org.eclipse.wst.doc.user/common.css" />
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
+<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
 <title>Validating WS-I Web service traffic compliance</title>
 </head>
 <body id="twsival"><a name="twsival"><!-- --></a>
diff --git a/docs/org.eclipse.wst.wsi.ui.doc.user/wswsitest_toc.xml b/docs/org.eclipse.wst.wsi.ui.doc.user/wswsitest_toc.xml
index b866857..0081741 100644
--- a/docs/org.eclipse.wst.wsi.ui.doc.user/wswsitest_toc.xml
+++ b/docs/org.eclipse.wst.wsi.ui.doc.user/wswsitest_toc.xml
@@ -1,5 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
-<?NLS  TYPE="org.eclipse.help.toc"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 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
+ *******************************************************************************/ -->
 <toc label="wswsitest" link_to="../org.eclipse.jst.ws.doc.user/webservice_toc.xml#wswsitest" topic="tasks/twsdlval.html">
    <topic label="Validating WSDL files" href="tasks/twsdlval.html"/>
    <topic label="Using the TCP/IP Monitor to test Web services" href="tasks/tmonitor.html"/>
diff --git a/features/org.eclipse.wst.ws_core.feature/.cvsignore b/features/org.eclipse.wst.ws_core.feature/.cvsignore
new file mode 100644
index 0000000..c14487c
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/.cvsignore
@@ -0,0 +1 @@
+build.xml
diff --git a/features/org.eclipse.wst.ws_core.feature/.project b/features/org.eclipse.wst.ws_core.feature/.project
new file mode 100644
index 0000000..5effa78
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.ws_core.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.wst.ws_core.feature/build.properties b/features/org.eclipse.wst.ws_core.feature/build.properties
new file mode 100644
index 0000000..201c94e
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/build.properties
@@ -0,0 +1,9 @@
+bin.includes = feature.xml,\
+               eclipse_update_120.jpg,\
+               epl-v10.html,\
+               license.html
+src.includes = license.html,\
+               feature.xml,\
+               epl-v10.html,\
+               eclipse_update_120.jpg,\
+               build.properties
diff --git a/features/org.eclipse.wst.ws_core.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.ws_core.feature/eclipse_update_120.jpg
new file mode 100644
index 0000000..bfdf708
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.wst.ws_core.feature/epl-v10.html b/features/org.eclipse.wst.ws_core.feature/epl-v10.html
new file mode 100644
index 0000000..ed4b196
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.ws_core.feature/feature.xml b/features/org.eclipse.wst.ws_core.feature/feature.xml
new file mode 100644
index 0000000..02c251c
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/feature.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.wst.ws_core.feature"
+      label="org.eclipse.wst.ws_core.feature"
+      version="1.0.0">
+
+   <description>
+      %description
+   </description>
+
+   <license url="license.html">
+      %license
+   </license>
+
+   <requires>
+      <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.7.0" match="greaterOrEqual"/>
+      <import feature="org.eclipse.platform" version="3.1.1" match="equivalent"/>
+      <import feature="org.eclipse.emf" version="2.1.1" match="equivalent"/>
+      <import feature="org.eclipse.wst.common_core.feature" version="1.0.0" match="equivalent"/>
+      <import feature="org.eclipse.wst.server_core.feature" version="1.0.0" match="equivalent"/>
+      <import feature="org.eclipse.xsd" version="2.1.1" match="equivalent"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.wst.ws"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.ws.parser"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl.validation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.wsi"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.wst.ws_core.feature/license.html b/features/org.eclipse.wst.ws_core.feature/license.html
new file mode 100644
index 0000000..2347060
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/license.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
+<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
+<BODY lang=EN-US vLink=purple link=blue>
+<H2>Eclipse Foundation Software User Agreement</H2>
+<P>January 28, 2005</P>
+<H3>Usage Of Content</H3>
+<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
+MAY NOT USE THE CONTENT.</P>
+<H3>Applicable Licenses</H3>
+<P>Unless otherwise indicated, all Content made available by the Eclipse 
+Foundation is provided to you under the terms and conditions of the Eclipse 
+Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
+Content and is also available at <A 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+<P>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse.org CVS repository 
+("Repository") in CVS modules ("Modules") and made available as downloadable 
+archives ("Downloads").</P>
+<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
+Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
+contain a list of the names and version numbers of the Plug-ins and/or Fragments 
+associated with a Feature. Plug-ins and Fragments are located in directories 
+named "plugins" and Features are located in directories named "features".</P>
+<P>Features may also include other Features ("Included Features"). Files named 
+"feature.xml" may contain a list of the names and version numbers of Included 
+Features.</P>
+<P>The terms and conditions governing Plug-ins and Fragments should be contained 
+in files named "about.html" ("Abouts"). The terms and conditions governing 
+Features and Included Features should be contained in files named "license.html" 
+("Feature Licenses"). Abouts and Feature Licenses may be located in any 
+directory of a Download or Module including, but not limited to the following 
+locations:</P>
+<UL>
+  <LI>The top-level (root) directory 
+  <LI>Plug-in and Fragment directories 
+  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
+  <LI>Feature directories </LI></UL>
+<P>Note: if a Feature made available by the Eclipse Foundation is installed 
+using the Eclipse Update Manager, you must agree to a license ("Feature Update 
+License") during the installation process. If the Feature contains Included 
+Features, the Feature Update License should either provide you with the terms 
+and conditions governing the Included Features or inform you where you can 
+locate them. Feature Update Licenses may be found in the "license" property of 
+files named "feature.properties". Such Abouts, Feature Licenses and Feature 
+Update Licenses contain the terms and conditions (or references to such terms 
+and conditions) that govern your use of the associated Content in that 
+directory.</P>
+<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
+<UL>
+  <LI>Common Public License Version 1.0 (available at <A 
+  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
+
+  <LI>Apache Software License 1.1 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
+
+  <LI>Apache Software License 2.0 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
+
+  <LI>IBM Public License 1.0 (available at <A 
+  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
+
+  <LI>Metro Link Public License 1.00 (available at <A 
+  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
+
+  <LI>Mozilla Public License Version 1.1 (available at <A 
+  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
+  </LI></UL>
+<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
+provided, please contact the Eclipse Foundation to determine what terms and 
+conditions govern that particular Content.</P>
+<H3>Cryptography</H3>
+<P>Content may contain encryption software. The country in which you are 
+currently may have restrictions on the import, possession, and use, and/or 
+re-export to another country, of encryption software. BEFORE using any 
+encryption software, please check the country's laws, regulations and policies 
+concerning the import, possession, or use, and re-export of encryption software, 
+to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/build.properties
new file mode 100644
index 0000000..f249e9f
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/build.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# Copyright (c) 2000, 2005 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
+###############################################################################
+bin.includes =\
+epl-v10.html,\
+eclipse_update_120.jpg,\
+feature.xml,\
+feature.properties,\
+license.html
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
new file mode 100644
index 0000000..17bb8e3
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/epl-v10.html
new file mode 100644
index 0000000..022ad29
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/license.html
new file mode 100644
index 0000000..c6af966
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/license.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<title>Eclipse.org Software User Agreement</title>
+</head>
+
+<body lang="EN-US" link=blue vlink=purple>
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>March 17, 2005</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+   
+<h3>Applicable Licenses</h3>   
+   
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
+   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+   
+<ul>
+	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>   
+ 
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+	<li>The top-level (root) directory</li>
+	<li>Plug-in and Fragment directories</li>
+	<li>Inside Plug-ins and Fragments packaged as JARs</li>
+	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+	<li>Feature directories</li>
+</ul>
+		
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
+	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+   
+<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
+</body>
+</html>
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.html
new file mode 100644
index 0000000..0a8aea0
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
+
+<h3>Source Code</h3>
+<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
+agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
+src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
+
+</body>
+</html>
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.ini
new file mode 100644
index 0000000..2dee36a
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.ini
@@ -0,0 +1,31 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%blurb
+
+# Property "windowImage" contains path to window icon (16x16)
+# needed for primary features only
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=eclipse32.gif
+
+# Property "aboutImage" contains path to product image (500x330 or 115x164)
+# needed for primary features only
+
+# Property "appName" contains name of the application (not translated)
+# needed for primary features only
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+# optional
+
+# Property "welcomePerspective" contains the id of the perspective in which the
+# welcome page is to be opened.
+# optional
+
+
+
+
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.mappings
new file mode 100644
index 0000000..0dfb735
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings

+# contains fill-ins for about.properties

+# java.io.Properties file (ISO 8859-1 with "\" escapes)

+# This file does not need to be translated.

+

+0=@build@

diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.properties
new file mode 100644
index 0000000..88a06c5
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/about.properties
@@ -0,0 +1,26 @@
+###############################################################################
+# Copyright (c) 2000, 2005 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
+###############################################################################
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+#
+# Do not translate any values surrounded by {}
+
+blurb=Web Standard Tools SDK\n\
+\n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
+Visit http://www.eclipse.org/webtools
+
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/build.properties
new file mode 100644
index 0000000..f95b457
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/build.properties
@@ -0,0 +1,2 @@
+bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
+sourcePlugin = true
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/eclipse32.gif
new file mode 100644
index 0000000..0282f5d
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/eclipse32.gif
Binary files differ
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/eclipse32.png
new file mode 100644
index 0000000..50ae49d
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/eclipse32.png
Binary files differ
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/plugin.properties
new file mode 100644
index 0000000..165af04
--- /dev/null
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplatePlugin/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2005 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
+###############################################################################
+pluginName=Web Standard Tools SDK - Common Component
+providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.ws_sdk.feature/.cvsignore b/features/org.eclipse.wst.ws_sdk.feature/.cvsignore
new file mode 100644
index 0000000..f86671d
--- /dev/null
+++ b/features/org.eclipse.wst.ws_sdk.feature/.cvsignore
@@ -0,0 +1,4 @@
+build.xml
+features
+plugins
+org.eclipse.wst.ws_sdk.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.ws_sdk.feature/.project b/features/org.eclipse.wst.ws_sdk.feature/.project
new file mode 100644
index 0000000..87ebee7
--- /dev/null
+++ b/features/org.eclipse.wst.ws_sdk.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.ws_sdk.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.wst.ws_sdk.feature/build.properties b/features/org.eclipse.wst.ws_sdk.feature/build.properties
new file mode 100644
index 0000000..1bbe149
--- /dev/null
+++ b/features/org.eclipse.wst.ws_sdk.feature/build.properties
@@ -0,0 +1,6 @@
+bin.includes = feature.xml,\
+               license.html,\
+               epl-v10.html,\
+               eclipse_update_120.jpg
+
+generate.feature@org.eclipse.wst.ws_ui.feature.source=org.eclipse.wst.ws_ui.feature
diff --git a/features/org.eclipse.wst.ws_sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.ws_sdk.feature/eclipse_update_120.jpg
new file mode 100644
index 0000000..bfdf708
--- /dev/null
+++ b/features/org.eclipse.wst.ws_sdk.feature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.wst.ws_sdk.feature/epl-v10.html b/features/org.eclipse.wst.ws_sdk.feature/epl-v10.html
new file mode 100644
index 0000000..ed4b196
--- /dev/null
+++ b/features/org.eclipse.wst.ws_sdk.feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.ws_sdk.feature/feature.xml b/features/org.eclipse.wst.ws_sdk.feature/feature.xml
new file mode 100644
index 0000000..99ba5c7
--- /dev/null
+++ b/features/org.eclipse.wst.ws_sdk.feature/feature.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.wst.ws_sdk.feature"
+      label="org.eclipse.wst.ws_sdk.feature"
+      version="1.0.0">
+
+   <description>
+      %description
+   </description>
+
+   <license url="license.html">
+      %license
+   </license>
+
+   <includes
+         id="org.eclipse.wst.ws_ui.feature.source"
+         version="0.0.0"/>
+
+</feature>
diff --git a/features/org.eclipse.wst.ws_sdk.feature/license.html b/features/org.eclipse.wst.ws_sdk.feature/license.html
new file mode 100644
index 0000000..2347060
--- /dev/null
+++ b/features/org.eclipse.wst.ws_sdk.feature/license.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
+<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
+<BODY lang=EN-US vLink=purple link=blue>
+<H2>Eclipse Foundation Software User Agreement</H2>
+<P>January 28, 2005</P>
+<H3>Usage Of Content</H3>
+<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
+MAY NOT USE THE CONTENT.</P>
+<H3>Applicable Licenses</H3>
+<P>Unless otherwise indicated, all Content made available by the Eclipse 
+Foundation is provided to you under the terms and conditions of the Eclipse 
+Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
+Content and is also available at <A 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+<P>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse.org CVS repository 
+("Repository") in CVS modules ("Modules") and made available as downloadable 
+archives ("Downloads").</P>
+<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
+Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
+contain a list of the names and version numbers of the Plug-ins and/or Fragments 
+associated with a Feature. Plug-ins and Fragments are located in directories 
+named "plugins" and Features are located in directories named "features".</P>
+<P>Features may also include other Features ("Included Features"). Files named 
+"feature.xml" may contain a list of the names and version numbers of Included 
+Features.</P>
+<P>The terms and conditions governing Plug-ins and Fragments should be contained 
+in files named "about.html" ("Abouts"). The terms and conditions governing 
+Features and Included Features should be contained in files named "license.html" 
+("Feature Licenses"). Abouts and Feature Licenses may be located in any 
+directory of a Download or Module including, but not limited to the following 
+locations:</P>
+<UL>
+  <LI>The top-level (root) directory 
+  <LI>Plug-in and Fragment directories 
+  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
+  <LI>Feature directories </LI></UL>
+<P>Note: if a Feature made available by the Eclipse Foundation is installed 
+using the Eclipse Update Manager, you must agree to a license ("Feature Update 
+License") during the installation process. If the Feature contains Included 
+Features, the Feature Update License should either provide you with the terms 
+and conditions governing the Included Features or inform you where you can 
+locate them. Feature Update Licenses may be found in the "license" property of 
+files named "feature.properties". Such Abouts, Feature Licenses and Feature 
+Update Licenses contain the terms and conditions (or references to such terms 
+and conditions) that govern your use of the associated Content in that 
+directory.</P>
+<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
+<UL>
+  <LI>Common Public License Version 1.0 (available at <A 
+  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
+
+  <LI>Apache Software License 1.1 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
+
+  <LI>Apache Software License 2.0 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
+
+  <LI>IBM Public License 1.0 (available at <A 
+  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
+
+  <LI>Metro Link Public License 1.00 (available at <A 
+  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
+
+  <LI>Mozilla Public License Version 1.1 (available at <A 
+  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
+  </LI></UL>
+<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
+provided, please contact the Eclipse Foundation to determine what terms and 
+conditions govern that particular Content.</P>
+<H3>Cryptography</H3>
+<P>Content may contain encryption software. The country in which you are 
+currently may have restrictions on the import, possession, and use, and/or 
+re-export to another country, of encryption software. BEFORE using any 
+encryption software, please check the country's laws, regulations and policies 
+concerning the import, possession, or use, and re-export of encryption software, 
+to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.ws_tests.feature/.cvsignore b/features/org.eclipse.wst.ws_tests.feature/.cvsignore
new file mode 100644
index 0000000..02d56e4
--- /dev/null
+++ b/features/org.eclipse.wst.ws_tests.feature/.cvsignore
@@ -0,0 +1,2 @@
+build.xml
+org.eclipse.wst.ws_tests.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.ws_tests.feature/.project b/features/org.eclipse.wst.ws_tests.feature/.project
new file mode 100644
index 0000000..cae2354
--- /dev/null
+++ b/features/org.eclipse.wst.ws_tests.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.ws_tests.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.wst.ws_tests.feature/build.properties b/features/org.eclipse.wst.ws_tests.feature/build.properties
new file mode 100644
index 0000000..e731070
--- /dev/null
+++ b/features/org.eclipse.wst.ws_tests.feature/build.properties
@@ -0,0 +1,9 @@
+bin.includes = feature.xml,\
+               license.html,\
+               epl-v10.html,\
+               eclipse_update_120.jpg
+src.includes = eclipse_update_120.jpg,\
+               build.properties,\
+               epl-v10.html,\
+               feature.xml,\
+               license.html
diff --git a/features/org.eclipse.wst.ws_tests.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.ws_tests.feature/eclipse_update_120.jpg
new file mode 100644
index 0000000..bfdf708
--- /dev/null
+++ b/features/org.eclipse.wst.ws_tests.feature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.wst.ws_tests.feature/epl-v10.html b/features/org.eclipse.wst.ws_tests.feature/epl-v10.html
new file mode 100644
index 0000000..ed4b196
--- /dev/null
+++ b/features/org.eclipse.wst.ws_tests.feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.ws_tests.feature/feature.xml b/features/org.eclipse.wst.ws_tests.feature/feature.xml
new file mode 100644
index 0000000..9922a16
--- /dev/null
+++ b/features/org.eclipse.wst.ws_tests.feature/feature.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.wst.ws_tests.feature"
+      label="org.eclipse.wst.ws_tests.feature"
+      version="1.0.0">
+
+   <description>
+      %description
+   </description>
+
+
+
+   <license url="license.html">
+      %license
+   </license>
+
+   <plugin
+         id="org.eclipse.wst.ws.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl.tests.performance"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl.tests.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl.validation.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.wst.wsi.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+</feature>
diff --git a/features/org.eclipse.wst.ws_tests.feature/license.html b/features/org.eclipse.wst.ws_tests.feature/license.html
new file mode 100644
index 0000000..2347060
--- /dev/null
+++ b/features/org.eclipse.wst.ws_tests.feature/license.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
+<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
+<BODY lang=EN-US vLink=purple link=blue>
+<H2>Eclipse Foundation Software User Agreement</H2>
+<P>January 28, 2005</P>
+<H3>Usage Of Content</H3>
+<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
+MAY NOT USE THE CONTENT.</P>
+<H3>Applicable Licenses</H3>
+<P>Unless otherwise indicated, all Content made available by the Eclipse 
+Foundation is provided to you under the terms and conditions of the Eclipse 
+Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
+Content and is also available at <A 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+<P>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse.org CVS repository 
+("Repository") in CVS modules ("Modules") and made available as downloadable 
+archives ("Downloads").</P>
+<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
+Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
+contain a list of the names and version numbers of the Plug-ins and/or Fragments 
+associated with a Feature. Plug-ins and Fragments are located in directories 
+named "plugins" and Features are located in directories named "features".</P>
+<P>Features may also include other Features ("Included Features"). Files named 
+"feature.xml" may contain a list of the names and version numbers of Included 
+Features.</P>
+<P>The terms and conditions governing Plug-ins and Fragments should be contained 
+in files named "about.html" ("Abouts"). The terms and conditions governing 
+Features and Included Features should be contained in files named "license.html" 
+("Feature Licenses"). Abouts and Feature Licenses may be located in any 
+directory of a Download or Module including, but not limited to the following 
+locations:</P>
+<UL>
+  <LI>The top-level (root) directory 
+  <LI>Plug-in and Fragment directories 
+  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
+  <LI>Feature directories </LI></UL>
+<P>Note: if a Feature made available by the Eclipse Foundation is installed 
+using the Eclipse Update Manager, you must agree to a license ("Feature Update 
+License") during the installation process. If the Feature contains Included 
+Features, the Feature Update License should either provide you with the terms 
+and conditions governing the Included Features or inform you where you can 
+locate them. Feature Update Licenses may be found in the "license" property of 
+files named "feature.properties". Such Abouts, Feature Licenses and Feature 
+Update Licenses contain the terms and conditions (or references to such terms 
+and conditions) that govern your use of the associated Content in that 
+directory.</P>
+<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
+<UL>
+  <LI>Common Public License Version 1.0 (available at <A 
+  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
+
+  <LI>Apache Software License 1.1 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
+
+  <LI>Apache Software License 2.0 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
+
+  <LI>IBM Public License 1.0 (available at <A 
+  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
+
+  <LI>Metro Link Public License 1.00 (available at <A 
+  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
+
+  <LI>Mozilla Public License Version 1.1 (available at <A 
+  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
+  </LI></UL>
+<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
+provided, please contact the Eclipse Foundation to determine what terms and 
+conditions govern that particular Content.</P>
+<H3>Cryptography</H3>
+<P>Content may contain encryption software. The country in which you are 
+currently may have restrictions on the import, possession, and use, and/or 
+re-export to another country, of encryption software. BEFORE using any 
+encryption software, please check the country's laws, regulations and policies 
+concerning the import, possession, or use, and re-export of encryption software, 
+to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.ws_ui.feature/.cvsignore b/features/org.eclipse.wst.ws_ui.feature/.cvsignore
new file mode 100644
index 0000000..c14487c
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/.cvsignore
@@ -0,0 +1 @@
+build.xml
diff --git a/features/org.eclipse.wst.ws_ui.feature/.project b/features/org.eclipse.wst.ws_ui.feature/.project
new file mode 100644
index 0000000..c03a8b0
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.ws_ui.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.wst.ws_ui.feature/build.properties b/features/org.eclipse.wst.ws_ui.feature/build.properties
new file mode 100644
index 0000000..201c94e
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/build.properties
@@ -0,0 +1,9 @@
+bin.includes = feature.xml,\
+               eclipse_update_120.jpg,\
+               epl-v10.html,\
+               license.html
+src.includes = license.html,\
+               feature.xml,\
+               epl-v10.html,\
+               eclipse_update_120.jpg,\
+               build.properties
diff --git a/features/org.eclipse.wst.ws_ui.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.ws_ui.feature/eclipse_update_120.jpg
new file mode 100644
index 0000000..bfdf708
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.wst.ws_ui.feature/epl-v10.html b/features/org.eclipse.wst.ws_ui.feature/epl-v10.html
new file mode 100644
index 0000000..ed4b196
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.ws_ui.feature/feature.xml b/features/org.eclipse.wst.ws_ui.feature/feature.xml
new file mode 100644
index 0000000..06262a2
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/feature.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.wst.ws_ui.feature"
+      label="org.eclipse.wst.ws_ui.feature"
+      version="1.0.0">
+
+   <description>
+      %description
+   </description>
+
+   <license url="license.html">
+      %license
+   </license>
+
+   <includes
+         id="org.eclipse.wst.ws_userdoc.feature"
+         version="0.0.0"/>
+
+   <requires>
+      <import feature="org.eclipse.gef" version="3.1.1" match="equivalent"/>
+      <import feature="org.eclipse.wst.ws_core.feature" version="1.0.0" match="equivalent"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.wst.ws.infopop"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.ws.explorer"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.wst.ws.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.wsi.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.wst.ws_ui.feature/license.html b/features/org.eclipse.wst.ws_ui.feature/license.html
new file mode 100644
index 0000000..2347060
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/license.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
+<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
+<BODY lang=EN-US vLink=purple link=blue>
+<H2>Eclipse Foundation Software User Agreement</H2>
+<P>January 28, 2005</P>
+<H3>Usage Of Content</H3>
+<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
+MAY NOT USE THE CONTENT.</P>
+<H3>Applicable Licenses</H3>
+<P>Unless otherwise indicated, all Content made available by the Eclipse 
+Foundation is provided to you under the terms and conditions of the Eclipse 
+Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
+Content and is also available at <A 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+<P>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse.org CVS repository 
+("Repository") in CVS modules ("Modules") and made available as downloadable 
+archives ("Downloads").</P>
+<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
+Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
+contain a list of the names and version numbers of the Plug-ins and/or Fragments 
+associated with a Feature. Plug-ins and Fragments are located in directories 
+named "plugins" and Features are located in directories named "features".</P>
+<P>Features may also include other Features ("Included Features"). Files named 
+"feature.xml" may contain a list of the names and version numbers of Included 
+Features.</P>
+<P>The terms and conditions governing Plug-ins and Fragments should be contained 
+in files named "about.html" ("Abouts"). The terms and conditions governing 
+Features and Included Features should be contained in files named "license.html" 
+("Feature Licenses"). Abouts and Feature Licenses may be located in any 
+directory of a Download or Module including, but not limited to the following 
+locations:</P>
+<UL>
+  <LI>The top-level (root) directory 
+  <LI>Plug-in and Fragment directories 
+  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
+  <LI>Feature directories </LI></UL>
+<P>Note: if a Feature made available by the Eclipse Foundation is installed 
+using the Eclipse Update Manager, you must agree to a license ("Feature Update 
+License") during the installation process. If the Feature contains Included 
+Features, the Feature Update License should either provide you with the terms 
+and conditions governing the Included Features or inform you where you can 
+locate them. Feature Update Licenses may be found in the "license" property of 
+files named "feature.properties". Such Abouts, Feature Licenses and Feature 
+Update Licenses contain the terms and conditions (or references to such terms 
+and conditions) that govern your use of the associated Content in that 
+directory.</P>
+<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
+<UL>
+  <LI>Common Public License Version 1.0 (available at <A 
+  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
+
+  <LI>Apache Software License 1.1 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
+
+  <LI>Apache Software License 2.0 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
+
+  <LI>IBM Public License 1.0 (available at <A 
+  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
+
+  <LI>Metro Link Public License 1.00 (available at <A 
+  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
+
+  <LI>Mozilla Public License Version 1.1 (available at <A 
+  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
+  </LI></UL>
+<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
+provided, please contact the Eclipse Foundation to determine what terms and 
+conditions govern that particular Content.</P>
+<H3>Cryptography</H3>
+<P>Content may contain encryption software. The country in which you are 
+currently may have restrictions on the import, possession, and use, and/or 
+re-export to another country, of encryption software. BEFORE using any 
+encryption software, please check the country's laws, regulations and policies 
+concerning the import, possession, or use, and re-export of encryption software, 
+to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/build.properties
new file mode 100644
index 0000000..ccc2292
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/build.properties
@@ -0,0 +1,19 @@
+###############################################################################
+# Copyright (c) 2000, 2005 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
+###############################################################################
+bin.includes =\
+epl-v10.html,\
+eclipse_update_120.jpg,\
+feature.xml,\
+feature.properties,\
+license.html
+
+generate.feature@org.eclipse.wst.ws_core.feature.source = org.eclipse.wst.ws_core.feature
+
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
new file mode 100644
index 0000000..17bb8e3
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/epl-v10.html
new file mode 100644
index 0000000..022ad29
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.properties
new file mode 100644
index 0000000..01950e3
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.properties
@@ -0,0 +1,132 @@
+###############################################################################
+# Copyright (c) 2000, 2005 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
+###############################################################################
+# feature.properties
+# contains externalized strings for feature.xml
+# "%foo" in feature.xml corresponds to the key "foo" in this file
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName=Eclipse JDT Plug-in Developer Resources
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse.org
+
+# "updateSiteName" property - label for the update site
+updateSiteName=Eclipse.org update site
+
+# "description" property - description of the feature
+description=API documentation and source code zips for Eclipse Java development tools.
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
+March 17, 2005\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
+is provided to you under the terms and conditions of the Eclipse Public\n\
+License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
+Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse.org CVS\n\
+repository ("Repository") in CVS modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+   - Content may be structured and packaged into modules to facilitate delivering,\n\
+     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+     plug-in fragments ("Fragments"), and features ("Features").\n\
+   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
+     in a directory named "plugins".\n\
+   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+Features may also include other Features ("Included Features"). Files named\n\
+"feature.xml" may contain a list of the names and version numbers of\n\
+Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+   - The top-level (root) directory\n\
+   - Plug-in and Fragment directories\n\
+   - Inside Plug-ins and Fragments packaged as JARs\n\
+   - Sub-directories of the directory named "src" of certain Plug-ins\n\
+   - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Eclipse Update Manager, you must agree to a license ("Feature Update\n\
+License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties". Such Abouts,\n\
+Feature Licenses and Feature Update Licenses contain the terms and\n\
+conditions (or references to such terms and conditions) that govern your\n\
+use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
+    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use,\n\
+and re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.xml
new file mode 100644
index 0000000..8a6d6fc
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+	primary="false"
+	label="org.eclipse.wst.ws_ui.feature.source"
+	id="org.eclipse.wst.ws_ui.feature.source"
+	version="1.0.0">
+	<description>
+		%description
+	</description>
+	<copyright url="http://www.example.com/copyright">
+		%copyright
+	</copyright>
+	<license url="license.html">%license</license>
+	
+	<includes
+         id="org.eclipse.wst.ws_core.feature"
+         version="0.0.0"/>
+   	<includes
+         id="org.eclipse.wst.ws_core.feature.source"
+         version="0.0.0"/>
+    <plugin
+         id="org.eclipse.wst.ws_ui.feature.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>   
+                          
+</feature>
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/license.html
new file mode 100644
index 0000000..c6af966
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/license.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<title>Eclipse.org Software User Agreement</title>
+</head>
+
+<body lang="EN-US" link=blue vlink=purple>
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>March 17, 2005</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+   
+<h3>Applicable Licenses</h3>   
+   
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
+   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+   
+<ul>
+	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>   
+ 
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+	<li>The top-level (root) directory</li>
+	<li>Plug-in and Fragment directories</li>
+	<li>Inside Plug-ins and Fragments packaged as JARs</li>
+	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+	<li>Feature directories</li>
+</ul>
+		
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
+	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+   
+<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
+</body>
+</html>
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.html
new file mode 100644
index 0000000..0a8aea0
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
+
+<h3>Source Code</h3>
+<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
+agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
+src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
+
+</body>
+</html>
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.ini
new file mode 100644
index 0000000..2dee36a
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.ini
@@ -0,0 +1,31 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%blurb
+
+# Property "windowImage" contains path to window icon (16x16)
+# needed for primary features only
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=eclipse32.gif
+
+# Property "aboutImage" contains path to product image (500x330 or 115x164)
+# needed for primary features only
+
+# Property "appName" contains name of the application (not translated)
+# needed for primary features only
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+# optional
+
+# Property "welcomePerspective" contains the id of the perspective in which the
+# welcome page is to be opened.
+# optional
+
+
+
+
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.mappings
new file mode 100644
index 0000000..0dfb735
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings

+# contains fill-ins for about.properties

+# java.io.Properties file (ISO 8859-1 with "\" escapes)

+# This file does not need to be translated.

+

+0=@build@

diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.properties
new file mode 100644
index 0000000..88a06c5
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/about.properties
@@ -0,0 +1,26 @@
+###############################################################################
+# Copyright (c) 2000, 2005 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
+###############################################################################
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+#
+# Do not translate any values surrounded by {}
+
+blurb=Web Standard Tools SDK\n\
+\n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
+Visit http://www.eclipse.org/webtools
+
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/build.properties
new file mode 100644
index 0000000..5895597
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/build.properties
@@ -0,0 +1,3 @@
+
+bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
+sourcePlugin = true
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/eclipse32.gif
new file mode 100644
index 0000000..0282f5d
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/eclipse32.gif
Binary files differ
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/eclipse32.png
new file mode 100644
index 0000000..50ae49d
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/eclipse32.png
Binary files differ
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/plugin.properties
new file mode 100644
index 0000000..be01280
--- /dev/null
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplatePlugin/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# Copyright (c) 2005 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
+###############################################################################
+pluginName=Web Standard Tools SDK - WST Web Component
+providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/.cvsignore b/features/org.eclipse.wst.ws_userdoc.feature/.cvsignore
new file mode 100644
index 0000000..ceeff56
--- /dev/null
+++ b/features/org.eclipse.wst.ws_userdoc.feature/.cvsignore
@@ -0,0 +1,3 @@
+build.xml
+org.eclipse.wst.ws_userdoc.feature_1.0.0.jar
+org.eclipse.wst.xml_userdoc.feature_1.0.0.jar
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/.project b/features/org.eclipse.wst.ws_userdoc.feature/.project
new file mode 100644
index 0000000..fd5675e
--- /dev/null
+++ b/features/org.eclipse.wst.ws_userdoc.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.ws_userdoc.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/build.properties b/features/org.eclipse.wst.ws_userdoc.feature/build.properties
new file mode 100644
index 0000000..201c94e
--- /dev/null
+++ b/features/org.eclipse.wst.ws_userdoc.feature/build.properties
@@ -0,0 +1,9 @@
+bin.includes = feature.xml,\
+               eclipse_update_120.jpg,\
+               epl-v10.html,\
+               license.html
+src.includes = license.html,\
+               feature.xml,\
+               epl-v10.html,\
+               eclipse_update_120.jpg,\
+               build.properties
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.ws_userdoc.feature/eclipse_update_120.jpg
new file mode 100644
index 0000000..bfdf708
--- /dev/null
+++ b/features/org.eclipse.wst.ws_userdoc.feature/eclipse_update_120.jpg
Binary files differ
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/epl-v10.html b/features/org.eclipse.wst.ws_userdoc.feature/epl-v10.html
new file mode 100644
index 0000000..ed4b196
--- /dev/null
+++ b/features/org.eclipse.wst.ws_userdoc.feature/epl-v10.html
@@ -0,0 +1,328 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 9">
+<meta name=Originator content="Microsoft Word 9">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>3</o:TotalTime>
+  <o:Created>2004-03-05T23:03:00Z</o:Created>
+  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+  <o:Pages>4</o:Pages>
+  <o:Words>1626</o:Words>
+  <o:Characters>9270</o:Characters>
+   <o:Lines>77</o:Lines>
+  <o:Paragraphs>18</o:Paragraphs>
+  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+  <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang=EN-US style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/feature.xml b/features/org.eclipse.wst.ws_userdoc.feature/feature.xml
new file mode 100644
index 0000000..6d31fa7
--- /dev/null
+++ b/features/org.eclipse.wst.ws_userdoc.feature/feature.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.wst.ws_userdoc.feature"
+      label="org.eclipse.wst.ws_userdoc.feature"
+      version="1.0.0">
+
+   <description>
+      %description
+   </description>
+
+
+
+   <license url="license.html">
+      %license
+   </license>
+
+   <includes
+         id="org.eclipse.wst.xml_userdoc.feature"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.wst.wsdl.ui.doc.user"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.wsi.ui.doc.user"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/license.html b/features/org.eclipse.wst.ws_userdoc.feature/license.html
new file mode 100644
index 0000000..2347060
--- /dev/null
+++ b/features/org.eclipse.wst.ws_userdoc.feature/license.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
+<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
+<BODY lang=EN-US vLink=purple link=blue>
+<H2>Eclipse Foundation Software User Agreement</H2>
+<P>January 28, 2005</P>
+<H3>Usage Of Content</H3>
+<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
+MAY NOT USE THE CONTENT.</P>
+<H3>Applicable Licenses</H3>
+<P>Unless otherwise indicated, all Content made available by the Eclipse 
+Foundation is provided to you under the terms and conditions of the Eclipse 
+Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
+Content and is also available at <A 
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+<P>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse.org CVS repository 
+("Repository") in CVS modules ("Modules") and made available as downloadable 
+archives ("Downloads").</P>
+<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
+Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
+contain a list of the names and version numbers of the Plug-ins and/or Fragments 
+associated with a Feature. Plug-ins and Fragments are located in directories 
+named "plugins" and Features are located in directories named "features".</P>
+<P>Features may also include other Features ("Included Features"). Files named 
+"feature.xml" may contain a list of the names and version numbers of Included 
+Features.</P>
+<P>The terms and conditions governing Plug-ins and Fragments should be contained 
+in files named "about.html" ("Abouts"). The terms and conditions governing 
+Features and Included Features should be contained in files named "license.html" 
+("Feature Licenses"). Abouts and Feature Licenses may be located in any 
+directory of a Download or Module including, but not limited to the following 
+locations:</P>
+<UL>
+  <LI>The top-level (root) directory 
+  <LI>Plug-in and Fragment directories 
+  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
+  <LI>Feature directories </LI></UL>
+<P>Note: if a Feature made available by the Eclipse Foundation is installed 
+using the Eclipse Update Manager, you must agree to a license ("Feature Update 
+License") during the installation process. If the Feature contains Included 
+Features, the Feature Update License should either provide you with the terms 
+and conditions governing the Included Features or inform you where you can 
+locate them. Feature Update Licenses may be found in the "license" property of 
+files named "feature.properties". Such Abouts, Feature Licenses and Feature 
+Update Licenses contain the terms and conditions (or references to such terms 
+and conditions) that govern your use of the associated Content in that 
+directory.</P>
+<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
+<UL>
+  <LI>Common Public License Version 1.0 (available at <A 
+  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
+
+  <LI>Apache Software License 1.1 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
+
+  <LI>Apache Software License 2.0 (available at <A 
+  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
+
+  <LI>IBM Public License 1.0 (available at <A 
+  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
+
+  <LI>Metro Link Public License 1.00 (available at <A 
+  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
+
+  <LI>Mozilla Public License Version 1.1 (available at <A 
+  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
+  </LI></UL>
+<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
+provided, please contact the Eclipse Foundation to determine what terms and 
+conditions govern that particular Content.</P>
+<H3>Cryptography</H3>
+<P>Content may contain encryption software. The country in which you are 
+currently may have restrictions on the import, possession, and use, and/or 
+re-export to another country, of encryption software. BEFORE using any 
+encryption software, please check the country's laws, regulations and policies 
+concerning the import, possession, or use, and re-export of encryption software, 
+to see if this is permitted.</P></BODY></HTML>
diff --git a/tests/org.eclipse.jst.ws.tests.performance/.cvsignore b/tests/org.eclipse.jst.ws.tests.performance/.cvsignore
index 60463af..4348109 100644
--- a/tests/org.eclipse.jst.ws.tests.performance/.cvsignore
+++ b/tests/org.eclipse.jst.ws.tests.performance/.cvsignore
@@ -1,2 +1,4 @@
 bin
 build.xml
+temp.folder
+axisPerfmsr.jar
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 81df794..276b0db 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: Axis Perfmsr Plug-in
 Bundle-SymbolicName: org.eclipse.jst.ws.tests.performance
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-ClassPath: axisPerfmsr.jar
 Bundle-Activator: org.eclipse.jst.ws.tests.performance.plugin.PerformancePlugin
 Bundle-Vendor: IBM
@@ -21,5 +21,7 @@
  org.eclipse.jem.util,
  org.eclipse.test.performance,
  org.eclipse.wst.command.env.ui,
- org.eclipse.wst.command.env.core
+ org.eclipse.wst.command.env.core,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.common.modulecore
 Eclipse-AutoStart: true
diff --git a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrBUJavaAxisTC50.java b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrBUJavaAxisTC50.java
index 3f1b70f..dd7179e 100644
--- a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrBUJavaAxisTC50.java
+++ b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrBUJavaAxisTC50.java
@@ -4,31 +4,29 @@
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.tests.axis.tomcat.v50.WSWizardTomcat50Test;
 import org.eclipse.jst.ws.tests.performance.util.PerformanceJUnitUtils;
+import org.eclipse.jst.ws.tests.unittest.WSJUnitConstants;
 import org.eclipse.jst.ws.tests.util.JUnitUtils;
 import org.eclipse.jst.ws.tests.util.ScenarioConstants;
 import org.eclipse.test.performance.Performance;
 import org.eclipse.test.performance.PerformanceMeter;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 /**
  * Bottom up performance scenario with Axis and Tomcat v5.0
  */
 public final class PerfmsrBUJavaAxisTC50 extends WSWizardTomcat50Test {
 	// Constants
-    private final String WS_RUNTIMEID_AXIS = "org.eclipse.jst.ws.runtime.axis11";
-	private final String PROJECT_NAME = "TestBUWeb";
-    private final String WEB_MODULE_NAME = "TestBUWebModule";
-
+    private final String WS_RUNTIMEID_AXIS =  WSJUnitConstants.WS_RUNTIMEID_AXIS; 
+	private final String PROJECT_NAME = WSJUnitConstants.BU_PROJECT_NAME;
+    
 	private IFile sourceFile_;
 	
   /**
@@ -38,40 +36,28 @@
    */
 	protected void installInputData() throws Exception
 	{
-		// Create a Web project (TestWeb) targetted to Tomcat 5.0
-		Status s = JUnitUtils.createWebModule(PROJECT_NAME, WEB_MODULE_NAME, SERVERTYPEID_TC50, String.valueOf(J2EEVersionConstants.J2EE_1_3_ID), env_);
-		if (s.getSeverity() != Status.OK) {
-		  System.out.println("Error: "+s.getMessage());
-			throw new Exception(s.getThrowable());
-		}
+		
 		IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);
-		assertTrue(webProject.exists());
-
-		
-		// Copy the contents of data/<test name> to the Web project's source folder.
-		// <Web Project>/JavaSource/foo/Echo.java
-		//IFolder destFolder = JUnitUtils.getSourceFolderForWebProject(WEB_PROJECT_NAME);
-        IPath destPath = ResourceUtils.getJavaSourceLocation(webProject, WEB_MODULE_NAME);
-        IFolder folder = (IFolder)ResourceUtils.findResource(destPath);
-		JUnitUtils.copyTestData("BUJava/src",folder,env_);
+        IPath destPath = ResourceUtils.getJavaSourceLocation(webProject);
+        IFolder folder = (IFolder)ResourceUtils.findResource(destPath);		
 		sourceFile_ = folder.getFile(new Path("foo/Echo.java"));
-		assertTrue(sourceFile_.exists());
-		
 		// Ensure that Echo.class is built in:
 		// <Web Project>/WebContent/WEB-INF/classes/foo/Echo.class
-		JUnitUtils.syncBuildProject(webProject,env_);
+		JUnitUtils.syncBuildProject(webProject,env_, null);
 		//assertTrue(JUnitUtils.getClassesFolderForWebProject(WEB_PROJECT_NAME).getFile(new Path("foo/Echo.class")).exists());
 		
 		
 	}
 	
+	
+	
   /**
    * Set the persistent server runtime context preferences
    */  
 	protected void initJ2EEWSRuntimeServerDefaults() throws Exception
 	{
-		// Set default preferences for J2EE 1.4 Axis and Tomcat 5.0
-		JUnitUtils.setJ2EEWSRuntimeServer(String.valueOf(J2EEVersionConstants.J2EE_1_3_ID), WS_RUNTIMEID_AXIS, SERVERTYPEID_TC50);		
+		// Set default preferences for Axis and Tomcat 5.0
+		JUnitUtils.setWSRuntimeServer(WS_RUNTIMEID_AXIS, SERVERTYPEID_TC50);		
 	}
 	
   /**
@@ -88,7 +74,7 @@
    */  
 	public void testBUJavaAxisTC50() throws Exception
 	{
-	  	Status status = new SimpleStatus("");
+	  	IStatus status = Status.OK_STATUS;
 	    IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);
 	    JUnitUtils.disableWSIDialog(webProject);
 
@@ -110,7 +96,7 @@
 		if (status.getSeverity() == Status.OK)
 		  verifyOutput();
 		else
-		  throw new Exception(status.getThrowable());
+		  throw new Exception(status.getException());
 		
 	}
 	
@@ -121,11 +107,8 @@
 	private final void verifyOutput() throws Exception
 	{
         IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);    
-		IFolder webContentFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject, WEB_MODULE_NAME);
+		IFolder webContentFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject);
     
-        IPath webInfPath = J2EEUtils.getWebInfPath(webProject, WEB_MODULE_NAME);
-		IFolder webInfFolder = (IFolder)ResourceUtils.findResource(webInfPath);
-
         IFolder wsdlFolder = webContentFolder.getFolder("wsdl");
 		assertTrue(wsdlFolder.exists());
 		assertTrue(wsdlFolder.members().length > 0);
@@ -145,7 +128,7 @@
 		//JUnitUtils.removeModuleFromServer(server_,webProject,env_);
 		
 		// Delete the Web project.
-		webProject.delete(true,true,EnvironmentUtils.getIProgressMonitor(env_));
+		webProject.delete(true,true, null);
         assertFalse(webProject.exists());
 		
 	}
diff --git a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrClientAxisTC50.java b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrClientAxisTC50.java
index 6deeb5e..488263e 100644
--- a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrClientAxisTC50.java
+++ b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrClientAxisTC50.java
@@ -4,32 +4,30 @@
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.tests.axis.tomcat.v50.WSWizardTomcat50Test;
 import org.eclipse.jst.ws.tests.performance.util.PerformanceJUnitUtils;
+import org.eclipse.jst.ws.tests.unittest.WSJUnitConstants;
 import org.eclipse.jst.ws.tests.util.JUnitUtils;
 import org.eclipse.jst.ws.tests.util.ScenarioConstants;
 import org.eclipse.test.performance.Performance;
 import org.eclipse.test.performance.PerformanceMeter;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 /**
  * Client performance scenario with Axis and Tomcat v5.0
  */
 public class PerfmsrClientAxisTC50 extends WSWizardTomcat50Test {
 
-  private final String WS_RUNTIMEID_AXIS = "org.eclipse.jst.ws.runtime.axis11";
+	private final String WS_RUNTIMEID_AXIS = WSJUnitConstants.WS_RUNTIMEID_AXIS;
   
-	private final String CLIENT_PROJECT_NAME = "TestWebClient";
-  private final String CLIENT_WEB_MODULE_NAME =  "TestWebClientModule";
-
+	private final String CLIENT_PROJECT_NAME = WSJUnitConstants.CLIENT_PROJECT_NAME;
+	
 	private IFile sourceFile_;
 
 	/**
@@ -39,29 +37,19 @@
 	 */
 	protected void installInputData() throws Exception {
 		
-		// Create an associated Web project (TestWeb) targetted to Tomcat v5.0 
-		Status s = JUnitUtils.createWebModule(CLIENT_PROJECT_NAME, CLIENT_WEB_MODULE_NAME, SERVERTYPEID_TC50, String.valueOf(J2EEVersionConstants.J2EE_1_4_ID), env_);
-		if (s.getSeverity() != Status.OK)
-			throw new Exception(s.getThrowable());
-    
 		IProject webProject = ProjectUtilities.getProject(CLIENT_PROJECT_NAME);
-		assertTrue(webProject.exists());
-
-        // Copy Echo.wsdl file to WebContent folder
-        IFolder destFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject, CLIENT_WEB_MODULE_NAME);
-		JUnitUtils.copyTestData("TDJava",destFolder,env_);
-		sourceFile_ = destFolder.getFile(new Path("Echo.wsdl"));
-		assertTrue(sourceFile_.exists());
-
-
+        IFolder destFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject);
+		sourceFile_ = destFolder.getFile(new Path("Echo.wsdl"));		
+		JUnitUtils.syncBuildProject(webProject,env_, null);
+		
 	}
 
   /**
    * Set the persistent server runtime context preferences
    */
 	protected void initJ2EEWSRuntimeServerDefaults() throws Exception {
-        // Set default preferences for J2EE 1.4 Axis and Tomcat 5.0    
-		JUnitUtils.setJ2EEWSRuntimeServer(String.valueOf(J2EEVersionConstants.J2EE_1_4_ID), WS_RUNTIMEID_AXIS, SERVERTYPEID_TC50);
+        // Set default preferences for Axis and Tomcat 5.0    
+		JUnitUtils.setWSRuntimeServer(WS_RUNTIMEID_AXIS, SERVERTYPEID_TC50);
 	}
 
   /**
@@ -77,7 +65,7 @@
    */
 	public void testClientAxisTC50() throws Exception
 	{	
-	  	Status status = new SimpleStatus("");
+	  	IStatus status = Status.OK_STATUS;
 	  	
 		JUnitUtils.enableProxyGeneration(true);
 		JUnitUtils.enableOverwrite(true);
@@ -98,7 +86,7 @@
 		if (status.getSeverity() == Status.OK) {
 		  verifyOutput();
 		} else {
-		  throw new Exception(status.getThrowable());
+		  throw new Exception(status.getException());
 		}
 
 	}
@@ -110,7 +98,7 @@
 	private final void verifyOutput() throws Exception {
         IProject webProject = ProjectUtilities.getProject(CLIENT_PROJECT_NAME);
     
-        IPath destPath = ResourceUtils.getJavaSourceLocation(webProject, CLIENT_WEB_MODULE_NAME);
+        IPath destPath = ResourceUtils.getJavaSourceLocation(webProject);
         IFolder srcFolder = (IFolder)ResourceUtils.findResource(destPath);
     
 		//IFolder srcFolder = JUnitUtils.getSourceFolderForWebProject(CLIENT_PROJECT_NAME);
@@ -129,7 +117,7 @@
 
 		// Delete the Web project.
 		IProject webProject = ProjectUtilities.getProject(CLIENT_PROJECT_NAME);
-		webProject.delete(true,true,EnvironmentUtils.getIProgressMonitor(env_));
+		webProject.delete(true,true, null);
 		
 	}
 
diff --git a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrTDJavaAxisTC50.java b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrTDJavaAxisTC50.java
index 9c80406..b65b3f6 100644
--- a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrTDJavaAxisTC50.java
+++ b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/axis/tomcat/v50/perfmsr/PerfmsrTDJavaAxisTC50.java
@@ -3,32 +3,29 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
-import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.tests.axis.tomcat.v50.WSWizardTomcat50Test;
 import org.eclipse.jst.ws.tests.performance.util.PerformanceJUnitUtils;
+import org.eclipse.jst.ws.tests.unittest.WSJUnitConstants;
 import org.eclipse.jst.ws.tests.util.JUnitUtils;
 import org.eclipse.jst.ws.tests.util.ScenarioConstants;
 import org.eclipse.test.performance.Performance;
 import org.eclipse.test.performance.PerformanceMeter;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
 
 /**
  * Top down performance scenario with Axis and Tomcat v5.0
  */
 public class PerfmsrTDJavaAxisTC50 extends WSWizardTomcat50Test {
 
-  private final String WS_RUNTIMEID_AXIS = "org.eclipse.jst.ws.runtime.axis11";
+  private final String WS_RUNTIMEID_AXIS = WSJUnitConstants.WS_RUNTIMEID_AXIS;
   
-  private final String WEB_MODULE_NAME = "TestTDWebModule";  
-  private final String PROJECT_NAME = "TestTDProject";
+  private final String PROJECT_NAME = WSJUnitConstants.TD_PROJECT_NAME;
+  
   private IFile sourceFile_;
 	
 
@@ -39,27 +36,18 @@
    */  
 	protected void installInputData() throws Exception {
 
-		// Create an associated Web project (TestWeb) targetted to Tomcat 5.0
-		Status s = JUnitUtils.createWebModule(PROJECT_NAME, WEB_MODULE_NAME, SERVERTYPEID_TC50, String.valueOf(J2EEVersionConstants.J2EE_1_4_ID), env_);
-		if (s.getSeverity() != Status.OK)
-			throw new Exception(s.getThrowable());
-    
-		IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);
-		assertTrue(webProject.exists());
-
-		IFolder destFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject, WEB_MODULE_NAME);		
-		JUnitUtils.copyTestData("TDJava",destFolder,env_);
+		IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);		
+		IFolder destFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject);
 		sourceFile_ = destFolder.getFile(new Path("Echo.wsdl"));
-		assertTrue(sourceFile_.exists());
-
+		JUnitUtils.syncBuildProject(webProject,env_, null);
 	}
 
   /**
    * Set the persistent server runtime context preferences
    */  
 	protected void initJ2EEWSRuntimeServerDefaults() throws Exception {
-		// Set default preferences for J2EE 1.4, Axis and Tomcat v5.0 server
-		JUnitUtils.setJ2EEWSRuntimeServer(String.valueOf(J2EEVersionConstants.J2EE_1_4_ID), WS_RUNTIMEID_AXIS, SERVERTYPEID_TC50);		
+		// Set default preferences for Axis and Tomcat v5.0 server
+		JUnitUtils.setWSRuntimeServer(WS_RUNTIMEID_AXIS, SERVERTYPEID_TC50);		
 	}
 
   /**
@@ -76,7 +64,7 @@
    */  
 	public void testTDJavaAxisTC50() throws Exception {
 	  
-	  Status status = new SimpleStatus("");
+	  IStatus status = Status.OK_STATUS;
 		Performance perf= Performance.getDefault();
 		PerformanceMeter performanceMeter= perf.createPerformanceMeter(perf.getDefaultScenarioId(this));	    
 	    try {
@@ -93,7 +81,7 @@
 		if (status.getSeverity() == Status.OK)
 		  verifyOutput();
 		else
-		  throw new Exception(status.getThrowable());
+		  throw new Exception(status.getException());
 
 	}
 
@@ -104,10 +92,8 @@
 	private final void verifyOutput() throws Exception
 	{
         IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);    
-        IFolder webContentFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject, WEB_MODULE_NAME);    
+        IFolder webContentFolder = (IFolder)J2EEUtils.getWebContentContainer(webProject);    
     
-        IPath webInfPath = J2EEUtils.getWebInfPath(webProject, WEB_MODULE_NAME);
-        IFolder webInfFolder = (IFolder)ResourceUtils.findResource(webInfPath);
 		
 		IFolder wsdlFolder = webContentFolder.getFolder("wsdl");
 		assertTrue(wsdlFolder.exists());
@@ -123,7 +109,7 @@
 	protected void deleteInputData() throws Exception {
 		// Delete the Web project.
 		IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);
-		webProject.delete(true,true,EnvironmentUtils.getIProgressMonitor(env_));
+		webProject.delete(true,true,null);
 		
 	}
 
diff --git a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/EclipsePerformanceLog.java b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/EclipsePerformanceLog.java
index 1d22195..f48f1a3 100644
--- a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/EclipsePerformanceLog.java
+++ b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/EclipsePerformanceLog.java
@@ -1,12 +1,12 @@
 package org.eclipse.jst.ws.tests.performance.util;
 
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.test.performance.Performance;
 import org.eclipse.test.performance.PerformanceMeter;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.common.environment.ILog;
 
 
-public class EclipsePerformanceLog implements Log {
+public class EclipsePerformanceLog implements ILog {
 
   private boolean runState = false;
   Performance perf = null;      
@@ -21,14 +21,6 @@
     // TODO Auto-generated method stub
     return false;
   }
-
-  private String getMessageNumString(int messageNum) {
-    String messageNumString = "IWAB";
-    if (messageNum > 9999 || messageNum < 0)
-      messageNum = 9999; //default message number
-    messageNumString += (new Integer(messageNum)).toString();
-    return messageNumString;
-  }
   
   public void log(int severity, int messageNum, Object caller, String method, Throwable throwable) {
     // TODO Auto-generated method stub
@@ -40,12 +32,12 @@
 
   }
 
-  public void log(int severity, int messageNum, Object caller, String method, Status status) {
+  public void log(int severity, int messageNum, Object caller, String method, IStatus status) {
     // TODO Auto-generated method stub
 
   }
 
-  public void log(int severity, String option, int messageNum, Object caller, String method, Status status) {
+  public void log(int severity, String option, int messageNum, Object caller, String method, IStatus status) {
     // TODO Auto-generated method stub
 
   }
diff --git a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/PerformanceJUnitUtils.java b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/PerformanceJUnitUtils.java
index 7d33af5..029a0a1 100644
--- a/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/PerformanceJUnitUtils.java
+++ b/tests/org.eclipse.jst.ws.tests.performance/src/org/eclipse/jst/ws/tests/performance/util/PerformanceJUnitUtils.java
@@ -12,17 +12,17 @@
 
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jst.ws.tests.util.AccumulateStatusHandler;
 import org.eclipse.jst.ws.tests.util.DynamicPopupJUnitWizard;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 
 
 public class PerformanceJUnitUtils {
   
-	private static Status launchWizard(String pluginNS,String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
+	private static IStatus launchWizard(String pluginNS,String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
 	{
 		IExtension[] extensions = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.ui.popupMenus").getExtensions();
 		for (int i=0;i<extensions.length;i++)
@@ -36,7 +36,6 @@
 					{
 						IConfigurationElement actionElement = configElements[j].getChildren()[0];
 						AccumulateStatusHandler statusHandler = new AccumulateStatusHandler();
-                        EclipsePerformanceLog log = new EclipsePerformanceLog();
                         // Use this to enable per command performance measurements
                         //DynamicPopupJUnitWizard wizard = new DynamicPopupJUnitWizard(statusHandler, log);
 						DynamicPopupJUnitWizard wizard = new DynamicPopupJUnitWizard(statusHandler);
@@ -48,15 +47,15 @@
 				}
 			}
 		}
-		return new SimpleStatus("","No wizard found for: ",Status.ERROR);
+		return StatusUtils.errorStatus( "No wizard found for: " );
 	}
 	
-	public static Status launchCreationWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
+	public static IStatus launchCreationWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
 	{
 		return launchWizard("org.eclipse.jst.ws.creation.ui",wizardId,objectClassId,initialSelection);
 	}
 	
-	public static Status launchConsumptionWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
+	public static IStatus launchConsumptionWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
 	{
 		return launchWizard("org.eclipse.jst.ws.internal.consumption.ui",wizardId,objectClassId,initialSelection);
 	}
diff --git a/tests/org.eclipse.jst.ws.tests/.cvsignore b/tests/org.eclipse.jst.ws.tests/.cvsignore
index 60463af..57763eb 100644
--- a/tests/org.eclipse.jst.ws.tests/.cvsignore
+++ b/tests/org.eclipse.jst.ws.tests/.cvsignore
@@ -1,2 +1,4 @@
 bin
 build.xml
+temp.folder
+tests.jar
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 b671d5e..e4701f2 100644
--- a/tests/org.eclipse.jst.ws.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.ws.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Java Web Services Tools Tests
 Bundle-SymbolicName: org.eclipse.jst.ws.tests
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-ClassPath: tests.jar
 Bundle-Activator: org.eclipse.jst.ws.tests.plugin.TestsPlugin
 Bundle-Vendor: IBM
@@ -29,5 +29,8 @@
  org.eclipse.ui,
  org.eclipse.debug.core,
  org.eclipse.wst.server.core,
- org.eclipse.jem.util
+ org.eclipse.jem.util,
+ org.eclipse.wst.ws,
+ org.eclipse.wst.common.environment,
+ org.eclipse.wst.common.tests
 Eclipse-AutoStart: true
diff --git a/tests/org.eclipse.jst.ws.tests/data/WSPerfProjects.zip b/tests/org.eclipse.jst.ws.tests/data/WSPerfProjects.zip
new file mode 100644
index 0000000..f5d81f9
--- /dev/null
+++ b/tests/org.eclipse.jst.ws.tests/data/WSPerfProjects.zip
Binary files differ
diff --git a/tests/org.eclipse.jst.ws.tests/data/WSTestProjects.zip b/tests/org.eclipse.jst.ws.tests/data/WSTestProjects.zip
new file mode 100644
index 0000000..8f2e9eb
--- /dev/null
+++ b/tests/org.eclipse.jst.ws.tests/data/WSTestProjects.zip
Binary files differ
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/WSWizardTest.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/WSWizardTest.java
index e79a504..6425976 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/WSWizardTest.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/WSWizardTest.java
@@ -10,23 +10,30 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.tests;
 
+import java.io.IOException;
+import java.net.URL;
+
 import junit.framework.TestCase;
 
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.etools.common.test.apitools.ProjectUnzipUtil;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jst.ws.tests.plugin.TestsPlugin;
+import org.eclipse.jst.ws.tests.unittest.WSJUnitConstants;
 import org.eclipse.jst.ws.tests.util.JUnitUtils;
 import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
 import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseStatusHandler;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServer;
 
-public abstract class WSWizardTest extends TestCase
+public abstract class WSWizardTest extends TestCase implements WSJUnitConstants
 {
-	protected Environment env_;
+	protected IEnvironment env_;
 	protected IRuntime serverRuntime_;
 	protected IServer server_;
 	protected IStructuredSelection initialSelection_;
@@ -48,18 +55,20 @@
 		// Get an instance of the default environment with the AccumulateStatusHandler to minimize UI dialog blocks.
 	  	PersistentResourceContext  resourceContext = PersistentResourceContext.getInstance();
 		EclipseStatusHandler       handler         = new EclipseStatusHandler();
-		EclipseProgressMonitor     monitor         = new EclipseProgressMonitor();
-		EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, monitor, handler );
+		EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, handler );
 	  
 		env_ = environment; 
 		assertTrue(env_ != null);
 		
-		IProgressMonitor npm = new NullProgressMonitor(); 
-		monitor.setMonitor(npm);
 		server_ = null;
 		JUnitUtils.hideActionDialogs();
 		installServerRuntime();
 		installServer();
+		
+		// unzip pre-configured workspace projects
+		if (!ProjectUtilities.getProject(WSJUnitConstants.BU_PROJECT_NAME).exists())
+			createProjects();		
+		
 		installInputData();
 		initJ2EEWSRuntimeServerDefaults();
 		initInitialSelection();
@@ -80,14 +89,31 @@
 	 * @param server
 	 * @throws Exception
 	 */
-	public void installInputData(Environment env,IRuntime serverRuntime,IServer server) throws Exception
+	public void installInputData(IEnvironment env,IRuntime serverRuntime,IServer server) throws Exception
 	{
 		env_ = env;
 		serverRuntime_ = serverRuntime;
 		server_ = server;
-		installInputData();
+		//installInputData();
 	}
 	
+	// Creates projects from the provided ZIP file.
+	public static boolean createProjects() {
+		IPath localZipPath = getLocalPath();
+		ProjectUnzipUtil util = new ProjectUnzipUtil(localZipPath, perf_projectNames);
+		return util.createProjects();
+	}
+	
+	private static IPath getLocalPath() {
+		URL url = TestsPlugin.getDefault().find(perf_zipFilePath);
+		try {
+			url = Platform.asLocalURL(url);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return new Path(url.getPath());
+	}	
+	
 	/**
 	 * Install the input data for the test. This may include projects, source files etc.
 	 * @throws Exception
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/axis/tomcat/v50/WSWizardTomcat50Test.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/axis/tomcat/v50/WSWizardTomcat50Test.java
index 8658db6..87d78c2 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/axis/tomcat/v50/WSWizardTomcat50Test.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/axis/tomcat/v50/WSWizardTomcat50Test.java
@@ -35,7 +35,7 @@
    */
   protected void installServer() throws Exception {
 
-    server_ = JUnitUtils.createServer("Apache Tomcat v50", SERVERTYPEID_TC50, serverRuntime_, env_);
+    server_ = JUnitUtils.createServer("Apache Tomcat v50", SERVERTYPEID_TC50, serverRuntime_, env_, null );
   }
   
 }
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 dca8726..edd8b1c 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
@@ -5,6 +5,7 @@
 import junit.framework.TestResult;
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;
+
 import org.eclipse.jst.ws.tests.util.JUnitUtils;
 
 /**
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ComponentCreationTests.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ComponentCreationTests.java
index 34472a0..f4780b1 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ComponentCreationTests.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ComponentCreationTests.java
@@ -3,14 +3,22 @@
  */
 package org.eclipse.jst.ws.tests.unittest;
 
+import java.io.IOException;
+import java.net.URL;
+
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.etools.common.test.apitools.ProjectUnzipUtil;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
+import org.eclipse.jst.ws.tests.plugin.TestsPlugin;
 import org.eclipse.jst.ws.tests.util.JUnitUtils;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -27,14 +35,28 @@
 	public void testWebComponentCreation(){
 
         createServerRuntime();
-        createWebModule(projectName, webComponentName, J2EEVersionConstants.J2EE_1_4_ID);
-        createWebModule(projectName, webComponent2Name, J2EEVersionConstants.J2EE_1_3_ID);
-        
-        createWebModule(project2Name, webComp3Name, J2EEVersionConstants.J2EE_1_3_ID);
-        createWebModule(project2Name, webComp4Name, J2EEVersionConstants.J2EE_1_3_ID);
-        
+        createProjects();
+        //createWebModule(projectName, projectName, J2EEVersionConstants.J2EE_1_4_ID);
+        //createWebModule(project2Name, project2Name, J2EEVersionConstants.J2EE_1_3_ID);
+
 	}
   
+	// Creates projects from the provided ZIP file.
+	public static boolean createProjects() {
+		IPath localZipPath = getLocalPath();
+		ProjectUnzipUtil util = new ProjectUnzipUtil(localZipPath, projectNames);
+		return util.createProjects();
+	}
+	
+	private static IPath getLocalPath() {
+		URL url = TestsPlugin.getDefault().find(zipFilePath);
+		try {
+			url = Platform.asLocalURL(url);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return new Path(url.getPath());
+	}	
   
     public void createServerRuntime(){
       
@@ -47,24 +69,6 @@
       
     }
   
-    private void createWebModule(String projectNm, String componentName, int j2eeVersion){
-
-      CreateModuleCommand cmc = new CreateModuleCommand();
-      cmc.setJ2eeLevel(new Integer(j2eeVersion).toString());
-      cmc.setModuleName(componentName);
-      cmc.setModuleType(CreateModuleCommand.WEB);
-      cmc.setProjectName(projectNm);
-      cmc.setServerFactoryId(SERVERTYPEID_TC50);
-      cmc.setSupportMultipleModules(true);
-      cmc.execute(null);
-      
-      System.out.println("Done creating Web component..."+projectNm+"\""+componentName);      
-      IProject p = ResourceUtils.getWorkspaceRoot().getProject(projectNm);
-      IVirtualComponent vc = ComponentCore.createComponent(p, componentName);
-      assertTrue(vc.exists());      
-      
-    }
-    
     public void dtestCreateEJBModule(){
      
       CreateModuleCommand cmc = new CreateModuleCommand();
@@ -73,11 +77,11 @@
       cmc.setModuleType(CreateModuleCommand.EJB);
       cmc.setProjectName(ejbProjectName);
       cmc.setServerFactoryId(SERVERTYPEID_TC50);
-      cmc.execute(null);
+      cmc.execute(null, null );
       
       System.out.println("Done creating EJB component.");
       IProject p = ResourceUtils.getWorkspaceRoot().getProject(ejbProjectName);
-      IVirtualComponent vc = ComponentCore.createComponent(p, ejbComponentName);
+      IVirtualComponent vc = ComponentCore.createComponent(p);
       assertTrue(vc.exists());      
     }
     
@@ -88,11 +92,11 @@
       cmc.setModuleType(CreateModuleCommand.APPCLIENT);
       cmc.setProjectName(appClientProjectName);
       cmc.setServerFactoryId(SERVERTYPEID_TC50);
-      cmc.execute(null);
+      cmc.execute(null, null);
       
       System.out.println("Done creating App client component.");
       IProject p = ResourceUtils.getWorkspaceRoot().getProject(appClientProjectName);
-      IVirtualComponent vc = ComponentCore.createComponent(p, appClientCompName);
+      IVirtualComponent vc = ComponentCore.createComponent(p);
       assertTrue(vc.exists());       
     }
 
@@ -103,11 +107,11 @@
       cmc.setModuleType(CreateModuleCommand.EAR);
       cmc.setProjectName(projectName);
       cmc.setServerFactoryId(SERVERTYPEID_TC50);
-      cmc.execute(null);
+      cmc.execute(null, null);
       
       System.out.println("Done creating EAR component.");
       IProject p = ResourceUtils.getWorkspaceRoot().getProject(projectName);
-      IVirtualComponent vc = ComponentCore.createComponent(p, earCompName);
+      IVirtualComponent vc = ComponentCore.createComponent(p);
       assertTrue(vc.exists());       
     }
 }
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/J2EEUtilsTests.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/J2EEUtilsTests.java
index dbd6538..18a1354 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/J2EEUtilsTests.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/J2EEUtilsTests.java
@@ -29,9 +29,6 @@
     private IProject ejbProject = null;
     
     private String comp1 = webComponentName;
-    private String comp2 = webComponent2Name;
-    private String comp3 = webComp3Name;
-    private String comp4 = webComp4Name;
 	
 	protected void setUp() throws Exception {
 		super.setUp();
@@ -61,38 +58,38 @@
 	 
 	  public void testComponentsExist(){
 		  System.out.println("< BEGIN: testComponentExists ...");
-		  IVirtualComponent vc1 = J2EEUtils.getVirtualComponent(project1, comp1);
-		  IVirtualComponent vc2 = J2EEUtils.getVirtualComponent(project2.getName(), comp3);
+		  IVirtualComponent vc1 = J2EEUtils.getVirtualComponent(project1);
+		  IVirtualComponent vc2 = J2EEUtils.getVirtualComponent(project2.getName());
 		  
 		  assertTrue(vc1.exists());
-		  assertTrue(J2EEUtils.exists(project1, comp1));
+		  assertTrue(J2EEUtils.exists(project1));
 		  assertTrue(vc2.exists());
-		  assertTrue(J2EEUtils.exists(project2.getName(), comp3));
+		  assertTrue(J2EEUtils.exists(project2.getName(), project2Name));
 		  System.out.println("< END: testComponentExists ...");
 	  }
 	  
 	  public void testLocationGetterMethods(){
 		  
 		  System.out.println("< BEGIN: testLocationGetterMethods ...");
-		  IPath loc1 = J2EEUtils.getWebContentPath(project1,comp1);
-		  System.out.println("WebContentPath of comp1 = "+loc1);
+		  IPath loc1 = J2EEUtils.getWebContentPath(project1);
+		  System.out.println("WebContentPath of project1 = "+loc1);
 		  IResource res = ResourceUtils.getWorkspaceRoot().findMember(loc1);
 		  assertTrue(res.exists());
 		  assertTrue(res.toString().endsWith("WebContent"));
 		  
-		  IPath loc2 = J2EEUtils.getWebContentPath(project2,comp3);
-		  System.out.println("WebContentPath of comp1 = "+loc2);
+		  IPath loc2 = J2EEUtils.getWebContentPath(project2);
+		  System.out.println("WebContentPath of project2 = "+loc2);
 		  IResource res2 = ResourceUtils.getWorkspaceRoot().findMember(loc2);
 		  assertTrue(res2.exists());
 		  assertTrue(res2.toString().endsWith("WebContent"));		  
 		  
-		  IPath loc3 = J2EEUtils.getWebInfPath(project1, comp2);
+		  IPath loc3 = J2EEUtils.getWebInfPath(project1);
 		  System.out.println("Web-INF path = "+loc3);
 		  IResource res3 = ResourceUtils.getWorkspaceRoot().findMember(loc3);
 		  assertTrue(res3.exists());
 		  assertTrue(res3.toString().endsWith("WEB-INF"));
 		  
-		  IContainer container = J2EEUtils.getWebContentContainer(project2, comp3);
+		  IContainer container = J2EEUtils.getWebContentContainer(project2);
 		  IResource res4 = ResourceUtils.getWorkspaceRoot().findMember(container.getFullPath());
 		  assertEquals(res2, res4);
 		  
@@ -103,20 +100,17 @@
 	  public void testJ2EEVersionMethods(){
 		  
 		  System.out.println("< BEGIN: testJ2EEVersionMethods ...");
-	  
-		  int j1 = J2EEUtils.getJ2EEVersion(project2, comp4);
-		  
-		  IVirtualComponent vc2 = J2EEUtils.getVirtualComponent(project1, comp2);
-		  int j2 = J2EEUtils.getJ2EEVersion(vc2);
-		  System.out.println("J2EEVersions p1: "+j2);
-		  System.out.println("J2EEVersions p2: "+j1);		  
-		  assertEquals(j1, j2);
-		  
-		  String j3 = J2EEUtils.getJ2EEVersionAsString(project1, comp1);
+	  		  
+		  String j3 = J2EEUtils.getJ2EEVersionAsString(project1);
 		  System.out.println("J2EEVersion p1 as String: "+j3);
-		  assertEquals(j3, J2EEVersionConstants.VERSION_1_4_TEXT);
+		  assertEquals(J2EEVersionConstants.VERSION_2_4_TEXT, j3);
 		  
-		  System.out.println("< ENG: testJ2EEVersionMethods ...");
+		  IVirtualComponent vc2 = J2EEUtils.getVirtualComponent(project2);
+		  int j2 = J2EEUtils.getJ2EEVersion(vc2);
+		  System.out.println("J2EEVersions p1: "+j2);		  
+		  assertEquals(J2EEVersionConstants.SERVLET_2_3, j2);
+		  
+		  System.out.println("< END: testJ2EEVersionMethods ...");
 	  }
 
 	  public void testComponentGetterMethods(){
@@ -173,7 +167,7 @@
         amwe.setEARProject(projectName);
         amwe.setModule(comp1);
         amwe.setProject(projectName);
-        amwe.execute(null);
+        amwe.execute(null, null);
         
         System.out.println("< END: testAssociateComponentCommand ...");     
       }
@@ -183,14 +177,14 @@
 		  System.out.println("< BEGIN: testReferencingGetterMethods ...");
 		  
 		  System.out.println("isComponentAssociated ..");
-		  J2EEUtils.isComponentAssociated(project1, earCompName, project1, comp1);
+		  J2EEUtils.isComponentAssociated(project1, project1);
 		
-		  String[] names = J2EEUtils.toComponentNamesArray(J2EEUtils.getReferencingEARComponents(project1, comp1));
+		  String[] names = J2EEUtils.toComponentNamesArray(J2EEUtils.getReferencingEARComponents(project1));
 		  printNameStrings(names);
-		  String[] names2 = J2EEUtils.toComponentNamesArray(J2EEUtils.getReferencingEARComponents(project2, comp3));
+		  String[] names2 = J2EEUtils.toComponentNamesArray(J2EEUtils.getReferencingEARComponents(project2));
 		  printNameStrings(names2);
 		  
-		  String[] names3 = J2EEUtils.toComponentNamesArray(J2EEUtils.getReferencingWebComponentsFromEAR(project1, earCompName));
+		  String[] names3 = J2EEUtils.toComponentNamesArray(J2EEUtils.getReferencingWebComponentsFromEAR(project1));
 		  printNameStrings(names3);
 		  
 		  System.out.println("< END: testReferencingGetterMethods ...");
@@ -201,7 +195,7 @@
 		  System.out.println("< BEGIN: testIsComponentMethods ...");
 		  
 		  //assertFalse(J2EEUtils.isEJB20Component(ejbProject, ejbComponentName));
-		  assertTrue(J2EEUtils.isEJB20Component(ejbProject, ejbComponentName));
+		  assertTrue(J2EEUtils.isEJB20Component(ejbProject));
 		  
 		  System.out.println("< END: testIsComponentMethods ...");
 	  }
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ResourceUtilsTests.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ResourceUtilsTests.java
index 4c04938..69b8ef3 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ResourceUtilsTests.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ResourceUtilsTests.java
@@ -14,8 +14,7 @@
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.tests.util.JUnitUtils;
 import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
 import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseStatusHandler;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
@@ -35,23 +34,22 @@
 	
 	public void testComponentType(){
 		IProject project = ProjectUtilities.getProject(projectName);
-		String componentType = ResourceUtils.getComponentType(project, webComponentName);
+		String componentType = ResourceUtils.getComponentType(project);
 		assertEquals(IModuleConstants.JST_WEB_MODULE, componentType);
 	}
 	
 	public void testComponentOf(){
 		IProject project = ProjectUtilities.getProject(projectName);
-        IPath destPath = ResourceUtils.getJavaSourceLocation(project, webComponentName);
+        IPath destPath = ResourceUtils.getJavaSourceLocation(project);
         IFolder folder = (IFolder)ResourceUtils.findResource(destPath);
         try {
             PersistentResourceContext  resourceContext = PersistentResourceContext.getInstance();
             EclipseStatusHandler       handler         = new EclipseStatusHandler();
-            EclipseProgressMonitor     monitor         = new EclipseProgressMonitor();
-            EclipseEnvironment         env     = new EclipseEnvironment( null, resourceContext, monitor, handler );
+            EclipseEnvironment         env     = new EclipseEnvironment( null, resourceContext, handler );
 
             IFile file = folder.getFile(new Path("foo/Echo.java"));
             if (!file.exists()) {
-              JUnitUtils.copyTestData("BUJava/src", folder, env);
+              JUnitUtils.copyTestData("BUJava/src", folder, env, null );
             }
         }
         catch (Exception ex){
@@ -67,13 +65,13 @@
 	
 	public void testJavaSourceLocation(){
 		IProject project = ProjectUtilities.getProject(projectName);
-		String javaSourceLoc = ResourceUtils.getJavaSourceLocation(project, webComponent2Name).toString();
+		String javaSourceLoc = ResourceUtils.getJavaSourceLocation(project).toString();
 		System.out.println("Java source location = "+javaSourceLoc);
-		assertTrue(javaSourceLoc.endsWith("JavaSource"));
+		assertTrue(javaSourceLoc.endsWith("src"));
 		
 		// get all the JavaSourceLocations via the VirtualComponent
-		IVirtualComponent vc1 = ComponentCore.createComponent(project, webComponent2Name);
-		IVirtualComponent vc2 = ComponentCore.createComponent(project, webComponentName);
+		IVirtualComponent vc1 = ComponentCore.createComponent(project);
+		IVirtualComponent vc2 = ComponentCore.createComponent(project);
 		IVirtualComponent[] vcs = new IVirtualComponent[]{vc1, vc2};
 		IPath[] paths = ResourceUtils.getAllJavaSourceLocations(vcs);
 		
@@ -94,7 +92,7 @@
 	
 	public void testWebComponentServerRoot() {
 		IProject project = ProjectUtilities.getProject(projectName);
-		IFolder folder = ResourceUtils.getWebComponentServerRoot(project, webComponentName);
+		IFolder folder = ResourceUtils.getWebComponentServerRoot(project);
 		assertTrue(folder.exists());
 	
 	}
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ServerCreationTests.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ServerCreationTests.java
index a5a2142..12041b6 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ServerCreationTests.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/ServerCreationTests.java
@@ -35,7 +35,7 @@
 		System.out.println("Creating Tomcat v5 server.");
 		CreateServerCommand csc = new CreateServerCommand();
 		csc.setServerFactoryid(SERVERTYPEID_TC50);
-		csc.execute(null);
+		csc.execute(null, null );
 		
 		IServer server = null;
 		String instId = csc.getServerInstanceId();
@@ -52,7 +52,7 @@
 		System.out.println("Attempting to create 2nd Tomcat v5 server.");
 		CreateServerCommand csc = new CreateServerCommand();
 		csc.setServerFactoryid(SERVERTYPEID_TC50);
-		csc.execute(null);
+		csc.execute(null, null );
 		
 		IServer server = null;
 		String instId = csc.getServerInstanceId();
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/WSJUnitConstants.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/WSJUnitConstants.java
index 27a2336..9ba293b 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/WSJUnitConstants.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/WSJUnitConstants.java
@@ -1,5 +1,7 @@
 package org.eclipse.jst.ws.tests.unittest;
 
+import org.eclipse.core.runtime.Path;
+
 
 public interface WSJUnitConstants {
   
@@ -30,4 +32,15 @@
   
   public final String earCompName = "EARComponent";
   
+  public final Path zipFilePath = new Path("/data/WSTestProjects.zip");
+  public final String[] projectNames = new String[]{projectName, project2Name};
+  
+  // performance constants
+  public final String BU_PROJECT_NAME = "TestWeb";
+  public final String TD_PROJECT_NAME = "TestTDProject";
+  public final String CLIENT_PROJECT_NAME = "TestWebClient";
+  
+  public final Path perf_zipFilePath = new Path("/data/WSPerfProjects.zip");
+  public final String[] perf_projectNames = new String[]{BU_PROJECT_NAME, TD_PROJECT_NAME, CLIENT_PROJECT_NAME};
+ 
 }
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/AccumulateStatusHandler.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/AccumulateStatusHandler.java
index 418e7c2..5441127 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/AccumulateStatusHandler.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/AccumulateStatusHandler.java
@@ -12,13 +12,14 @@
 
 import java.util.Vector;
 
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.IStatusHandler;
+import org.eclipse.wst.common.environment.StatusException;
 
-public class AccumulateStatusHandler implements StatusHandler {
+public class AccumulateStatusHandler implements IStatusHandler {
 	  Vector statusList_;
 	  
 	  public AccumulateStatusHandler()
@@ -35,14 +36,14 @@
 	    statusList_ = new Vector();      
 	  }
 	  
-	  public Status getStatus()
+	  public IStatus getStatus()
 	  {
-	    Status worstStatus = new SimpleStatus( "", "", Status.OK );
+	    IStatus worstStatus = Status.OK_STATUS;
 	    
 	    // Find the worst error status code
 	    for( int index = 0; index < statusList_.size(); index++ )
 	    {
-	      Status status = (Status)statusList_.elementAt( index );
+	      IStatus status = (IStatus)statusList_.elementAt( index );
 	      
 	      if( status.getSeverity() > worstStatus.getSeverity() )
 	      {
@@ -50,15 +51,14 @@
 	      }
 	    }
 	    
-	    return new SimpleStatus( worstStatus.getId(), 
-	                             worstStatus.getMessage(),
-	                             (Status[])statusList_.toArray( new Status[0] ) );
+	    return StatusUtils.multiStatus( worstStatus.getMessage(),
+	                                    (IStatus[])statusList_.toArray( new IStatus[0] ) );
 	  }
 	  
 	  /**
-	   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
+	   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
 	   */
-	  public Choice report(Status status, Choice[] choices) 
+	  public Choice report(IStatus status, Choice[] choices) 
 	  {
 	  	Choice result = null;
 	  	
@@ -74,35 +74,25 @@
 	  }
 
 	  /**
-	   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status)
+	   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status)
 	   */
-	  public void report(Status status) throws StatusException
+	  public void report(IStatus status) throws StatusException
 	  {
 	    statusList_.add( status );
 	  }
-	  
-	  /*
-	   * Report a warning.
-	   */
-	  private boolean reportWarning(Status status)
-	  {
-	    statusList_.add( status );
-	    
-	    return true;
-	  }
-	 
+	  	 
 	  /**
-	   * @see com.ibm.env.common.StatusHandler#reportError(com.ibm.env.common.Status)
+	   * @see com.ibm.env.common.IStatusHandler#reportError(com.ibm.env.common.Status)
 	   */
-	  public void reportError(Status status)
+	  public void reportError(IStatus status)
 	  {
 	    statusList_.add( status );
 	  }
 	  
 	  /**
-	   * @see com.ibm.env.common.StatusHandler#reportInfo(com.ibm.env.common.Status)
+	   * @see com.ibm.env.common.IStatusHandler#reportInfo(com.ibm.env.common.Status)
 	   */
-	  public void reportInfo(Status status)
+	  public void reportInfo(IStatus status)
 	  {
 	    statusList_.add( status );
 	  }
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/DynamicPopupJUnitWizard.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/DynamicPopupJUnitWizard.java
index f1d2203..d52cba0 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/DynamicPopupJUnitWizard.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/DynamicPopupJUnitWizard.java
@@ -10,38 +10,38 @@
  *******************************************************************************/
 package org.eclipse.jst.ws.tests.util;
 
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.operation.IRunnableContext;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.wst.command.internal.env.context.PersistentResourceContext;
 import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
 import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistryImpl;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
+import org.eclipse.wst.command.internal.env.ui.widgets.CommandWidgetBinding;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager;
 import org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Log;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
+import org.eclipse.wst.common.environment.ILog;
+import org.eclipse.wst.common.environment.IStatusHandler;
 
 public class DynamicPopupJUnitWizard extends DynamicPopupWizard {
-	private StatusHandler handler_;
-    private Log log_;
-	public DynamicPopupJUnitWizard(StatusHandler handler)
+	private IStatusHandler handler_;
+    private ILog log_;
+	public DynamicPopupJUnitWizard(IStatusHandler handler)
 	{
 		handler_ = handler;
 	}
   
-    public DynamicPopupJUnitWizard(StatusHandler handler, Log log)
+    public DynamicPopupJUnitWizard(IStatusHandler handler, ILog log)
     {
         handler_ = handler;
         log_ = log;
     }
     
 	public void runHeadLess(IStructuredSelection selection,IRunnableContext context) {
-		CommandFragment            rootFragment    = getRootFragment( selection, null );
+		
 		PersistentResourceContext  resourceContext = PersistentResourceContext.getInstance();
-		EclipseProgressMonitor     monitor         = new EclipseProgressMonitor();
-		EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, monitor, handler_ );
+		EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, handler_ );
 		if (log_!=null)
           environment.setLog(log_);
     
@@ -49,7 +49,18 @@
 		DataFlowManager            dataManager     = new DataFlowManager( dataRegistry_, environment );
 		SimpleCommandEngineManager manager         = new SimpleCommandEngineManager(environment, dataManager);
 		  
+	    try
+	    {
+	      commandWidgetBinding_ = (CommandWidgetBinding)wizardElement_.createExecutableExtension( "class" );
+	    }
+	    catch( CoreException exc )
+	    {
+	      exc.printStackTrace();
+	    }
+	    
 		commandWidgetBinding_.registerDataMappings( dataRegistry_ );
+		
+		CommandFragment            rootFragment    = getRootFragment( selection, null );
 		manager.setRootFragment( rootFragment );
 		manager.runForwardToNextStop( context );
 	}
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 c9447e5..1ec8b4a 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
@@ -21,12 +21,13 @@
 import org.eclipse.core.runtime.IExtension;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.ws.internal.common.EnvironmentUtils;
 import org.eclipse.jst.ws.internal.common.ServerUtils;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateModuleCommand;
 import org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin;
@@ -38,11 +39,11 @@
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
 import org.eclipse.wst.command.internal.env.common.WaitForAutoBuildCommand;
 import org.eclipse.wst.command.internal.env.context.PersistentActionDialogsContext;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.command.internal.env.core.context.ResourceContext;
 import org.eclipse.wst.command.internal.env.preferences.ActionDialogPreferenceType;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.context.ResourceContext;
+import org.eclipse.wst.command.internal.env.ui.eclipse.EnvironmentUtils;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeType;
@@ -52,8 +53,8 @@
 import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
 
 
 public class JUnitUtils {
@@ -67,7 +68,7 @@
 		return wc.save(true, null);
 	}
 
-	public static IServer createServer(String name,String serverTypeId,IRuntime runtime,Environment env) throws Exception
+	public static IServer createServer(String name,String serverTypeId,IRuntime runtime,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 	  IServerType serverType = ServerCore.findServerType(serverTypeId);
       IServer[] servers = ServerCore.getServers(); 
@@ -77,10 +78,10 @@
         }
       }
 
-      IServerWorkingCopy serverWc = serverType.createServer(serverTypeId,null,EnvironmentUtils.getIProgressMonitor(env));
+      IServerWorkingCopy serverWc = serverType.createServer(serverTypeId,null, monitor );
 	  serverWc.setName(name);
 	  serverWc.setRuntime(runtime);
-      IServer server = serverWc.saveAll(true, EnvironmentUtils.getIProgressMonitor(env));
+      IServer server = serverWc.saveAll(true, monitor );
       return server;
 	}	
 	
@@ -91,13 +92,13 @@
 	 * @param name server name
 	 * @param serverTypeId server type id
 	 * @param runtime IRuntime
-	 * @param env Environment
+	 * @param env IEnvironment
 	 * @return  server IServer
 	 * @throws Exception
 	 * 
 	 * @deprecated
 	 */
-	public static IServer createServer(String javaRuntimePath, String jreID, String name,String serverTypeId,IRuntime runtime,Environment env) throws Exception
+	public static IServer createServer(String javaRuntimePath, String jreID, String name,String serverTypeId,IRuntime runtime,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 		IServerType serverType = ServerCore.findServerType(serverTypeId);
     IServer[] servers = ServerCore.getServers(); 
@@ -107,26 +108,25 @@
       }
     }
 
-		IServerWorkingCopy serverWc = serverType.createServer(serverTypeId,null,EnvironmentUtils.getIProgressMonitor(env));
+		IServerWorkingCopy serverWc = serverType.createServer(serverTypeId,null, monitor );
 		serverWc.setName(name);
 		serverWc.setRuntime(runtime);
 		
-		IServer server = serverWc.saveAll(true, EnvironmentUtils.getIProgressMonitor(env));
+		IServer server = serverWc.saveAll(true, monitor );
 		
 		return server;
 	}
 	
-	public static void startServer(IServer server,Environment env) throws Exception
+	public static void startServer(IServer server,IEnvironment env) throws Exception
 	{
 		final IServer currentServer = server;
-		final Environment currentEnv = env;
 		IRunnableWithProgress runnable = new IRunnableWithProgress()
 		{
 			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
 			{
 				try
 				{
-				  currentServer.start(ILaunchManager.RUN_MODE,EnvironmentUtils.getIProgressMonitor(currentEnv));
+				  currentServer.start(ILaunchManager.RUN_MODE, monitor );
 				}
 				catch (CoreException e)
 				{
@@ -139,14 +139,14 @@
 		PlatformUI.getWorkbench().getProgressService().run(true,false,runnable);
 	}
 	
-	public static boolean removeEARFromServer(IServer server,IProject earProject,Environment env) throws Exception
+	public static boolean removeEARFromServer(IServer server,IProject earProject,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 		int numberOfModules = server.getModules().length;
 		if (server != null)
 		{
-      final IModule[] modules = ServerUtil.getModules(earProject);
-      final IModule earProjectModule = modules[0];
-			new ServerUtils().modifyModules(env, server,earProjectModule,false,EnvironmentUtils.getIProgressMonitor(env));
+      final IModule earProjectModule = ServerUtil.getModule(earProject);
+      final IModule[] modules = {earProjectModule};
+			new ServerUtils().modifyModules(env, server,earProjectModule,false, monitor );
 		  	final IServer currentServer = server;
 		  	IRunnableWithProgress runnable = new IRunnableWithProgress()
 			{
@@ -177,15 +177,15 @@
 		return false;
 	}
 	
-	public static boolean removeModuleFromServer(IServer server, IProject webProject, Environment env) throws Exception {
+	public static boolean removeModuleFromServer(IServer server, IProject webProject, IEnvironment env, IProgressMonitor monitor ) throws Exception {
 	  
 	  int numberOfModules = server.getModules().length;
 		if (server != null)
 		{
-      final IModule[] modules = ServerUtil.getModules(webProject);
-      final IModule webProjectModule = modules[0];      
+      final IModule webProjectModule = ServerUtil.getModule(webProject);
+      final IModule[] modules = {webProjectModule};
 
-			new ServerUtils().modifyModules(env, server,webProjectModule,false,EnvironmentUtils.getIProgressMonitor(env));
+			new ServerUtils().modifyModules(env, server,webProjectModule,false, monitor );
 		  	final IServer currentServer = server;
 		  	IRunnableWithProgress runnable = new IRunnableWithProgress()
 			{
@@ -219,21 +219,22 @@
 	
 	// Begin: General Eclipse Utilities
 	
-	public static void syncBuildProject(IProject project,Environment env) throws Exception
+	public static void syncBuildProject(IProject project,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
-		project.build(IncrementalProjectBuilder.FULL_BUILD,EnvironmentUtils.getIProgressMonitor(env));
+		project.build(IncrementalProjectBuilder.FULL_BUILD, monitor );
 		WaitForAutoBuildCommand cmd = new WaitForAutoBuildCommand();
-		cmd.execute(env);
+    cmd.setEnvironment( env );
+		cmd.execute( monitor, null );
 	}
 	
-	private static void copyTestFiles(String pathString,int rootSegmentLength,IFolder destFolder,Environment env) throws Exception
+	private static void copyTestFiles(String pathString,int rootSegmentLength,IFolder destFolder,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 		Enumeration e = TestsPlugin.getDefault().getBundle().getEntryPaths(pathString);
 		while (e.hasMoreElements())
 		{
 			String filePath = (String)e.nextElement();
 			if (filePath.endsWith("/"))
-				copyTestFiles(filePath,rootSegmentLength,destFolder,env);
+				copyTestFiles(filePath,rootSegmentLength,destFolder,env, monitor );
 			else
 			{
 				IPath fileIPath = new Path(filePath);
@@ -242,16 +243,16 @@
 										   fileIPath.removeLastSegments(fileIPath.segmentCount()-rootSegmentLength), // /data/<subdir>
 										   (new Path(filePath)).removeFirstSegments(rootSegmentLength), // files after /data/<subdir>
 										   destFolder.getFullPath(),
-										   env.getProgressMonitor(),
+										   monitor,
 										   env.getStatusHandler());
 			}
 		}
 	}
 	
-	public static void copyTestData(String dataSubdirectory,IFolder destFolder,Environment env) throws Exception
+	public static void copyTestData(String dataSubdirectory,IFolder destFolder,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 		String pathString = "/data/"+dataSubdirectory;
-		copyTestFiles(pathString,new Path(pathString).segmentCount(),destFolder,env);
+		copyTestFiles(pathString,new Path(pathString).segmentCount(),destFolder,env, monitor);
 		
 	}
 	
@@ -283,23 +284,22 @@
 	
 	public static void disableWSIDialog(IProject project){
 	  
-	  PersistentWSIContext ctx = WSUIPlugin.getInstance().getWSIAPContext();
+	  PersistentWSIContext ctx = WSPlugin.getInstance().getWSIAPContext();
 	  ctx.updateProjectWSICompliances(project, PersistentWSIContext.IGNORE_NON_WSI);
 	  
-	  PersistentWSIContext ctx2 = WSUIPlugin.getInstance().getWSISSBPContext();
+	  PersistentWSIContext ctx2 = WSPlugin.getInstance().getWSISSBPContext();
 	  ctx2.updateProjectWSICompliances(project, PersistentWSIContext.IGNORE_NON_WSI);
 	  
 	}
 	
-	public static void setJ2EEWSRuntimeServer(String j2eeLevel,String wsRuntimeId,String serverTypeId)
+	public static void setWSRuntimeServer(String wsRuntimeId,String serverTypeId)
 	{
 		PersistentServerRuntimeContext serverRuntimeCtx = WebServiceConsumptionUIPlugin.getInstance().getServerRuntimeContext();
-		serverRuntimeCtx.setJ2EEVersion(j2eeLevel);
 		serverRuntimeCtx.setRuntimeId(wsRuntimeId);
 		serverRuntimeCtx.setServerFactoryId(serverTypeId);		
 	}
 	
-	private static Status launchWizard(String pluginNS,String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
+	private static IStatus launchWizard(String pluginNS,String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
 	{
 		IExtension[] extensions = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.ui.popupMenus").getExtensions();
 		for (int i=0;i<extensions.length;i++)
@@ -322,22 +322,22 @@
 				}
 			}
 		}
-		return new SimpleStatus("","No wizard found for: ",Status.ERROR);
+		return StatusUtils.errorStatus( "No wizard found for: " );
 	}
 	
-	public static Status launchCreationWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
+	public static IStatus launchCreationWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
 	{
 		return launchWizard("org.eclipse.jst.ws.creation.ui",wizardId,objectClassId,initialSelection);
 	}
 	
-	public static Status launchConsumptionWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
+	public static IStatus launchConsumptionWizard(String wizardId,String objectClassId,IStructuredSelection initialSelection) throws Exception
 	{
 		return launchWizard("org.eclipse.jst.ws.internal.consumption.ui",wizardId,objectClassId,initialSelection);
 	}
 	
-	public static Status createWebModule(String webProjectName, String moduleName, String serverFactoryId, String j2eeVersion, Environment env){
+	public static IStatus createWebModule(String webProjectName, String moduleName, String serverFactoryId, String j2eeVersion, IEnvironment env, IProgressMonitor monitor ){
 
-	  Status status = new SimpleStatus("");
+	  IStatus status = Status.OK_STATUS;
 	  try{
 	    CreateModuleCommand createWeb = new CreateModuleCommand();
 	    createWeb.setProjectName(webProjectName);
@@ -345,11 +345,11 @@
         createWeb.setModuleType(CreateModuleCommand.WEB);
 	    createWeb.setJ2eeLevel(j2eeVersion);
 	    createWeb.setServerFactoryId(serverFactoryId);
-	    createWeb.setSupportMultipleModules(true);
-	    return createWeb.execute(env);
+      createWeb.setEnvironment( env );
+	    return createWeb.execute( monitor, null );
 	  }
 	  catch (Exception e){
-	    status = new SimpleStatus("",e.getMessage(), Status.ERROR, e);
+	    status = StatusUtils.errorStatus( e );
 	  }
 	  return status;
 	  
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 2e99704..1202009 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: Tests Plug-in
 Bundle-SymbolicName: org.eclipse.wst.ws.tests
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-Activator: org.eclipse.wst.ws.tests.plugin.TestsPlugin
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.wst.ws,
@@ -18,7 +18,10 @@
  org.eclipse.wst.common.frameworks,
  org.eclipse.wst.server.core,
  org.eclipse.wst.ws.ui,
- org.eclipse.wst.command.env.ui
+ org.eclipse.wst.command.env.ui,
+ org.eclipse.wst.common.environment,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.xmi
 Eclipse-AutoStart: true
 Export-Package: org.eclipse.wst.ws.tests.plugin,
  org.eclipse.wst.ws.tests.unittest,
diff --git a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/RegistryTests.java b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/RegistryTests.java
new file mode 100644
index 0000000..015e3f0
--- /dev/null
+++ b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/RegistryTests.java
@@ -0,0 +1,275 @@
+package org.eclipse.wst.ws.tests.unittest;
+
+import java.io.File;
+
+import junit.framework.Assert;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.wst.ws.internal.model.v10.registry.Name;
+import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.registry.RegistryFactory;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Category;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.TaxonomyFactory;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
+import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistryFactory;
+import org.eclipse.wst.ws.internal.registry.IRegistryManager;
+import org.eclipse.wst.ws.internal.registry.RegistryService;
+import org.eclipse.wst.ws.internal.registry.UDDIRegistryService;
+
+public class RegistryTests extends TestCase
+{
+	public static Test suite ()
+	{
+		return new TestSuite(RegistryTests.class);
+	}
+
+	/**
+	 * Creates a new Taxonomy model and passes it to
+	 * <code>RegistryService.saveTaxonomy()</code>
+	 * where the model is persisted to a platform
+	 * specified temporary filesystem location.
+	 */
+	public void test_RegistryService_saveTaxonomy ()
+	{
+		System.out.println("STARTING test_RegistryService_saveTaxonomy");
+		try
+		{
+			System.out.println("Creating RegistryService and Taxonomy");
+			RegistryService registryService = RegistryService.instance();			
+			Taxonomy taxonomy = registryService.newTaxonomy();
+
+			System.out.println("Building a simple Taxonomy model");
+			taxonomy.setId("my.taxonomy");
+			taxonomy.setName("My Taxonomy");
+			EList list = taxonomy.getCategory();
+			Category category1 = TaxonomyFactory.eINSTANCE.createCategory();
+			category1.setName("My first category");
+			category1.setCode("1");
+			Category category2 = TaxonomyFactory.eINSTANCE.createCategory();
+			category2.setName("My second category");
+			category2.setCode("2");
+			Category category3 = TaxonomyFactory.eINSTANCE.createCategory();
+			category3.setName("My third category");
+			category3.setCode("2.1");
+			category2.getCategory().add(category3);
+			list.add(category1);
+			list.add(category2);
+
+			File file = File.createTempFile("taxonomy.",".xml");
+			System.out.println("Saving the Taxonomy model to "+file.getCanonicalPath());
+			registryService.saveTaxonomy(file.toURL(),taxonomy);
+		}
+		catch (Throwable exc)
+		{
+			exc.printStackTrace();
+			fail("Unexpected Throwable ["+exc.getMessage()+"]");
+		}
+		finally
+		{
+			System.out.println("FINISHED test_RegistryService_saveTaxonomy\n");
+		}
+	}
+
+	/**
+	 * Creates a new UDDI Registry model and passes it to
+	 * <code>RegistryService.saveRegistry()</code>
+	 * where the model is persisted to a platform
+	 * specified temporary filesystem location.
+	 */
+	public void test_RegistryService_saveRegistry ()
+	{
+		System.out.println("STARTING test_RegistryService_saveRegistry");
+		try
+		{
+			System.out.println("Creating RegistryService, UDDIRegistryService and Registry");
+			RegistryService registryService = RegistryService.instance();
+			UDDIRegistryService uddiRegistryService = UDDIRegistryService.instance();			
+			UDDIRegistry uddiRegistry = uddiRegistryService.newUDDIRegistry();
+
+			System.out.println("Building a simple Registry model");
+			uddiRegistry.setId("my.registry");
+			uddiRegistry.setVersion("2.0");
+			uddiRegistry.setDiscoveryURL("http://some.discovery.url");
+			uddiRegistry.setPublicationURL("http://some.publication.url");
+			uddiRegistry.setDefaultLogin("hockeyfanatic");
+			Name name = RegistryFactory.eINSTANCE.createName();
+			name.setValue("My Registry");
+			uddiRegistry.getName().add(name);
+			Taxonomy taxonomyRef = registryService.newTaxonomy();
+			taxonomyRef.setRef("my.taxonomy");
+			Taxonomies t = uddiRegistry.getTaxonomies();
+			if (t == null)
+			{
+				t = UDDIRegistryFactory.eINSTANCE.createTaxonomies();
+				uddiRegistry.setTaxonomies(t);
+			}
+			EList e = t.getTaxonomy();
+			e.add(taxonomyRef);
+
+			File file = File.createTempFile("registry.",".xml");
+			System.out.println("Saving the Registry model to "+file.getCanonicalPath());
+			registryService.saveRegistry(file.toURL(),uddiRegistry);
+		}
+		catch (Throwable exc)
+		{
+			exc.printStackTrace();
+			fail("Unexpected Throwable ["+exc.getMessage()+"]");
+		}
+		finally
+		{
+			System.out.println("FINISHED test_RegistryService_saveRegistry\n");
+		}
+	}
+
+	/**
+	 * Creates a new UDDI Registry model and a new Taxonomy
+	 * model, associates the latter with the former, and
+	 * drives <code>IRegistryManager.saveRegistry()</code>
+	 * to save the models and the index document to the
+	 * preferred location of the default registry manager.
+	 */
+	public void test_RegistryManager_saveRegistry()
+	{
+		System.out.println("STARTING test_RegistryManager_saveRegistry");
+		try {
+			System.out.println("Creating RegistryService and Getting RegistryManager");	
+			RegistryService registryService = RegistryService.instance();	
+			IRegistryManager regManager = registryService.getDefaultRegistryManager();
+			System.out.println("The location of the default index is " + regManager.getURL());
+
+			//build the hockey taxonomy
+			System.out.println("Building the hockey Taxonomy model");
+			Taxonomy hockeyTaxonomy = registryService.newTaxonomy();
+			hockeyTaxonomy.setId("hockey.taxonomy");
+			hockeyTaxonomy.setName("hockey Taxonomy");
+			EList list = hockeyTaxonomy.getCategory();
+			Category category1 = TaxonomyFactory.eINSTANCE.createCategory();
+			Category category4 = TaxonomyFactory.eINSTANCE.createCategory();
+			category4.setName("Pro");
+			category4.setCode("4");
+			Category category5 = TaxonomyFactory.eINSTANCE.createCategory();
+			category5.setName("AHL");
+			category5.setCode("4.1");
+			Category category6 = TaxonomyFactory.eINSTANCE.createCategory();
+			category6.setName("NHL");
+			category6.setCode("4.2");
+			category1.setName("Junior");
+			category1.setCode("1");
+			Category category2 = TaxonomyFactory.eINSTANCE.createCategory();
+			category2.setName("Midget");
+			category2.setCode("2");
+			Category category3 = TaxonomyFactory.eINSTANCE.createCategory();
+			category3.setName("Bantam");
+			category3.setCode("3");
+			category4.getCategory().add(category5);
+			category4.getCategory().add(category6);
+			list.add(category1);
+			list.add(category2);
+			list.add(category3);
+			list.add(category4);
+			
+			//save the hockey taxonomy
+			Taxonomy hockeyTaxonomyRef = regManager.saveTaxonomy(hockeyTaxonomy);
+
+			//make the hockey registry
+			System.out.println("Building the hockey Registry model");
+			UDDIRegistryService uddiRegistryService = UDDIRegistryService.instance();			
+			UDDIRegistry uddiRegistry = uddiRegistryService.newUDDIRegistry();
+			uddiRegistry.setId("hockey.registry");
+			uddiRegistry.setVersion("2.0");
+			uddiRegistry.setDefaultLogin("hockeyfanatic");
+			uddiRegistry.setDiscoveryURL("http://some.discovery.url");
+			uddiRegistry.setPublicationURL("http://some.publication.url");
+			Name name = RegistryFactory.eINSTANCE.createName();
+			name.setValue("Hockey Registry");
+			uddiRegistry.getName().add(name);
+
+			// Add the reference to the taxonomy (saved above) to the registry.  
+			uddiRegistryService.addTaxonomy(uddiRegistry,hockeyTaxonomyRef);
+
+			/*
+			UDDITaxonomyFinder UITFinder = new UDDITaxonomyFinder();
+			regManager.addTaxonomyFinder(uddiRegistry.getClass().getName(),UITFinder);
+			*/
+			// Save the thing.
+			System.out.println("Saving the hockey Registry model");
+			regManager.saveRegistry(uddiRegistry);
+		}
+		catch (Throwable exc)
+		{
+			exc.printStackTrace();
+			fail("Unexpected Throwable ["+exc.getMessage()+"]");
+		}
+		finally
+		{
+			System.out.println("FINISHED test_RegistryManager_saveRegistry\n");
+		}
+	}
+
+	/**
+	 * Loads the registry and taxonomy in the index created in
+	 * test_RegistryManager_saveRegistry, then asserts that the
+	 * content of the model is what we expect.
+	 */
+	public void test_RegistryManager_loadRegistry()
+	{
+		System.out.println("STARTING test_RegistryManager_loadRegistry");
+		try {
+			// Setup
+			System.out.println("Creating RegistryService and Getting RegistryManager");	
+			RegistryService registryService = RegistryService.instance();	
+			IRegistryManager regManager = registryService.getDefaultRegistryManager();
+			
+			// Get the one registry URI we expect, and load the registry.
+			String[] registries = regManager.getRegistryURIs();
+			assertEquals("Unexpected number of registries "+registries.length,registries.length,1);
+			String uri = registries[0];
+			System.out.println("Loading registry " + uri);
+			Registry registry = regManager.loadRegistry(uri);
+			System.out.println("Found registry " + registry.getId());
+			assertEquals("Did not find hockey registry","hockey.registry",registry.getId());
+			
+			// It's supposed to be a UDDI registry. Verify it and check its values.
+			assertTrue("Registry is not a UDDIRegistry",(registry instanceof UDDIRegistry));
+			UDDIRegistry uddiRegistry = (UDDIRegistry)registry;
+			assertEquals(uddiRegistry.getVersion(),"2.0");
+			assertEquals(uddiRegistry.getDefaultLogin(),"hockeyfanatic");
+			assertEquals(uddiRegistry.getDiscoveryURL(),"http://some.discovery.url");
+			assertEquals(uddiRegistry.getPublicationURL(),"http://some.publication.url");
+			
+			// Load the taxonomies used the UDDI registry.
+			UDDIRegistryService uddiRegistryService = UDDIRegistryService.instance();
+			Taxonomy[] taxonomies = regManager.loadTaxonomies(uddiRegistryService.getTaxonomyURIs(uddiRegistry));
+			assertEquals("Unexpected number of taxonomies "+taxonomies.length,taxonomies.length,1);
+			Taxonomy taxonomy = taxonomies[0];
+			System.out.println("Found taxonomy " + taxonomy.getId());
+			Assert.assertEquals("Did not find hockey taxonomy","hockey.taxonomy",taxonomy.getId());
+			
+			// Dump out the values (no assertions here).
+			EList cList = taxonomy.getCategory();
+			for(int i = 0;i<cList.size();i++){
+				Category category = (Category)cList.get(i);
+				System.out.println("Found category " + category.getName());
+				EList c2List = category.getCategory();
+				for(int j = 0;j<c2List.size();j++){
+					Category iCategory = (Category)c2List.get(j);
+					System.out.println("Found subcategory " + iCategory.getName());
+				}
+			}					
+		}
+		catch(Throwable t)
+		{
+			t.printStackTrace();
+			fail("Unexpected Throwable ["+t.getMessage()+"]");
+		}
+		finally
+		{
+			System.out.println("FINISHED test_RegistryManager_loadRegistry\n");
+		}
+	}
+}
diff --git a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/WebServiceFinderTests.java b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/WebServiceFinderTests.java
index a9ba904..86f9c5c 100644
--- a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/WebServiceFinderTests.java
+++ b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/unittest/WebServiceFinderTests.java
@@ -3,7 +3,8 @@
 import java.util.Iterator;
 
 import org.eclipse.wst.ws.internal.wsfinder.WebServiceFinder;
-import org.eclipse.wst.ws.internal.provisional.wsrt.WebServiceInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
+
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
diff --git a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/AccumulateStatusHandler.java b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/AccumulateStatusHandler.java
index f218a9a..8f524fb 100644
--- a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/AccumulateStatusHandler.java
+++ b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/AccumulateStatusHandler.java
@@ -11,14 +11,14 @@
 package org.eclipse.wst.ws.tests.util;
 
 import java.util.Vector;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
+import org.eclipse.wst.common.environment.Choice;
+import org.eclipse.wst.common.environment.StatusException;
+import org.eclipse.wst.common.environment.IStatusHandler;
 
-import org.eclipse.wst.command.internal.provisional.env.core.common.Choice;
-import org.eclipse.wst.command.internal.provisional.env.core.common.SimpleStatus;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Status;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusException;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
-
-public class AccumulateStatusHandler implements StatusHandler {
+public class AccumulateStatusHandler implements IStatusHandler {
 	  Vector statusList_;
 	  
 	  public AccumulateStatusHandler()
@@ -35,14 +35,14 @@
 	    statusList_ = new Vector();      
 	  }
 	  
-	  public Status getStatus()
+	  public IStatus getStatus()
 	  {
-	    Status worstStatus = new SimpleStatus( "", "", Status.OK );
+	    IStatus worstStatus = Status.OK_STATUS;
 	    
 	    // Find the worst error status code
 	    for( int index = 0; index < statusList_.size(); index++ )
 	    {
-	      Status status = (Status)statusList_.elementAt( index );
+	      IStatus status = (IStatus)statusList_.elementAt( index );
 	      
 	      if( status.getSeverity() > worstStatus.getSeverity() )
 	      {
@@ -50,15 +50,14 @@
 	      }
 	    }
 	    
-	    return new SimpleStatus( worstStatus.getId(), 
-	                             worstStatus.getMessage(),
-	                             (Status[])statusList_.toArray( new Status[0] ) );
+	    return StatusUtils.multiStatus( worstStatus.getMessage(),
+                                     (Status[])statusList_.toArray( new Status[0] ) );
 	  }
 	  
 	  /**
-	   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
+	   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status, org.eclipse.env.common.Choice[])
 	   */
-	  public Choice report(Status status, Choice[] choices) 
+	  public Choice report(IStatus status, Choice[] choices) 
 	  {
 	  	Choice result = null;
 	  	
@@ -74,35 +73,25 @@
 	  }
 
 	  /**
-	   * @see org.eclipse.env.common.StatusHandler#report(org.eclipse.env.common.Status)
+	   * @see org.eclipse.env.common.IStatusHandler#report(org.eclipse.env.common.Status)
 	   */
-	  public void report(Status status) throws StatusException
+	  public void report(IStatus status) throws StatusException
 	  {
 	    statusList_.add( status );
 	  }
-	  
-	  /*
-	   * Report a warning.
-	   */
-	  private boolean reportWarning(Status status)
-	  {
-	    statusList_.add( status );
-	    
-	    return true;
-	  }
-	 
+	  	 
 	  /**
-	   * @see com.ibm.env.common.StatusHandler#reportError(com.ibm.env.common.Status)
+	   * @see com.ibm.env.common.IStatusHandler#reportError(com.ibm.env.common.Status)
 	   */
-	  public void reportError(Status status)
+	  public void reportError(IStatus status)
 	  {
 	    statusList_.add( status );
 	  }
 	  
 	  /**
-	   * @see com.ibm.env.common.StatusHandler#reportInfo(com.ibm.env.common.Status)
+	   * @see com.ibm.env.common.IStatusHandler#reportInfo(com.ibm.env.common.Status)
 	   */
-	  public void reportInfo(Status status)
+	  public void reportInfo(IStatus status)
 	  {
 	    statusList_.add( status );
 	  }
diff --git a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/DynamicPopupJUnitWizard.java b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/DynamicPopupJUnitWizard.java
index c41ab68..2feea53 100644
--- a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/DynamicPopupJUnitWizard.java
+++ b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/DynamicPopupJUnitWizard.java
@@ -16,23 +16,21 @@
 import org.eclipse.wst.command.internal.env.core.data.DataFlowManager;
 import org.eclipse.wst.command.internal.env.core.data.DataMappingRegistryImpl;
 import org.eclipse.wst.command.internal.env.core.fragment.CommandFragment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseEnvironment;
-import org.eclipse.wst.command.internal.env.ui.eclipse.EclipseProgressMonitor;
+import org.eclipse.wst.command.internal.env.eclipse.EclipseEnvironment;
 import org.eclipse.wst.command.internal.env.ui.widgets.SimpleCommandEngineManager;
 import org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard;
-import org.eclipse.wst.command.internal.provisional.env.core.common.StatusHandler;
+import org.eclipse.wst.common.environment.IStatusHandler;
 
 public class DynamicPopupJUnitWizard extends DynamicPopupWizard {
-	private StatusHandler handler_;
-	public DynamicPopupJUnitWizard(StatusHandler handler)
+	private IStatusHandler handler_;
+	public DynamicPopupJUnitWizard(IStatusHandler handler)
 	{
 		handler_ = handler;
 	}
 	public void runHeadLess(IStructuredSelection selection,IRunnableContext context) {
 		CommandFragment            rootFragment    = getRootFragment( selection, null );
 		PersistentResourceContext  resourceContext = PersistentResourceContext.getInstance();
-		EclipseProgressMonitor     monitor         = new EclipseProgressMonitor();
-		EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, monitor, handler_ );
+		EclipseEnvironment         environment     = new EclipseEnvironment( null, resourceContext, handler_ );
 		    
 		DataMappingRegistryImpl    dataRegistry_   = new DataMappingRegistryImpl();	    
 		DataFlowManager            dataManager     = new DataFlowManager( dataRegistry_, environment );
diff --git a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/JUnitUtils.java b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/JUnitUtils.java
index a31a8b0..e5dbe7b 100644
--- a/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/JUnitUtils.java
+++ b/tests/org.eclipse.wst.ws.tests/tests/org/eclipse/wst/ws/tests/util/JUnitUtils.java
@@ -11,37 +11,38 @@
 package org.eclipse.wst.ws.tests.util;
 
 import java.util.Enumeration;
-
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.wst.command.internal.env.common.FileResourceUtils;
 import org.eclipse.wst.command.internal.env.common.WaitForAutoBuildCommand;
-import org.eclipse.wst.command.internal.provisional.env.core.common.Environment;
-import org.eclipse.wst.command.internal.provisional.env.core.context.TransientResourceContext;
+import org.eclipse.wst.command.internal.env.core.context.TransientResourceContext;
+import org.eclipse.wst.common.environment.IEnvironment;
 import org.eclipse.wst.ws.tests.plugin.TestsPlugin;
 
 
 public class JUnitUtils {
 	
 	// Begin: General Eclipse Utilities
-	public static void syncBuildProject(IProject project,Environment env) throws Exception
+	public static void syncBuildProject(IProject project,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 		project.build(IncrementalProjectBuilder.FULL_BUILD,null);
 		WaitForAutoBuildCommand cmd = new WaitForAutoBuildCommand();
-		cmd.execute(env);
+    cmd.setEnvironment( env );
+		cmd.execute( monitor, null );
 	}
 	
-	private static void copyTestFiles(String pathString,int rootSegmentLength,IFolder destFolder,Environment env) throws Exception
+	private static void copyTestFiles(String pathString,int rootSegmentLength,IFolder destFolder,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 		Enumeration e = TestsPlugin.getDefault().getBundle().getEntryPaths(pathString);
 		while (e.hasMoreElements())
 		{
 			String filePath = (String)e.nextElement();
 			if (filePath.endsWith("/"))
-				copyTestFiles(filePath,rootSegmentLength,destFolder,env);
+				copyTestFiles(filePath,rootSegmentLength,destFolder,env, monitor );
 			else
 			{ 
 				IPath fileIPath = new Path(filePath);
@@ -50,16 +51,16 @@
 										   fileIPath.removeLastSegments(fileIPath.segmentCount()-rootSegmentLength), // /data/<subdir>
 										   (new Path(filePath)).removeFirstSegments(rootSegmentLength), // files after /data/<subdir>
 										   destFolder.getFullPath(),
-										   env.getProgressMonitor(),
+										   monitor,
 										   env.getStatusHandler());
 			}
 		}
 	}
 	
-	public static void copyTestData(String dataSubdirectory,IFolder destFolder,Environment env) throws Exception
+	public static void copyTestData(String dataSubdirectory,IFolder destFolder,IEnvironment env, IProgressMonitor monitor ) throws Exception
 	{
 		String pathString = "/data/"+dataSubdirectory;
-		copyTestFiles(pathString,new Path(pathString).segmentCount(),destFolder,env);
+		copyTestFiles(pathString,new Path(pathString).segmentCount(),destFolder,env, monitor );
 		
 	}
 	
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/.cvsignore b/tests/org.eclipse.wst.wsdl.tests.performance/.cvsignore
index 243b3b8..ba2fda9 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/.cvsignore
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/.cvsignore
@@ -1,3 +1,5 @@
 bin
 build.xml
 
+temp.folder
+performance.jar
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/data/100KB.wsdl b/tests/org.eclipse.wst.wsdl.tests.performance/data/100KB.wsdl
new file mode 100644
index 0000000..c5047b9
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/data/100KB.wsdl
@@ -0,0 +1,3107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Definition" targetNamespace="http://www.eclipse.org/webtools" xmlns:tns="http://www.eclipse.org/webtools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools">
+      <xsd:element name="ResponseElement0" type="xsd:string"/>
+      <xsd:element name="RequestElement0" type="xsd:string"/>
+      <xsd:element name="ResponseElement1" type="xsd:string"/>
+      <xsd:element name="RequestElement1" type="xsd:string"/>
+      <xsd:element name="ResponseElement2" type="xsd:string"/>
+      <xsd:element name="RequestElement2" type="xsd:string"/>
+      <xsd:element name="ResponseElement3" type="xsd:string"/>
+      <xsd:element name="RequestElement3" type="xsd:string"/>
+      <xsd:element name="ResponseElement4" type="xsd:string"/>
+      <xsd:element name="RequestElement4" type="xsd:string"/>
+      <xsd:element name="ResponseElement5" type="xsd:string"/>
+      <xsd:element name="RequestElement5" type="xsd:string"/>
+      <xsd:element name="ResponseElement6" type="xsd:string"/>
+      <xsd:element name="RequestElement6" type="xsd:string"/>
+      <xsd:element name="ResponseElement7" type="xsd:string"/>
+      <xsd:element name="RequestElement7" type="xsd:string"/>
+      <xsd:element name="ResponseElement8" type="xsd:string"/>
+      <xsd:element name="RequestElement8" type="xsd:string"/>
+      <xsd:element name="ResponseElement9" type="xsd:string"/>
+      <xsd:element name="RequestElement9" type="xsd:string"/>
+      <xsd:element name="ResponseElement10" type="xsd:string"/>
+      <xsd:element name="RequestElement10" type="xsd:string"/>
+      <xsd:element name="ResponseElement11" type="xsd:string"/>
+      <xsd:element name="RequestElement11" type="xsd:string"/>
+      <xsd:element name="ResponseElement12" type="xsd:string"/>
+      <xsd:element name="RequestElement12" type="xsd:string"/>
+      <xsd:element name="ResponseElement13" type="xsd:string"/>
+      <xsd:element name="RequestElement13" type="xsd:string"/>
+      <xsd:element name="ResponseElement14" type="xsd:string"/>
+      <xsd:element name="RequestElement14" type="xsd:string"/>
+      <xsd:element name="ResponseElement15" type="xsd:string"/>
+      <xsd:element name="RequestElement15" type="xsd:string"/>
+      <xsd:element name="ResponseElement16" type="xsd:string"/>
+      <xsd:element name="RequestElement16" type="xsd:string"/>
+      <xsd:element name="ResponseElement17" type="xsd:string"/>
+      <xsd:element name="RequestElement17" type="xsd:string"/>
+      <xsd:element name="ResponseElement18" type="xsd:string"/>
+      <xsd:element name="RequestElement18" type="xsd:string"/>
+      <xsd:element name="ResponseElement19" type="xsd:string"/>
+      <xsd:element name="RequestElement19" type="xsd:string"/>
+      <xsd:element name="ResponseElement20" type="xsd:string"/>
+      <xsd:element name="RequestElement20" type="xsd:string"/>
+      <xsd:element name="ResponseElement21" type="xsd:string"/>
+      <xsd:element name="RequestElement21" type="xsd:string"/>
+      <xsd:element name="ResponseElement22" type="xsd:string"/>
+      <xsd:element name="RequestElement22" type="xsd:string"/>
+      <xsd:element name="ResponseElement23" type="xsd:string"/>
+      <xsd:element name="RequestElement23" type="xsd:string"/>
+      <xsd:element name="ResponseElement24" type="xsd:string"/>
+      <xsd:element name="RequestElement24" type="xsd:string"/>
+      <xsd:element name="ResponseElement25" type="xsd:string"/>
+      <xsd:element name="RequestElement25" type="xsd:string"/>
+      <xsd:element name="ResponseElement26" type="xsd:string"/>
+      <xsd:element name="RequestElement26" type="xsd:string"/>
+      <xsd:element name="ResponseElement27" type="xsd:string"/>
+      <xsd:element name="RequestElement27" type="xsd:string"/>
+      <xsd:element name="ResponseElement28" type="xsd:string"/>
+      <xsd:element name="RequestElement28" type="xsd:string"/>
+      <xsd:element name="ResponseElement29" type="xsd:string"/>
+      <xsd:element name="RequestElement29" type="xsd:string"/>
+      <xsd:element name="ResponseElement30" type="xsd:string"/>
+      <xsd:element name="RequestElement30" type="xsd:string"/>
+      <xsd:element name="ResponseElement31" type="xsd:string"/>
+      <xsd:element name="RequestElement31" type="xsd:string"/>
+      <xsd:element name="ResponseElement32" type="xsd:string"/>
+      <xsd:element name="RequestElement32" type="xsd:string"/>
+      <xsd:element name="ResponseElement33" type="xsd:string"/>
+      <xsd:element name="RequestElement33" type="xsd:string"/>
+      <xsd:element name="ResponseElement34" type="xsd:string"/>
+      <xsd:element name="RequestElement34" type="xsd:string"/>
+      <xsd:element name="ResponseElement35" type="xsd:string"/>
+      <xsd:element name="RequestElement35" type="xsd:string"/>
+      <xsd:element name="ResponseElement36" type="xsd:string"/>
+      <xsd:element name="RequestElement36" type="xsd:string"/>
+      <xsd:element name="ResponseElement37" type="xsd:string"/>
+      <xsd:element name="RequestElement37" type="xsd:string"/>
+      <xsd:element name="ResponseElement38" type="xsd:string"/>
+      <xsd:element name="RequestElement38" type="xsd:string"/>
+      <xsd:element name="ResponseElement39" type="xsd:string"/>
+      <xsd:element name="RequestElement39" type="xsd:string"/>
+      <xsd:element name="ResponseElement40" type="xsd:string"/>
+      <xsd:element name="RequestElement40" type="xsd:string"/>
+      <xsd:element name="ResponseElement41" type="xsd:string"/>
+      <xsd:element name="RequestElement41" type="xsd:string"/>
+      <xsd:element name="ResponseElement42" type="xsd:string"/>
+      <xsd:element name="RequestElement42" type="xsd:string"/>
+      <xsd:element name="ResponseElement43" type="xsd:string"/>
+      <xsd:element name="RequestElement43" type="xsd:string"/>
+      <xsd:element name="ResponseElement44" type="xsd:string"/>
+      <xsd:element name="RequestElement44" type="xsd:string"/>
+      <xsd:element name="ResponseElement45" type="xsd:string"/>
+      <xsd:element name="RequestElement45" type="xsd:string"/>
+      <xsd:element name="ResponseElement46" type="xsd:string"/>
+      <xsd:element name="RequestElement46" type="xsd:string"/>
+      <xsd:element name="ResponseElement47" type="xsd:string"/>
+      <xsd:element name="RequestElement47" type="xsd:string"/>
+      <xsd:element name="ResponseElement48" type="xsd:string"/>
+      <xsd:element name="RequestElement48" type="xsd:string"/>
+      <xsd:element name="ResponseElement49" type="xsd:string"/>
+      <xsd:element name="RequestElement49" type="xsd:string"/>
+      <xsd:element name="ResponseElement50" type="xsd:string"/>
+      <xsd:element name="RequestElement50" type="xsd:string"/>
+      <xsd:element name="ResponseElement51" type="xsd:string"/>
+      <xsd:element name="RequestElement51" type="xsd:string"/>
+      <xsd:element name="ResponseElement52" type="xsd:string"/>
+      <xsd:element name="RequestElement52" type="xsd:string"/>
+      <xsd:element name="ResponseElement53" type="xsd:string"/>
+      <xsd:element name="RequestElement53" type="xsd:string"/>
+      <xsd:element name="ResponseElement54" type="xsd:string"/>
+      <xsd:element name="RequestElement54" type="xsd:string"/>
+      <xsd:element name="ResponseElement55" type="xsd:string"/>
+      <xsd:element name="RequestElement55" type="xsd:string"/>
+      <xsd:element name="ResponseElement56" type="xsd:string"/>
+      <xsd:element name="RequestElement56" type="xsd:string"/>
+      <xsd:element name="ResponseElement57" type="xsd:string"/>
+      <xsd:element name="RequestElement57" type="xsd:string"/>
+      <xsd:element name="ResponseElement58" type="xsd:string"/>
+      <xsd:element name="RequestElement58" type="xsd:string"/>
+      <xsd:element name="ResponseElement59" type="xsd:string"/>
+      <xsd:element name="RequestElement59" type="xsd:string"/>
+      <xsd:element name="ResponseElement60" type="xsd:string"/>
+      <xsd:element name="RequestElement60" type="xsd:string"/>
+      <xsd:element name="ResponseElement61" type="xsd:string"/>
+      <xsd:element name="RequestElement61" type="xsd:string"/>
+      <xsd:element name="ResponseElement62" type="xsd:string"/>
+      <xsd:element name="RequestElement62" type="xsd:string"/>
+      <xsd:element name="ResponseElement63" type="xsd:string"/>
+      <xsd:element name="RequestElement63" type="xsd:string"/>
+      <xsd:element name="ResponseElement64" type="xsd:string"/>
+      <xsd:element name="RequestElement64" type="xsd:string"/>
+      <xsd:element name="ResponseElement65" type="xsd:string"/>
+      <xsd:element name="RequestElement65" type="xsd:string"/>
+      <xsd:element name="ResponseElement66" type="xsd:string"/>
+      <xsd:element name="RequestElement66" type="xsd:string"/>
+      <xsd:element name="ResponseElement67" type="xsd:string"/>
+      <xsd:element name="RequestElement67" type="xsd:string"/>
+      <xsd:element name="ResponseElement68" type="xsd:string"/>
+      <xsd:element name="RequestElement68" type="xsd:string"/>
+      <xsd:element name="ResponseElement69" type="xsd:string"/>
+      <xsd:element name="RequestElement69" type="xsd:string"/>
+      <xsd:element name="ResponseElement70" type="xsd:string"/>
+      <xsd:element name="RequestElement70" type="xsd:string"/>
+      <xsd:element name="ResponseElement71" type="xsd:string"/>
+      <xsd:element name="RequestElement71" type="xsd:string"/>
+      <xsd:element name="ResponseElement72" type="xsd:string"/>
+      <xsd:element name="RequestElement72" type="xsd:string"/>
+      <xsd:element name="ResponseElement73" type="xsd:string"/>
+      <xsd:element name="RequestElement73" type="xsd:string"/>
+      <xsd:element name="ResponseElement74" type="xsd:string"/>
+      <xsd:element name="RequestElement74" type="xsd:string"/>
+      <xsd:element name="ResponseElement75" type="xsd:string"/>
+      <xsd:element name="RequestElement75" type="xsd:string"/>
+      <xsd:element name="ResponseElement76" type="xsd:string"/>
+      <xsd:element name="RequestElement76" type="xsd:string"/>
+      <xsd:element name="ResponseElement77" type="xsd:string"/>
+      <xsd:element name="RequestElement77" type="xsd:string"/>
+      <xsd:element name="ResponseElement78" type="xsd:string"/>
+      <xsd:element name="RequestElement78" type="xsd:string"/>
+      <xsd:element name="ResponseElement79" type="xsd:string"/>
+      <xsd:element name="RequestElement79" type="xsd:string"/>
+      <xsd:element name="ResponseElement80" type="xsd:string"/>
+      <xsd:element name="RequestElement80" type="xsd:string"/>
+      <xsd:element name="ResponseElement81" type="xsd:string"/>
+      <xsd:element name="RequestElement81" type="xsd:string"/>
+      <xsd:element name="ResponseElement82" type="xsd:string"/>
+      <xsd:element name="RequestElement82" type="xsd:string"/>
+      <xsd:element name="ResponseElement83" type="xsd:string"/>
+      <xsd:element name="RequestElement83" type="xsd:string"/>
+      <xsd:element name="ResponseElement84" type="xsd:string"/>
+      <xsd:element name="RequestElement84" type="xsd:string"/>
+      <xsd:element name="ResponseElement85" type="xsd:string"/>
+      <xsd:element name="RequestElement85" type="xsd:string"/>
+      <xsd:element name="ResponseElement86" type="xsd:string"/>
+      <xsd:element name="RequestElement86" type="xsd:string"/>
+      <xsd:element name="ResponseElement87" type="xsd:string"/>
+      <xsd:element name="RequestElement87" type="xsd:string"/>
+      <xsd:element name="ResponseElement88" type="xsd:string"/>
+      <xsd:element name="RequestElement88" type="xsd:string"/>
+      <xsd:element name="ResponseElement89" type="xsd:string"/>
+      <xsd:element name="RequestElement89" type="xsd:string"/>
+      <xsd:element name="ResponseElement90" type="xsd:string"/>
+      <xsd:element name="RequestElement90" type="xsd:string"/>
+      <xsd:element name="ResponseElement91" type="xsd:string"/>
+      <xsd:element name="RequestElement91" type="xsd:string"/>
+      <xsd:element name="ResponseElement92" type="xsd:string"/>
+      <xsd:element name="RequestElement92" type="xsd:string"/>
+      <xsd:element name="ResponseElement93" type="xsd:string"/>
+      <xsd:element name="RequestElement93" type="xsd:string"/>
+      <xsd:element name="ResponseElement94" type="xsd:string"/>
+      <xsd:element name="RequestElement94" type="xsd:string"/>
+      <xsd:element name="ResponseElement95" type="xsd:string"/>
+      <xsd:element name="RequestElement95" type="xsd:string"/>
+      <xsd:element name="ResponseElement96" type="xsd:string"/>
+      <xsd:element name="RequestElement96" type="xsd:string"/>
+      <xsd:element name="ResponseElement97" type="xsd:string"/>
+      <xsd:element name="RequestElement97" type="xsd:string"/>
+      <xsd:element name="ResponseElement98" type="xsd:string"/>
+      <xsd:element name="RequestElement98" type="xsd:string"/>
+      <xsd:element name="ResponseElement99" type="xsd:string"/>
+      <xsd:element name="RequestElement99" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="ResponseMessage0">
+    <wsdl:part name="Response" element="tns:ResponseElement0"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage0">
+    <wsdl:part name="Request" element="tns:RequestElement0"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType0">
+    <wsdl:operation name="Operation0">
+      <wsdl:input message="tns:RequestMessage0" name="Input0"/>
+      <wsdl:output message="tns:ResponseMessage0" name="Output0"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding0" type="tns:PortType0">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation0">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation0"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service0">
+    <wsdl:port name="Port0" binding="tns:Binding0">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage1">
+    <wsdl:part name="Response" element="tns:ResponseElement1"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage1">
+    <wsdl:part name="Request" element="tns:RequestElement1"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType1">
+    <wsdl:operation name="Operation1">
+      <wsdl:input message="tns:RequestMessage1" name="Input1"/>
+      <wsdl:output message="tns:ResponseMessage1" name="Output1"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding1" type="tns:PortType1">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation1">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation1"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service1">
+    <wsdl:port name="Port1" binding="tns:Binding1">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage2">
+    <wsdl:part name="Response" element="tns:ResponseElement2"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage2">
+    <wsdl:part name="Request" element="tns:RequestElement2"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType2">
+    <wsdl:operation name="Operation2">
+      <wsdl:input message="tns:RequestMessage2" name="Input2"/>
+      <wsdl:output message="tns:ResponseMessage2" name="Output2"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding2" type="tns:PortType2">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation2">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation2"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service2">
+    <wsdl:port name="Port2" binding="tns:Binding2">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage3">
+    <wsdl:part name="Response" element="tns:ResponseElement3"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage3">
+    <wsdl:part name="Request" element="tns:RequestElement3"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType3">
+    <wsdl:operation name="Operation3">
+      <wsdl:input message="tns:RequestMessage3" name="Input3"/>
+      <wsdl:output message="tns:ResponseMessage3" name="Output3"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding3" type="tns:PortType3">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation3">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation3"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service3">
+    <wsdl:port name="Port3" binding="tns:Binding3">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage4">
+    <wsdl:part name="Response" element="tns:ResponseElement4"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage4">
+    <wsdl:part name="Request" element="tns:RequestElement4"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType4">
+    <wsdl:operation name="Operation4">
+      <wsdl:input message="tns:RequestMessage4" name="Input4"/>
+      <wsdl:output message="tns:ResponseMessage4" name="Output4"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding4" type="tns:PortType4">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation4">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation4"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service4">
+    <wsdl:port name="Port4" binding="tns:Binding4">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage5">
+    <wsdl:part name="Response" element="tns:ResponseElement5"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage5">
+    <wsdl:part name="Request" element="tns:RequestElement5"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType5">
+    <wsdl:operation name="Operation5">
+      <wsdl:input message="tns:RequestMessage5" name="Input5"/>
+      <wsdl:output message="tns:ResponseMessage5" name="Output5"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding5" type="tns:PortType5">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation5">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation5"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service5">
+    <wsdl:port name="Port5" binding="tns:Binding5">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage6">
+    <wsdl:part name="Response" element="tns:ResponseElement6"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage6">
+    <wsdl:part name="Request" element="tns:RequestElement6"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType6">
+    <wsdl:operation name="Operation6">
+      <wsdl:input message="tns:RequestMessage6" name="Input6"/>
+      <wsdl:output message="tns:ResponseMessage6" name="Output6"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding6" type="tns:PortType6">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation6">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation6"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service6">
+    <wsdl:port name="Port6" binding="tns:Binding6">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage7">
+    <wsdl:part name="Response" element="tns:ResponseElement7"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage7">
+    <wsdl:part name="Request" element="tns:RequestElement7"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType7">
+    <wsdl:operation name="Operation7">
+      <wsdl:input message="tns:RequestMessage7" name="Input7"/>
+      <wsdl:output message="tns:ResponseMessage7" name="Output7"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding7" type="tns:PortType7">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation7">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation7"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service7">
+    <wsdl:port name="Port7" binding="tns:Binding7">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage8">
+    <wsdl:part name="Response" element="tns:ResponseElement8"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage8">
+    <wsdl:part name="Request" element="tns:RequestElement8"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType8">
+    <wsdl:operation name="Operation8">
+      <wsdl:input message="tns:RequestMessage8" name="Input8"/>
+      <wsdl:output message="tns:ResponseMessage8" name="Output8"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding8" type="tns:PortType8">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation8">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation8"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service8">
+    <wsdl:port name="Port8" binding="tns:Binding8">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage9">
+    <wsdl:part name="Response" element="tns:ResponseElement9"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage9">
+    <wsdl:part name="Request" element="tns:RequestElement9"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType9">
+    <wsdl:operation name="Operation9">
+      <wsdl:input message="tns:RequestMessage9" name="Input9"/>
+      <wsdl:output message="tns:ResponseMessage9" name="Output9"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding9" type="tns:PortType9">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation9">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation9"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service9">
+    <wsdl:port name="Port9" binding="tns:Binding9">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage10">
+    <wsdl:part name="Response" element="tns:ResponseElement10"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage10">
+    <wsdl:part name="Request" element="tns:RequestElement10"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType10">
+    <wsdl:operation name="Operation10">
+      <wsdl:input message="tns:RequestMessage10" name="Input10"/>
+      <wsdl:output message="tns:ResponseMessage10" name="Output10"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding10" type="tns:PortType10">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation10">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation10"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service10">
+    <wsdl:port name="Port10" binding="tns:Binding10">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage11">
+    <wsdl:part name="Response" element="tns:ResponseElement11"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage11">
+    <wsdl:part name="Request" element="tns:RequestElement11"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType11">
+    <wsdl:operation name="Operation11">
+      <wsdl:input message="tns:RequestMessage11" name="Input11"/>
+      <wsdl:output message="tns:ResponseMessage11" name="Output11"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding11" type="tns:PortType11">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation11">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation11"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service11">
+    <wsdl:port name="Port11" binding="tns:Binding11">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage12">
+    <wsdl:part name="Response" element="tns:ResponseElement12"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage12">
+    <wsdl:part name="Request" element="tns:RequestElement12"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType12">
+    <wsdl:operation name="Operation12">
+      <wsdl:input message="tns:RequestMessage12" name="Input12"/>
+      <wsdl:output message="tns:ResponseMessage12" name="Output12"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding12" type="tns:PortType12">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation12">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation12"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service12">
+    <wsdl:port name="Port12" binding="tns:Binding12">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage13">
+    <wsdl:part name="Response" element="tns:ResponseElement13"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage13">
+    <wsdl:part name="Request" element="tns:RequestElement13"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType13">
+    <wsdl:operation name="Operation13">
+      <wsdl:input message="tns:RequestMessage13" name="Input13"/>
+      <wsdl:output message="tns:ResponseMessage13" name="Output13"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding13" type="tns:PortType13">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation13">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation13"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service13">
+    <wsdl:port name="Port13" binding="tns:Binding13">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage14">
+    <wsdl:part name="Response" element="tns:ResponseElement14"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage14">
+    <wsdl:part name="Request" element="tns:RequestElement14"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType14">
+    <wsdl:operation name="Operation14">
+      <wsdl:input message="tns:RequestMessage14" name="Input14"/>
+      <wsdl:output message="tns:ResponseMessage14" name="Output14"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding14" type="tns:PortType14">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation14">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation14"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service14">
+    <wsdl:port name="Port14" binding="tns:Binding14">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage15">
+    <wsdl:part name="Response" element="tns:ResponseElement15"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage15">
+    <wsdl:part name="Request" element="tns:RequestElement15"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType15">
+    <wsdl:operation name="Operation15">
+      <wsdl:input message="tns:RequestMessage15" name="Input15"/>
+      <wsdl:output message="tns:ResponseMessage15" name="Output15"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding15" type="tns:PortType15">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation15">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation15"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service15">
+    <wsdl:port name="Port15" binding="tns:Binding15">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage16">
+    <wsdl:part name="Response" element="tns:ResponseElement16"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage16">
+    <wsdl:part name="Request" element="tns:RequestElement16"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType16">
+    <wsdl:operation name="Operation16">
+      <wsdl:input message="tns:RequestMessage16" name="Input16"/>
+      <wsdl:output message="tns:ResponseMessage16" name="Output16"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding16" type="tns:PortType16">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation16">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation16"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service16">
+    <wsdl:port name="Port16" binding="tns:Binding16">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage17">
+    <wsdl:part name="Response" element="tns:ResponseElement17"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage17">
+    <wsdl:part name="Request" element="tns:RequestElement17"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType17">
+    <wsdl:operation name="Operation17">
+      <wsdl:input message="tns:RequestMessage17" name="Input17"/>
+      <wsdl:output message="tns:ResponseMessage17" name="Output17"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding17" type="tns:PortType17">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation17">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation17"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service17">
+    <wsdl:port name="Port17" binding="tns:Binding17">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage18">
+    <wsdl:part name="Response" element="tns:ResponseElement18"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage18">
+    <wsdl:part name="Request" element="tns:RequestElement18"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType18">
+    <wsdl:operation name="Operation18">
+      <wsdl:input message="tns:RequestMessage18" name="Input18"/>
+      <wsdl:output message="tns:ResponseMessage18" name="Output18"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding18" type="tns:PortType18">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation18">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation18"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service18">
+    <wsdl:port name="Port18" binding="tns:Binding18">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage19">
+    <wsdl:part name="Response" element="tns:ResponseElement19"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage19">
+    <wsdl:part name="Request" element="tns:RequestElement19"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType19">
+    <wsdl:operation name="Operation19">
+      <wsdl:input message="tns:RequestMessage19" name="Input19"/>
+      <wsdl:output message="tns:ResponseMessage19" name="Output19"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding19" type="tns:PortType19">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation19">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation19"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service19">
+    <wsdl:port name="Port19" binding="tns:Binding19">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage20">
+    <wsdl:part name="Response" element="tns:ResponseElement20"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage20">
+    <wsdl:part name="Request" element="tns:RequestElement20"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType20">
+    <wsdl:operation name="Operation20">
+      <wsdl:input message="tns:RequestMessage20" name="Input20"/>
+      <wsdl:output message="tns:ResponseMessage20" name="Output20"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding20" type="tns:PortType20">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation20">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation20"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service20">
+    <wsdl:port name="Port20" binding="tns:Binding20">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage21">
+    <wsdl:part name="Response" element="tns:ResponseElement21"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage21">
+    <wsdl:part name="Request" element="tns:RequestElement21"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType21">
+    <wsdl:operation name="Operation21">
+      <wsdl:input message="tns:RequestMessage21" name="Input21"/>
+      <wsdl:output message="tns:ResponseMessage21" name="Output21"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding21" type="tns:PortType21">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation21">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation21"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service21">
+    <wsdl:port name="Port21" binding="tns:Binding21">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage22">
+    <wsdl:part name="Response" element="tns:ResponseElement22"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage22">
+    <wsdl:part name="Request" element="tns:RequestElement22"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType22">
+    <wsdl:operation name="Operation22">
+      <wsdl:input message="tns:RequestMessage22" name="Input22"/>
+      <wsdl:output message="tns:ResponseMessage22" name="Output22"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding22" type="tns:PortType22">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation22">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation22"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service22">
+    <wsdl:port name="Port22" binding="tns:Binding22">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage23">
+    <wsdl:part name="Response" element="tns:ResponseElement23"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage23">
+    <wsdl:part name="Request" element="tns:RequestElement23"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType23">
+    <wsdl:operation name="Operation23">
+      <wsdl:input message="tns:RequestMessage23" name="Input23"/>
+      <wsdl:output message="tns:ResponseMessage23" name="Output23"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding23" type="tns:PortType23">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation23">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation23"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service23">
+    <wsdl:port name="Port23" binding="tns:Binding23">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage24">
+    <wsdl:part name="Response" element="tns:ResponseElement24"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage24">
+    <wsdl:part name="Request" element="tns:RequestElement24"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType24">
+    <wsdl:operation name="Operation24">
+      <wsdl:input message="tns:RequestMessage24" name="Input24"/>
+      <wsdl:output message="tns:ResponseMessage24" name="Output24"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding24" type="tns:PortType24">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation24">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation24"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service24">
+    <wsdl:port name="Port24" binding="tns:Binding24">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage25">
+    <wsdl:part name="Response" element="tns:ResponseElement25"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage25">
+    <wsdl:part name="Request" element="tns:RequestElement25"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType25">
+    <wsdl:operation name="Operation25">
+      <wsdl:input message="tns:RequestMessage25" name="Input25"/>
+      <wsdl:output message="tns:ResponseMessage25" name="Output25"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding25" type="tns:PortType25">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation25">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation25"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service25">
+    <wsdl:port name="Port25" binding="tns:Binding25">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage26">
+    <wsdl:part name="Response" element="tns:ResponseElement26"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage26">
+    <wsdl:part name="Request" element="tns:RequestElement26"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType26">
+    <wsdl:operation name="Operation26">
+      <wsdl:input message="tns:RequestMessage26" name="Input26"/>
+      <wsdl:output message="tns:ResponseMessage26" name="Output26"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding26" type="tns:PortType26">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation26">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation26"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service26">
+    <wsdl:port name="Port26" binding="tns:Binding26">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage27">
+    <wsdl:part name="Response" element="tns:ResponseElement27"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage27">
+    <wsdl:part name="Request" element="tns:RequestElement27"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType27">
+    <wsdl:operation name="Operation27">
+      <wsdl:input message="tns:RequestMessage27" name="Input27"/>
+      <wsdl:output message="tns:ResponseMessage27" name="Output27"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding27" type="tns:PortType27">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation27">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation27"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service27">
+    <wsdl:port name="Port27" binding="tns:Binding27">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage28">
+    <wsdl:part name="Response" element="tns:ResponseElement28"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage28">
+    <wsdl:part name="Request" element="tns:RequestElement28"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType28">
+    <wsdl:operation name="Operation28">
+      <wsdl:input message="tns:RequestMessage28" name="Input28"/>
+      <wsdl:output message="tns:ResponseMessage28" name="Output28"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding28" type="tns:PortType28">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation28">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation28"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service28">
+    <wsdl:port name="Port28" binding="tns:Binding28">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage29">
+    <wsdl:part name="Response" element="tns:ResponseElement29"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage29">
+    <wsdl:part name="Request" element="tns:RequestElement29"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType29">
+    <wsdl:operation name="Operation29">
+      <wsdl:input message="tns:RequestMessage29" name="Input29"/>
+      <wsdl:output message="tns:ResponseMessage29" name="Output29"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding29" type="tns:PortType29">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation29">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation29"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service29">
+    <wsdl:port name="Port29" binding="tns:Binding29">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage30">
+    <wsdl:part name="Response" element="tns:ResponseElement30"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage30">
+    <wsdl:part name="Request" element="tns:RequestElement30"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType30">
+    <wsdl:operation name="Operation30">
+      <wsdl:input message="tns:RequestMessage30" name="Input30"/>
+      <wsdl:output message="tns:ResponseMessage30" name="Output30"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding30" type="tns:PortType30">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation30">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation30"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service30">
+    <wsdl:port name="Port30" binding="tns:Binding30">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage31">
+    <wsdl:part name="Response" element="tns:ResponseElement31"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage31">
+    <wsdl:part name="Request" element="tns:RequestElement31"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType31">
+    <wsdl:operation name="Operation31">
+      <wsdl:input message="tns:RequestMessage31" name="Input31"/>
+      <wsdl:output message="tns:ResponseMessage31" name="Output31"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding31" type="tns:PortType31">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation31">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation31"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service31">
+    <wsdl:port name="Port31" binding="tns:Binding31">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage32">
+    <wsdl:part name="Response" element="tns:ResponseElement32"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage32">
+    <wsdl:part name="Request" element="tns:RequestElement32"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType32">
+    <wsdl:operation name="Operation32">
+      <wsdl:input message="tns:RequestMessage32" name="Input32"/>
+      <wsdl:output message="tns:ResponseMessage32" name="Output32"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding32" type="tns:PortType32">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation32">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation32"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service32">
+    <wsdl:port name="Port32" binding="tns:Binding32">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage33">
+    <wsdl:part name="Response" element="tns:ResponseElement33"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage33">
+    <wsdl:part name="Request" element="tns:RequestElement33"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType33">
+    <wsdl:operation name="Operation33">
+      <wsdl:input message="tns:RequestMessage33" name="Input33"/>
+      <wsdl:output message="tns:ResponseMessage33" name="Output33"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding33" type="tns:PortType33">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation33">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation33"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service33">
+    <wsdl:port name="Port33" binding="tns:Binding33">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage34">
+    <wsdl:part name="Response" element="tns:ResponseElement34"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage34">
+    <wsdl:part name="Request" element="tns:RequestElement34"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType34">
+    <wsdl:operation name="Operation34">
+      <wsdl:input message="tns:RequestMessage34" name="Input34"/>
+      <wsdl:output message="tns:ResponseMessage34" name="Output34"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding34" type="tns:PortType34">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation34">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation34"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service34">
+    <wsdl:port name="Port34" binding="tns:Binding34">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage35">
+    <wsdl:part name="Response" element="tns:ResponseElement35"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage35">
+    <wsdl:part name="Request" element="tns:RequestElement35"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType35">
+    <wsdl:operation name="Operation35">
+      <wsdl:input message="tns:RequestMessage35" name="Input35"/>
+      <wsdl:output message="tns:ResponseMessage35" name="Output35"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding35" type="tns:PortType35">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation35">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation35"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service35">
+    <wsdl:port name="Port35" binding="tns:Binding35">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage36">
+    <wsdl:part name="Response" element="tns:ResponseElement36"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage36">
+    <wsdl:part name="Request" element="tns:RequestElement36"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType36">
+    <wsdl:operation name="Operation36">
+      <wsdl:input message="tns:RequestMessage36" name="Input36"/>
+      <wsdl:output message="tns:ResponseMessage36" name="Output36"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding36" type="tns:PortType36">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation36">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation36"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service36">
+    <wsdl:port name="Port36" binding="tns:Binding36">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage37">
+    <wsdl:part name="Response" element="tns:ResponseElement37"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage37">
+    <wsdl:part name="Request" element="tns:RequestElement37"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType37">
+    <wsdl:operation name="Operation37">
+      <wsdl:input message="tns:RequestMessage37" name="Input37"/>
+      <wsdl:output message="tns:ResponseMessage37" name="Output37"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding37" type="tns:PortType37">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation37">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation37"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service37">
+    <wsdl:port name="Port37" binding="tns:Binding37">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage38">
+    <wsdl:part name="Response" element="tns:ResponseElement38"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage38">
+    <wsdl:part name="Request" element="tns:RequestElement38"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType38">
+    <wsdl:operation name="Operation38">
+      <wsdl:input message="tns:RequestMessage38" name="Input38"/>
+      <wsdl:output message="tns:ResponseMessage38" name="Output38"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding38" type="tns:PortType38">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation38">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation38"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service38">
+    <wsdl:port name="Port38" binding="tns:Binding38">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage39">
+    <wsdl:part name="Response" element="tns:ResponseElement39"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage39">
+    <wsdl:part name="Request" element="tns:RequestElement39"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType39">
+    <wsdl:operation name="Operation39">
+      <wsdl:input message="tns:RequestMessage39" name="Input39"/>
+      <wsdl:output message="tns:ResponseMessage39" name="Output39"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding39" type="tns:PortType39">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation39">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation39"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service39">
+    <wsdl:port name="Port39" binding="tns:Binding39">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage40">
+    <wsdl:part name="Response" element="tns:ResponseElement40"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage40">
+    <wsdl:part name="Request" element="tns:RequestElement40"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType40">
+    <wsdl:operation name="Operation40">
+      <wsdl:input message="tns:RequestMessage40" name="Input40"/>
+      <wsdl:output message="tns:ResponseMessage40" name="Output40"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding40" type="tns:PortType40">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation40">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation40"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service40">
+    <wsdl:port name="Port40" binding="tns:Binding40">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage41">
+    <wsdl:part name="Response" element="tns:ResponseElement41"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage41">
+    <wsdl:part name="Request" element="tns:RequestElement41"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType41">
+    <wsdl:operation name="Operation41">
+      <wsdl:input message="tns:RequestMessage41" name="Input41"/>
+      <wsdl:output message="tns:ResponseMessage41" name="Output41"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding41" type="tns:PortType41">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation41">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation41"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service41">
+    <wsdl:port name="Port41" binding="tns:Binding41">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage42">
+    <wsdl:part name="Response" element="tns:ResponseElement42"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage42">
+    <wsdl:part name="Request" element="tns:RequestElement42"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType42">
+    <wsdl:operation name="Operation42">
+      <wsdl:input message="tns:RequestMessage42" name="Input42"/>
+      <wsdl:output message="tns:ResponseMessage42" name="Output42"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding42" type="tns:PortType42">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation42">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation42"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service42">
+    <wsdl:port name="Port42" binding="tns:Binding42">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage43">
+    <wsdl:part name="Response" element="tns:ResponseElement43"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage43">
+    <wsdl:part name="Request" element="tns:RequestElement43"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType43">
+    <wsdl:operation name="Operation43">
+      <wsdl:input message="tns:RequestMessage43" name="Input43"/>
+      <wsdl:output message="tns:ResponseMessage43" name="Output43"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding43" type="tns:PortType43">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation43">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation43"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service43">
+    <wsdl:port name="Port43" binding="tns:Binding43">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage44">
+    <wsdl:part name="Response" element="tns:ResponseElement44"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage44">
+    <wsdl:part name="Request" element="tns:RequestElement44"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType44">
+    <wsdl:operation name="Operation44">
+      <wsdl:input message="tns:RequestMessage44" name="Input44"/>
+      <wsdl:output message="tns:ResponseMessage44" name="Output44"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding44" type="tns:PortType44">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation44">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation44"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service44">
+    <wsdl:port name="Port44" binding="tns:Binding44">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage45">
+    <wsdl:part name="Response" element="tns:ResponseElement45"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage45">
+    <wsdl:part name="Request" element="tns:RequestElement45"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType45">
+    <wsdl:operation name="Operation45">
+      <wsdl:input message="tns:RequestMessage45" name="Input45"/>
+      <wsdl:output message="tns:ResponseMessage45" name="Output45"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding45" type="tns:PortType45">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation45">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation45"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service45">
+    <wsdl:port name="Port45" binding="tns:Binding45">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage46">
+    <wsdl:part name="Response" element="tns:ResponseElement46"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage46">
+    <wsdl:part name="Request" element="tns:RequestElement46"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType46">
+    <wsdl:operation name="Operation46">
+      <wsdl:input message="tns:RequestMessage46" name="Input46"/>
+      <wsdl:output message="tns:ResponseMessage46" name="Output46"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding46" type="tns:PortType46">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation46">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation46"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service46">
+    <wsdl:port name="Port46" binding="tns:Binding46">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage47">
+    <wsdl:part name="Response" element="tns:ResponseElement47"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage47">
+    <wsdl:part name="Request" element="tns:RequestElement47"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType47">
+    <wsdl:operation name="Operation47">
+      <wsdl:input message="tns:RequestMessage47" name="Input47"/>
+      <wsdl:output message="tns:ResponseMessage47" name="Output47"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding47" type="tns:PortType47">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation47">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation47"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service47">
+    <wsdl:port name="Port47" binding="tns:Binding47">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage48">
+    <wsdl:part name="Response" element="tns:ResponseElement48"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage48">
+    <wsdl:part name="Request" element="tns:RequestElement48"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType48">
+    <wsdl:operation name="Operation48">
+      <wsdl:input message="tns:RequestMessage48" name="Input48"/>
+      <wsdl:output message="tns:ResponseMessage48" name="Output48"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding48" type="tns:PortType48">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation48">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation48"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service48">
+    <wsdl:port name="Port48" binding="tns:Binding48">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage49">
+    <wsdl:part name="Response" element="tns:ResponseElement49"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage49">
+    <wsdl:part name="Request" element="tns:RequestElement49"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType49">
+    <wsdl:operation name="Operation49">
+      <wsdl:input message="tns:RequestMessage49" name="Input49"/>
+      <wsdl:output message="tns:ResponseMessage49" name="Output49"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding49" type="tns:PortType49">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation49">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation49"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service49">
+    <wsdl:port name="Port49" binding="tns:Binding49">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage50">
+    <wsdl:part name="Response" element="tns:ResponseElement50"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage50">
+    <wsdl:part name="Request" element="tns:RequestElement50"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType50">
+    <wsdl:operation name="Operation50">
+      <wsdl:input message="tns:RequestMessage50" name="Input50"/>
+      <wsdl:output message="tns:ResponseMessage50" name="Output50"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding50" type="tns:PortType50">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation50">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation50"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service50">
+    <wsdl:port name="Port50" binding="tns:Binding50">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage51">
+    <wsdl:part name="Response" element="tns:ResponseElement51"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage51">
+    <wsdl:part name="Request" element="tns:RequestElement51"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType51">
+    <wsdl:operation name="Operation51">
+      <wsdl:input message="tns:RequestMessage51" name="Input51"/>
+      <wsdl:output message="tns:ResponseMessage51" name="Output51"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding51" type="tns:PortType51">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation51">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation51"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service51">
+    <wsdl:port name="Port51" binding="tns:Binding51">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage52">
+    <wsdl:part name="Response" element="tns:ResponseElement52"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage52">
+    <wsdl:part name="Request" element="tns:RequestElement52"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType52">
+    <wsdl:operation name="Operation52">
+      <wsdl:input message="tns:RequestMessage52" name="Input52"/>
+      <wsdl:output message="tns:ResponseMessage52" name="Output52"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding52" type="tns:PortType52">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation52">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation52"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service52">
+    <wsdl:port name="Port52" binding="tns:Binding52">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage53">
+    <wsdl:part name="Response" element="tns:ResponseElement53"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage53">
+    <wsdl:part name="Request" element="tns:RequestElement53"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType53">
+    <wsdl:operation name="Operation53">
+      <wsdl:input message="tns:RequestMessage53" name="Input53"/>
+      <wsdl:output message="tns:ResponseMessage53" name="Output53"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding53" type="tns:PortType53">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation53">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation53"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service53">
+    <wsdl:port name="Port53" binding="tns:Binding53">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage54">
+    <wsdl:part name="Response" element="tns:ResponseElement54"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage54">
+    <wsdl:part name="Request" element="tns:RequestElement54"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType54">
+    <wsdl:operation name="Operation54">
+      <wsdl:input message="tns:RequestMessage54" name="Input54"/>
+      <wsdl:output message="tns:ResponseMessage54" name="Output54"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding54" type="tns:PortType54">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation54">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation54"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service54">
+    <wsdl:port name="Port54" binding="tns:Binding54">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage55">
+    <wsdl:part name="Response" element="tns:ResponseElement55"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage55">
+    <wsdl:part name="Request" element="tns:RequestElement55"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType55">
+    <wsdl:operation name="Operation55">
+      <wsdl:input message="tns:RequestMessage55" name="Input55"/>
+      <wsdl:output message="tns:ResponseMessage55" name="Output55"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding55" type="tns:PortType55">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation55">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation55"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service55">
+    <wsdl:port name="Port55" binding="tns:Binding55">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage56">
+    <wsdl:part name="Response" element="tns:ResponseElement56"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage56">
+    <wsdl:part name="Request" element="tns:RequestElement56"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType56">
+    <wsdl:operation name="Operation56">
+      <wsdl:input message="tns:RequestMessage56" name="Input56"/>
+      <wsdl:output message="tns:ResponseMessage56" name="Output56"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding56" type="tns:PortType56">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation56">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation56"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service56">
+    <wsdl:port name="Port56" binding="tns:Binding56">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage57">
+    <wsdl:part name="Response" element="tns:ResponseElement57"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage57">
+    <wsdl:part name="Request" element="tns:RequestElement57"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType57">
+    <wsdl:operation name="Operation57">
+      <wsdl:input message="tns:RequestMessage57" name="Input57"/>
+      <wsdl:output message="tns:ResponseMessage57" name="Output57"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding57" type="tns:PortType57">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation57">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation57"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service57">
+    <wsdl:port name="Port57" binding="tns:Binding57">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage58">
+    <wsdl:part name="Response" element="tns:ResponseElement58"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage58">
+    <wsdl:part name="Request" element="tns:RequestElement58"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType58">
+    <wsdl:operation name="Operation58">
+      <wsdl:input message="tns:RequestMessage58" name="Input58"/>
+      <wsdl:output message="tns:ResponseMessage58" name="Output58"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding58" type="tns:PortType58">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation58">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation58"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service58">
+    <wsdl:port name="Port58" binding="tns:Binding58">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage59">
+    <wsdl:part name="Response" element="tns:ResponseElement59"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage59">
+    <wsdl:part name="Request" element="tns:RequestElement59"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType59">
+    <wsdl:operation name="Operation59">
+      <wsdl:input message="tns:RequestMessage59" name="Input59"/>
+      <wsdl:output message="tns:ResponseMessage59" name="Output59"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding59" type="tns:PortType59">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation59">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation59"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service59">
+    <wsdl:port name="Port59" binding="tns:Binding59">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage60">
+    <wsdl:part name="Response" element="tns:ResponseElement60"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage60">
+    <wsdl:part name="Request" element="tns:RequestElement60"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType60">
+    <wsdl:operation name="Operation60">
+      <wsdl:input message="tns:RequestMessage60" name="Input60"/>
+      <wsdl:output message="tns:ResponseMessage60" name="Output60"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding60" type="tns:PortType60">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation60">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation60"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service60">
+    <wsdl:port name="Port60" binding="tns:Binding60">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage61">
+    <wsdl:part name="Response" element="tns:ResponseElement61"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage61">
+    <wsdl:part name="Request" element="tns:RequestElement61"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType61">
+    <wsdl:operation name="Operation61">
+      <wsdl:input message="tns:RequestMessage61" name="Input61"/>
+      <wsdl:output message="tns:ResponseMessage61" name="Output61"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding61" type="tns:PortType61">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation61">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation61"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service61">
+    <wsdl:port name="Port61" binding="tns:Binding61">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage62">
+    <wsdl:part name="Response" element="tns:ResponseElement62"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage62">
+    <wsdl:part name="Request" element="tns:RequestElement62"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType62">
+    <wsdl:operation name="Operation62">
+      <wsdl:input message="tns:RequestMessage62" name="Input62"/>
+      <wsdl:output message="tns:ResponseMessage62" name="Output62"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding62" type="tns:PortType62">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation62">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation62"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service62">
+    <wsdl:port name="Port62" binding="tns:Binding62">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage63">
+    <wsdl:part name="Response" element="tns:ResponseElement63"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage63">
+    <wsdl:part name="Request" element="tns:RequestElement63"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType63">
+    <wsdl:operation name="Operation63">
+      <wsdl:input message="tns:RequestMessage63" name="Input63"/>
+      <wsdl:output message="tns:ResponseMessage63" name="Output63"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding63" type="tns:PortType63">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation63">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation63"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service63">
+    <wsdl:port name="Port63" binding="tns:Binding63">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage64">
+    <wsdl:part name="Response" element="tns:ResponseElement64"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage64">
+    <wsdl:part name="Request" element="tns:RequestElement64"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType64">
+    <wsdl:operation name="Operation64">
+      <wsdl:input message="tns:RequestMessage64" name="Input64"/>
+      <wsdl:output message="tns:ResponseMessage64" name="Output64"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding64" type="tns:PortType64">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation64">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation64"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service64">
+    <wsdl:port name="Port64" binding="tns:Binding64">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage65">
+    <wsdl:part name="Response" element="tns:ResponseElement65"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage65">
+    <wsdl:part name="Request" element="tns:RequestElement65"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType65">
+    <wsdl:operation name="Operation65">
+      <wsdl:input message="tns:RequestMessage65" name="Input65"/>
+      <wsdl:output message="tns:ResponseMessage65" name="Output65"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding65" type="tns:PortType65">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation65">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation65"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service65">
+    <wsdl:port name="Port65" binding="tns:Binding65">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage66">
+    <wsdl:part name="Response" element="tns:ResponseElement66"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage66">
+    <wsdl:part name="Request" element="tns:RequestElement66"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType66">
+    <wsdl:operation name="Operation66">
+      <wsdl:input message="tns:RequestMessage66" name="Input66"/>
+      <wsdl:output message="tns:ResponseMessage66" name="Output66"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding66" type="tns:PortType66">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation66">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation66"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service66">
+    <wsdl:port name="Port66" binding="tns:Binding66">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage67">
+    <wsdl:part name="Response" element="tns:ResponseElement67"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage67">
+    <wsdl:part name="Request" element="tns:RequestElement67"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType67">
+    <wsdl:operation name="Operation67">
+      <wsdl:input message="tns:RequestMessage67" name="Input67"/>
+      <wsdl:output message="tns:ResponseMessage67" name="Output67"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding67" type="tns:PortType67">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation67">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation67"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service67">
+    <wsdl:port name="Port67" binding="tns:Binding67">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage68">
+    <wsdl:part name="Response" element="tns:ResponseElement68"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage68">
+    <wsdl:part name="Request" element="tns:RequestElement68"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType68">
+    <wsdl:operation name="Operation68">
+      <wsdl:input message="tns:RequestMessage68" name="Input68"/>
+      <wsdl:output message="tns:ResponseMessage68" name="Output68"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding68" type="tns:PortType68">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation68">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation68"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service68">
+    <wsdl:port name="Port68" binding="tns:Binding68">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage69">
+    <wsdl:part name="Response" element="tns:ResponseElement69"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage69">
+    <wsdl:part name="Request" element="tns:RequestElement69"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType69">
+    <wsdl:operation name="Operation69">
+      <wsdl:input message="tns:RequestMessage69" name="Input69"/>
+      <wsdl:output message="tns:ResponseMessage69" name="Output69"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding69" type="tns:PortType69">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation69">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation69"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service69">
+    <wsdl:port name="Port69" binding="tns:Binding69">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage70">
+    <wsdl:part name="Response" element="tns:ResponseElement70"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage70">
+    <wsdl:part name="Request" element="tns:RequestElement70"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType70">
+    <wsdl:operation name="Operation70">
+      <wsdl:input message="tns:RequestMessage70" name="Input70"/>
+      <wsdl:output message="tns:ResponseMessage70" name="Output70"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding70" type="tns:PortType70">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation70">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation70"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service70">
+    <wsdl:port name="Port70" binding="tns:Binding70">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage71">
+    <wsdl:part name="Response" element="tns:ResponseElement71"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage71">
+    <wsdl:part name="Request" element="tns:RequestElement71"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType71">
+    <wsdl:operation name="Operation71">
+      <wsdl:input message="tns:RequestMessage71" name="Input71"/>
+      <wsdl:output message="tns:ResponseMessage71" name="Output71"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding71" type="tns:PortType71">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation71">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation71"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service71">
+    <wsdl:port name="Port71" binding="tns:Binding71">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage72">
+    <wsdl:part name="Response" element="tns:ResponseElement72"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage72">
+    <wsdl:part name="Request" element="tns:RequestElement72"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType72">
+    <wsdl:operation name="Operation72">
+      <wsdl:input message="tns:RequestMessage72" name="Input72"/>
+      <wsdl:output message="tns:ResponseMessage72" name="Output72"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding72" type="tns:PortType72">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation72">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation72"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service72">
+    <wsdl:port name="Port72" binding="tns:Binding72">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage73">
+    <wsdl:part name="Response" element="tns:ResponseElement73"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage73">
+    <wsdl:part name="Request" element="tns:RequestElement73"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType73">
+    <wsdl:operation name="Operation73">
+      <wsdl:input message="tns:RequestMessage73" name="Input73"/>
+      <wsdl:output message="tns:ResponseMessage73" name="Output73"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding73" type="tns:PortType73">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation73">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation73"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service73">
+    <wsdl:port name="Port73" binding="tns:Binding73">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage74">
+    <wsdl:part name="Response" element="tns:ResponseElement74"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage74">
+    <wsdl:part name="Request" element="tns:RequestElement74"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType74">
+    <wsdl:operation name="Operation74">
+      <wsdl:input message="tns:RequestMessage74" name="Input74"/>
+      <wsdl:output message="tns:ResponseMessage74" name="Output74"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding74" type="tns:PortType74">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation74">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation74"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service74">
+    <wsdl:port name="Port74" binding="tns:Binding74">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage75">
+    <wsdl:part name="Response" element="tns:ResponseElement75"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage75">
+    <wsdl:part name="Request" element="tns:RequestElement75"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType75">
+    <wsdl:operation name="Operation75">
+      <wsdl:input message="tns:RequestMessage75" name="Input75"/>
+      <wsdl:output message="tns:ResponseMessage75" name="Output75"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding75" type="tns:PortType75">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation75">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation75"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service75">
+    <wsdl:port name="Port75" binding="tns:Binding75">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage76">
+    <wsdl:part name="Response" element="tns:ResponseElement76"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage76">
+    <wsdl:part name="Request" element="tns:RequestElement76"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType76">
+    <wsdl:operation name="Operation76">
+      <wsdl:input message="tns:RequestMessage76" name="Input76"/>
+      <wsdl:output message="tns:ResponseMessage76" name="Output76"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding76" type="tns:PortType76">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation76">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation76"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service76">
+    <wsdl:port name="Port76" binding="tns:Binding76">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage77">
+    <wsdl:part name="Response" element="tns:ResponseElement77"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage77">
+    <wsdl:part name="Request" element="tns:RequestElement77"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType77">
+    <wsdl:operation name="Operation77">
+      <wsdl:input message="tns:RequestMessage77" name="Input77"/>
+      <wsdl:output message="tns:ResponseMessage77" name="Output77"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding77" type="tns:PortType77">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation77">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation77"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service77">
+    <wsdl:port name="Port77" binding="tns:Binding77">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage78">
+    <wsdl:part name="Response" element="tns:ResponseElement78"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage78">
+    <wsdl:part name="Request" element="tns:RequestElement78"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType78">
+    <wsdl:operation name="Operation78">
+      <wsdl:input message="tns:RequestMessage78" name="Input78"/>
+      <wsdl:output message="tns:ResponseMessage78" name="Output78"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding78" type="tns:PortType78">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation78">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation78"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service78">
+    <wsdl:port name="Port78" binding="tns:Binding78">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage79">
+    <wsdl:part name="Response" element="tns:ResponseElement79"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage79">
+    <wsdl:part name="Request" element="tns:RequestElement79"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType79">
+    <wsdl:operation name="Operation79">
+      <wsdl:input message="tns:RequestMessage79" name="Input79"/>
+      <wsdl:output message="tns:ResponseMessage79" name="Output79"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding79" type="tns:PortType79">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation79">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation79"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service79">
+    <wsdl:port name="Port79" binding="tns:Binding79">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage80">
+    <wsdl:part name="Response" element="tns:ResponseElement80"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage80">
+    <wsdl:part name="Request" element="tns:RequestElement80"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType80">
+    <wsdl:operation name="Operation80">
+      <wsdl:input message="tns:RequestMessage80" name="Input80"/>
+      <wsdl:output message="tns:ResponseMessage80" name="Output80"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding80" type="tns:PortType80">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation80">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation80"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service80">
+    <wsdl:port name="Port80" binding="tns:Binding80">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage81">
+    <wsdl:part name="Response" element="tns:ResponseElement81"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage81">
+    <wsdl:part name="Request" element="tns:RequestElement81"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType81">
+    <wsdl:operation name="Operation81">
+      <wsdl:input message="tns:RequestMessage81" name="Input81"/>
+      <wsdl:output message="tns:ResponseMessage81" name="Output81"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding81" type="tns:PortType81">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation81">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation81"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service81">
+    <wsdl:port name="Port81" binding="tns:Binding81">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage82">
+    <wsdl:part name="Response" element="tns:ResponseElement82"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage82">
+    <wsdl:part name="Request" element="tns:RequestElement82"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType82">
+    <wsdl:operation name="Operation82">
+      <wsdl:input message="tns:RequestMessage82" name="Input82"/>
+      <wsdl:output message="tns:ResponseMessage82" name="Output82"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding82" type="tns:PortType82">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation82">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation82"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service82">
+    <wsdl:port name="Port82" binding="tns:Binding82">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage83">
+    <wsdl:part name="Response" element="tns:ResponseElement83"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage83">
+    <wsdl:part name="Request" element="tns:RequestElement83"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType83">
+    <wsdl:operation name="Operation83">
+      <wsdl:input message="tns:RequestMessage83" name="Input83"/>
+      <wsdl:output message="tns:ResponseMessage83" name="Output83"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding83" type="tns:PortType83">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation83">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation83"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service83">
+    <wsdl:port name="Port83" binding="tns:Binding83">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage84">
+    <wsdl:part name="Response" element="tns:ResponseElement84"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage84">
+    <wsdl:part name="Request" element="tns:RequestElement84"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType84">
+    <wsdl:operation name="Operation84">
+      <wsdl:input message="tns:RequestMessage84" name="Input84"/>
+      <wsdl:output message="tns:ResponseMessage84" name="Output84"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding84" type="tns:PortType84">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation84">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation84"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service84">
+    <wsdl:port name="Port84" binding="tns:Binding84">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage85">
+    <wsdl:part name="Response" element="tns:ResponseElement85"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage85">
+    <wsdl:part name="Request" element="tns:RequestElement85"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType85">
+    <wsdl:operation name="Operation85">
+      <wsdl:input message="tns:RequestMessage85" name="Input85"/>
+      <wsdl:output message="tns:ResponseMessage85" name="Output85"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding85" type="tns:PortType85">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation85">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation85"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service85">
+    <wsdl:port name="Port85" binding="tns:Binding85">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage86">
+    <wsdl:part name="Response" element="tns:ResponseElement86"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage86">
+    <wsdl:part name="Request" element="tns:RequestElement86"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType86">
+    <wsdl:operation name="Operation86">
+      <wsdl:input message="tns:RequestMessage86" name="Input86"/>
+      <wsdl:output message="tns:ResponseMessage86" name="Output86"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding86" type="tns:PortType86">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation86">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation86"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service86">
+    <wsdl:port name="Port86" binding="tns:Binding86">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage87">
+    <wsdl:part name="Response" element="tns:ResponseElement87"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage87">
+    <wsdl:part name="Request" element="tns:RequestElement87"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType87">
+    <wsdl:operation name="Operation87">
+      <wsdl:input message="tns:RequestMessage87" name="Input87"/>
+      <wsdl:output message="tns:ResponseMessage87" name="Output87"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding87" type="tns:PortType87">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation87">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation87"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service87">
+    <wsdl:port name="Port87" binding="tns:Binding87">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage88">
+    <wsdl:part name="Response" element="tns:ResponseElement88"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage88">
+    <wsdl:part name="Request" element="tns:RequestElement88"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType88">
+    <wsdl:operation name="Operation88">
+      <wsdl:input message="tns:RequestMessage88" name="Input88"/>
+      <wsdl:output message="tns:ResponseMessage88" name="Output88"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding88" type="tns:PortType88">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation88">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation88"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service88">
+    <wsdl:port name="Port88" binding="tns:Binding88">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage89">
+    <wsdl:part name="Response" element="tns:ResponseElement89"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage89">
+    <wsdl:part name="Request" element="tns:RequestElement89"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType89">
+    <wsdl:operation name="Operation89">
+      <wsdl:input message="tns:RequestMessage89" name="Input89"/>
+      <wsdl:output message="tns:ResponseMessage89" name="Output89"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding89" type="tns:PortType89">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation89">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation89"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service89">
+    <wsdl:port name="Port89" binding="tns:Binding89">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage90">
+    <wsdl:part name="Response" element="tns:ResponseElement90"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage90">
+    <wsdl:part name="Request" element="tns:RequestElement90"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType90">
+    <wsdl:operation name="Operation90">
+      <wsdl:input message="tns:RequestMessage90" name="Input90"/>
+      <wsdl:output message="tns:ResponseMessage90" name="Output90"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding90" type="tns:PortType90">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation90">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation90"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service90">
+    <wsdl:port name="Port90" binding="tns:Binding90">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage91">
+    <wsdl:part name="Response" element="tns:ResponseElement91"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage91">
+    <wsdl:part name="Request" element="tns:RequestElement91"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType91">
+    <wsdl:operation name="Operation91">
+      <wsdl:input message="tns:RequestMessage91" name="Input91"/>
+      <wsdl:output message="tns:ResponseMessage91" name="Output91"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding91" type="tns:PortType91">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation91">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation91"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service91">
+    <wsdl:port name="Port91" binding="tns:Binding91">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage92">
+    <wsdl:part name="Response" element="tns:ResponseElement92"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage92">
+    <wsdl:part name="Request" element="tns:RequestElement92"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType92">
+    <wsdl:operation name="Operation92">
+      <wsdl:input message="tns:RequestMessage92" name="Input92"/>
+      <wsdl:output message="tns:ResponseMessage92" name="Output92"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding92" type="tns:PortType92">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation92">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation92"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service92">
+    <wsdl:port name="Port92" binding="tns:Binding92">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage93">
+    <wsdl:part name="Response" element="tns:ResponseElement93"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage93">
+    <wsdl:part name="Request" element="tns:RequestElement93"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType93">
+    <wsdl:operation name="Operation93">
+      <wsdl:input message="tns:RequestMessage93" name="Input93"/>
+      <wsdl:output message="tns:ResponseMessage93" name="Output93"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding93" type="tns:PortType93">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation93">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation93"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service93">
+    <wsdl:port name="Port93" binding="tns:Binding93">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage94">
+    <wsdl:part name="Response" element="tns:ResponseElement94"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage94">
+    <wsdl:part name="Request" element="tns:RequestElement94"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType94">
+    <wsdl:operation name="Operation94">
+      <wsdl:input message="tns:RequestMessage94" name="Input94"/>
+      <wsdl:output message="tns:ResponseMessage94" name="Output94"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding94" type="tns:PortType94">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation94">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation94"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service94">
+    <wsdl:port name="Port94" binding="tns:Binding94">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage95">
+    <wsdl:part name="Response" element="tns:ResponseElement95"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage95">
+    <wsdl:part name="Request" element="tns:RequestElement95"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType95">
+    <wsdl:operation name="Operation95">
+      <wsdl:input message="tns:RequestMessage95" name="Input95"/>
+      <wsdl:output message="tns:ResponseMessage95" name="Output95"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding95" type="tns:PortType95">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation95">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation95"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service95">
+    <wsdl:port name="Port95" binding="tns:Binding95">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage96">
+    <wsdl:part name="Response" element="tns:ResponseElement96"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage96">
+    <wsdl:part name="Request" element="tns:RequestElement96"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType96">
+    <wsdl:operation name="Operation96">
+      <wsdl:input message="tns:RequestMessage96" name="Input96"/>
+      <wsdl:output message="tns:ResponseMessage96" name="Output96"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding96" type="tns:PortType96">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation96">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation96"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service96">
+    <wsdl:port name="Port96" binding="tns:Binding96">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage97">
+    <wsdl:part name="Response" element="tns:ResponseElement97"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage97">
+    <wsdl:part name="Request" element="tns:RequestElement97"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType97">
+    <wsdl:operation name="Operation97">
+      <wsdl:input message="tns:RequestMessage97" name="Input97"/>
+      <wsdl:output message="tns:ResponseMessage97" name="Output97"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding97" type="tns:PortType97">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation97">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation97"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service97">
+    <wsdl:port name="Port97" binding="tns:Binding97">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage98">
+    <wsdl:part name="Response" element="tns:ResponseElement98"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage98">
+    <wsdl:part name="Request" element="tns:RequestElement98"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType98">
+    <wsdl:operation name="Operation98">
+      <wsdl:input message="tns:RequestMessage98" name="Input98"/>
+      <wsdl:output message="tns:ResponseMessage98" name="Output98"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding98" type="tns:PortType98">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation98">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation98"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service98">
+    <wsdl:port name="Port98" binding="tns:Binding98">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage99">
+    <wsdl:part name="Response" element="tns:ResponseElement99"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage99">
+    <wsdl:part name="Request" element="tns:RequestElement99"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType99">
+    <wsdl:operation name="Operation99">
+      <wsdl:input message="tns:RequestMessage99" name="Input99"/>
+      <wsdl:output message="tns:ResponseMessage99" name="Output99"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding99" type="tns:PortType99">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation99">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation99"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service99">
+    <wsdl:port name="Port99" binding="tns:Binding99">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/data/10KB.wsdl b/tests/org.eclipse.wst.wsdl.tests.performance/data/10KB.wsdl
new file mode 100644
index 0000000..710dbc5
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/data/10KB.wsdl
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Definition" targetNamespace="http://www.eclipse.org/webtools" xmlns:tns="http://www.eclipse.org/webtools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools">
+      <xsd:element name="ResponseElement0" type="xsd:string"/>
+      <xsd:element name="RequestElement0" type="xsd:string"/>
+      <xsd:element name="ResponseElement1" type="xsd:string"/>
+      <xsd:element name="RequestElement1" type="xsd:string"/>
+      <xsd:element name="ResponseElement2" type="xsd:string"/>
+      <xsd:element name="RequestElement2" type="xsd:string"/>
+      <xsd:element name="ResponseElement3" type="xsd:string"/>
+      <xsd:element name="RequestElement3" type="xsd:string"/>
+      <xsd:element name="ResponseElement4" type="xsd:string"/>
+      <xsd:element name="RequestElement4" type="xsd:string"/>
+      <xsd:element name="ResponseElement5" type="xsd:string"/>
+      <xsd:element name="RequestElement5" type="xsd:string"/>
+      <xsd:element name="ResponseElement6" type="xsd:string"/>
+      <xsd:element name="RequestElement6" type="xsd:string"/>
+      <xsd:element name="ResponseElement7" type="xsd:string"/>
+      <xsd:element name="RequestElement7" type="xsd:string"/>
+      <xsd:element name="ResponseElement8" type="xsd:string"/>
+      <xsd:element name="RequestElement8" type="xsd:string"/>
+      <xsd:element name="ResponseElement9" type="xsd:string"/>
+      <xsd:element name="RequestElement9" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="ResponseMessage0">
+    <wsdl:part name="Response" element="tns:ResponseElement0"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage0">
+    <wsdl:part name="Request" element="tns:RequestElement0"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType0">
+    <wsdl:operation name="Operation0">
+      <wsdl:input message="tns:RequestMessage0" name="Input0"/>
+      <wsdl:output message="tns:ResponseMessage0" name="Output0"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding0" type="tns:PortType0">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation0">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation0"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service0">
+    <wsdl:port name="Port0" binding="tns:Binding0">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage1">
+    <wsdl:part name="Response" element="tns:ResponseElement1"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage1">
+    <wsdl:part name="Request" element="tns:RequestElement1"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType1">
+    <wsdl:operation name="Operation1">
+      <wsdl:input message="tns:RequestMessage1" name="Input1"/>
+      <wsdl:output message="tns:ResponseMessage1" name="Output1"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding1" type="tns:PortType1">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation1">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation1"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service1">
+    <wsdl:port name="Port1" binding="tns:Binding1">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage2">
+    <wsdl:part name="Response" element="tns:ResponseElement2"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage2">
+    <wsdl:part name="Request" element="tns:RequestElement2"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType2">
+    <wsdl:operation name="Operation2">
+      <wsdl:input message="tns:RequestMessage2" name="Input2"/>
+      <wsdl:output message="tns:ResponseMessage2" name="Output2"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding2" type="tns:PortType2">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation2">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation2"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service2">
+    <wsdl:port name="Port2" binding="tns:Binding2">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage3">
+    <wsdl:part name="Response" element="tns:ResponseElement3"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage3">
+    <wsdl:part name="Request" element="tns:RequestElement3"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType3">
+    <wsdl:operation name="Operation3">
+      <wsdl:input message="tns:RequestMessage3" name="Input3"/>
+      <wsdl:output message="tns:ResponseMessage3" name="Output3"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding3" type="tns:PortType3">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation3">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation3"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service3">
+    <wsdl:port name="Port3" binding="tns:Binding3">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage4">
+    <wsdl:part name="Response" element="tns:ResponseElement4"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage4">
+    <wsdl:part name="Request" element="tns:RequestElement4"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType4">
+    <wsdl:operation name="Operation4">
+      <wsdl:input message="tns:RequestMessage4" name="Input4"/>
+      <wsdl:output message="tns:ResponseMessage4" name="Output4"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding4" type="tns:PortType4">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation4">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation4"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service4">
+    <wsdl:port name="Port4" binding="tns:Binding4">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage5">
+    <wsdl:part name="Response" element="tns:ResponseElement5"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage5">
+    <wsdl:part name="Request" element="tns:RequestElement5"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType5">
+    <wsdl:operation name="Operation5">
+      <wsdl:input message="tns:RequestMessage5" name="Input5"/>
+      <wsdl:output message="tns:ResponseMessage5" name="Output5"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding5" type="tns:PortType5">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation5">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation5"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service5">
+    <wsdl:port name="Port5" binding="tns:Binding5">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage6">
+    <wsdl:part name="Response" element="tns:ResponseElement6"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage6">
+    <wsdl:part name="Request" element="tns:RequestElement6"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType6">
+    <wsdl:operation name="Operation6">
+      <wsdl:input message="tns:RequestMessage6" name="Input6"/>
+      <wsdl:output message="tns:ResponseMessage6" name="Output6"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding6" type="tns:PortType6">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation6">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation6"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service6">
+    <wsdl:port name="Port6" binding="tns:Binding6">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage7">
+    <wsdl:part name="Response" element="tns:ResponseElement7"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage7">
+    <wsdl:part name="Request" element="tns:RequestElement7"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType7">
+    <wsdl:operation name="Operation7">
+      <wsdl:input message="tns:RequestMessage7" name="Input7"/>
+      <wsdl:output message="tns:ResponseMessage7" name="Output7"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding7" type="tns:PortType7">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation7">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation7"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service7">
+    <wsdl:port name="Port7" binding="tns:Binding7">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage8">
+    <wsdl:part name="Response" element="tns:ResponseElement8"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage8">
+    <wsdl:part name="Request" element="tns:RequestElement8"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType8">
+    <wsdl:operation name="Operation8">
+      <wsdl:input message="tns:RequestMessage8" name="Input8"/>
+      <wsdl:output message="tns:ResponseMessage8" name="Output8"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding8" type="tns:PortType8">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation8">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation8"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service8">
+    <wsdl:port name="Port8" binding="tns:Binding8">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage9">
+    <wsdl:part name="Response" element="tns:ResponseElement9"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage9">
+    <wsdl:part name="Request" element="tns:RequestElement9"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType9">
+    <wsdl:operation name="Operation9">
+      <wsdl:input message="tns:RequestMessage9" name="Input9"/>
+      <wsdl:output message="tns:ResponseMessage9" name="Output9"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding9" type="tns:PortType9">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation9">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation9"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service9">
+    <wsdl:port name="Port9" binding="tns:Binding9">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/data/1KB.wsdl b/tests/org.eclipse.wst.wsdl.tests.performance/data/1KB.wsdl
new file mode 100644
index 0000000..42a7c8f
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/data/1KB.wsdl
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Definition" targetNamespace="http://www.eclipse.org/webtools" xmlns:tns="http://www.eclipse.org/webtools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools">
+      <xsd:element name="ResponseElement" type="xsd:string"/>
+      <xsd:element name="RequestElement" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="ResponseMessage">
+    <wsdl:part name="Response" element="tns:ResponseElement"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage">
+    <wsdl:part name="Request" element="tns:RequestElement"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType">
+    <wsdl:operation name="Operation">
+      <wsdl:input message="tns:RequestMessage" name="Input"/>
+      <wsdl:output message="tns:ResponseMessage" name="Output"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding" type="tns:PortType">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service">
+    <wsdl:port name="Port" binding="tns:Binding">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/data/1MB.wsdl b/tests/org.eclipse.wst.wsdl.tests.performance/data/1MB.wsdl
new file mode 100644
index 0000000..e36bc4f
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/data/1MB.wsdl
@@ -0,0 +1,31007 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Definition" targetNamespace="http://www.eclipse.org/webtools" xmlns:tns="http://www.eclipse.org/webtools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools">
+      <xsd:element name="ResponseElement0" type="xsd:string"/>
+      <xsd:element name="RequestElement0" type="xsd:string"/>
+      <xsd:element name="ResponseElement1" type="xsd:string"/>
+      <xsd:element name="RequestElement1" type="xsd:string"/>
+      <xsd:element name="ResponseElement2" type="xsd:string"/>
+      <xsd:element name="RequestElement2" type="xsd:string"/>
+      <xsd:element name="ResponseElement3" type="xsd:string"/>
+      <xsd:element name="RequestElement3" type="xsd:string"/>
+      <xsd:element name="ResponseElement4" type="xsd:string"/>
+      <xsd:element name="RequestElement4" type="xsd:string"/>
+      <xsd:element name="ResponseElement5" type="xsd:string"/>
+      <xsd:element name="RequestElement5" type="xsd:string"/>
+      <xsd:element name="ResponseElement6" type="xsd:string"/>
+      <xsd:element name="RequestElement6" type="xsd:string"/>
+      <xsd:element name="ResponseElement7" type="xsd:string"/>
+      <xsd:element name="RequestElement7" type="xsd:string"/>
+      <xsd:element name="ResponseElement8" type="xsd:string"/>
+      <xsd:element name="RequestElement8" type="xsd:string"/>
+      <xsd:element name="ResponseElement9" type="xsd:string"/>
+      <xsd:element name="RequestElement9" type="xsd:string"/>
+      <xsd:element name="ResponseElement10" type="xsd:string"/>
+      <xsd:element name="RequestElement10" type="xsd:string"/>
+      <xsd:element name="ResponseElement11" type="xsd:string"/>
+      <xsd:element name="RequestElement11" type="xsd:string"/>
+      <xsd:element name="ResponseElement12" type="xsd:string"/>
+      <xsd:element name="RequestElement12" type="xsd:string"/>
+      <xsd:element name="ResponseElement13" type="xsd:string"/>
+      <xsd:element name="RequestElement13" type="xsd:string"/>
+      <xsd:element name="ResponseElement14" type="xsd:string"/>
+      <xsd:element name="RequestElement14" type="xsd:string"/>
+      <xsd:element name="ResponseElement15" type="xsd:string"/>
+      <xsd:element name="RequestElement15" type="xsd:string"/>
+      <xsd:element name="ResponseElement16" type="xsd:string"/>
+      <xsd:element name="RequestElement16" type="xsd:string"/>
+      <xsd:element name="ResponseElement17" type="xsd:string"/>
+      <xsd:element name="RequestElement17" type="xsd:string"/>
+      <xsd:element name="ResponseElement18" type="xsd:string"/>
+      <xsd:element name="RequestElement18" type="xsd:string"/>
+      <xsd:element name="ResponseElement19" type="xsd:string"/>
+      <xsd:element name="RequestElement19" type="xsd:string"/>
+      <xsd:element name="ResponseElement20" type="xsd:string"/>
+      <xsd:element name="RequestElement20" type="xsd:string"/>
+      <xsd:element name="ResponseElement21" type="xsd:string"/>
+      <xsd:element name="RequestElement21" type="xsd:string"/>
+      <xsd:element name="ResponseElement22" type="xsd:string"/>
+      <xsd:element name="RequestElement22" type="xsd:string"/>
+      <xsd:element name="ResponseElement23" type="xsd:string"/>
+      <xsd:element name="RequestElement23" type="xsd:string"/>
+      <xsd:element name="ResponseElement24" type="xsd:string"/>
+      <xsd:element name="RequestElement24" type="xsd:string"/>
+      <xsd:element name="ResponseElement25" type="xsd:string"/>
+      <xsd:element name="RequestElement25" type="xsd:string"/>
+      <xsd:element name="ResponseElement26" type="xsd:string"/>
+      <xsd:element name="RequestElement26" type="xsd:string"/>
+      <xsd:element name="ResponseElement27" type="xsd:string"/>
+      <xsd:element name="RequestElement27" type="xsd:string"/>
+      <xsd:element name="ResponseElement28" type="xsd:string"/>
+      <xsd:element name="RequestElement28" type="xsd:string"/>
+      <xsd:element name="ResponseElement29" type="xsd:string"/>
+      <xsd:element name="RequestElement29" type="xsd:string"/>
+      <xsd:element name="ResponseElement30" type="xsd:string"/>
+      <xsd:element name="RequestElement30" type="xsd:string"/>
+      <xsd:element name="ResponseElement31" type="xsd:string"/>
+      <xsd:element name="RequestElement31" type="xsd:string"/>
+      <xsd:element name="ResponseElement32" type="xsd:string"/>
+      <xsd:element name="RequestElement32" type="xsd:string"/>
+      <xsd:element name="ResponseElement33" type="xsd:string"/>
+      <xsd:element name="RequestElement33" type="xsd:string"/>
+      <xsd:element name="ResponseElement34" type="xsd:string"/>
+      <xsd:element name="RequestElement34" type="xsd:string"/>
+      <xsd:element name="ResponseElement35" type="xsd:string"/>
+      <xsd:element name="RequestElement35" type="xsd:string"/>
+      <xsd:element name="ResponseElement36" type="xsd:string"/>
+      <xsd:element name="RequestElement36" type="xsd:string"/>
+      <xsd:element name="ResponseElement37" type="xsd:string"/>
+      <xsd:element name="RequestElement37" type="xsd:string"/>
+      <xsd:element name="ResponseElement38" type="xsd:string"/>
+      <xsd:element name="RequestElement38" type="xsd:string"/>
+      <xsd:element name="ResponseElement39" type="xsd:string"/>
+      <xsd:element name="RequestElement39" type="xsd:string"/>
+      <xsd:element name="ResponseElement40" type="xsd:string"/>
+      <xsd:element name="RequestElement40" type="xsd:string"/>
+      <xsd:element name="ResponseElement41" type="xsd:string"/>
+      <xsd:element name="RequestElement41" type="xsd:string"/>
+      <xsd:element name="ResponseElement42" type="xsd:string"/>
+      <xsd:element name="RequestElement42" type="xsd:string"/>
+      <xsd:element name="ResponseElement43" type="xsd:string"/>
+      <xsd:element name="RequestElement43" type="xsd:string"/>
+      <xsd:element name="ResponseElement44" type="xsd:string"/>
+      <xsd:element name="RequestElement44" type="xsd:string"/>
+      <xsd:element name="ResponseElement45" type="xsd:string"/>
+      <xsd:element name="RequestElement45" type="xsd:string"/>
+      <xsd:element name="ResponseElement46" type="xsd:string"/>
+      <xsd:element name="RequestElement46" type="xsd:string"/>
+      <xsd:element name="ResponseElement47" type="xsd:string"/>
+      <xsd:element name="RequestElement47" type="xsd:string"/>
+      <xsd:element name="ResponseElement48" type="xsd:string"/>
+      <xsd:element name="RequestElement48" type="xsd:string"/>
+      <xsd:element name="ResponseElement49" type="xsd:string"/>
+      <xsd:element name="RequestElement49" type="xsd:string"/>
+      <xsd:element name="ResponseElement50" type="xsd:string"/>
+      <xsd:element name="RequestElement50" type="xsd:string"/>
+      <xsd:element name="ResponseElement51" type="xsd:string"/>
+      <xsd:element name="RequestElement51" type="xsd:string"/>
+      <xsd:element name="ResponseElement52" type="xsd:string"/>
+      <xsd:element name="RequestElement52" type="xsd:string"/>
+      <xsd:element name="ResponseElement53" type="xsd:string"/>
+      <xsd:element name="RequestElement53" type="xsd:string"/>
+      <xsd:element name="ResponseElement54" type="xsd:string"/>
+      <xsd:element name="RequestElement54" type="xsd:string"/>
+      <xsd:element name="ResponseElement55" type="xsd:string"/>
+      <xsd:element name="RequestElement55" type="xsd:string"/>
+      <xsd:element name="ResponseElement56" type="xsd:string"/>
+      <xsd:element name="RequestElement56" type="xsd:string"/>
+      <xsd:element name="ResponseElement57" type="xsd:string"/>
+      <xsd:element name="RequestElement57" type="xsd:string"/>
+      <xsd:element name="ResponseElement58" type="xsd:string"/>
+      <xsd:element name="RequestElement58" type="xsd:string"/>
+      <xsd:element name="ResponseElement59" type="xsd:string"/>
+      <xsd:element name="RequestElement59" type="xsd:string"/>
+      <xsd:element name="ResponseElement60" type="xsd:string"/>
+      <xsd:element name="RequestElement60" type="xsd:string"/>
+      <xsd:element name="ResponseElement61" type="xsd:string"/>
+      <xsd:element name="RequestElement61" type="xsd:string"/>
+      <xsd:element name="ResponseElement62" type="xsd:string"/>
+      <xsd:element name="RequestElement62" type="xsd:string"/>
+      <xsd:element name="ResponseElement63" type="xsd:string"/>
+      <xsd:element name="RequestElement63" type="xsd:string"/>
+      <xsd:element name="ResponseElement64" type="xsd:string"/>
+      <xsd:element name="RequestElement64" type="xsd:string"/>
+      <xsd:element name="ResponseElement65" type="xsd:string"/>
+      <xsd:element name="RequestElement65" type="xsd:string"/>
+      <xsd:element name="ResponseElement66" type="xsd:string"/>
+      <xsd:element name="RequestElement66" type="xsd:string"/>
+      <xsd:element name="ResponseElement67" type="xsd:string"/>
+      <xsd:element name="RequestElement67" type="xsd:string"/>
+      <xsd:element name="ResponseElement68" type="xsd:string"/>
+      <xsd:element name="RequestElement68" type="xsd:string"/>
+      <xsd:element name="ResponseElement69" type="xsd:string"/>
+      <xsd:element name="RequestElement69" type="xsd:string"/>
+      <xsd:element name="ResponseElement70" type="xsd:string"/>
+      <xsd:element name="RequestElement70" type="xsd:string"/>
+      <xsd:element name="ResponseElement71" type="xsd:string"/>
+      <xsd:element name="RequestElement71" type="xsd:string"/>
+      <xsd:element name="ResponseElement72" type="xsd:string"/>
+      <xsd:element name="RequestElement72" type="xsd:string"/>
+      <xsd:element name="ResponseElement73" type="xsd:string"/>
+      <xsd:element name="RequestElement73" type="xsd:string"/>
+      <xsd:element name="ResponseElement74" type="xsd:string"/>
+      <xsd:element name="RequestElement74" type="xsd:string"/>
+      <xsd:element name="ResponseElement75" type="xsd:string"/>
+      <xsd:element name="RequestElement75" type="xsd:string"/>
+      <xsd:element name="ResponseElement76" type="xsd:string"/>
+      <xsd:element name="RequestElement76" type="xsd:string"/>
+      <xsd:element name="ResponseElement77" type="xsd:string"/>
+      <xsd:element name="RequestElement77" type="xsd:string"/>
+      <xsd:element name="ResponseElement78" type="xsd:string"/>
+      <xsd:element name="RequestElement78" type="xsd:string"/>
+      <xsd:element name="ResponseElement79" type="xsd:string"/>
+      <xsd:element name="RequestElement79" type="xsd:string"/>
+      <xsd:element name="ResponseElement80" type="xsd:string"/>
+      <xsd:element name="RequestElement80" type="xsd:string"/>
+      <xsd:element name="ResponseElement81" type="xsd:string"/>
+      <xsd:element name="RequestElement81" type="xsd:string"/>
+      <xsd:element name="ResponseElement82" type="xsd:string"/>
+      <xsd:element name="RequestElement82" type="xsd:string"/>
+      <xsd:element name="ResponseElement83" type="xsd:string"/>
+      <xsd:element name="RequestElement83" type="xsd:string"/>
+      <xsd:element name="ResponseElement84" type="xsd:string"/>
+      <xsd:element name="RequestElement84" type="xsd:string"/>
+      <xsd:element name="ResponseElement85" type="xsd:string"/>
+      <xsd:element name="RequestElement85" type="xsd:string"/>
+      <xsd:element name="ResponseElement86" type="xsd:string"/>
+      <xsd:element name="RequestElement86" type="xsd:string"/>
+      <xsd:element name="ResponseElement87" type="xsd:string"/>
+      <xsd:element name="RequestElement87" type="xsd:string"/>
+      <xsd:element name="ResponseElement88" type="xsd:string"/>
+      <xsd:element name="RequestElement88" type="xsd:string"/>
+      <xsd:element name="ResponseElement89" type="xsd:string"/>
+      <xsd:element name="RequestElement89" type="xsd:string"/>
+      <xsd:element name="ResponseElement90" type="xsd:string"/>
+      <xsd:element name="RequestElement90" type="xsd:string"/>
+      <xsd:element name="ResponseElement91" type="xsd:string"/>
+      <xsd:element name="RequestElement91" type="xsd:string"/>
+      <xsd:element name="ResponseElement92" type="xsd:string"/>
+      <xsd:element name="RequestElement92" type="xsd:string"/>
+      <xsd:element name="ResponseElement93" type="xsd:string"/>
+      <xsd:element name="RequestElement93" type="xsd:string"/>
+      <xsd:element name="ResponseElement94" type="xsd:string"/>
+      <xsd:element name="RequestElement94" type="xsd:string"/>
+      <xsd:element name="ResponseElement95" type="xsd:string"/>
+      <xsd:element name="RequestElement95" type="xsd:string"/>
+      <xsd:element name="ResponseElement96" type="xsd:string"/>
+      <xsd:element name="RequestElement96" type="xsd:string"/>
+      <xsd:element name="ResponseElement97" type="xsd:string"/>
+      <xsd:element name="RequestElement97" type="xsd:string"/>
+      <xsd:element name="ResponseElement98" type="xsd:string"/>
+      <xsd:element name="RequestElement98" type="xsd:string"/>
+      <xsd:element name="ResponseElement99" type="xsd:string"/>
+      <xsd:element name="RequestElement99" type="xsd:string"/>
+      <xsd:element name="ResponseElement100" type="xsd:string"/>
+      <xsd:element name="RequestElement100" type="xsd:string"/>
+      <xsd:element name="ResponseElement101" type="xsd:string"/>
+      <xsd:element name="RequestElement101" type="xsd:string"/>
+      <xsd:element name="ResponseElement102" type="xsd:string"/>
+      <xsd:element name="RequestElement102" type="xsd:string"/>
+      <xsd:element name="ResponseElement103" type="xsd:string"/>
+      <xsd:element name="RequestElement103" type="xsd:string"/>
+      <xsd:element name="ResponseElement104" type="xsd:string"/>
+      <xsd:element name="RequestElement104" type="xsd:string"/>
+      <xsd:element name="ResponseElement105" type="xsd:string"/>
+      <xsd:element name="RequestElement105" type="xsd:string"/>
+      <xsd:element name="ResponseElement106" type="xsd:string"/>
+      <xsd:element name="RequestElement106" type="xsd:string"/>
+      <xsd:element name="ResponseElement107" type="xsd:string"/>
+      <xsd:element name="RequestElement107" type="xsd:string"/>
+      <xsd:element name="ResponseElement108" type="xsd:string"/>
+      <xsd:element name="RequestElement108" type="xsd:string"/>
+      <xsd:element name="ResponseElement109" type="xsd:string"/>
+      <xsd:element name="RequestElement109" type="xsd:string"/>
+      <xsd:element name="ResponseElement110" type="xsd:string"/>
+      <xsd:element name="RequestElement110" type="xsd:string"/>
+      <xsd:element name="ResponseElement111" type="xsd:string"/>
+      <xsd:element name="RequestElement111" type="xsd:string"/>
+      <xsd:element name="ResponseElement112" type="xsd:string"/>
+      <xsd:element name="RequestElement112" type="xsd:string"/>
+      <xsd:element name="ResponseElement113" type="xsd:string"/>
+      <xsd:element name="RequestElement113" type="xsd:string"/>
+      <xsd:element name="ResponseElement114" type="xsd:string"/>
+      <xsd:element name="RequestElement114" type="xsd:string"/>
+      <xsd:element name="ResponseElement115" type="xsd:string"/>
+      <xsd:element name="RequestElement115" type="xsd:string"/>
+      <xsd:element name="ResponseElement116" type="xsd:string"/>
+      <xsd:element name="RequestElement116" type="xsd:string"/>
+      <xsd:element name="ResponseElement117" type="xsd:string"/>
+      <xsd:element name="RequestElement117" type="xsd:string"/>
+      <xsd:element name="ResponseElement118" type="xsd:string"/>
+      <xsd:element name="RequestElement118" type="xsd:string"/>
+      <xsd:element name="ResponseElement119" type="xsd:string"/>
+      <xsd:element name="RequestElement119" type="xsd:string"/>
+      <xsd:element name="ResponseElement120" type="xsd:string"/>
+      <xsd:element name="RequestElement120" type="xsd:string"/>
+      <xsd:element name="ResponseElement121" type="xsd:string"/>
+      <xsd:element name="RequestElement121" type="xsd:string"/>
+      <xsd:element name="ResponseElement122" type="xsd:string"/>
+      <xsd:element name="RequestElement122" type="xsd:string"/>
+      <xsd:element name="ResponseElement123" type="xsd:string"/>
+      <xsd:element name="RequestElement123" type="xsd:string"/>
+      <xsd:element name="ResponseElement124" type="xsd:string"/>
+      <xsd:element name="RequestElement124" type="xsd:string"/>
+      <xsd:element name="ResponseElement125" type="xsd:string"/>
+      <xsd:element name="RequestElement125" type="xsd:string"/>
+      <xsd:element name="ResponseElement126" type="xsd:string"/>
+      <xsd:element name="RequestElement126" type="xsd:string"/>
+      <xsd:element name="ResponseElement127" type="xsd:string"/>
+      <xsd:element name="RequestElement127" type="xsd:string"/>
+      <xsd:element name="ResponseElement128" type="xsd:string"/>
+      <xsd:element name="RequestElement128" type="xsd:string"/>
+      <xsd:element name="ResponseElement129" type="xsd:string"/>
+      <xsd:element name="RequestElement129" type="xsd:string"/>
+      <xsd:element name="ResponseElement130" type="xsd:string"/>
+      <xsd:element name="RequestElement130" type="xsd:string"/>
+      <xsd:element name="ResponseElement131" type="xsd:string"/>
+      <xsd:element name="RequestElement131" type="xsd:string"/>
+      <xsd:element name="ResponseElement132" type="xsd:string"/>
+      <xsd:element name="RequestElement132" type="xsd:string"/>
+      <xsd:element name="ResponseElement133" type="xsd:string"/>
+      <xsd:element name="RequestElement133" type="xsd:string"/>
+      <xsd:element name="ResponseElement134" type="xsd:string"/>
+      <xsd:element name="RequestElement134" type="xsd:string"/>
+      <xsd:element name="ResponseElement135" type="xsd:string"/>
+      <xsd:element name="RequestElement135" type="xsd:string"/>
+      <xsd:element name="ResponseElement136" type="xsd:string"/>
+      <xsd:element name="RequestElement136" type="xsd:string"/>
+      <xsd:element name="ResponseElement137" type="xsd:string"/>
+      <xsd:element name="RequestElement137" type="xsd:string"/>
+      <xsd:element name="ResponseElement138" type="xsd:string"/>
+      <xsd:element name="RequestElement138" type="xsd:string"/>
+      <xsd:element name="ResponseElement139" type="xsd:string"/>
+      <xsd:element name="RequestElement139" type="xsd:string"/>
+      <xsd:element name="ResponseElement140" type="xsd:string"/>
+      <xsd:element name="RequestElement140" type="xsd:string"/>
+      <xsd:element name="ResponseElement141" type="xsd:string"/>
+      <xsd:element name="RequestElement141" type="xsd:string"/>
+      <xsd:element name="ResponseElement142" type="xsd:string"/>
+      <xsd:element name="RequestElement142" type="xsd:string"/>
+      <xsd:element name="ResponseElement143" type="xsd:string"/>
+      <xsd:element name="RequestElement143" type="xsd:string"/>
+      <xsd:element name="ResponseElement144" type="xsd:string"/>
+      <xsd:element name="RequestElement144" type="xsd:string"/>
+      <xsd:element name="ResponseElement145" type="xsd:string"/>
+      <xsd:element name="RequestElement145" type="xsd:string"/>
+      <xsd:element name="ResponseElement146" type="xsd:string"/>
+      <xsd:element name="RequestElement146" type="xsd:string"/>
+      <xsd:element name="ResponseElement147" type="xsd:string"/>
+      <xsd:element name="RequestElement147" type="xsd:string"/>
+      <xsd:element name="ResponseElement148" type="xsd:string"/>
+      <xsd:element name="RequestElement148" type="xsd:string"/>
+      <xsd:element name="ResponseElement149" type="xsd:string"/>
+      <xsd:element name="RequestElement149" type="xsd:string"/>
+      <xsd:element name="ResponseElement150" type="xsd:string"/>
+      <xsd:element name="RequestElement150" type="xsd:string"/>
+      <xsd:element name="ResponseElement151" type="xsd:string"/>
+      <xsd:element name="RequestElement151" type="xsd:string"/>
+      <xsd:element name="ResponseElement152" type="xsd:string"/>
+      <xsd:element name="RequestElement152" type="xsd:string"/>
+      <xsd:element name="ResponseElement153" type="xsd:string"/>
+      <xsd:element name="RequestElement153" type="xsd:string"/>
+      <xsd:element name="ResponseElement154" type="xsd:string"/>
+      <xsd:element name="RequestElement154" type="xsd:string"/>
+      <xsd:element name="ResponseElement155" type="xsd:string"/>
+      <xsd:element name="RequestElement155" type="xsd:string"/>
+      <xsd:element name="ResponseElement156" type="xsd:string"/>
+      <xsd:element name="RequestElement156" type="xsd:string"/>
+      <xsd:element name="ResponseElement157" type="xsd:string"/>
+      <xsd:element name="RequestElement157" type="xsd:string"/>
+      <xsd:element name="ResponseElement158" type="xsd:string"/>
+      <xsd:element name="RequestElement158" type="xsd:string"/>
+      <xsd:element name="ResponseElement159" type="xsd:string"/>
+      <xsd:element name="RequestElement159" type="xsd:string"/>
+      <xsd:element name="ResponseElement160" type="xsd:string"/>
+      <xsd:element name="RequestElement160" type="xsd:string"/>
+      <xsd:element name="ResponseElement161" type="xsd:string"/>
+      <xsd:element name="RequestElement161" type="xsd:string"/>
+      <xsd:element name="ResponseElement162" type="xsd:string"/>
+      <xsd:element name="RequestElement162" type="xsd:string"/>
+      <xsd:element name="ResponseElement163" type="xsd:string"/>
+      <xsd:element name="RequestElement163" type="xsd:string"/>
+      <xsd:element name="ResponseElement164" type="xsd:string"/>
+      <xsd:element name="RequestElement164" type="xsd:string"/>
+      <xsd:element name="ResponseElement165" type="xsd:string"/>
+      <xsd:element name="RequestElement165" type="xsd:string"/>
+      <xsd:element name="ResponseElement166" type="xsd:string"/>
+      <xsd:element name="RequestElement166" type="xsd:string"/>
+      <xsd:element name="ResponseElement167" type="xsd:string"/>
+      <xsd:element name="RequestElement167" type="xsd:string"/>
+      <xsd:element name="ResponseElement168" type="xsd:string"/>
+      <xsd:element name="RequestElement168" type="xsd:string"/>
+      <xsd:element name="ResponseElement169" type="xsd:string"/>
+      <xsd:element name="RequestElement169" type="xsd:string"/>
+      <xsd:element name="ResponseElement170" type="xsd:string"/>
+      <xsd:element name="RequestElement170" type="xsd:string"/>
+      <xsd:element name="ResponseElement171" type="xsd:string"/>
+      <xsd:element name="RequestElement171" type="xsd:string"/>
+      <xsd:element name="ResponseElement172" type="xsd:string"/>
+      <xsd:element name="RequestElement172" type="xsd:string"/>
+      <xsd:element name="ResponseElement173" type="xsd:string"/>
+      <xsd:element name="RequestElement173" type="xsd:string"/>
+      <xsd:element name="ResponseElement174" type="xsd:string"/>
+      <xsd:element name="RequestElement174" type="xsd:string"/>
+      <xsd:element name="ResponseElement175" type="xsd:string"/>
+      <xsd:element name="RequestElement175" type="xsd:string"/>
+      <xsd:element name="ResponseElement176" type="xsd:string"/>
+      <xsd:element name="RequestElement176" type="xsd:string"/>
+      <xsd:element name="ResponseElement177" type="xsd:string"/>
+      <xsd:element name="RequestElement177" type="xsd:string"/>
+      <xsd:element name="ResponseElement178" type="xsd:string"/>
+      <xsd:element name="RequestElement178" type="xsd:string"/>
+      <xsd:element name="ResponseElement179" type="xsd:string"/>
+      <xsd:element name="RequestElement179" type="xsd:string"/>
+      <xsd:element name="ResponseElement180" type="xsd:string"/>
+      <xsd:element name="RequestElement180" type="xsd:string"/>
+      <xsd:element name="ResponseElement181" type="xsd:string"/>
+      <xsd:element name="RequestElement181" type="xsd:string"/>
+      <xsd:element name="ResponseElement182" type="xsd:string"/>
+      <xsd:element name="RequestElement182" type="xsd:string"/>
+      <xsd:element name="ResponseElement183" type="xsd:string"/>
+      <xsd:element name="RequestElement183" type="xsd:string"/>
+      <xsd:element name="ResponseElement184" type="xsd:string"/>
+      <xsd:element name="RequestElement184" type="xsd:string"/>
+      <xsd:element name="ResponseElement185" type="xsd:string"/>
+      <xsd:element name="RequestElement185" type="xsd:string"/>
+      <xsd:element name="ResponseElement186" type="xsd:string"/>
+      <xsd:element name="RequestElement186" type="xsd:string"/>
+      <xsd:element name="ResponseElement187" type="xsd:string"/>
+      <xsd:element name="RequestElement187" type="xsd:string"/>
+      <xsd:element name="ResponseElement188" type="xsd:string"/>
+      <xsd:element name="RequestElement188" type="xsd:string"/>
+      <xsd:element name="ResponseElement189" type="xsd:string"/>
+      <xsd:element name="RequestElement189" type="xsd:string"/>
+      <xsd:element name="ResponseElement190" type="xsd:string"/>
+      <xsd:element name="RequestElement190" type="xsd:string"/>
+      <xsd:element name="ResponseElement191" type="xsd:string"/>
+      <xsd:element name="RequestElement191" type="xsd:string"/>
+      <xsd:element name="ResponseElement192" type="xsd:string"/>
+      <xsd:element name="RequestElement192" type="xsd:string"/>
+      <xsd:element name="ResponseElement193" type="xsd:string"/>
+      <xsd:element name="RequestElement193" type="xsd:string"/>
+      <xsd:element name="ResponseElement194" type="xsd:string"/>
+      <xsd:element name="RequestElement194" type="xsd:string"/>
+      <xsd:element name="ResponseElement195" type="xsd:string"/>
+      <xsd:element name="RequestElement195" type="xsd:string"/>
+      <xsd:element name="ResponseElement196" type="xsd:string"/>
+      <xsd:element name="RequestElement196" type="xsd:string"/>
+      <xsd:element name="ResponseElement197" type="xsd:string"/>
+      <xsd:element name="RequestElement197" type="xsd:string"/>
+      <xsd:element name="ResponseElement198" type="xsd:string"/>
+      <xsd:element name="RequestElement198" type="xsd:string"/>
+      <xsd:element name="ResponseElement199" type="xsd:string"/>
+      <xsd:element name="RequestElement199" type="xsd:string"/>
+      <xsd:element name="ResponseElement200" type="xsd:string"/>
+      <xsd:element name="RequestElement200" type="xsd:string"/>
+      <xsd:element name="ResponseElement201" type="xsd:string"/>
+      <xsd:element name="RequestElement201" type="xsd:string"/>
+      <xsd:element name="ResponseElement202" type="xsd:string"/>
+      <xsd:element name="RequestElement202" type="xsd:string"/>
+      <xsd:element name="ResponseElement203" type="xsd:string"/>
+      <xsd:element name="RequestElement203" type="xsd:string"/>
+      <xsd:element name="ResponseElement204" type="xsd:string"/>
+      <xsd:element name="RequestElement204" type="xsd:string"/>
+      <xsd:element name="ResponseElement205" type="xsd:string"/>
+      <xsd:element name="RequestElement205" type="xsd:string"/>
+      <xsd:element name="ResponseElement206" type="xsd:string"/>
+      <xsd:element name="RequestElement206" type="xsd:string"/>
+      <xsd:element name="ResponseElement207" type="xsd:string"/>
+      <xsd:element name="RequestElement207" type="xsd:string"/>
+      <xsd:element name="ResponseElement208" type="xsd:string"/>
+      <xsd:element name="RequestElement208" type="xsd:string"/>
+      <xsd:element name="ResponseElement209" type="xsd:string"/>
+      <xsd:element name="RequestElement209" type="xsd:string"/>
+      <xsd:element name="ResponseElement210" type="xsd:string"/>
+      <xsd:element name="RequestElement210" type="xsd:string"/>
+      <xsd:element name="ResponseElement211" type="xsd:string"/>
+      <xsd:element name="RequestElement211" type="xsd:string"/>
+      <xsd:element name="ResponseElement212" type="xsd:string"/>
+      <xsd:element name="RequestElement212" type="xsd:string"/>
+      <xsd:element name="ResponseElement213" type="xsd:string"/>
+      <xsd:element name="RequestElement213" type="xsd:string"/>
+      <xsd:element name="ResponseElement214" type="xsd:string"/>
+      <xsd:element name="RequestElement214" type="xsd:string"/>
+      <xsd:element name="ResponseElement215" type="xsd:string"/>
+      <xsd:element name="RequestElement215" type="xsd:string"/>
+      <xsd:element name="ResponseElement216" type="xsd:string"/>
+      <xsd:element name="RequestElement216" type="xsd:string"/>
+      <xsd:element name="ResponseElement217" type="xsd:string"/>
+      <xsd:element name="RequestElement217" type="xsd:string"/>
+      <xsd:element name="ResponseElement218" type="xsd:string"/>
+      <xsd:element name="RequestElement218" type="xsd:string"/>
+      <xsd:element name="ResponseElement219" type="xsd:string"/>
+      <xsd:element name="RequestElement219" type="xsd:string"/>
+      <xsd:element name="ResponseElement220" type="xsd:string"/>
+      <xsd:element name="RequestElement220" type="xsd:string"/>
+      <xsd:element name="ResponseElement221" type="xsd:string"/>
+      <xsd:element name="RequestElement221" type="xsd:string"/>
+      <xsd:element name="ResponseElement222" type="xsd:string"/>
+      <xsd:element name="RequestElement222" type="xsd:string"/>
+      <xsd:element name="ResponseElement223" type="xsd:string"/>
+      <xsd:element name="RequestElement223" type="xsd:string"/>
+      <xsd:element name="ResponseElement224" type="xsd:string"/>
+      <xsd:element name="RequestElement224" type="xsd:string"/>
+      <xsd:element name="ResponseElement225" type="xsd:string"/>
+      <xsd:element name="RequestElement225" type="xsd:string"/>
+      <xsd:element name="ResponseElement226" type="xsd:string"/>
+      <xsd:element name="RequestElement226" type="xsd:string"/>
+      <xsd:element name="ResponseElement227" type="xsd:string"/>
+      <xsd:element name="RequestElement227" type="xsd:string"/>
+      <xsd:element name="ResponseElement228" type="xsd:string"/>
+      <xsd:element name="RequestElement228" type="xsd:string"/>
+      <xsd:element name="ResponseElement229" type="xsd:string"/>
+      <xsd:element name="RequestElement229" type="xsd:string"/>
+      <xsd:element name="ResponseElement230" type="xsd:string"/>
+      <xsd:element name="RequestElement230" type="xsd:string"/>
+      <xsd:element name="ResponseElement231" type="xsd:string"/>
+      <xsd:element name="RequestElement231" type="xsd:string"/>
+      <xsd:element name="ResponseElement232" type="xsd:string"/>
+      <xsd:element name="RequestElement232" type="xsd:string"/>
+      <xsd:element name="ResponseElement233" type="xsd:string"/>
+      <xsd:element name="RequestElement233" type="xsd:string"/>
+      <xsd:element name="ResponseElement234" type="xsd:string"/>
+      <xsd:element name="RequestElement234" type="xsd:string"/>
+      <xsd:element name="ResponseElement235" type="xsd:string"/>
+      <xsd:element name="RequestElement235" type="xsd:string"/>
+      <xsd:element name="ResponseElement236" type="xsd:string"/>
+      <xsd:element name="RequestElement236" type="xsd:string"/>
+      <xsd:element name="ResponseElement237" type="xsd:string"/>
+      <xsd:element name="RequestElement237" type="xsd:string"/>
+      <xsd:element name="ResponseElement238" type="xsd:string"/>
+      <xsd:element name="RequestElement238" type="xsd:string"/>
+      <xsd:element name="ResponseElement239" type="xsd:string"/>
+      <xsd:element name="RequestElement239" type="xsd:string"/>
+      <xsd:element name="ResponseElement240" type="xsd:string"/>
+      <xsd:element name="RequestElement240" type="xsd:string"/>
+      <xsd:element name="ResponseElement241" type="xsd:string"/>
+      <xsd:element name="RequestElement241" type="xsd:string"/>
+      <xsd:element name="ResponseElement242" type="xsd:string"/>
+      <xsd:element name="RequestElement242" type="xsd:string"/>
+      <xsd:element name="ResponseElement243" type="xsd:string"/>
+      <xsd:element name="RequestElement243" type="xsd:string"/>
+      <xsd:element name="ResponseElement244" type="xsd:string"/>
+      <xsd:element name="RequestElement244" type="xsd:string"/>
+      <xsd:element name="ResponseElement245" type="xsd:string"/>
+      <xsd:element name="RequestElement245" type="xsd:string"/>
+      <xsd:element name="ResponseElement246" type="xsd:string"/>
+      <xsd:element name="RequestElement246" type="xsd:string"/>
+      <xsd:element name="ResponseElement247" type="xsd:string"/>
+      <xsd:element name="RequestElement247" type="xsd:string"/>
+      <xsd:element name="ResponseElement248" type="xsd:string"/>
+      <xsd:element name="RequestElement248" type="xsd:string"/>
+      <xsd:element name="ResponseElement249" type="xsd:string"/>
+      <xsd:element name="RequestElement249" type="xsd:string"/>
+      <xsd:element name="ResponseElement250" type="xsd:string"/>
+      <xsd:element name="RequestElement250" type="xsd:string"/>
+      <xsd:element name="ResponseElement251" type="xsd:string"/>
+      <xsd:element name="RequestElement251" type="xsd:string"/>
+      <xsd:element name="ResponseElement252" type="xsd:string"/>
+      <xsd:element name="RequestElement252" type="xsd:string"/>
+      <xsd:element name="ResponseElement253" type="xsd:string"/>
+      <xsd:element name="RequestElement253" type="xsd:string"/>
+      <xsd:element name="ResponseElement254" type="xsd:string"/>
+      <xsd:element name="RequestElement254" type="xsd:string"/>
+      <xsd:element name="ResponseElement255" type="xsd:string"/>
+      <xsd:element name="RequestElement255" type="xsd:string"/>
+      <xsd:element name="ResponseElement256" type="xsd:string"/>
+      <xsd:element name="RequestElement256" type="xsd:string"/>
+      <xsd:element name="ResponseElement257" type="xsd:string"/>
+      <xsd:element name="RequestElement257" type="xsd:string"/>
+      <xsd:element name="ResponseElement258" type="xsd:string"/>
+      <xsd:element name="RequestElement258" type="xsd:string"/>
+      <xsd:element name="ResponseElement259" type="xsd:string"/>
+      <xsd:element name="RequestElement259" type="xsd:string"/>
+      <xsd:element name="ResponseElement260" type="xsd:string"/>
+      <xsd:element name="RequestElement260" type="xsd:string"/>
+      <xsd:element name="ResponseElement261" type="xsd:string"/>
+      <xsd:element name="RequestElement261" type="xsd:string"/>
+      <xsd:element name="ResponseElement262" type="xsd:string"/>
+      <xsd:element name="RequestElement262" type="xsd:string"/>
+      <xsd:element name="ResponseElement263" type="xsd:string"/>
+      <xsd:element name="RequestElement263" type="xsd:string"/>
+      <xsd:element name="ResponseElement264" type="xsd:string"/>
+      <xsd:element name="RequestElement264" type="xsd:string"/>
+      <xsd:element name="ResponseElement265" type="xsd:string"/>
+      <xsd:element name="RequestElement265" type="xsd:string"/>
+      <xsd:element name="ResponseElement266" type="xsd:string"/>
+      <xsd:element name="RequestElement266" type="xsd:string"/>
+      <xsd:element name="ResponseElement267" type="xsd:string"/>
+      <xsd:element name="RequestElement267" type="xsd:string"/>
+      <xsd:element name="ResponseElement268" type="xsd:string"/>
+      <xsd:element name="RequestElement268" type="xsd:string"/>
+      <xsd:element name="ResponseElement269" type="xsd:string"/>
+      <xsd:element name="RequestElement269" type="xsd:string"/>
+      <xsd:element name="ResponseElement270" type="xsd:string"/>
+      <xsd:element name="RequestElement270" type="xsd:string"/>
+      <xsd:element name="ResponseElement271" type="xsd:string"/>
+      <xsd:element name="RequestElement271" type="xsd:string"/>
+      <xsd:element name="ResponseElement272" type="xsd:string"/>
+      <xsd:element name="RequestElement272" type="xsd:string"/>
+      <xsd:element name="ResponseElement273" type="xsd:string"/>
+      <xsd:element name="RequestElement273" type="xsd:string"/>
+      <xsd:element name="ResponseElement274" type="xsd:string"/>
+      <xsd:element name="RequestElement274" type="xsd:string"/>
+      <xsd:element name="ResponseElement275" type="xsd:string"/>
+      <xsd:element name="RequestElement275" type="xsd:string"/>
+      <xsd:element name="ResponseElement276" type="xsd:string"/>
+      <xsd:element name="RequestElement276" type="xsd:string"/>
+      <xsd:element name="ResponseElement277" type="xsd:string"/>
+      <xsd:element name="RequestElement277" type="xsd:string"/>
+      <xsd:element name="ResponseElement278" type="xsd:string"/>
+      <xsd:element name="RequestElement278" type="xsd:string"/>
+      <xsd:element name="ResponseElement279" type="xsd:string"/>
+      <xsd:element name="RequestElement279" type="xsd:string"/>
+      <xsd:element name="ResponseElement280" type="xsd:string"/>
+      <xsd:element name="RequestElement280" type="xsd:string"/>
+      <xsd:element name="ResponseElement281" type="xsd:string"/>
+      <xsd:element name="RequestElement281" type="xsd:string"/>
+      <xsd:element name="ResponseElement282" type="xsd:string"/>
+      <xsd:element name="RequestElement282" type="xsd:string"/>
+      <xsd:element name="ResponseElement283" type="xsd:string"/>
+      <xsd:element name="RequestElement283" type="xsd:string"/>
+      <xsd:element name="ResponseElement284" type="xsd:string"/>
+      <xsd:element name="RequestElement284" type="xsd:string"/>
+      <xsd:element name="ResponseElement285" type="xsd:string"/>
+      <xsd:element name="RequestElement285" type="xsd:string"/>
+      <xsd:element name="ResponseElement286" type="xsd:string"/>
+      <xsd:element name="RequestElement286" type="xsd:string"/>
+      <xsd:element name="ResponseElement287" type="xsd:string"/>
+      <xsd:element name="RequestElement287" type="xsd:string"/>
+      <xsd:element name="ResponseElement288" type="xsd:string"/>
+      <xsd:element name="RequestElement288" type="xsd:string"/>
+      <xsd:element name="ResponseElement289" type="xsd:string"/>
+      <xsd:element name="RequestElement289" type="xsd:string"/>
+      <xsd:element name="ResponseElement290" type="xsd:string"/>
+      <xsd:element name="RequestElement290" type="xsd:string"/>
+      <xsd:element name="ResponseElement291" type="xsd:string"/>
+      <xsd:element name="RequestElement291" type="xsd:string"/>
+      <xsd:element name="ResponseElement292" type="xsd:string"/>
+      <xsd:element name="RequestElement292" type="xsd:string"/>
+      <xsd:element name="ResponseElement293" type="xsd:string"/>
+      <xsd:element name="RequestElement293" type="xsd:string"/>
+      <xsd:element name="ResponseElement294" type="xsd:string"/>
+      <xsd:element name="RequestElement294" type="xsd:string"/>
+      <xsd:element name="ResponseElement295" type="xsd:string"/>
+      <xsd:element name="RequestElement295" type="xsd:string"/>
+      <xsd:element name="ResponseElement296" type="xsd:string"/>
+      <xsd:element name="RequestElement296" type="xsd:string"/>
+      <xsd:element name="ResponseElement297" type="xsd:string"/>
+      <xsd:element name="RequestElement297" type="xsd:string"/>
+      <xsd:element name="ResponseElement298" type="xsd:string"/>
+      <xsd:element name="RequestElement298" type="xsd:string"/>
+      <xsd:element name="ResponseElement299" type="xsd:string"/>
+      <xsd:element name="RequestElement299" type="xsd:string"/>
+      <xsd:element name="ResponseElement300" type="xsd:string"/>
+      <xsd:element name="RequestElement300" type="xsd:string"/>
+      <xsd:element name="ResponseElement301" type="xsd:string"/>
+      <xsd:element name="RequestElement301" type="xsd:string"/>
+      <xsd:element name="ResponseElement302" type="xsd:string"/>
+      <xsd:element name="RequestElement302" type="xsd:string"/>
+      <xsd:element name="ResponseElement303" type="xsd:string"/>
+      <xsd:element name="RequestElement303" type="xsd:string"/>
+      <xsd:element name="ResponseElement304" type="xsd:string"/>
+      <xsd:element name="RequestElement304" type="xsd:string"/>
+      <xsd:element name="ResponseElement305" type="xsd:string"/>
+      <xsd:element name="RequestElement305" type="xsd:string"/>
+      <xsd:element name="ResponseElement306" type="xsd:string"/>
+      <xsd:element name="RequestElement306" type="xsd:string"/>
+      <xsd:element name="ResponseElement307" type="xsd:string"/>
+      <xsd:element name="RequestElement307" type="xsd:string"/>
+      <xsd:element name="ResponseElement308" type="xsd:string"/>
+      <xsd:element name="RequestElement308" type="xsd:string"/>
+      <xsd:element name="ResponseElement309" type="xsd:string"/>
+      <xsd:element name="RequestElement309" type="xsd:string"/>
+      <xsd:element name="ResponseElement310" type="xsd:string"/>
+      <xsd:element name="RequestElement310" type="xsd:string"/>
+      <xsd:element name="ResponseElement311" type="xsd:string"/>
+      <xsd:element name="RequestElement311" type="xsd:string"/>
+      <xsd:element name="ResponseElement312" type="xsd:string"/>
+      <xsd:element name="RequestElement312" type="xsd:string"/>
+      <xsd:element name="ResponseElement313" type="xsd:string"/>
+      <xsd:element name="RequestElement313" type="xsd:string"/>
+      <xsd:element name="ResponseElement314" type="xsd:string"/>
+      <xsd:element name="RequestElement314" type="xsd:string"/>
+      <xsd:element name="ResponseElement315" type="xsd:string"/>
+      <xsd:element name="RequestElement315" type="xsd:string"/>
+      <xsd:element name="ResponseElement316" type="xsd:string"/>
+      <xsd:element name="RequestElement316" type="xsd:string"/>
+      <xsd:element name="ResponseElement317" type="xsd:string"/>
+      <xsd:element name="RequestElement317" type="xsd:string"/>
+      <xsd:element name="ResponseElement318" type="xsd:string"/>
+      <xsd:element name="RequestElement318" type="xsd:string"/>
+      <xsd:element name="ResponseElement319" type="xsd:string"/>
+      <xsd:element name="RequestElement319" type="xsd:string"/>
+      <xsd:element name="ResponseElement320" type="xsd:string"/>
+      <xsd:element name="RequestElement320" type="xsd:string"/>
+      <xsd:element name="ResponseElement321" type="xsd:string"/>
+      <xsd:element name="RequestElement321" type="xsd:string"/>
+      <xsd:element name="ResponseElement322" type="xsd:string"/>
+      <xsd:element name="RequestElement322" type="xsd:string"/>
+      <xsd:element name="ResponseElement323" type="xsd:string"/>
+      <xsd:element name="RequestElement323" type="xsd:string"/>
+      <xsd:element name="ResponseElement324" type="xsd:string"/>
+      <xsd:element name="RequestElement324" type="xsd:string"/>
+      <xsd:element name="ResponseElement325" type="xsd:string"/>
+      <xsd:element name="RequestElement325" type="xsd:string"/>
+      <xsd:element name="ResponseElement326" type="xsd:string"/>
+      <xsd:element name="RequestElement326" type="xsd:string"/>
+      <xsd:element name="ResponseElement327" type="xsd:string"/>
+      <xsd:element name="RequestElement327" type="xsd:string"/>
+      <xsd:element name="ResponseElement328" type="xsd:string"/>
+      <xsd:element name="RequestElement328" type="xsd:string"/>
+      <xsd:element name="ResponseElement329" type="xsd:string"/>
+      <xsd:element name="RequestElement329" type="xsd:string"/>
+      <xsd:element name="ResponseElement330" type="xsd:string"/>
+      <xsd:element name="RequestElement330" type="xsd:string"/>
+      <xsd:element name="ResponseElement331" type="xsd:string"/>
+      <xsd:element name="RequestElement331" type="xsd:string"/>
+      <xsd:element name="ResponseElement332" type="xsd:string"/>
+      <xsd:element name="RequestElement332" type="xsd:string"/>
+      <xsd:element name="ResponseElement333" type="xsd:string"/>
+      <xsd:element name="RequestElement333" type="xsd:string"/>
+      <xsd:element name="ResponseElement334" type="xsd:string"/>
+      <xsd:element name="RequestElement334" type="xsd:string"/>
+      <xsd:element name="ResponseElement335" type="xsd:string"/>
+      <xsd:element name="RequestElement335" type="xsd:string"/>
+      <xsd:element name="ResponseElement336" type="xsd:string"/>
+      <xsd:element name="RequestElement336" type="xsd:string"/>
+      <xsd:element name="ResponseElement337" type="xsd:string"/>
+      <xsd:element name="RequestElement337" type="xsd:string"/>
+      <xsd:element name="ResponseElement338" type="xsd:string"/>
+      <xsd:element name="RequestElement338" type="xsd:string"/>
+      <xsd:element name="ResponseElement339" type="xsd:string"/>
+      <xsd:element name="RequestElement339" type="xsd:string"/>
+      <xsd:element name="ResponseElement340" type="xsd:string"/>
+      <xsd:element name="RequestElement340" type="xsd:string"/>
+      <xsd:element name="ResponseElement341" type="xsd:string"/>
+      <xsd:element name="RequestElement341" type="xsd:string"/>
+      <xsd:element name="ResponseElement342" type="xsd:string"/>
+      <xsd:element name="RequestElement342" type="xsd:string"/>
+      <xsd:element name="ResponseElement343" type="xsd:string"/>
+      <xsd:element name="RequestElement343" type="xsd:string"/>
+      <xsd:element name="ResponseElement344" type="xsd:string"/>
+      <xsd:element name="RequestElement344" type="xsd:string"/>
+      <xsd:element name="ResponseElement345" type="xsd:string"/>
+      <xsd:element name="RequestElement345" type="xsd:string"/>
+      <xsd:element name="ResponseElement346" type="xsd:string"/>
+      <xsd:element name="RequestElement346" type="xsd:string"/>
+      <xsd:element name="ResponseElement347" type="xsd:string"/>
+      <xsd:element name="RequestElement347" type="xsd:string"/>
+      <xsd:element name="ResponseElement348" type="xsd:string"/>
+      <xsd:element name="RequestElement348" type="xsd:string"/>
+      <xsd:element name="ResponseElement349" type="xsd:string"/>
+      <xsd:element name="RequestElement349" type="xsd:string"/>
+      <xsd:element name="ResponseElement350" type="xsd:string"/>
+      <xsd:element name="RequestElement350" type="xsd:string"/>
+      <xsd:element name="ResponseElement351" type="xsd:string"/>
+      <xsd:element name="RequestElement351" type="xsd:string"/>
+      <xsd:element name="ResponseElement352" type="xsd:string"/>
+      <xsd:element name="RequestElement352" type="xsd:string"/>
+      <xsd:element name="ResponseElement353" type="xsd:string"/>
+      <xsd:element name="RequestElement353" type="xsd:string"/>
+      <xsd:element name="ResponseElement354" type="xsd:string"/>
+      <xsd:element name="RequestElement354" type="xsd:string"/>
+      <xsd:element name="ResponseElement355" type="xsd:string"/>
+      <xsd:element name="RequestElement355" type="xsd:string"/>
+      <xsd:element name="ResponseElement356" type="xsd:string"/>
+      <xsd:element name="RequestElement356" type="xsd:string"/>
+      <xsd:element name="ResponseElement357" type="xsd:string"/>
+      <xsd:element name="RequestElement357" type="xsd:string"/>
+      <xsd:element name="ResponseElement358" type="xsd:string"/>
+      <xsd:element name="RequestElement358" type="xsd:string"/>
+      <xsd:element name="ResponseElement359" type="xsd:string"/>
+      <xsd:element name="RequestElement359" type="xsd:string"/>
+      <xsd:element name="ResponseElement360" type="xsd:string"/>
+      <xsd:element name="RequestElement360" type="xsd:string"/>
+      <xsd:element name="ResponseElement361" type="xsd:string"/>
+      <xsd:element name="RequestElement361" type="xsd:string"/>
+      <xsd:element name="ResponseElement362" type="xsd:string"/>
+      <xsd:element name="RequestElement362" type="xsd:string"/>
+      <xsd:element name="ResponseElement363" type="xsd:string"/>
+      <xsd:element name="RequestElement363" type="xsd:string"/>
+      <xsd:element name="ResponseElement364" type="xsd:string"/>
+      <xsd:element name="RequestElement364" type="xsd:string"/>
+      <xsd:element name="ResponseElement365" type="xsd:string"/>
+      <xsd:element name="RequestElement365" type="xsd:string"/>
+      <xsd:element name="ResponseElement366" type="xsd:string"/>
+      <xsd:element name="RequestElement366" type="xsd:string"/>
+      <xsd:element name="ResponseElement367" type="xsd:string"/>
+      <xsd:element name="RequestElement367" type="xsd:string"/>
+      <xsd:element name="ResponseElement368" type="xsd:string"/>
+      <xsd:element name="RequestElement368" type="xsd:string"/>
+      <xsd:element name="ResponseElement369" type="xsd:string"/>
+      <xsd:element name="RequestElement369" type="xsd:string"/>
+      <xsd:element name="ResponseElement370" type="xsd:string"/>
+      <xsd:element name="RequestElement370" type="xsd:string"/>
+      <xsd:element name="ResponseElement371" type="xsd:string"/>
+      <xsd:element name="RequestElement371" type="xsd:string"/>
+      <xsd:element name="ResponseElement372" type="xsd:string"/>
+      <xsd:element name="RequestElement372" type="xsd:string"/>
+      <xsd:element name="ResponseElement373" type="xsd:string"/>
+      <xsd:element name="RequestElement373" type="xsd:string"/>
+      <xsd:element name="ResponseElement374" type="xsd:string"/>
+      <xsd:element name="RequestElement374" type="xsd:string"/>
+      <xsd:element name="ResponseElement375" type="xsd:string"/>
+      <xsd:element name="RequestElement375" type="xsd:string"/>
+      <xsd:element name="ResponseElement376" type="xsd:string"/>
+      <xsd:element name="RequestElement376" type="xsd:string"/>
+      <xsd:element name="ResponseElement377" type="xsd:string"/>
+      <xsd:element name="RequestElement377" type="xsd:string"/>
+      <xsd:element name="ResponseElement378" type="xsd:string"/>
+      <xsd:element name="RequestElement378" type="xsd:string"/>
+      <xsd:element name="ResponseElement379" type="xsd:string"/>
+      <xsd:element name="RequestElement379" type="xsd:string"/>
+      <xsd:element name="ResponseElement380" type="xsd:string"/>
+      <xsd:element name="RequestElement380" type="xsd:string"/>
+      <xsd:element name="ResponseElement381" type="xsd:string"/>
+      <xsd:element name="RequestElement381" type="xsd:string"/>
+      <xsd:element name="ResponseElement382" type="xsd:string"/>
+      <xsd:element name="RequestElement382" type="xsd:string"/>
+      <xsd:element name="ResponseElement383" type="xsd:string"/>
+      <xsd:element name="RequestElement383" type="xsd:string"/>
+      <xsd:element name="ResponseElement384" type="xsd:string"/>
+      <xsd:element name="RequestElement384" type="xsd:string"/>
+      <xsd:element name="ResponseElement385" type="xsd:string"/>
+      <xsd:element name="RequestElement385" type="xsd:string"/>
+      <xsd:element name="ResponseElement386" type="xsd:string"/>
+      <xsd:element name="RequestElement386" type="xsd:string"/>
+      <xsd:element name="ResponseElement387" type="xsd:string"/>
+      <xsd:element name="RequestElement387" type="xsd:string"/>
+      <xsd:element name="ResponseElement388" type="xsd:string"/>
+      <xsd:element name="RequestElement388" type="xsd:string"/>
+      <xsd:element name="ResponseElement389" type="xsd:string"/>
+      <xsd:element name="RequestElement389" type="xsd:string"/>
+      <xsd:element name="ResponseElement390" type="xsd:string"/>
+      <xsd:element name="RequestElement390" type="xsd:string"/>
+      <xsd:element name="ResponseElement391" type="xsd:string"/>
+      <xsd:element name="RequestElement391" type="xsd:string"/>
+      <xsd:element name="ResponseElement392" type="xsd:string"/>
+      <xsd:element name="RequestElement392" type="xsd:string"/>
+      <xsd:element name="ResponseElement393" type="xsd:string"/>
+      <xsd:element name="RequestElement393" type="xsd:string"/>
+      <xsd:element name="ResponseElement394" type="xsd:string"/>
+      <xsd:element name="RequestElement394" type="xsd:string"/>
+      <xsd:element name="ResponseElement395" type="xsd:string"/>
+      <xsd:element name="RequestElement395" type="xsd:string"/>
+      <xsd:element name="ResponseElement396" type="xsd:string"/>
+      <xsd:element name="RequestElement396" type="xsd:string"/>
+      <xsd:element name="ResponseElement397" type="xsd:string"/>
+      <xsd:element name="RequestElement397" type="xsd:string"/>
+      <xsd:element name="ResponseElement398" type="xsd:string"/>
+      <xsd:element name="RequestElement398" type="xsd:string"/>
+      <xsd:element name="ResponseElement399" type="xsd:string"/>
+      <xsd:element name="RequestElement399" type="xsd:string"/>
+      <xsd:element name="ResponseElement400" type="xsd:string"/>
+      <xsd:element name="RequestElement400" type="xsd:string"/>
+      <xsd:element name="ResponseElement401" type="xsd:string"/>
+      <xsd:element name="RequestElement401" type="xsd:string"/>
+      <xsd:element name="ResponseElement402" type="xsd:string"/>
+      <xsd:element name="RequestElement402" type="xsd:string"/>
+      <xsd:element name="ResponseElement403" type="xsd:string"/>
+      <xsd:element name="RequestElement403" type="xsd:string"/>
+      <xsd:element name="ResponseElement404" type="xsd:string"/>
+      <xsd:element name="RequestElement404" type="xsd:string"/>
+      <xsd:element name="ResponseElement405" type="xsd:string"/>
+      <xsd:element name="RequestElement405" type="xsd:string"/>
+      <xsd:element name="ResponseElement406" type="xsd:string"/>
+      <xsd:element name="RequestElement406" type="xsd:string"/>
+      <xsd:element name="ResponseElement407" type="xsd:string"/>
+      <xsd:element name="RequestElement407" type="xsd:string"/>
+      <xsd:element name="ResponseElement408" type="xsd:string"/>
+      <xsd:element name="RequestElement408" type="xsd:string"/>
+      <xsd:element name="ResponseElement409" type="xsd:string"/>
+      <xsd:element name="RequestElement409" type="xsd:string"/>
+      <xsd:element name="ResponseElement410" type="xsd:string"/>
+      <xsd:element name="RequestElement410" type="xsd:string"/>
+      <xsd:element name="ResponseElement411" type="xsd:string"/>
+      <xsd:element name="RequestElement411" type="xsd:string"/>
+      <xsd:element name="ResponseElement412" type="xsd:string"/>
+      <xsd:element name="RequestElement412" type="xsd:string"/>
+      <xsd:element name="ResponseElement413" type="xsd:string"/>
+      <xsd:element name="RequestElement413" type="xsd:string"/>
+      <xsd:element name="ResponseElement414" type="xsd:string"/>
+      <xsd:element name="RequestElement414" type="xsd:string"/>
+      <xsd:element name="ResponseElement415" type="xsd:string"/>
+      <xsd:element name="RequestElement415" type="xsd:string"/>
+      <xsd:element name="ResponseElement416" type="xsd:string"/>
+      <xsd:element name="RequestElement416" type="xsd:string"/>
+      <xsd:element name="ResponseElement417" type="xsd:string"/>
+      <xsd:element name="RequestElement417" type="xsd:string"/>
+      <xsd:element name="ResponseElement418" type="xsd:string"/>
+      <xsd:element name="RequestElement418" type="xsd:string"/>
+      <xsd:element name="ResponseElement419" type="xsd:string"/>
+      <xsd:element name="RequestElement419" type="xsd:string"/>
+      <xsd:element name="ResponseElement420" type="xsd:string"/>
+      <xsd:element name="RequestElement420" type="xsd:string"/>
+      <xsd:element name="ResponseElement421" type="xsd:string"/>
+      <xsd:element name="RequestElement421" type="xsd:string"/>
+      <xsd:element name="ResponseElement422" type="xsd:string"/>
+      <xsd:element name="RequestElement422" type="xsd:string"/>
+      <xsd:element name="ResponseElement423" type="xsd:string"/>
+      <xsd:element name="RequestElement423" type="xsd:string"/>
+      <xsd:element name="ResponseElement424" type="xsd:string"/>
+      <xsd:element name="RequestElement424" type="xsd:string"/>
+      <xsd:element name="ResponseElement425" type="xsd:string"/>
+      <xsd:element name="RequestElement425" type="xsd:string"/>
+      <xsd:element name="ResponseElement426" type="xsd:string"/>
+      <xsd:element name="RequestElement426" type="xsd:string"/>
+      <xsd:element name="ResponseElement427" type="xsd:string"/>
+      <xsd:element name="RequestElement427" type="xsd:string"/>
+      <xsd:element name="ResponseElement428" type="xsd:string"/>
+      <xsd:element name="RequestElement428" type="xsd:string"/>
+      <xsd:element name="ResponseElement429" type="xsd:string"/>
+      <xsd:element name="RequestElement429" type="xsd:string"/>
+      <xsd:element name="ResponseElement430" type="xsd:string"/>
+      <xsd:element name="RequestElement430" type="xsd:string"/>
+      <xsd:element name="ResponseElement431" type="xsd:string"/>
+      <xsd:element name="RequestElement431" type="xsd:string"/>
+      <xsd:element name="ResponseElement432" type="xsd:string"/>
+      <xsd:element name="RequestElement432" type="xsd:string"/>
+      <xsd:element name="ResponseElement433" type="xsd:string"/>
+      <xsd:element name="RequestElement433" type="xsd:string"/>
+      <xsd:element name="ResponseElement434" type="xsd:string"/>
+      <xsd:element name="RequestElement434" type="xsd:string"/>
+      <xsd:element name="ResponseElement435" type="xsd:string"/>
+      <xsd:element name="RequestElement435" type="xsd:string"/>
+      <xsd:element name="ResponseElement436" type="xsd:string"/>
+      <xsd:element name="RequestElement436" type="xsd:string"/>
+      <xsd:element name="ResponseElement437" type="xsd:string"/>
+      <xsd:element name="RequestElement437" type="xsd:string"/>
+      <xsd:element name="ResponseElement438" type="xsd:string"/>
+      <xsd:element name="RequestElement438" type="xsd:string"/>
+      <xsd:element name="ResponseElement439" type="xsd:string"/>
+      <xsd:element name="RequestElement439" type="xsd:string"/>
+      <xsd:element name="ResponseElement440" type="xsd:string"/>
+      <xsd:element name="RequestElement440" type="xsd:string"/>
+      <xsd:element name="ResponseElement441" type="xsd:string"/>
+      <xsd:element name="RequestElement441" type="xsd:string"/>
+      <xsd:element name="ResponseElement442" type="xsd:string"/>
+      <xsd:element name="RequestElement442" type="xsd:string"/>
+      <xsd:element name="ResponseElement443" type="xsd:string"/>
+      <xsd:element name="RequestElement443" type="xsd:string"/>
+      <xsd:element name="ResponseElement444" type="xsd:string"/>
+      <xsd:element name="RequestElement444" type="xsd:string"/>
+      <xsd:element name="ResponseElement445" type="xsd:string"/>
+      <xsd:element name="RequestElement445" type="xsd:string"/>
+      <xsd:element name="ResponseElement446" type="xsd:string"/>
+      <xsd:element name="RequestElement446" type="xsd:string"/>
+      <xsd:element name="ResponseElement447" type="xsd:string"/>
+      <xsd:element name="RequestElement447" type="xsd:string"/>
+      <xsd:element name="ResponseElement448" type="xsd:string"/>
+      <xsd:element name="RequestElement448" type="xsd:string"/>
+      <xsd:element name="ResponseElement449" type="xsd:string"/>
+      <xsd:element name="RequestElement449" type="xsd:string"/>
+      <xsd:element name="ResponseElement450" type="xsd:string"/>
+      <xsd:element name="RequestElement450" type="xsd:string"/>
+      <xsd:element name="ResponseElement451" type="xsd:string"/>
+      <xsd:element name="RequestElement451" type="xsd:string"/>
+      <xsd:element name="ResponseElement452" type="xsd:string"/>
+      <xsd:element name="RequestElement452" type="xsd:string"/>
+      <xsd:element name="ResponseElement453" type="xsd:string"/>
+      <xsd:element name="RequestElement453" type="xsd:string"/>
+      <xsd:element name="ResponseElement454" type="xsd:string"/>
+      <xsd:element name="RequestElement454" type="xsd:string"/>
+      <xsd:element name="ResponseElement455" type="xsd:string"/>
+      <xsd:element name="RequestElement455" type="xsd:string"/>
+      <xsd:element name="ResponseElement456" type="xsd:string"/>
+      <xsd:element name="RequestElement456" type="xsd:string"/>
+      <xsd:element name="ResponseElement457" type="xsd:string"/>
+      <xsd:element name="RequestElement457" type="xsd:string"/>
+      <xsd:element name="ResponseElement458" type="xsd:string"/>
+      <xsd:element name="RequestElement458" type="xsd:string"/>
+      <xsd:element name="ResponseElement459" type="xsd:string"/>
+      <xsd:element name="RequestElement459" type="xsd:string"/>
+      <xsd:element name="ResponseElement460" type="xsd:string"/>
+      <xsd:element name="RequestElement460" type="xsd:string"/>
+      <xsd:element name="ResponseElement461" type="xsd:string"/>
+      <xsd:element name="RequestElement461" type="xsd:string"/>
+      <xsd:element name="ResponseElement462" type="xsd:string"/>
+      <xsd:element name="RequestElement462" type="xsd:string"/>
+      <xsd:element name="ResponseElement463" type="xsd:string"/>
+      <xsd:element name="RequestElement463" type="xsd:string"/>
+      <xsd:element name="ResponseElement464" type="xsd:string"/>
+      <xsd:element name="RequestElement464" type="xsd:string"/>
+      <xsd:element name="ResponseElement465" type="xsd:string"/>
+      <xsd:element name="RequestElement465" type="xsd:string"/>
+      <xsd:element name="ResponseElement466" type="xsd:string"/>
+      <xsd:element name="RequestElement466" type="xsd:string"/>
+      <xsd:element name="ResponseElement467" type="xsd:string"/>
+      <xsd:element name="RequestElement467" type="xsd:string"/>
+      <xsd:element name="ResponseElement468" type="xsd:string"/>
+      <xsd:element name="RequestElement468" type="xsd:string"/>
+      <xsd:element name="ResponseElement469" type="xsd:string"/>
+      <xsd:element name="RequestElement469" type="xsd:string"/>
+      <xsd:element name="ResponseElement470" type="xsd:string"/>
+      <xsd:element name="RequestElement470" type="xsd:string"/>
+      <xsd:element name="ResponseElement471" type="xsd:string"/>
+      <xsd:element name="RequestElement471" type="xsd:string"/>
+      <xsd:element name="ResponseElement472" type="xsd:string"/>
+      <xsd:element name="RequestElement472" type="xsd:string"/>
+      <xsd:element name="ResponseElement473" type="xsd:string"/>
+      <xsd:element name="RequestElement473" type="xsd:string"/>
+      <xsd:element name="ResponseElement474" type="xsd:string"/>
+      <xsd:element name="RequestElement474" type="xsd:string"/>
+      <xsd:element name="ResponseElement475" type="xsd:string"/>
+      <xsd:element name="RequestElement475" type="xsd:string"/>
+      <xsd:element name="ResponseElement476" type="xsd:string"/>
+      <xsd:element name="RequestElement476" type="xsd:string"/>
+      <xsd:element name="ResponseElement477" type="xsd:string"/>
+      <xsd:element name="RequestElement477" type="xsd:string"/>
+      <xsd:element name="ResponseElement478" type="xsd:string"/>
+      <xsd:element name="RequestElement478" type="xsd:string"/>
+      <xsd:element name="ResponseElement479" type="xsd:string"/>
+      <xsd:element name="RequestElement479" type="xsd:string"/>
+      <xsd:element name="ResponseElement480" type="xsd:string"/>
+      <xsd:element name="RequestElement480" type="xsd:string"/>
+      <xsd:element name="ResponseElement481" type="xsd:string"/>
+      <xsd:element name="RequestElement481" type="xsd:string"/>
+      <xsd:element name="ResponseElement482" type="xsd:string"/>
+      <xsd:element name="RequestElement482" type="xsd:string"/>
+      <xsd:element name="ResponseElement483" type="xsd:string"/>
+      <xsd:element name="RequestElement483" type="xsd:string"/>
+      <xsd:element name="ResponseElement484" type="xsd:string"/>
+      <xsd:element name="RequestElement484" type="xsd:string"/>
+      <xsd:element name="ResponseElement485" type="xsd:string"/>
+      <xsd:element name="RequestElement485" type="xsd:string"/>
+      <xsd:element name="ResponseElement486" type="xsd:string"/>
+      <xsd:element name="RequestElement486" type="xsd:string"/>
+      <xsd:element name="ResponseElement487" type="xsd:string"/>
+      <xsd:element name="RequestElement487" type="xsd:string"/>
+      <xsd:element name="ResponseElement488" type="xsd:string"/>
+      <xsd:element name="RequestElement488" type="xsd:string"/>
+      <xsd:element name="ResponseElement489" type="xsd:string"/>
+      <xsd:element name="RequestElement489" type="xsd:string"/>
+      <xsd:element name="ResponseElement490" type="xsd:string"/>
+      <xsd:element name="RequestElement490" type="xsd:string"/>
+      <xsd:element name="ResponseElement491" type="xsd:string"/>
+      <xsd:element name="RequestElement491" type="xsd:string"/>
+      <xsd:element name="ResponseElement492" type="xsd:string"/>
+      <xsd:element name="RequestElement492" type="xsd:string"/>
+      <xsd:element name="ResponseElement493" type="xsd:string"/>
+      <xsd:element name="RequestElement493" type="xsd:string"/>
+      <xsd:element name="ResponseElement494" type="xsd:string"/>
+      <xsd:element name="RequestElement494" type="xsd:string"/>
+      <xsd:element name="ResponseElement495" type="xsd:string"/>
+      <xsd:element name="RequestElement495" type="xsd:string"/>
+      <xsd:element name="ResponseElement496" type="xsd:string"/>
+      <xsd:element name="RequestElement496" type="xsd:string"/>
+      <xsd:element name="ResponseElement497" type="xsd:string"/>
+      <xsd:element name="RequestElement497" type="xsd:string"/>
+      <xsd:element name="ResponseElement498" type="xsd:string"/>
+      <xsd:element name="RequestElement498" type="xsd:string"/>
+      <xsd:element name="ResponseElement499" type="xsd:string"/>
+      <xsd:element name="RequestElement499" type="xsd:string"/>
+      <xsd:element name="ResponseElement500" type="xsd:string"/>
+      <xsd:element name="RequestElement500" type="xsd:string"/>
+      <xsd:element name="ResponseElement501" type="xsd:string"/>
+      <xsd:element name="RequestElement501" type="xsd:string"/>
+      <xsd:element name="ResponseElement502" type="xsd:string"/>
+      <xsd:element name="RequestElement502" type="xsd:string"/>
+      <xsd:element name="ResponseElement503" type="xsd:string"/>
+      <xsd:element name="RequestElement503" type="xsd:string"/>
+      <xsd:element name="ResponseElement504" type="xsd:string"/>
+      <xsd:element name="RequestElement504" type="xsd:string"/>
+      <xsd:element name="ResponseElement505" type="xsd:string"/>
+      <xsd:element name="RequestElement505" type="xsd:string"/>
+      <xsd:element name="ResponseElement506" type="xsd:string"/>
+      <xsd:element name="RequestElement506" type="xsd:string"/>
+      <xsd:element name="ResponseElement507" type="xsd:string"/>
+      <xsd:element name="RequestElement507" type="xsd:string"/>
+      <xsd:element name="ResponseElement508" type="xsd:string"/>
+      <xsd:element name="RequestElement508" type="xsd:string"/>
+      <xsd:element name="ResponseElement509" type="xsd:string"/>
+      <xsd:element name="RequestElement509" type="xsd:string"/>
+      <xsd:element name="ResponseElement510" type="xsd:string"/>
+      <xsd:element name="RequestElement510" type="xsd:string"/>
+      <xsd:element name="ResponseElement511" type="xsd:string"/>
+      <xsd:element name="RequestElement511" type="xsd:string"/>
+      <xsd:element name="ResponseElement512" type="xsd:string"/>
+      <xsd:element name="RequestElement512" type="xsd:string"/>
+      <xsd:element name="ResponseElement513" type="xsd:string"/>
+      <xsd:element name="RequestElement513" type="xsd:string"/>
+      <xsd:element name="ResponseElement514" type="xsd:string"/>
+      <xsd:element name="RequestElement514" type="xsd:string"/>
+      <xsd:element name="ResponseElement515" type="xsd:string"/>
+      <xsd:element name="RequestElement515" type="xsd:string"/>
+      <xsd:element name="ResponseElement516" type="xsd:string"/>
+      <xsd:element name="RequestElement516" type="xsd:string"/>
+      <xsd:element name="ResponseElement517" type="xsd:string"/>
+      <xsd:element name="RequestElement517" type="xsd:string"/>
+      <xsd:element name="ResponseElement518" type="xsd:string"/>
+      <xsd:element name="RequestElement518" type="xsd:string"/>
+      <xsd:element name="ResponseElement519" type="xsd:string"/>
+      <xsd:element name="RequestElement519" type="xsd:string"/>
+      <xsd:element name="ResponseElement520" type="xsd:string"/>
+      <xsd:element name="RequestElement520" type="xsd:string"/>
+      <xsd:element name="ResponseElement521" type="xsd:string"/>
+      <xsd:element name="RequestElement521" type="xsd:string"/>
+      <xsd:element name="ResponseElement522" type="xsd:string"/>
+      <xsd:element name="RequestElement522" type="xsd:string"/>
+      <xsd:element name="ResponseElement523" type="xsd:string"/>
+      <xsd:element name="RequestElement523" type="xsd:string"/>
+      <xsd:element name="ResponseElement524" type="xsd:string"/>
+      <xsd:element name="RequestElement524" type="xsd:string"/>
+      <xsd:element name="ResponseElement525" type="xsd:string"/>
+      <xsd:element name="RequestElement525" type="xsd:string"/>
+      <xsd:element name="ResponseElement526" type="xsd:string"/>
+      <xsd:element name="RequestElement526" type="xsd:string"/>
+      <xsd:element name="ResponseElement527" type="xsd:string"/>
+      <xsd:element name="RequestElement527" type="xsd:string"/>
+      <xsd:element name="ResponseElement528" type="xsd:string"/>
+      <xsd:element name="RequestElement528" type="xsd:string"/>
+      <xsd:element name="ResponseElement529" type="xsd:string"/>
+      <xsd:element name="RequestElement529" type="xsd:string"/>
+      <xsd:element name="ResponseElement530" type="xsd:string"/>
+      <xsd:element name="RequestElement530" type="xsd:string"/>
+      <xsd:element name="ResponseElement531" type="xsd:string"/>
+      <xsd:element name="RequestElement531" type="xsd:string"/>
+      <xsd:element name="ResponseElement532" type="xsd:string"/>
+      <xsd:element name="RequestElement532" type="xsd:string"/>
+      <xsd:element name="ResponseElement533" type="xsd:string"/>
+      <xsd:element name="RequestElement533" type="xsd:string"/>
+      <xsd:element name="ResponseElement534" type="xsd:string"/>
+      <xsd:element name="RequestElement534" type="xsd:string"/>
+      <xsd:element name="ResponseElement535" type="xsd:string"/>
+      <xsd:element name="RequestElement535" type="xsd:string"/>
+      <xsd:element name="ResponseElement536" type="xsd:string"/>
+      <xsd:element name="RequestElement536" type="xsd:string"/>
+      <xsd:element name="ResponseElement537" type="xsd:string"/>
+      <xsd:element name="RequestElement537" type="xsd:string"/>
+      <xsd:element name="ResponseElement538" type="xsd:string"/>
+      <xsd:element name="RequestElement538" type="xsd:string"/>
+      <xsd:element name="ResponseElement539" type="xsd:string"/>
+      <xsd:element name="RequestElement539" type="xsd:string"/>
+      <xsd:element name="ResponseElement540" type="xsd:string"/>
+      <xsd:element name="RequestElement540" type="xsd:string"/>
+      <xsd:element name="ResponseElement541" type="xsd:string"/>
+      <xsd:element name="RequestElement541" type="xsd:string"/>
+      <xsd:element name="ResponseElement542" type="xsd:string"/>
+      <xsd:element name="RequestElement542" type="xsd:string"/>
+      <xsd:element name="ResponseElement543" type="xsd:string"/>
+      <xsd:element name="RequestElement543" type="xsd:string"/>
+      <xsd:element name="ResponseElement544" type="xsd:string"/>
+      <xsd:element name="RequestElement544" type="xsd:string"/>
+      <xsd:element name="ResponseElement545" type="xsd:string"/>
+      <xsd:element name="RequestElement545" type="xsd:string"/>
+      <xsd:element name="ResponseElement546" type="xsd:string"/>
+      <xsd:element name="RequestElement546" type="xsd:string"/>
+      <xsd:element name="ResponseElement547" type="xsd:string"/>
+      <xsd:element name="RequestElement547" type="xsd:string"/>
+      <xsd:element name="ResponseElement548" type="xsd:string"/>
+      <xsd:element name="RequestElement548" type="xsd:string"/>
+      <xsd:element name="ResponseElement549" type="xsd:string"/>
+      <xsd:element name="RequestElement549" type="xsd:string"/>
+      <xsd:element name="ResponseElement550" type="xsd:string"/>
+      <xsd:element name="RequestElement550" type="xsd:string"/>
+      <xsd:element name="ResponseElement551" type="xsd:string"/>
+      <xsd:element name="RequestElement551" type="xsd:string"/>
+      <xsd:element name="ResponseElement552" type="xsd:string"/>
+      <xsd:element name="RequestElement552" type="xsd:string"/>
+      <xsd:element name="ResponseElement553" type="xsd:string"/>
+      <xsd:element name="RequestElement553" type="xsd:string"/>
+      <xsd:element name="ResponseElement554" type="xsd:string"/>
+      <xsd:element name="RequestElement554" type="xsd:string"/>
+      <xsd:element name="ResponseElement555" type="xsd:string"/>
+      <xsd:element name="RequestElement555" type="xsd:string"/>
+      <xsd:element name="ResponseElement556" type="xsd:string"/>
+      <xsd:element name="RequestElement556" type="xsd:string"/>
+      <xsd:element name="ResponseElement557" type="xsd:string"/>
+      <xsd:element name="RequestElement557" type="xsd:string"/>
+      <xsd:element name="ResponseElement558" type="xsd:string"/>
+      <xsd:element name="RequestElement558" type="xsd:string"/>
+      <xsd:element name="ResponseElement559" type="xsd:string"/>
+      <xsd:element name="RequestElement559" type="xsd:string"/>
+      <xsd:element name="ResponseElement560" type="xsd:string"/>
+      <xsd:element name="RequestElement560" type="xsd:string"/>
+      <xsd:element name="ResponseElement561" type="xsd:string"/>
+      <xsd:element name="RequestElement561" type="xsd:string"/>
+      <xsd:element name="ResponseElement562" type="xsd:string"/>
+      <xsd:element name="RequestElement562" type="xsd:string"/>
+      <xsd:element name="ResponseElement563" type="xsd:string"/>
+      <xsd:element name="RequestElement563" type="xsd:string"/>
+      <xsd:element name="ResponseElement564" type="xsd:string"/>
+      <xsd:element name="RequestElement564" type="xsd:string"/>
+      <xsd:element name="ResponseElement565" type="xsd:string"/>
+      <xsd:element name="RequestElement565" type="xsd:string"/>
+      <xsd:element name="ResponseElement566" type="xsd:string"/>
+      <xsd:element name="RequestElement566" type="xsd:string"/>
+      <xsd:element name="ResponseElement567" type="xsd:string"/>
+      <xsd:element name="RequestElement567" type="xsd:string"/>
+      <xsd:element name="ResponseElement568" type="xsd:string"/>
+      <xsd:element name="RequestElement568" type="xsd:string"/>
+      <xsd:element name="ResponseElement569" type="xsd:string"/>
+      <xsd:element name="RequestElement569" type="xsd:string"/>
+      <xsd:element name="ResponseElement570" type="xsd:string"/>
+      <xsd:element name="RequestElement570" type="xsd:string"/>
+      <xsd:element name="ResponseElement571" type="xsd:string"/>
+      <xsd:element name="RequestElement571" type="xsd:string"/>
+      <xsd:element name="ResponseElement572" type="xsd:string"/>
+      <xsd:element name="RequestElement572" type="xsd:string"/>
+      <xsd:element name="ResponseElement573" type="xsd:string"/>
+      <xsd:element name="RequestElement573" type="xsd:string"/>
+      <xsd:element name="ResponseElement574" type="xsd:string"/>
+      <xsd:element name="RequestElement574" type="xsd:string"/>
+      <xsd:element name="ResponseElement575" type="xsd:string"/>
+      <xsd:element name="RequestElement575" type="xsd:string"/>
+      <xsd:element name="ResponseElement576" type="xsd:string"/>
+      <xsd:element name="RequestElement576" type="xsd:string"/>
+      <xsd:element name="ResponseElement577" type="xsd:string"/>
+      <xsd:element name="RequestElement577" type="xsd:string"/>
+      <xsd:element name="ResponseElement578" type="xsd:string"/>
+      <xsd:element name="RequestElement578" type="xsd:string"/>
+      <xsd:element name="ResponseElement579" type="xsd:string"/>
+      <xsd:element name="RequestElement579" type="xsd:string"/>
+      <xsd:element name="ResponseElement580" type="xsd:string"/>
+      <xsd:element name="RequestElement580" type="xsd:string"/>
+      <xsd:element name="ResponseElement581" type="xsd:string"/>
+      <xsd:element name="RequestElement581" type="xsd:string"/>
+      <xsd:element name="ResponseElement582" type="xsd:string"/>
+      <xsd:element name="RequestElement582" type="xsd:string"/>
+      <xsd:element name="ResponseElement583" type="xsd:string"/>
+      <xsd:element name="RequestElement583" type="xsd:string"/>
+      <xsd:element name="ResponseElement584" type="xsd:string"/>
+      <xsd:element name="RequestElement584" type="xsd:string"/>
+      <xsd:element name="ResponseElement585" type="xsd:string"/>
+      <xsd:element name="RequestElement585" type="xsd:string"/>
+      <xsd:element name="ResponseElement586" type="xsd:string"/>
+      <xsd:element name="RequestElement586" type="xsd:string"/>
+      <xsd:element name="ResponseElement587" type="xsd:string"/>
+      <xsd:element name="RequestElement587" type="xsd:string"/>
+      <xsd:element name="ResponseElement588" type="xsd:string"/>
+      <xsd:element name="RequestElement588" type="xsd:string"/>
+      <xsd:element name="ResponseElement589" type="xsd:string"/>
+      <xsd:element name="RequestElement589" type="xsd:string"/>
+      <xsd:element name="ResponseElement590" type="xsd:string"/>
+      <xsd:element name="RequestElement590" type="xsd:string"/>
+      <xsd:element name="ResponseElement591" type="xsd:string"/>
+      <xsd:element name="RequestElement591" type="xsd:string"/>
+      <xsd:element name="ResponseElement592" type="xsd:string"/>
+      <xsd:element name="RequestElement592" type="xsd:string"/>
+      <xsd:element name="ResponseElement593" type="xsd:string"/>
+      <xsd:element name="RequestElement593" type="xsd:string"/>
+      <xsd:element name="ResponseElement594" type="xsd:string"/>
+      <xsd:element name="RequestElement594" type="xsd:string"/>
+      <xsd:element name="ResponseElement595" type="xsd:string"/>
+      <xsd:element name="RequestElement595" type="xsd:string"/>
+      <xsd:element name="ResponseElement596" type="xsd:string"/>
+      <xsd:element name="RequestElement596" type="xsd:string"/>
+      <xsd:element name="ResponseElement597" type="xsd:string"/>
+      <xsd:element name="RequestElement597" type="xsd:string"/>
+      <xsd:element name="ResponseElement598" type="xsd:string"/>
+      <xsd:element name="RequestElement598" type="xsd:string"/>
+      <xsd:element name="ResponseElement599" type="xsd:string"/>
+      <xsd:element name="RequestElement599" type="xsd:string"/>
+      <xsd:element name="ResponseElement600" type="xsd:string"/>
+      <xsd:element name="RequestElement600" type="xsd:string"/>
+      <xsd:element name="ResponseElement601" type="xsd:string"/>
+      <xsd:element name="RequestElement601" type="xsd:string"/>
+      <xsd:element name="ResponseElement602" type="xsd:string"/>
+      <xsd:element name="RequestElement602" type="xsd:string"/>
+      <xsd:element name="ResponseElement603" type="xsd:string"/>
+      <xsd:element name="RequestElement603" type="xsd:string"/>
+      <xsd:element name="ResponseElement604" type="xsd:string"/>
+      <xsd:element name="RequestElement604" type="xsd:string"/>
+      <xsd:element name="ResponseElement605" type="xsd:string"/>
+      <xsd:element name="RequestElement605" type="xsd:string"/>
+      <xsd:element name="ResponseElement606" type="xsd:string"/>
+      <xsd:element name="RequestElement606" type="xsd:string"/>
+      <xsd:element name="ResponseElement607" type="xsd:string"/>
+      <xsd:element name="RequestElement607" type="xsd:string"/>
+      <xsd:element name="ResponseElement608" type="xsd:string"/>
+      <xsd:element name="RequestElement608" type="xsd:string"/>
+      <xsd:element name="ResponseElement609" type="xsd:string"/>
+      <xsd:element name="RequestElement609" type="xsd:string"/>
+      <xsd:element name="ResponseElement610" type="xsd:string"/>
+      <xsd:element name="RequestElement610" type="xsd:string"/>
+      <xsd:element name="ResponseElement611" type="xsd:string"/>
+      <xsd:element name="RequestElement611" type="xsd:string"/>
+      <xsd:element name="ResponseElement612" type="xsd:string"/>
+      <xsd:element name="RequestElement612" type="xsd:string"/>
+      <xsd:element name="ResponseElement613" type="xsd:string"/>
+      <xsd:element name="RequestElement613" type="xsd:string"/>
+      <xsd:element name="ResponseElement614" type="xsd:string"/>
+      <xsd:element name="RequestElement614" type="xsd:string"/>
+      <xsd:element name="ResponseElement615" type="xsd:string"/>
+      <xsd:element name="RequestElement615" type="xsd:string"/>
+      <xsd:element name="ResponseElement616" type="xsd:string"/>
+      <xsd:element name="RequestElement616" type="xsd:string"/>
+      <xsd:element name="ResponseElement617" type="xsd:string"/>
+      <xsd:element name="RequestElement617" type="xsd:string"/>
+      <xsd:element name="ResponseElement618" type="xsd:string"/>
+      <xsd:element name="RequestElement618" type="xsd:string"/>
+      <xsd:element name="ResponseElement619" type="xsd:string"/>
+      <xsd:element name="RequestElement619" type="xsd:string"/>
+      <xsd:element name="ResponseElement620" type="xsd:string"/>
+      <xsd:element name="RequestElement620" type="xsd:string"/>
+      <xsd:element name="ResponseElement621" type="xsd:string"/>
+      <xsd:element name="RequestElement621" type="xsd:string"/>
+      <xsd:element name="ResponseElement622" type="xsd:string"/>
+      <xsd:element name="RequestElement622" type="xsd:string"/>
+      <xsd:element name="ResponseElement623" type="xsd:string"/>
+      <xsd:element name="RequestElement623" type="xsd:string"/>
+      <xsd:element name="ResponseElement624" type="xsd:string"/>
+      <xsd:element name="RequestElement624" type="xsd:string"/>
+      <xsd:element name="ResponseElement625" type="xsd:string"/>
+      <xsd:element name="RequestElement625" type="xsd:string"/>
+      <xsd:element name="ResponseElement626" type="xsd:string"/>
+      <xsd:element name="RequestElement626" type="xsd:string"/>
+      <xsd:element name="ResponseElement627" type="xsd:string"/>
+      <xsd:element name="RequestElement627" type="xsd:string"/>
+      <xsd:element name="ResponseElement628" type="xsd:string"/>
+      <xsd:element name="RequestElement628" type="xsd:string"/>
+      <xsd:element name="ResponseElement629" type="xsd:string"/>
+      <xsd:element name="RequestElement629" type="xsd:string"/>
+      <xsd:element name="ResponseElement630" type="xsd:string"/>
+      <xsd:element name="RequestElement630" type="xsd:string"/>
+      <xsd:element name="ResponseElement631" type="xsd:string"/>
+      <xsd:element name="RequestElement631" type="xsd:string"/>
+      <xsd:element name="ResponseElement632" type="xsd:string"/>
+      <xsd:element name="RequestElement632" type="xsd:string"/>
+      <xsd:element name="ResponseElement633" type="xsd:string"/>
+      <xsd:element name="RequestElement633" type="xsd:string"/>
+      <xsd:element name="ResponseElement634" type="xsd:string"/>
+      <xsd:element name="RequestElement634" type="xsd:string"/>
+      <xsd:element name="ResponseElement635" type="xsd:string"/>
+      <xsd:element name="RequestElement635" type="xsd:string"/>
+      <xsd:element name="ResponseElement636" type="xsd:string"/>
+      <xsd:element name="RequestElement636" type="xsd:string"/>
+      <xsd:element name="ResponseElement637" type="xsd:string"/>
+      <xsd:element name="RequestElement637" type="xsd:string"/>
+      <xsd:element name="ResponseElement638" type="xsd:string"/>
+      <xsd:element name="RequestElement638" type="xsd:string"/>
+      <xsd:element name="ResponseElement639" type="xsd:string"/>
+      <xsd:element name="RequestElement639" type="xsd:string"/>
+      <xsd:element name="ResponseElement640" type="xsd:string"/>
+      <xsd:element name="RequestElement640" type="xsd:string"/>
+      <xsd:element name="ResponseElement641" type="xsd:string"/>
+      <xsd:element name="RequestElement641" type="xsd:string"/>
+      <xsd:element name="ResponseElement642" type="xsd:string"/>
+      <xsd:element name="RequestElement642" type="xsd:string"/>
+      <xsd:element name="ResponseElement643" type="xsd:string"/>
+      <xsd:element name="RequestElement643" type="xsd:string"/>
+      <xsd:element name="ResponseElement644" type="xsd:string"/>
+      <xsd:element name="RequestElement644" type="xsd:string"/>
+      <xsd:element name="ResponseElement645" type="xsd:string"/>
+      <xsd:element name="RequestElement645" type="xsd:string"/>
+      <xsd:element name="ResponseElement646" type="xsd:string"/>
+      <xsd:element name="RequestElement646" type="xsd:string"/>
+      <xsd:element name="ResponseElement647" type="xsd:string"/>
+      <xsd:element name="RequestElement647" type="xsd:string"/>
+      <xsd:element name="ResponseElement648" type="xsd:string"/>
+      <xsd:element name="RequestElement648" type="xsd:string"/>
+      <xsd:element name="ResponseElement649" type="xsd:string"/>
+      <xsd:element name="RequestElement649" type="xsd:string"/>
+      <xsd:element name="ResponseElement650" type="xsd:string"/>
+      <xsd:element name="RequestElement650" type="xsd:string"/>
+      <xsd:element name="ResponseElement651" type="xsd:string"/>
+      <xsd:element name="RequestElement651" type="xsd:string"/>
+      <xsd:element name="ResponseElement652" type="xsd:string"/>
+      <xsd:element name="RequestElement652" type="xsd:string"/>
+      <xsd:element name="ResponseElement653" type="xsd:string"/>
+      <xsd:element name="RequestElement653" type="xsd:string"/>
+      <xsd:element name="ResponseElement654" type="xsd:string"/>
+      <xsd:element name="RequestElement654" type="xsd:string"/>
+      <xsd:element name="ResponseElement655" type="xsd:string"/>
+      <xsd:element name="RequestElement655" type="xsd:string"/>
+      <xsd:element name="ResponseElement656" type="xsd:string"/>
+      <xsd:element name="RequestElement656" type="xsd:string"/>
+      <xsd:element name="ResponseElement657" type="xsd:string"/>
+      <xsd:element name="RequestElement657" type="xsd:string"/>
+      <xsd:element name="ResponseElement658" type="xsd:string"/>
+      <xsd:element name="RequestElement658" type="xsd:string"/>
+      <xsd:element name="ResponseElement659" type="xsd:string"/>
+      <xsd:element name="RequestElement659" type="xsd:string"/>
+      <xsd:element name="ResponseElement660" type="xsd:string"/>
+      <xsd:element name="RequestElement660" type="xsd:string"/>
+      <xsd:element name="ResponseElement661" type="xsd:string"/>
+      <xsd:element name="RequestElement661" type="xsd:string"/>
+      <xsd:element name="ResponseElement662" type="xsd:string"/>
+      <xsd:element name="RequestElement662" type="xsd:string"/>
+      <xsd:element name="ResponseElement663" type="xsd:string"/>
+      <xsd:element name="RequestElement663" type="xsd:string"/>
+      <xsd:element name="ResponseElement664" type="xsd:string"/>
+      <xsd:element name="RequestElement664" type="xsd:string"/>
+      <xsd:element name="ResponseElement665" type="xsd:string"/>
+      <xsd:element name="RequestElement665" type="xsd:string"/>
+      <xsd:element name="ResponseElement666" type="xsd:string"/>
+      <xsd:element name="RequestElement666" type="xsd:string"/>
+      <xsd:element name="ResponseElement667" type="xsd:string"/>
+      <xsd:element name="RequestElement667" type="xsd:string"/>
+      <xsd:element name="ResponseElement668" type="xsd:string"/>
+      <xsd:element name="RequestElement668" type="xsd:string"/>
+      <xsd:element name="ResponseElement669" type="xsd:string"/>
+      <xsd:element name="RequestElement669" type="xsd:string"/>
+      <xsd:element name="ResponseElement670" type="xsd:string"/>
+      <xsd:element name="RequestElement670" type="xsd:string"/>
+      <xsd:element name="ResponseElement671" type="xsd:string"/>
+      <xsd:element name="RequestElement671" type="xsd:string"/>
+      <xsd:element name="ResponseElement672" type="xsd:string"/>
+      <xsd:element name="RequestElement672" type="xsd:string"/>
+      <xsd:element name="ResponseElement673" type="xsd:string"/>
+      <xsd:element name="RequestElement673" type="xsd:string"/>
+      <xsd:element name="ResponseElement674" type="xsd:string"/>
+      <xsd:element name="RequestElement674" type="xsd:string"/>
+      <xsd:element name="ResponseElement675" type="xsd:string"/>
+      <xsd:element name="RequestElement675" type="xsd:string"/>
+      <xsd:element name="ResponseElement676" type="xsd:string"/>
+      <xsd:element name="RequestElement676" type="xsd:string"/>
+      <xsd:element name="ResponseElement677" type="xsd:string"/>
+      <xsd:element name="RequestElement677" type="xsd:string"/>
+      <xsd:element name="ResponseElement678" type="xsd:string"/>
+      <xsd:element name="RequestElement678" type="xsd:string"/>
+      <xsd:element name="ResponseElement679" type="xsd:string"/>
+      <xsd:element name="RequestElement679" type="xsd:string"/>
+      <xsd:element name="ResponseElement680" type="xsd:string"/>
+      <xsd:element name="RequestElement680" type="xsd:string"/>
+      <xsd:element name="ResponseElement681" type="xsd:string"/>
+      <xsd:element name="RequestElement681" type="xsd:string"/>
+      <xsd:element name="ResponseElement682" type="xsd:string"/>
+      <xsd:element name="RequestElement682" type="xsd:string"/>
+      <xsd:element name="ResponseElement683" type="xsd:string"/>
+      <xsd:element name="RequestElement683" type="xsd:string"/>
+      <xsd:element name="ResponseElement684" type="xsd:string"/>
+      <xsd:element name="RequestElement684" type="xsd:string"/>
+      <xsd:element name="ResponseElement685" type="xsd:string"/>
+      <xsd:element name="RequestElement685" type="xsd:string"/>
+      <xsd:element name="ResponseElement686" type="xsd:string"/>
+      <xsd:element name="RequestElement686" type="xsd:string"/>
+      <xsd:element name="ResponseElement687" type="xsd:string"/>
+      <xsd:element name="RequestElement687" type="xsd:string"/>
+      <xsd:element name="ResponseElement688" type="xsd:string"/>
+      <xsd:element name="RequestElement688" type="xsd:string"/>
+      <xsd:element name="ResponseElement689" type="xsd:string"/>
+      <xsd:element name="RequestElement689" type="xsd:string"/>
+      <xsd:element name="ResponseElement690" type="xsd:string"/>
+      <xsd:element name="RequestElement690" type="xsd:string"/>
+      <xsd:element name="ResponseElement691" type="xsd:string"/>
+      <xsd:element name="RequestElement691" type="xsd:string"/>
+      <xsd:element name="ResponseElement692" type="xsd:string"/>
+      <xsd:element name="RequestElement692" type="xsd:string"/>
+      <xsd:element name="ResponseElement693" type="xsd:string"/>
+      <xsd:element name="RequestElement693" type="xsd:string"/>
+      <xsd:element name="ResponseElement694" type="xsd:string"/>
+      <xsd:element name="RequestElement694" type="xsd:string"/>
+      <xsd:element name="ResponseElement695" type="xsd:string"/>
+      <xsd:element name="RequestElement695" type="xsd:string"/>
+      <xsd:element name="ResponseElement696" type="xsd:string"/>
+      <xsd:element name="RequestElement696" type="xsd:string"/>
+      <xsd:element name="ResponseElement697" type="xsd:string"/>
+      <xsd:element name="RequestElement697" type="xsd:string"/>
+      <xsd:element name="ResponseElement698" type="xsd:string"/>
+      <xsd:element name="RequestElement698" type="xsd:string"/>
+      <xsd:element name="ResponseElement699" type="xsd:string"/>
+      <xsd:element name="RequestElement699" type="xsd:string"/>
+      <xsd:element name="ResponseElement700" type="xsd:string"/>
+      <xsd:element name="RequestElement700" type="xsd:string"/>
+      <xsd:element name="ResponseElement701" type="xsd:string"/>
+      <xsd:element name="RequestElement701" type="xsd:string"/>
+      <xsd:element name="ResponseElement702" type="xsd:string"/>
+      <xsd:element name="RequestElement702" type="xsd:string"/>
+      <xsd:element name="ResponseElement703" type="xsd:string"/>
+      <xsd:element name="RequestElement703" type="xsd:string"/>
+      <xsd:element name="ResponseElement704" type="xsd:string"/>
+      <xsd:element name="RequestElement704" type="xsd:string"/>
+      <xsd:element name="ResponseElement705" type="xsd:string"/>
+      <xsd:element name="RequestElement705" type="xsd:string"/>
+      <xsd:element name="ResponseElement706" type="xsd:string"/>
+      <xsd:element name="RequestElement706" type="xsd:string"/>
+      <xsd:element name="ResponseElement707" type="xsd:string"/>
+      <xsd:element name="RequestElement707" type="xsd:string"/>
+      <xsd:element name="ResponseElement708" type="xsd:string"/>
+      <xsd:element name="RequestElement708" type="xsd:string"/>
+      <xsd:element name="ResponseElement709" type="xsd:string"/>
+      <xsd:element name="RequestElement709" type="xsd:string"/>
+      <xsd:element name="ResponseElement710" type="xsd:string"/>
+      <xsd:element name="RequestElement710" type="xsd:string"/>
+      <xsd:element name="ResponseElement711" type="xsd:string"/>
+      <xsd:element name="RequestElement711" type="xsd:string"/>
+      <xsd:element name="ResponseElement712" type="xsd:string"/>
+      <xsd:element name="RequestElement712" type="xsd:string"/>
+      <xsd:element name="ResponseElement713" type="xsd:string"/>
+      <xsd:element name="RequestElement713" type="xsd:string"/>
+      <xsd:element name="ResponseElement714" type="xsd:string"/>
+      <xsd:element name="RequestElement714" type="xsd:string"/>
+      <xsd:element name="ResponseElement715" type="xsd:string"/>
+      <xsd:element name="RequestElement715" type="xsd:string"/>
+      <xsd:element name="ResponseElement716" type="xsd:string"/>
+      <xsd:element name="RequestElement716" type="xsd:string"/>
+      <xsd:element name="ResponseElement717" type="xsd:string"/>
+      <xsd:element name="RequestElement717" type="xsd:string"/>
+      <xsd:element name="ResponseElement718" type="xsd:string"/>
+      <xsd:element name="RequestElement718" type="xsd:string"/>
+      <xsd:element name="ResponseElement719" type="xsd:string"/>
+      <xsd:element name="RequestElement719" type="xsd:string"/>
+      <xsd:element name="ResponseElement720" type="xsd:string"/>
+      <xsd:element name="RequestElement720" type="xsd:string"/>
+      <xsd:element name="ResponseElement721" type="xsd:string"/>
+      <xsd:element name="RequestElement721" type="xsd:string"/>
+      <xsd:element name="ResponseElement722" type="xsd:string"/>
+      <xsd:element name="RequestElement722" type="xsd:string"/>
+      <xsd:element name="ResponseElement723" type="xsd:string"/>
+      <xsd:element name="RequestElement723" type="xsd:string"/>
+      <xsd:element name="ResponseElement724" type="xsd:string"/>
+      <xsd:element name="RequestElement724" type="xsd:string"/>
+      <xsd:element name="ResponseElement725" type="xsd:string"/>
+      <xsd:element name="RequestElement725" type="xsd:string"/>
+      <xsd:element name="ResponseElement726" type="xsd:string"/>
+      <xsd:element name="RequestElement726" type="xsd:string"/>
+      <xsd:element name="ResponseElement727" type="xsd:string"/>
+      <xsd:element name="RequestElement727" type="xsd:string"/>
+      <xsd:element name="ResponseElement728" type="xsd:string"/>
+      <xsd:element name="RequestElement728" type="xsd:string"/>
+      <xsd:element name="ResponseElement729" type="xsd:string"/>
+      <xsd:element name="RequestElement729" type="xsd:string"/>
+      <xsd:element name="ResponseElement730" type="xsd:string"/>
+      <xsd:element name="RequestElement730" type="xsd:string"/>
+      <xsd:element name="ResponseElement731" type="xsd:string"/>
+      <xsd:element name="RequestElement731" type="xsd:string"/>
+      <xsd:element name="ResponseElement732" type="xsd:string"/>
+      <xsd:element name="RequestElement732" type="xsd:string"/>
+      <xsd:element name="ResponseElement733" type="xsd:string"/>
+      <xsd:element name="RequestElement733" type="xsd:string"/>
+      <xsd:element name="ResponseElement734" type="xsd:string"/>
+      <xsd:element name="RequestElement734" type="xsd:string"/>
+      <xsd:element name="ResponseElement735" type="xsd:string"/>
+      <xsd:element name="RequestElement735" type="xsd:string"/>
+      <xsd:element name="ResponseElement736" type="xsd:string"/>
+      <xsd:element name="RequestElement736" type="xsd:string"/>
+      <xsd:element name="ResponseElement737" type="xsd:string"/>
+      <xsd:element name="RequestElement737" type="xsd:string"/>
+      <xsd:element name="ResponseElement738" type="xsd:string"/>
+      <xsd:element name="RequestElement738" type="xsd:string"/>
+      <xsd:element name="ResponseElement739" type="xsd:string"/>
+      <xsd:element name="RequestElement739" type="xsd:string"/>
+      <xsd:element name="ResponseElement740" type="xsd:string"/>
+      <xsd:element name="RequestElement740" type="xsd:string"/>
+      <xsd:element name="ResponseElement741" type="xsd:string"/>
+      <xsd:element name="RequestElement741" type="xsd:string"/>
+      <xsd:element name="ResponseElement742" type="xsd:string"/>
+      <xsd:element name="RequestElement742" type="xsd:string"/>
+      <xsd:element name="ResponseElement743" type="xsd:string"/>
+      <xsd:element name="RequestElement743" type="xsd:string"/>
+      <xsd:element name="ResponseElement744" type="xsd:string"/>
+      <xsd:element name="RequestElement744" type="xsd:string"/>
+      <xsd:element name="ResponseElement745" type="xsd:string"/>
+      <xsd:element name="RequestElement745" type="xsd:string"/>
+      <xsd:element name="ResponseElement746" type="xsd:string"/>
+      <xsd:element name="RequestElement746" type="xsd:string"/>
+      <xsd:element name="ResponseElement747" type="xsd:string"/>
+      <xsd:element name="RequestElement747" type="xsd:string"/>
+      <xsd:element name="ResponseElement748" type="xsd:string"/>
+      <xsd:element name="RequestElement748" type="xsd:string"/>
+      <xsd:element name="ResponseElement749" type="xsd:string"/>
+      <xsd:element name="RequestElement749" type="xsd:string"/>
+      <xsd:element name="ResponseElement750" type="xsd:string"/>
+      <xsd:element name="RequestElement750" type="xsd:string"/>
+      <xsd:element name="ResponseElement751" type="xsd:string"/>
+      <xsd:element name="RequestElement751" type="xsd:string"/>
+      <xsd:element name="ResponseElement752" type="xsd:string"/>
+      <xsd:element name="RequestElement752" type="xsd:string"/>
+      <xsd:element name="ResponseElement753" type="xsd:string"/>
+      <xsd:element name="RequestElement753" type="xsd:string"/>
+      <xsd:element name="ResponseElement754" type="xsd:string"/>
+      <xsd:element name="RequestElement754" type="xsd:string"/>
+      <xsd:element name="ResponseElement755" type="xsd:string"/>
+      <xsd:element name="RequestElement755" type="xsd:string"/>
+      <xsd:element name="ResponseElement756" type="xsd:string"/>
+      <xsd:element name="RequestElement756" type="xsd:string"/>
+      <xsd:element name="ResponseElement757" type="xsd:string"/>
+      <xsd:element name="RequestElement757" type="xsd:string"/>
+      <xsd:element name="ResponseElement758" type="xsd:string"/>
+      <xsd:element name="RequestElement758" type="xsd:string"/>
+      <xsd:element name="ResponseElement759" type="xsd:string"/>
+      <xsd:element name="RequestElement759" type="xsd:string"/>
+      <xsd:element name="ResponseElement760" type="xsd:string"/>
+      <xsd:element name="RequestElement760" type="xsd:string"/>
+      <xsd:element name="ResponseElement761" type="xsd:string"/>
+      <xsd:element name="RequestElement761" type="xsd:string"/>
+      <xsd:element name="ResponseElement762" type="xsd:string"/>
+      <xsd:element name="RequestElement762" type="xsd:string"/>
+      <xsd:element name="ResponseElement763" type="xsd:string"/>
+      <xsd:element name="RequestElement763" type="xsd:string"/>
+      <xsd:element name="ResponseElement764" type="xsd:string"/>
+      <xsd:element name="RequestElement764" type="xsd:string"/>
+      <xsd:element name="ResponseElement765" type="xsd:string"/>
+      <xsd:element name="RequestElement765" type="xsd:string"/>
+      <xsd:element name="ResponseElement766" type="xsd:string"/>
+      <xsd:element name="RequestElement766" type="xsd:string"/>
+      <xsd:element name="ResponseElement767" type="xsd:string"/>
+      <xsd:element name="RequestElement767" type="xsd:string"/>
+      <xsd:element name="ResponseElement768" type="xsd:string"/>
+      <xsd:element name="RequestElement768" type="xsd:string"/>
+      <xsd:element name="ResponseElement769" type="xsd:string"/>
+      <xsd:element name="RequestElement769" type="xsd:string"/>
+      <xsd:element name="ResponseElement770" type="xsd:string"/>
+      <xsd:element name="RequestElement770" type="xsd:string"/>
+      <xsd:element name="ResponseElement771" type="xsd:string"/>
+      <xsd:element name="RequestElement771" type="xsd:string"/>
+      <xsd:element name="ResponseElement772" type="xsd:string"/>
+      <xsd:element name="RequestElement772" type="xsd:string"/>
+      <xsd:element name="ResponseElement773" type="xsd:string"/>
+      <xsd:element name="RequestElement773" type="xsd:string"/>
+      <xsd:element name="ResponseElement774" type="xsd:string"/>
+      <xsd:element name="RequestElement774" type="xsd:string"/>
+      <xsd:element name="ResponseElement775" type="xsd:string"/>
+      <xsd:element name="RequestElement775" type="xsd:string"/>
+      <xsd:element name="ResponseElement776" type="xsd:string"/>
+      <xsd:element name="RequestElement776" type="xsd:string"/>
+      <xsd:element name="ResponseElement777" type="xsd:string"/>
+      <xsd:element name="RequestElement777" type="xsd:string"/>
+      <xsd:element name="ResponseElement778" type="xsd:string"/>
+      <xsd:element name="RequestElement778" type="xsd:string"/>
+      <xsd:element name="ResponseElement779" type="xsd:string"/>
+      <xsd:element name="RequestElement779" type="xsd:string"/>
+      <xsd:element name="ResponseElement780" type="xsd:string"/>
+      <xsd:element name="RequestElement780" type="xsd:string"/>
+      <xsd:element name="ResponseElement781" type="xsd:string"/>
+      <xsd:element name="RequestElement781" type="xsd:string"/>
+      <xsd:element name="ResponseElement782" type="xsd:string"/>
+      <xsd:element name="RequestElement782" type="xsd:string"/>
+      <xsd:element name="ResponseElement783" type="xsd:string"/>
+      <xsd:element name="RequestElement783" type="xsd:string"/>
+      <xsd:element name="ResponseElement784" type="xsd:string"/>
+      <xsd:element name="RequestElement784" type="xsd:string"/>
+      <xsd:element name="ResponseElement785" type="xsd:string"/>
+      <xsd:element name="RequestElement785" type="xsd:string"/>
+      <xsd:element name="ResponseElement786" type="xsd:string"/>
+      <xsd:element name="RequestElement786" type="xsd:string"/>
+      <xsd:element name="ResponseElement787" type="xsd:string"/>
+      <xsd:element name="RequestElement787" type="xsd:string"/>
+      <xsd:element name="ResponseElement788" type="xsd:string"/>
+      <xsd:element name="RequestElement788" type="xsd:string"/>
+      <xsd:element name="ResponseElement789" type="xsd:string"/>
+      <xsd:element name="RequestElement789" type="xsd:string"/>
+      <xsd:element name="ResponseElement790" type="xsd:string"/>
+      <xsd:element name="RequestElement790" type="xsd:string"/>
+      <xsd:element name="ResponseElement791" type="xsd:string"/>
+      <xsd:element name="RequestElement791" type="xsd:string"/>
+      <xsd:element name="ResponseElement792" type="xsd:string"/>
+      <xsd:element name="RequestElement792" type="xsd:string"/>
+      <xsd:element name="ResponseElement793" type="xsd:string"/>
+      <xsd:element name="RequestElement793" type="xsd:string"/>
+      <xsd:element name="ResponseElement794" type="xsd:string"/>
+      <xsd:element name="RequestElement794" type="xsd:string"/>
+      <xsd:element name="ResponseElement795" type="xsd:string"/>
+      <xsd:element name="RequestElement795" type="xsd:string"/>
+      <xsd:element name="ResponseElement796" type="xsd:string"/>
+      <xsd:element name="RequestElement796" type="xsd:string"/>
+      <xsd:element name="ResponseElement797" type="xsd:string"/>
+      <xsd:element name="RequestElement797" type="xsd:string"/>
+      <xsd:element name="ResponseElement798" type="xsd:string"/>
+      <xsd:element name="RequestElement798" type="xsd:string"/>
+      <xsd:element name="ResponseElement799" type="xsd:string"/>
+      <xsd:element name="RequestElement799" type="xsd:string"/>
+      <xsd:element name="ResponseElement800" type="xsd:string"/>
+      <xsd:element name="RequestElement800" type="xsd:string"/>
+      <xsd:element name="ResponseElement801" type="xsd:string"/>
+      <xsd:element name="RequestElement801" type="xsd:string"/>
+      <xsd:element name="ResponseElement802" type="xsd:string"/>
+      <xsd:element name="RequestElement802" type="xsd:string"/>
+      <xsd:element name="ResponseElement803" type="xsd:string"/>
+      <xsd:element name="RequestElement803" type="xsd:string"/>
+      <xsd:element name="ResponseElement804" type="xsd:string"/>
+      <xsd:element name="RequestElement804" type="xsd:string"/>
+      <xsd:element name="ResponseElement805" type="xsd:string"/>
+      <xsd:element name="RequestElement805" type="xsd:string"/>
+      <xsd:element name="ResponseElement806" type="xsd:string"/>
+      <xsd:element name="RequestElement806" type="xsd:string"/>
+      <xsd:element name="ResponseElement807" type="xsd:string"/>
+      <xsd:element name="RequestElement807" type="xsd:string"/>
+      <xsd:element name="ResponseElement808" type="xsd:string"/>
+      <xsd:element name="RequestElement808" type="xsd:string"/>
+      <xsd:element name="ResponseElement809" type="xsd:string"/>
+      <xsd:element name="RequestElement809" type="xsd:string"/>
+      <xsd:element name="ResponseElement810" type="xsd:string"/>
+      <xsd:element name="RequestElement810" type="xsd:string"/>
+      <xsd:element name="ResponseElement811" type="xsd:string"/>
+      <xsd:element name="RequestElement811" type="xsd:string"/>
+      <xsd:element name="ResponseElement812" type="xsd:string"/>
+      <xsd:element name="RequestElement812" type="xsd:string"/>
+      <xsd:element name="ResponseElement813" type="xsd:string"/>
+      <xsd:element name="RequestElement813" type="xsd:string"/>
+      <xsd:element name="ResponseElement814" type="xsd:string"/>
+      <xsd:element name="RequestElement814" type="xsd:string"/>
+      <xsd:element name="ResponseElement815" type="xsd:string"/>
+      <xsd:element name="RequestElement815" type="xsd:string"/>
+      <xsd:element name="ResponseElement816" type="xsd:string"/>
+      <xsd:element name="RequestElement816" type="xsd:string"/>
+      <xsd:element name="ResponseElement817" type="xsd:string"/>
+      <xsd:element name="RequestElement817" type="xsd:string"/>
+      <xsd:element name="ResponseElement818" type="xsd:string"/>
+      <xsd:element name="RequestElement818" type="xsd:string"/>
+      <xsd:element name="ResponseElement819" type="xsd:string"/>
+      <xsd:element name="RequestElement819" type="xsd:string"/>
+      <xsd:element name="ResponseElement820" type="xsd:string"/>
+      <xsd:element name="RequestElement820" type="xsd:string"/>
+      <xsd:element name="ResponseElement821" type="xsd:string"/>
+      <xsd:element name="RequestElement821" type="xsd:string"/>
+      <xsd:element name="ResponseElement822" type="xsd:string"/>
+      <xsd:element name="RequestElement822" type="xsd:string"/>
+      <xsd:element name="ResponseElement823" type="xsd:string"/>
+      <xsd:element name="RequestElement823" type="xsd:string"/>
+      <xsd:element name="ResponseElement824" type="xsd:string"/>
+      <xsd:element name="RequestElement824" type="xsd:string"/>
+      <xsd:element name="ResponseElement825" type="xsd:string"/>
+      <xsd:element name="RequestElement825" type="xsd:string"/>
+      <xsd:element name="ResponseElement826" type="xsd:string"/>
+      <xsd:element name="RequestElement826" type="xsd:string"/>
+      <xsd:element name="ResponseElement827" type="xsd:string"/>
+      <xsd:element name="RequestElement827" type="xsd:string"/>
+      <xsd:element name="ResponseElement828" type="xsd:string"/>
+      <xsd:element name="RequestElement828" type="xsd:string"/>
+      <xsd:element name="ResponseElement829" type="xsd:string"/>
+      <xsd:element name="RequestElement829" type="xsd:string"/>
+      <xsd:element name="ResponseElement830" type="xsd:string"/>
+      <xsd:element name="RequestElement830" type="xsd:string"/>
+      <xsd:element name="ResponseElement831" type="xsd:string"/>
+      <xsd:element name="RequestElement831" type="xsd:string"/>
+      <xsd:element name="ResponseElement832" type="xsd:string"/>
+      <xsd:element name="RequestElement832" type="xsd:string"/>
+      <xsd:element name="ResponseElement833" type="xsd:string"/>
+      <xsd:element name="RequestElement833" type="xsd:string"/>
+      <xsd:element name="ResponseElement834" type="xsd:string"/>
+      <xsd:element name="RequestElement834" type="xsd:string"/>
+      <xsd:element name="ResponseElement835" type="xsd:string"/>
+      <xsd:element name="RequestElement835" type="xsd:string"/>
+      <xsd:element name="ResponseElement836" type="xsd:string"/>
+      <xsd:element name="RequestElement836" type="xsd:string"/>
+      <xsd:element name="ResponseElement837" type="xsd:string"/>
+      <xsd:element name="RequestElement837" type="xsd:string"/>
+      <xsd:element name="ResponseElement838" type="xsd:string"/>
+      <xsd:element name="RequestElement838" type="xsd:string"/>
+      <xsd:element name="ResponseElement839" type="xsd:string"/>
+      <xsd:element name="RequestElement839" type="xsd:string"/>
+      <xsd:element name="ResponseElement840" type="xsd:string"/>
+      <xsd:element name="RequestElement840" type="xsd:string"/>
+      <xsd:element name="ResponseElement841" type="xsd:string"/>
+      <xsd:element name="RequestElement841" type="xsd:string"/>
+      <xsd:element name="ResponseElement842" type="xsd:string"/>
+      <xsd:element name="RequestElement842" type="xsd:string"/>
+      <xsd:element name="ResponseElement843" type="xsd:string"/>
+      <xsd:element name="RequestElement843" type="xsd:string"/>
+      <xsd:element name="ResponseElement844" type="xsd:string"/>
+      <xsd:element name="RequestElement844" type="xsd:string"/>
+      <xsd:element name="ResponseElement845" type="xsd:string"/>
+      <xsd:element name="RequestElement845" type="xsd:string"/>
+      <xsd:element name="ResponseElement846" type="xsd:string"/>
+      <xsd:element name="RequestElement846" type="xsd:string"/>
+      <xsd:element name="ResponseElement847" type="xsd:string"/>
+      <xsd:element name="RequestElement847" type="xsd:string"/>
+      <xsd:element name="ResponseElement848" type="xsd:string"/>
+      <xsd:element name="RequestElement848" type="xsd:string"/>
+      <xsd:element name="ResponseElement849" type="xsd:string"/>
+      <xsd:element name="RequestElement849" type="xsd:string"/>
+      <xsd:element name="ResponseElement850" type="xsd:string"/>
+      <xsd:element name="RequestElement850" type="xsd:string"/>
+      <xsd:element name="ResponseElement851" type="xsd:string"/>
+      <xsd:element name="RequestElement851" type="xsd:string"/>
+      <xsd:element name="ResponseElement852" type="xsd:string"/>
+      <xsd:element name="RequestElement852" type="xsd:string"/>
+      <xsd:element name="ResponseElement853" type="xsd:string"/>
+      <xsd:element name="RequestElement853" type="xsd:string"/>
+      <xsd:element name="ResponseElement854" type="xsd:string"/>
+      <xsd:element name="RequestElement854" type="xsd:string"/>
+      <xsd:element name="ResponseElement855" type="xsd:string"/>
+      <xsd:element name="RequestElement855" type="xsd:string"/>
+      <xsd:element name="ResponseElement856" type="xsd:string"/>
+      <xsd:element name="RequestElement856" type="xsd:string"/>
+      <xsd:element name="ResponseElement857" type="xsd:string"/>
+      <xsd:element name="RequestElement857" type="xsd:string"/>
+      <xsd:element name="ResponseElement858" type="xsd:string"/>
+      <xsd:element name="RequestElement858" type="xsd:string"/>
+      <xsd:element name="ResponseElement859" type="xsd:string"/>
+      <xsd:element name="RequestElement859" type="xsd:string"/>
+      <xsd:element name="ResponseElement860" type="xsd:string"/>
+      <xsd:element name="RequestElement860" type="xsd:string"/>
+      <xsd:element name="ResponseElement861" type="xsd:string"/>
+      <xsd:element name="RequestElement861" type="xsd:string"/>
+      <xsd:element name="ResponseElement862" type="xsd:string"/>
+      <xsd:element name="RequestElement862" type="xsd:string"/>
+      <xsd:element name="ResponseElement863" type="xsd:string"/>
+      <xsd:element name="RequestElement863" type="xsd:string"/>
+      <xsd:element name="ResponseElement864" type="xsd:string"/>
+      <xsd:element name="RequestElement864" type="xsd:string"/>
+      <xsd:element name="ResponseElement865" type="xsd:string"/>
+      <xsd:element name="RequestElement865" type="xsd:string"/>
+      <xsd:element name="ResponseElement866" type="xsd:string"/>
+      <xsd:element name="RequestElement866" type="xsd:string"/>
+      <xsd:element name="ResponseElement867" type="xsd:string"/>
+      <xsd:element name="RequestElement867" type="xsd:string"/>
+      <xsd:element name="ResponseElement868" type="xsd:string"/>
+      <xsd:element name="RequestElement868" type="xsd:string"/>
+      <xsd:element name="ResponseElement869" type="xsd:string"/>
+      <xsd:element name="RequestElement869" type="xsd:string"/>
+      <xsd:element name="ResponseElement870" type="xsd:string"/>
+      <xsd:element name="RequestElement870" type="xsd:string"/>
+      <xsd:element name="ResponseElement871" type="xsd:string"/>
+      <xsd:element name="RequestElement871" type="xsd:string"/>
+      <xsd:element name="ResponseElement872" type="xsd:string"/>
+      <xsd:element name="RequestElement872" type="xsd:string"/>
+      <xsd:element name="ResponseElement873" type="xsd:string"/>
+      <xsd:element name="RequestElement873" type="xsd:string"/>
+      <xsd:element name="ResponseElement874" type="xsd:string"/>
+      <xsd:element name="RequestElement874" type="xsd:string"/>
+      <xsd:element name="ResponseElement875" type="xsd:string"/>
+      <xsd:element name="RequestElement875" type="xsd:string"/>
+      <xsd:element name="ResponseElement876" type="xsd:string"/>
+      <xsd:element name="RequestElement876" type="xsd:string"/>
+      <xsd:element name="ResponseElement877" type="xsd:string"/>
+      <xsd:element name="RequestElement877" type="xsd:string"/>
+      <xsd:element name="ResponseElement878" type="xsd:string"/>
+      <xsd:element name="RequestElement878" type="xsd:string"/>
+      <xsd:element name="ResponseElement879" type="xsd:string"/>
+      <xsd:element name="RequestElement879" type="xsd:string"/>
+      <xsd:element name="ResponseElement880" type="xsd:string"/>
+      <xsd:element name="RequestElement880" type="xsd:string"/>
+      <xsd:element name="ResponseElement881" type="xsd:string"/>
+      <xsd:element name="RequestElement881" type="xsd:string"/>
+      <xsd:element name="ResponseElement882" type="xsd:string"/>
+      <xsd:element name="RequestElement882" type="xsd:string"/>
+      <xsd:element name="ResponseElement883" type="xsd:string"/>
+      <xsd:element name="RequestElement883" type="xsd:string"/>
+      <xsd:element name="ResponseElement884" type="xsd:string"/>
+      <xsd:element name="RequestElement884" type="xsd:string"/>
+      <xsd:element name="ResponseElement885" type="xsd:string"/>
+      <xsd:element name="RequestElement885" type="xsd:string"/>
+      <xsd:element name="ResponseElement886" type="xsd:string"/>
+      <xsd:element name="RequestElement886" type="xsd:string"/>
+      <xsd:element name="ResponseElement887" type="xsd:string"/>
+      <xsd:element name="RequestElement887" type="xsd:string"/>
+      <xsd:element name="ResponseElement888" type="xsd:string"/>
+      <xsd:element name="RequestElement888" type="xsd:string"/>
+      <xsd:element name="ResponseElement889" type="xsd:string"/>
+      <xsd:element name="RequestElement889" type="xsd:string"/>
+      <xsd:element name="ResponseElement890" type="xsd:string"/>
+      <xsd:element name="RequestElement890" type="xsd:string"/>
+      <xsd:element name="ResponseElement891" type="xsd:string"/>
+      <xsd:element name="RequestElement891" type="xsd:string"/>
+      <xsd:element name="ResponseElement892" type="xsd:string"/>
+      <xsd:element name="RequestElement892" type="xsd:string"/>
+      <xsd:element name="ResponseElement893" type="xsd:string"/>
+      <xsd:element name="RequestElement893" type="xsd:string"/>
+      <xsd:element name="ResponseElement894" type="xsd:string"/>
+      <xsd:element name="RequestElement894" type="xsd:string"/>
+      <xsd:element name="ResponseElement895" type="xsd:string"/>
+      <xsd:element name="RequestElement895" type="xsd:string"/>
+      <xsd:element name="ResponseElement896" type="xsd:string"/>
+      <xsd:element name="RequestElement896" type="xsd:string"/>
+      <xsd:element name="ResponseElement897" type="xsd:string"/>
+      <xsd:element name="RequestElement897" type="xsd:string"/>
+      <xsd:element name="ResponseElement898" type="xsd:string"/>
+      <xsd:element name="RequestElement898" type="xsd:string"/>
+      <xsd:element name="ResponseElement899" type="xsd:string"/>
+      <xsd:element name="RequestElement899" type="xsd:string"/>
+      <xsd:element name="ResponseElement900" type="xsd:string"/>
+      <xsd:element name="RequestElement900" type="xsd:string"/>
+      <xsd:element name="ResponseElement901" type="xsd:string"/>
+      <xsd:element name="RequestElement901" type="xsd:string"/>
+      <xsd:element name="ResponseElement902" type="xsd:string"/>
+      <xsd:element name="RequestElement902" type="xsd:string"/>
+      <xsd:element name="ResponseElement903" type="xsd:string"/>
+      <xsd:element name="RequestElement903" type="xsd:string"/>
+      <xsd:element name="ResponseElement904" type="xsd:string"/>
+      <xsd:element name="RequestElement904" type="xsd:string"/>
+      <xsd:element name="ResponseElement905" type="xsd:string"/>
+      <xsd:element name="RequestElement905" type="xsd:string"/>
+      <xsd:element name="ResponseElement906" type="xsd:string"/>
+      <xsd:element name="RequestElement906" type="xsd:string"/>
+      <xsd:element name="ResponseElement907" type="xsd:string"/>
+      <xsd:element name="RequestElement907" type="xsd:string"/>
+      <xsd:element name="ResponseElement908" type="xsd:string"/>
+      <xsd:element name="RequestElement908" type="xsd:string"/>
+      <xsd:element name="ResponseElement909" type="xsd:string"/>
+      <xsd:element name="RequestElement909" type="xsd:string"/>
+      <xsd:element name="ResponseElement910" type="xsd:string"/>
+      <xsd:element name="RequestElement910" type="xsd:string"/>
+      <xsd:element name="ResponseElement911" type="xsd:string"/>
+      <xsd:element name="RequestElement911" type="xsd:string"/>
+      <xsd:element name="ResponseElement912" type="xsd:string"/>
+      <xsd:element name="RequestElement912" type="xsd:string"/>
+      <xsd:element name="ResponseElement913" type="xsd:string"/>
+      <xsd:element name="RequestElement913" type="xsd:string"/>
+      <xsd:element name="ResponseElement914" type="xsd:string"/>
+      <xsd:element name="RequestElement914" type="xsd:string"/>
+      <xsd:element name="ResponseElement915" type="xsd:string"/>
+      <xsd:element name="RequestElement915" type="xsd:string"/>
+      <xsd:element name="ResponseElement916" type="xsd:string"/>
+      <xsd:element name="RequestElement916" type="xsd:string"/>
+      <xsd:element name="ResponseElement917" type="xsd:string"/>
+      <xsd:element name="RequestElement917" type="xsd:string"/>
+      <xsd:element name="ResponseElement918" type="xsd:string"/>
+      <xsd:element name="RequestElement918" type="xsd:string"/>
+      <xsd:element name="ResponseElement919" type="xsd:string"/>
+      <xsd:element name="RequestElement919" type="xsd:string"/>
+      <xsd:element name="ResponseElement920" type="xsd:string"/>
+      <xsd:element name="RequestElement920" type="xsd:string"/>
+      <xsd:element name="ResponseElement921" type="xsd:string"/>
+      <xsd:element name="RequestElement921" type="xsd:string"/>
+      <xsd:element name="ResponseElement922" type="xsd:string"/>
+      <xsd:element name="RequestElement922" type="xsd:string"/>
+      <xsd:element name="ResponseElement923" type="xsd:string"/>
+      <xsd:element name="RequestElement923" type="xsd:string"/>
+      <xsd:element name="ResponseElement924" type="xsd:string"/>
+      <xsd:element name="RequestElement924" type="xsd:string"/>
+      <xsd:element name="ResponseElement925" type="xsd:string"/>
+      <xsd:element name="RequestElement925" type="xsd:string"/>
+      <xsd:element name="ResponseElement926" type="xsd:string"/>
+      <xsd:element name="RequestElement926" type="xsd:string"/>
+      <xsd:element name="ResponseElement927" type="xsd:string"/>
+      <xsd:element name="RequestElement927" type="xsd:string"/>
+      <xsd:element name="ResponseElement928" type="xsd:string"/>
+      <xsd:element name="RequestElement928" type="xsd:string"/>
+      <xsd:element name="ResponseElement929" type="xsd:string"/>
+      <xsd:element name="RequestElement929" type="xsd:string"/>
+      <xsd:element name="ResponseElement930" type="xsd:string"/>
+      <xsd:element name="RequestElement930" type="xsd:string"/>
+      <xsd:element name="ResponseElement931" type="xsd:string"/>
+      <xsd:element name="RequestElement931" type="xsd:string"/>
+      <xsd:element name="ResponseElement932" type="xsd:string"/>
+      <xsd:element name="RequestElement932" type="xsd:string"/>
+      <xsd:element name="ResponseElement933" type="xsd:string"/>
+      <xsd:element name="RequestElement933" type="xsd:string"/>
+      <xsd:element name="ResponseElement934" type="xsd:string"/>
+      <xsd:element name="RequestElement934" type="xsd:string"/>
+      <xsd:element name="ResponseElement935" type="xsd:string"/>
+      <xsd:element name="RequestElement935" type="xsd:string"/>
+      <xsd:element name="ResponseElement936" type="xsd:string"/>
+      <xsd:element name="RequestElement936" type="xsd:string"/>
+      <xsd:element name="ResponseElement937" type="xsd:string"/>
+      <xsd:element name="RequestElement937" type="xsd:string"/>
+      <xsd:element name="ResponseElement938" type="xsd:string"/>
+      <xsd:element name="RequestElement938" type="xsd:string"/>
+      <xsd:element name="ResponseElement939" type="xsd:string"/>
+      <xsd:element name="RequestElement939" type="xsd:string"/>
+      <xsd:element name="ResponseElement940" type="xsd:string"/>
+      <xsd:element name="RequestElement940" type="xsd:string"/>
+      <xsd:element name="ResponseElement941" type="xsd:string"/>
+      <xsd:element name="RequestElement941" type="xsd:string"/>
+      <xsd:element name="ResponseElement942" type="xsd:string"/>
+      <xsd:element name="RequestElement942" type="xsd:string"/>
+      <xsd:element name="ResponseElement943" type="xsd:string"/>
+      <xsd:element name="RequestElement943" type="xsd:string"/>
+      <xsd:element name="ResponseElement944" type="xsd:string"/>
+      <xsd:element name="RequestElement944" type="xsd:string"/>
+      <xsd:element name="ResponseElement945" type="xsd:string"/>
+      <xsd:element name="RequestElement945" type="xsd:string"/>
+      <xsd:element name="ResponseElement946" type="xsd:string"/>
+      <xsd:element name="RequestElement946" type="xsd:string"/>
+      <xsd:element name="ResponseElement947" type="xsd:string"/>
+      <xsd:element name="RequestElement947" type="xsd:string"/>
+      <xsd:element name="ResponseElement948" type="xsd:string"/>
+      <xsd:element name="RequestElement948" type="xsd:string"/>
+      <xsd:element name="ResponseElement949" type="xsd:string"/>
+      <xsd:element name="RequestElement949" type="xsd:string"/>
+      <xsd:element name="ResponseElement950" type="xsd:string"/>
+      <xsd:element name="RequestElement950" type="xsd:string"/>
+      <xsd:element name="ResponseElement951" type="xsd:string"/>
+      <xsd:element name="RequestElement951" type="xsd:string"/>
+      <xsd:element name="ResponseElement952" type="xsd:string"/>
+      <xsd:element name="RequestElement952" type="xsd:string"/>
+      <xsd:element name="ResponseElement953" type="xsd:string"/>
+      <xsd:element name="RequestElement953" type="xsd:string"/>
+      <xsd:element name="ResponseElement954" type="xsd:string"/>
+      <xsd:element name="RequestElement954" type="xsd:string"/>
+      <xsd:element name="ResponseElement955" type="xsd:string"/>
+      <xsd:element name="RequestElement955" type="xsd:string"/>
+      <xsd:element name="ResponseElement956" type="xsd:string"/>
+      <xsd:element name="RequestElement956" type="xsd:string"/>
+      <xsd:element name="ResponseElement957" type="xsd:string"/>
+      <xsd:element name="RequestElement957" type="xsd:string"/>
+      <xsd:element name="ResponseElement958" type="xsd:string"/>
+      <xsd:element name="RequestElement958" type="xsd:string"/>
+      <xsd:element name="ResponseElement959" type="xsd:string"/>
+      <xsd:element name="RequestElement959" type="xsd:string"/>
+      <xsd:element name="ResponseElement960" type="xsd:string"/>
+      <xsd:element name="RequestElement960" type="xsd:string"/>
+      <xsd:element name="ResponseElement961" type="xsd:string"/>
+      <xsd:element name="RequestElement961" type="xsd:string"/>
+      <xsd:element name="ResponseElement962" type="xsd:string"/>
+      <xsd:element name="RequestElement962" type="xsd:string"/>
+      <xsd:element name="ResponseElement963" type="xsd:string"/>
+      <xsd:element name="RequestElement963" type="xsd:string"/>
+      <xsd:element name="ResponseElement964" type="xsd:string"/>
+      <xsd:element name="RequestElement964" type="xsd:string"/>
+      <xsd:element name="ResponseElement965" type="xsd:string"/>
+      <xsd:element name="RequestElement965" type="xsd:string"/>
+      <xsd:element name="ResponseElement966" type="xsd:string"/>
+      <xsd:element name="RequestElement966" type="xsd:string"/>
+      <xsd:element name="ResponseElement967" type="xsd:string"/>
+      <xsd:element name="RequestElement967" type="xsd:string"/>
+      <xsd:element name="ResponseElement968" type="xsd:string"/>
+      <xsd:element name="RequestElement968" type="xsd:string"/>
+      <xsd:element name="ResponseElement969" type="xsd:string"/>
+      <xsd:element name="RequestElement969" type="xsd:string"/>
+      <xsd:element name="ResponseElement970" type="xsd:string"/>
+      <xsd:element name="RequestElement970" type="xsd:string"/>
+      <xsd:element name="ResponseElement971" type="xsd:string"/>
+      <xsd:element name="RequestElement971" type="xsd:string"/>
+      <xsd:element name="ResponseElement972" type="xsd:string"/>
+      <xsd:element name="RequestElement972" type="xsd:string"/>
+      <xsd:element name="ResponseElement973" type="xsd:string"/>
+      <xsd:element name="RequestElement973" type="xsd:string"/>
+      <xsd:element name="ResponseElement974" type="xsd:string"/>
+      <xsd:element name="RequestElement974" type="xsd:string"/>
+      <xsd:element name="ResponseElement975" type="xsd:string"/>
+      <xsd:element name="RequestElement975" type="xsd:string"/>
+      <xsd:element name="ResponseElement976" type="xsd:string"/>
+      <xsd:element name="RequestElement976" type="xsd:string"/>
+      <xsd:element name="ResponseElement977" type="xsd:string"/>
+      <xsd:element name="RequestElement977" type="xsd:string"/>
+      <xsd:element name="ResponseElement978" type="xsd:string"/>
+      <xsd:element name="RequestElement978" type="xsd:string"/>
+      <xsd:element name="ResponseElement979" type="xsd:string"/>
+      <xsd:element name="RequestElement979" type="xsd:string"/>
+      <xsd:element name="ResponseElement980" type="xsd:string"/>
+      <xsd:element name="RequestElement980" type="xsd:string"/>
+      <xsd:element name="ResponseElement981" type="xsd:string"/>
+      <xsd:element name="RequestElement981" type="xsd:string"/>
+      <xsd:element name="ResponseElement982" type="xsd:string"/>
+      <xsd:element name="RequestElement982" type="xsd:string"/>
+      <xsd:element name="ResponseElement983" type="xsd:string"/>
+      <xsd:element name="RequestElement983" type="xsd:string"/>
+      <xsd:element name="ResponseElement984" type="xsd:string"/>
+      <xsd:element name="RequestElement984" type="xsd:string"/>
+      <xsd:element name="ResponseElement985" type="xsd:string"/>
+      <xsd:element name="RequestElement985" type="xsd:string"/>
+      <xsd:element name="ResponseElement986" type="xsd:string"/>
+      <xsd:element name="RequestElement986" type="xsd:string"/>
+      <xsd:element name="ResponseElement987" type="xsd:string"/>
+      <xsd:element name="RequestElement987" type="xsd:string"/>
+      <xsd:element name="ResponseElement988" type="xsd:string"/>
+      <xsd:element name="RequestElement988" type="xsd:string"/>
+      <xsd:element name="ResponseElement989" type="xsd:string"/>
+      <xsd:element name="RequestElement989" type="xsd:string"/>
+      <xsd:element name="ResponseElement990" type="xsd:string"/>
+      <xsd:element name="RequestElement990" type="xsd:string"/>
+      <xsd:element name="ResponseElement991" type="xsd:string"/>
+      <xsd:element name="RequestElement991" type="xsd:string"/>
+      <xsd:element name="ResponseElement992" type="xsd:string"/>
+      <xsd:element name="RequestElement992" type="xsd:string"/>
+      <xsd:element name="ResponseElement993" type="xsd:string"/>
+      <xsd:element name="RequestElement993" type="xsd:string"/>
+      <xsd:element name="ResponseElement994" type="xsd:string"/>
+      <xsd:element name="RequestElement994" type="xsd:string"/>
+      <xsd:element name="ResponseElement995" type="xsd:string"/>
+      <xsd:element name="RequestElement995" type="xsd:string"/>
+      <xsd:element name="ResponseElement996" type="xsd:string"/>
+      <xsd:element name="RequestElement996" type="xsd:string"/>
+      <xsd:element name="ResponseElement997" type="xsd:string"/>
+      <xsd:element name="RequestElement997" type="xsd:string"/>
+      <xsd:element name="ResponseElement998" type="xsd:string"/>
+      <xsd:element name="RequestElement998" type="xsd:string"/>
+      <xsd:element name="ResponseElement999" type="xsd:string"/>
+      <xsd:element name="RequestElement999" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="ResponseMessage0">
+    <wsdl:part name="Response" element="tns:ResponseElement0"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage0">
+    <wsdl:part name="Request" element="tns:RequestElement0"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType0">
+    <wsdl:operation name="Operation0">
+      <wsdl:input message="tns:RequestMessage0" name="Input0"/>
+      <wsdl:output message="tns:ResponseMessage0" name="Output0"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding0" type="tns:PortType0">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation0">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation0"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service0">
+    <wsdl:port name="Port0" binding="tns:Binding0">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage1">
+    <wsdl:part name="Response" element="tns:ResponseElement1"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage1">
+    <wsdl:part name="Request" element="tns:RequestElement1"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType1">
+    <wsdl:operation name="Operation1">
+      <wsdl:input message="tns:RequestMessage1" name="Input1"/>
+      <wsdl:output message="tns:ResponseMessage1" name="Output1"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding1" type="tns:PortType1">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation1">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation1"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service1">
+    <wsdl:port name="Port1" binding="tns:Binding1">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage2">
+    <wsdl:part name="Response" element="tns:ResponseElement2"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage2">
+    <wsdl:part name="Request" element="tns:RequestElement2"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType2">
+    <wsdl:operation name="Operation2">
+      <wsdl:input message="tns:RequestMessage2" name="Input2"/>
+      <wsdl:output message="tns:ResponseMessage2" name="Output2"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding2" type="tns:PortType2">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation2">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation2"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service2">
+    <wsdl:port name="Port2" binding="tns:Binding2">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage3">
+    <wsdl:part name="Response" element="tns:ResponseElement3"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage3">
+    <wsdl:part name="Request" element="tns:RequestElement3"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType3">
+    <wsdl:operation name="Operation3">
+      <wsdl:input message="tns:RequestMessage3" name="Input3"/>
+      <wsdl:output message="tns:ResponseMessage3" name="Output3"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding3" type="tns:PortType3">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation3">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation3"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service3">
+    <wsdl:port name="Port3" binding="tns:Binding3">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage4">
+    <wsdl:part name="Response" element="tns:ResponseElement4"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage4">
+    <wsdl:part name="Request" element="tns:RequestElement4"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType4">
+    <wsdl:operation name="Operation4">
+      <wsdl:input message="tns:RequestMessage4" name="Input4"/>
+      <wsdl:output message="tns:ResponseMessage4" name="Output4"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding4" type="tns:PortType4">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation4">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation4"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service4">
+    <wsdl:port name="Port4" binding="tns:Binding4">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage5">
+    <wsdl:part name="Response" element="tns:ResponseElement5"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage5">
+    <wsdl:part name="Request" element="tns:RequestElement5"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType5">
+    <wsdl:operation name="Operation5">
+      <wsdl:input message="tns:RequestMessage5" name="Input5"/>
+      <wsdl:output message="tns:ResponseMessage5" name="Output5"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding5" type="tns:PortType5">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation5">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation5"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service5">
+    <wsdl:port name="Port5" binding="tns:Binding5">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage6">
+    <wsdl:part name="Response" element="tns:ResponseElement6"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage6">
+    <wsdl:part name="Request" element="tns:RequestElement6"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType6">
+    <wsdl:operation name="Operation6">
+      <wsdl:input message="tns:RequestMessage6" name="Input6"/>
+      <wsdl:output message="tns:ResponseMessage6" name="Output6"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding6" type="tns:PortType6">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation6">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation6"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service6">
+    <wsdl:port name="Port6" binding="tns:Binding6">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage7">
+    <wsdl:part name="Response" element="tns:ResponseElement7"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage7">
+    <wsdl:part name="Request" element="tns:RequestElement7"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType7">
+    <wsdl:operation name="Operation7">
+      <wsdl:input message="tns:RequestMessage7" name="Input7"/>
+      <wsdl:output message="tns:ResponseMessage7" name="Output7"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding7" type="tns:PortType7">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation7">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation7"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service7">
+    <wsdl:port name="Port7" binding="tns:Binding7">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage8">
+    <wsdl:part name="Response" element="tns:ResponseElement8"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage8">
+    <wsdl:part name="Request" element="tns:RequestElement8"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType8">
+    <wsdl:operation name="Operation8">
+      <wsdl:input message="tns:RequestMessage8" name="Input8"/>
+      <wsdl:output message="tns:ResponseMessage8" name="Output8"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding8" type="tns:PortType8">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation8">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation8"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service8">
+    <wsdl:port name="Port8" binding="tns:Binding8">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage9">
+    <wsdl:part name="Response" element="tns:ResponseElement9"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage9">
+    <wsdl:part name="Request" element="tns:RequestElement9"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType9">
+    <wsdl:operation name="Operation9">
+      <wsdl:input message="tns:RequestMessage9" name="Input9"/>
+      <wsdl:output message="tns:ResponseMessage9" name="Output9"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding9" type="tns:PortType9">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation9">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation9"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service9">
+    <wsdl:port name="Port9" binding="tns:Binding9">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage10">
+    <wsdl:part name="Response" element="tns:ResponseElement10"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage10">
+    <wsdl:part name="Request" element="tns:RequestElement10"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType10">
+    <wsdl:operation name="Operation10">
+      <wsdl:input message="tns:RequestMessage10" name="Input10"/>
+      <wsdl:output message="tns:ResponseMessage10" name="Output10"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding10" type="tns:PortType10">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation10">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation10"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service10">
+    <wsdl:port name="Port10" binding="tns:Binding10">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage11">
+    <wsdl:part name="Response" element="tns:ResponseElement11"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage11">
+    <wsdl:part name="Request" element="tns:RequestElement11"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType11">
+    <wsdl:operation name="Operation11">
+      <wsdl:input message="tns:RequestMessage11" name="Input11"/>
+      <wsdl:output message="tns:ResponseMessage11" name="Output11"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding11" type="tns:PortType11">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation11">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation11"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service11">
+    <wsdl:port name="Port11" binding="tns:Binding11">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage12">
+    <wsdl:part name="Response" element="tns:ResponseElement12"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage12">
+    <wsdl:part name="Request" element="tns:RequestElement12"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType12">
+    <wsdl:operation name="Operation12">
+      <wsdl:input message="tns:RequestMessage12" name="Input12"/>
+      <wsdl:output message="tns:ResponseMessage12" name="Output12"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding12" type="tns:PortType12">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation12">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation12"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service12">
+    <wsdl:port name="Port12" binding="tns:Binding12">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage13">
+    <wsdl:part name="Response" element="tns:ResponseElement13"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage13">
+    <wsdl:part name="Request" element="tns:RequestElement13"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType13">
+    <wsdl:operation name="Operation13">
+      <wsdl:input message="tns:RequestMessage13" name="Input13"/>
+      <wsdl:output message="tns:ResponseMessage13" name="Output13"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding13" type="tns:PortType13">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation13">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation13"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service13">
+    <wsdl:port name="Port13" binding="tns:Binding13">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage14">
+    <wsdl:part name="Response" element="tns:ResponseElement14"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage14">
+    <wsdl:part name="Request" element="tns:RequestElement14"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType14">
+    <wsdl:operation name="Operation14">
+      <wsdl:input message="tns:RequestMessage14" name="Input14"/>
+      <wsdl:output message="tns:ResponseMessage14" name="Output14"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding14" type="tns:PortType14">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation14">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation14"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service14">
+    <wsdl:port name="Port14" binding="tns:Binding14">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage15">
+    <wsdl:part name="Response" element="tns:ResponseElement15"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage15">
+    <wsdl:part name="Request" element="tns:RequestElement15"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType15">
+    <wsdl:operation name="Operation15">
+      <wsdl:input message="tns:RequestMessage15" name="Input15"/>
+      <wsdl:output message="tns:ResponseMessage15" name="Output15"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding15" type="tns:PortType15">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation15">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation15"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service15">
+    <wsdl:port name="Port15" binding="tns:Binding15">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage16">
+    <wsdl:part name="Response" element="tns:ResponseElement16"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage16">
+    <wsdl:part name="Request" element="tns:RequestElement16"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType16">
+    <wsdl:operation name="Operation16">
+      <wsdl:input message="tns:RequestMessage16" name="Input16"/>
+      <wsdl:output message="tns:ResponseMessage16" name="Output16"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding16" type="tns:PortType16">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation16">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation16"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service16">
+    <wsdl:port name="Port16" binding="tns:Binding16">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage17">
+    <wsdl:part name="Response" element="tns:ResponseElement17"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage17">
+    <wsdl:part name="Request" element="tns:RequestElement17"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType17">
+    <wsdl:operation name="Operation17">
+      <wsdl:input message="tns:RequestMessage17" name="Input17"/>
+      <wsdl:output message="tns:ResponseMessage17" name="Output17"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding17" type="tns:PortType17">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation17">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation17"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service17">
+    <wsdl:port name="Port17" binding="tns:Binding17">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage18">
+    <wsdl:part name="Response" element="tns:ResponseElement18"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage18">
+    <wsdl:part name="Request" element="tns:RequestElement18"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType18">
+    <wsdl:operation name="Operation18">
+      <wsdl:input message="tns:RequestMessage18" name="Input18"/>
+      <wsdl:output message="tns:ResponseMessage18" name="Output18"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding18" type="tns:PortType18">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation18">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation18"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service18">
+    <wsdl:port name="Port18" binding="tns:Binding18">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage19">
+    <wsdl:part name="Response" element="tns:ResponseElement19"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage19">
+    <wsdl:part name="Request" element="tns:RequestElement19"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType19">
+    <wsdl:operation name="Operation19">
+      <wsdl:input message="tns:RequestMessage19" name="Input19"/>
+      <wsdl:output message="tns:ResponseMessage19" name="Output19"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding19" type="tns:PortType19">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation19">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation19"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service19">
+    <wsdl:port name="Port19" binding="tns:Binding19">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage20">
+    <wsdl:part name="Response" element="tns:ResponseElement20"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage20">
+    <wsdl:part name="Request" element="tns:RequestElement20"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType20">
+    <wsdl:operation name="Operation20">
+      <wsdl:input message="tns:RequestMessage20" name="Input20"/>
+      <wsdl:output message="tns:ResponseMessage20" name="Output20"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding20" type="tns:PortType20">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation20">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation20"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service20">
+    <wsdl:port name="Port20" binding="tns:Binding20">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage21">
+    <wsdl:part name="Response" element="tns:ResponseElement21"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage21">
+    <wsdl:part name="Request" element="tns:RequestElement21"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType21">
+    <wsdl:operation name="Operation21">
+      <wsdl:input message="tns:RequestMessage21" name="Input21"/>
+      <wsdl:output message="tns:ResponseMessage21" name="Output21"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding21" type="tns:PortType21">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation21">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation21"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service21">
+    <wsdl:port name="Port21" binding="tns:Binding21">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage22">
+    <wsdl:part name="Response" element="tns:ResponseElement22"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage22">
+    <wsdl:part name="Request" element="tns:RequestElement22"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType22">
+    <wsdl:operation name="Operation22">
+      <wsdl:input message="tns:RequestMessage22" name="Input22"/>
+      <wsdl:output message="tns:ResponseMessage22" name="Output22"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding22" type="tns:PortType22">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation22">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation22"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service22">
+    <wsdl:port name="Port22" binding="tns:Binding22">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage23">
+    <wsdl:part name="Response" element="tns:ResponseElement23"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage23">
+    <wsdl:part name="Request" element="tns:RequestElement23"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType23">
+    <wsdl:operation name="Operation23">
+      <wsdl:input message="tns:RequestMessage23" name="Input23"/>
+      <wsdl:output message="tns:ResponseMessage23" name="Output23"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding23" type="tns:PortType23">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation23">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation23"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service23">
+    <wsdl:port name="Port23" binding="tns:Binding23">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage24">
+    <wsdl:part name="Response" element="tns:ResponseElement24"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage24">
+    <wsdl:part name="Request" element="tns:RequestElement24"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType24">
+    <wsdl:operation name="Operation24">
+      <wsdl:input message="tns:RequestMessage24" name="Input24"/>
+      <wsdl:output message="tns:ResponseMessage24" name="Output24"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding24" type="tns:PortType24">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation24">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation24"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service24">
+    <wsdl:port name="Port24" binding="tns:Binding24">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage25">
+    <wsdl:part name="Response" element="tns:ResponseElement25"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage25">
+    <wsdl:part name="Request" element="tns:RequestElement25"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType25">
+    <wsdl:operation name="Operation25">
+      <wsdl:input message="tns:RequestMessage25" name="Input25"/>
+      <wsdl:output message="tns:ResponseMessage25" name="Output25"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding25" type="tns:PortType25">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation25">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation25"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service25">
+    <wsdl:port name="Port25" binding="tns:Binding25">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage26">
+    <wsdl:part name="Response" element="tns:ResponseElement26"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage26">
+    <wsdl:part name="Request" element="tns:RequestElement26"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType26">
+    <wsdl:operation name="Operation26">
+      <wsdl:input message="tns:RequestMessage26" name="Input26"/>
+      <wsdl:output message="tns:ResponseMessage26" name="Output26"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding26" type="tns:PortType26">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation26">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation26"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service26">
+    <wsdl:port name="Port26" binding="tns:Binding26">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage27">
+    <wsdl:part name="Response" element="tns:ResponseElement27"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage27">
+    <wsdl:part name="Request" element="tns:RequestElement27"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType27">
+    <wsdl:operation name="Operation27">
+      <wsdl:input message="tns:RequestMessage27" name="Input27"/>
+      <wsdl:output message="tns:ResponseMessage27" name="Output27"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding27" type="tns:PortType27">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation27">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation27"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service27">
+    <wsdl:port name="Port27" binding="tns:Binding27">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage28">
+    <wsdl:part name="Response" element="tns:ResponseElement28"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage28">
+    <wsdl:part name="Request" element="tns:RequestElement28"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType28">
+    <wsdl:operation name="Operation28">
+      <wsdl:input message="tns:RequestMessage28" name="Input28"/>
+      <wsdl:output message="tns:ResponseMessage28" name="Output28"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding28" type="tns:PortType28">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation28">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation28"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service28">
+    <wsdl:port name="Port28" binding="tns:Binding28">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage29">
+    <wsdl:part name="Response" element="tns:ResponseElement29"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage29">
+    <wsdl:part name="Request" element="tns:RequestElement29"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType29">
+    <wsdl:operation name="Operation29">
+      <wsdl:input message="tns:RequestMessage29" name="Input29"/>
+      <wsdl:output message="tns:ResponseMessage29" name="Output29"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding29" type="tns:PortType29">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation29">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation29"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service29">
+    <wsdl:port name="Port29" binding="tns:Binding29">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage30">
+    <wsdl:part name="Response" element="tns:ResponseElement30"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage30">
+    <wsdl:part name="Request" element="tns:RequestElement30"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType30">
+    <wsdl:operation name="Operation30">
+      <wsdl:input message="tns:RequestMessage30" name="Input30"/>
+      <wsdl:output message="tns:ResponseMessage30" name="Output30"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding30" type="tns:PortType30">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation30">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation30"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service30">
+    <wsdl:port name="Port30" binding="tns:Binding30">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage31">
+    <wsdl:part name="Response" element="tns:ResponseElement31"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage31">
+    <wsdl:part name="Request" element="tns:RequestElement31"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType31">
+    <wsdl:operation name="Operation31">
+      <wsdl:input message="tns:RequestMessage31" name="Input31"/>
+      <wsdl:output message="tns:ResponseMessage31" name="Output31"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding31" type="tns:PortType31">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation31">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation31"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service31">
+    <wsdl:port name="Port31" binding="tns:Binding31">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage32">
+    <wsdl:part name="Response" element="tns:ResponseElement32"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage32">
+    <wsdl:part name="Request" element="tns:RequestElement32"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType32">
+    <wsdl:operation name="Operation32">
+      <wsdl:input message="tns:RequestMessage32" name="Input32"/>
+      <wsdl:output message="tns:ResponseMessage32" name="Output32"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding32" type="tns:PortType32">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation32">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation32"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service32">
+    <wsdl:port name="Port32" binding="tns:Binding32">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage33">
+    <wsdl:part name="Response" element="tns:ResponseElement33"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage33">
+    <wsdl:part name="Request" element="tns:RequestElement33"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType33">
+    <wsdl:operation name="Operation33">
+      <wsdl:input message="tns:RequestMessage33" name="Input33"/>
+      <wsdl:output message="tns:ResponseMessage33" name="Output33"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding33" type="tns:PortType33">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation33">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation33"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service33">
+    <wsdl:port name="Port33" binding="tns:Binding33">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage34">
+    <wsdl:part name="Response" element="tns:ResponseElement34"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage34">
+    <wsdl:part name="Request" element="tns:RequestElement34"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType34">
+    <wsdl:operation name="Operation34">
+      <wsdl:input message="tns:RequestMessage34" name="Input34"/>
+      <wsdl:output message="tns:ResponseMessage34" name="Output34"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding34" type="tns:PortType34">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation34">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation34"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service34">
+    <wsdl:port name="Port34" binding="tns:Binding34">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage35">
+    <wsdl:part name="Response" element="tns:ResponseElement35"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage35">
+    <wsdl:part name="Request" element="tns:RequestElement35"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType35">
+    <wsdl:operation name="Operation35">
+      <wsdl:input message="tns:RequestMessage35" name="Input35"/>
+      <wsdl:output message="tns:ResponseMessage35" name="Output35"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding35" type="tns:PortType35">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation35">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation35"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service35">
+    <wsdl:port name="Port35" binding="tns:Binding35">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage36">
+    <wsdl:part name="Response" element="tns:ResponseElement36"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage36">
+    <wsdl:part name="Request" element="tns:RequestElement36"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType36">
+    <wsdl:operation name="Operation36">
+      <wsdl:input message="tns:RequestMessage36" name="Input36"/>
+      <wsdl:output message="tns:ResponseMessage36" name="Output36"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding36" type="tns:PortType36">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation36">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation36"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service36">
+    <wsdl:port name="Port36" binding="tns:Binding36">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage37">
+    <wsdl:part name="Response" element="tns:ResponseElement37"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage37">
+    <wsdl:part name="Request" element="tns:RequestElement37"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType37">
+    <wsdl:operation name="Operation37">
+      <wsdl:input message="tns:RequestMessage37" name="Input37"/>
+      <wsdl:output message="tns:ResponseMessage37" name="Output37"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding37" type="tns:PortType37">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation37">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation37"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service37">
+    <wsdl:port name="Port37" binding="tns:Binding37">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage38">
+    <wsdl:part name="Response" element="tns:ResponseElement38"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage38">
+    <wsdl:part name="Request" element="tns:RequestElement38"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType38">
+    <wsdl:operation name="Operation38">
+      <wsdl:input message="tns:RequestMessage38" name="Input38"/>
+      <wsdl:output message="tns:ResponseMessage38" name="Output38"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding38" type="tns:PortType38">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation38">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation38"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service38">
+    <wsdl:port name="Port38" binding="tns:Binding38">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage39">
+    <wsdl:part name="Response" element="tns:ResponseElement39"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage39">
+    <wsdl:part name="Request" element="tns:RequestElement39"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType39">
+    <wsdl:operation name="Operation39">
+      <wsdl:input message="tns:RequestMessage39" name="Input39"/>
+      <wsdl:output message="tns:ResponseMessage39" name="Output39"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding39" type="tns:PortType39">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation39">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation39"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service39">
+    <wsdl:port name="Port39" binding="tns:Binding39">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage40">
+    <wsdl:part name="Response" element="tns:ResponseElement40"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage40">
+    <wsdl:part name="Request" element="tns:RequestElement40"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType40">
+    <wsdl:operation name="Operation40">
+      <wsdl:input message="tns:RequestMessage40" name="Input40"/>
+      <wsdl:output message="tns:ResponseMessage40" name="Output40"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding40" type="tns:PortType40">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation40">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation40"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service40">
+    <wsdl:port name="Port40" binding="tns:Binding40">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage41">
+    <wsdl:part name="Response" element="tns:ResponseElement41"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage41">
+    <wsdl:part name="Request" element="tns:RequestElement41"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType41">
+    <wsdl:operation name="Operation41">
+      <wsdl:input message="tns:RequestMessage41" name="Input41"/>
+      <wsdl:output message="tns:ResponseMessage41" name="Output41"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding41" type="tns:PortType41">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation41">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation41"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service41">
+    <wsdl:port name="Port41" binding="tns:Binding41">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage42">
+    <wsdl:part name="Response" element="tns:ResponseElement42"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage42">
+    <wsdl:part name="Request" element="tns:RequestElement42"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType42">
+    <wsdl:operation name="Operation42">
+      <wsdl:input message="tns:RequestMessage42" name="Input42"/>
+      <wsdl:output message="tns:ResponseMessage42" name="Output42"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding42" type="tns:PortType42">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation42">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation42"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service42">
+    <wsdl:port name="Port42" binding="tns:Binding42">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage43">
+    <wsdl:part name="Response" element="tns:ResponseElement43"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage43">
+    <wsdl:part name="Request" element="tns:RequestElement43"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType43">
+    <wsdl:operation name="Operation43">
+      <wsdl:input message="tns:RequestMessage43" name="Input43"/>
+      <wsdl:output message="tns:ResponseMessage43" name="Output43"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding43" type="tns:PortType43">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation43">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation43"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service43">
+    <wsdl:port name="Port43" binding="tns:Binding43">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage44">
+    <wsdl:part name="Response" element="tns:ResponseElement44"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage44">
+    <wsdl:part name="Request" element="tns:RequestElement44"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType44">
+    <wsdl:operation name="Operation44">
+      <wsdl:input message="tns:RequestMessage44" name="Input44"/>
+      <wsdl:output message="tns:ResponseMessage44" name="Output44"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding44" type="tns:PortType44">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation44">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation44"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service44">
+    <wsdl:port name="Port44" binding="tns:Binding44">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage45">
+    <wsdl:part name="Response" element="tns:ResponseElement45"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage45">
+    <wsdl:part name="Request" element="tns:RequestElement45"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType45">
+    <wsdl:operation name="Operation45">
+      <wsdl:input message="tns:RequestMessage45" name="Input45"/>
+      <wsdl:output message="tns:ResponseMessage45" name="Output45"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding45" type="tns:PortType45">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation45">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation45"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service45">
+    <wsdl:port name="Port45" binding="tns:Binding45">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage46">
+    <wsdl:part name="Response" element="tns:ResponseElement46"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage46">
+    <wsdl:part name="Request" element="tns:RequestElement46"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType46">
+    <wsdl:operation name="Operation46">
+      <wsdl:input message="tns:RequestMessage46" name="Input46"/>
+      <wsdl:output message="tns:ResponseMessage46" name="Output46"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding46" type="tns:PortType46">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation46">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation46"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service46">
+    <wsdl:port name="Port46" binding="tns:Binding46">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage47">
+    <wsdl:part name="Response" element="tns:ResponseElement47"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage47">
+    <wsdl:part name="Request" element="tns:RequestElement47"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType47">
+    <wsdl:operation name="Operation47">
+      <wsdl:input message="tns:RequestMessage47" name="Input47"/>
+      <wsdl:output message="tns:ResponseMessage47" name="Output47"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding47" type="tns:PortType47">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation47">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation47"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service47">
+    <wsdl:port name="Port47" binding="tns:Binding47">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage48">
+    <wsdl:part name="Response" element="tns:ResponseElement48"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage48">
+    <wsdl:part name="Request" element="tns:RequestElement48"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType48">
+    <wsdl:operation name="Operation48">
+      <wsdl:input message="tns:RequestMessage48" name="Input48"/>
+      <wsdl:output message="tns:ResponseMessage48" name="Output48"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding48" type="tns:PortType48">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation48">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation48"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service48">
+    <wsdl:port name="Port48" binding="tns:Binding48">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage49">
+    <wsdl:part name="Response" element="tns:ResponseElement49"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage49">
+    <wsdl:part name="Request" element="tns:RequestElement49"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType49">
+    <wsdl:operation name="Operation49">
+      <wsdl:input message="tns:RequestMessage49" name="Input49"/>
+      <wsdl:output message="tns:ResponseMessage49" name="Output49"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding49" type="tns:PortType49">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation49">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation49"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service49">
+    <wsdl:port name="Port49" binding="tns:Binding49">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage50">
+    <wsdl:part name="Response" element="tns:ResponseElement50"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage50">
+    <wsdl:part name="Request" element="tns:RequestElement50"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType50">
+    <wsdl:operation name="Operation50">
+      <wsdl:input message="tns:RequestMessage50" name="Input50"/>
+      <wsdl:output message="tns:ResponseMessage50" name="Output50"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding50" type="tns:PortType50">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation50">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation50"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service50">
+    <wsdl:port name="Port50" binding="tns:Binding50">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage51">
+    <wsdl:part name="Response" element="tns:ResponseElement51"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage51">
+    <wsdl:part name="Request" element="tns:RequestElement51"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType51">
+    <wsdl:operation name="Operation51">
+      <wsdl:input message="tns:RequestMessage51" name="Input51"/>
+      <wsdl:output message="tns:ResponseMessage51" name="Output51"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding51" type="tns:PortType51">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation51">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation51"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service51">
+    <wsdl:port name="Port51" binding="tns:Binding51">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage52">
+    <wsdl:part name="Response" element="tns:ResponseElement52"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage52">
+    <wsdl:part name="Request" element="tns:RequestElement52"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType52">
+    <wsdl:operation name="Operation52">
+      <wsdl:input message="tns:RequestMessage52" name="Input52"/>
+      <wsdl:output message="tns:ResponseMessage52" name="Output52"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding52" type="tns:PortType52">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation52">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation52"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service52">
+    <wsdl:port name="Port52" binding="tns:Binding52">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage53">
+    <wsdl:part name="Response" element="tns:ResponseElement53"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage53">
+    <wsdl:part name="Request" element="tns:RequestElement53"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType53">
+    <wsdl:operation name="Operation53">
+      <wsdl:input message="tns:RequestMessage53" name="Input53"/>
+      <wsdl:output message="tns:ResponseMessage53" name="Output53"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding53" type="tns:PortType53">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation53">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation53"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service53">
+    <wsdl:port name="Port53" binding="tns:Binding53">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage54">
+    <wsdl:part name="Response" element="tns:ResponseElement54"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage54">
+    <wsdl:part name="Request" element="tns:RequestElement54"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType54">
+    <wsdl:operation name="Operation54">
+      <wsdl:input message="tns:RequestMessage54" name="Input54"/>
+      <wsdl:output message="tns:ResponseMessage54" name="Output54"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding54" type="tns:PortType54">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation54">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation54"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service54">
+    <wsdl:port name="Port54" binding="tns:Binding54">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage55">
+    <wsdl:part name="Response" element="tns:ResponseElement55"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage55">
+    <wsdl:part name="Request" element="tns:RequestElement55"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType55">
+    <wsdl:operation name="Operation55">
+      <wsdl:input message="tns:RequestMessage55" name="Input55"/>
+      <wsdl:output message="tns:ResponseMessage55" name="Output55"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding55" type="tns:PortType55">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation55">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation55"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service55">
+    <wsdl:port name="Port55" binding="tns:Binding55">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage56">
+    <wsdl:part name="Response" element="tns:ResponseElement56"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage56">
+    <wsdl:part name="Request" element="tns:RequestElement56"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType56">
+    <wsdl:operation name="Operation56">
+      <wsdl:input message="tns:RequestMessage56" name="Input56"/>
+      <wsdl:output message="tns:ResponseMessage56" name="Output56"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding56" type="tns:PortType56">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation56">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation56"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service56">
+    <wsdl:port name="Port56" binding="tns:Binding56">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage57">
+    <wsdl:part name="Response" element="tns:ResponseElement57"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage57">
+    <wsdl:part name="Request" element="tns:RequestElement57"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType57">
+    <wsdl:operation name="Operation57">
+      <wsdl:input message="tns:RequestMessage57" name="Input57"/>
+      <wsdl:output message="tns:ResponseMessage57" name="Output57"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding57" type="tns:PortType57">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation57">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation57"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service57">
+    <wsdl:port name="Port57" binding="tns:Binding57">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage58">
+    <wsdl:part name="Response" element="tns:ResponseElement58"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage58">
+    <wsdl:part name="Request" element="tns:RequestElement58"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType58">
+    <wsdl:operation name="Operation58">
+      <wsdl:input message="tns:RequestMessage58" name="Input58"/>
+      <wsdl:output message="tns:ResponseMessage58" name="Output58"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding58" type="tns:PortType58">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation58">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation58"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service58">
+    <wsdl:port name="Port58" binding="tns:Binding58">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage59">
+    <wsdl:part name="Response" element="tns:ResponseElement59"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage59">
+    <wsdl:part name="Request" element="tns:RequestElement59"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType59">
+    <wsdl:operation name="Operation59">
+      <wsdl:input message="tns:RequestMessage59" name="Input59"/>
+      <wsdl:output message="tns:ResponseMessage59" name="Output59"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding59" type="tns:PortType59">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation59">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation59"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service59">
+    <wsdl:port name="Port59" binding="tns:Binding59">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage60">
+    <wsdl:part name="Response" element="tns:ResponseElement60"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage60">
+    <wsdl:part name="Request" element="tns:RequestElement60"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType60">
+    <wsdl:operation name="Operation60">
+      <wsdl:input message="tns:RequestMessage60" name="Input60"/>
+      <wsdl:output message="tns:ResponseMessage60" name="Output60"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding60" type="tns:PortType60">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation60">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation60"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service60">
+    <wsdl:port name="Port60" binding="tns:Binding60">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage61">
+    <wsdl:part name="Response" element="tns:ResponseElement61"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage61">
+    <wsdl:part name="Request" element="tns:RequestElement61"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType61">
+    <wsdl:operation name="Operation61">
+      <wsdl:input message="tns:RequestMessage61" name="Input61"/>
+      <wsdl:output message="tns:ResponseMessage61" name="Output61"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding61" type="tns:PortType61">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation61">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation61"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service61">
+    <wsdl:port name="Port61" binding="tns:Binding61">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage62">
+    <wsdl:part name="Response" element="tns:ResponseElement62"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage62">
+    <wsdl:part name="Request" element="tns:RequestElement62"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType62">
+    <wsdl:operation name="Operation62">
+      <wsdl:input message="tns:RequestMessage62" name="Input62"/>
+      <wsdl:output message="tns:ResponseMessage62" name="Output62"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding62" type="tns:PortType62">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation62">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation62"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service62">
+    <wsdl:port name="Port62" binding="tns:Binding62">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage63">
+    <wsdl:part name="Response" element="tns:ResponseElement63"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage63">
+    <wsdl:part name="Request" element="tns:RequestElement63"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType63">
+    <wsdl:operation name="Operation63">
+      <wsdl:input message="tns:RequestMessage63" name="Input63"/>
+      <wsdl:output message="tns:ResponseMessage63" name="Output63"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding63" type="tns:PortType63">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation63">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation63"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service63">
+    <wsdl:port name="Port63" binding="tns:Binding63">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage64">
+    <wsdl:part name="Response" element="tns:ResponseElement64"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage64">
+    <wsdl:part name="Request" element="tns:RequestElement64"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType64">
+    <wsdl:operation name="Operation64">
+      <wsdl:input message="tns:RequestMessage64" name="Input64"/>
+      <wsdl:output message="tns:ResponseMessage64" name="Output64"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding64" type="tns:PortType64">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation64">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation64"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service64">
+    <wsdl:port name="Port64" binding="tns:Binding64">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage65">
+    <wsdl:part name="Response" element="tns:ResponseElement65"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage65">
+    <wsdl:part name="Request" element="tns:RequestElement65"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType65">
+    <wsdl:operation name="Operation65">
+      <wsdl:input message="tns:RequestMessage65" name="Input65"/>
+      <wsdl:output message="tns:ResponseMessage65" name="Output65"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding65" type="tns:PortType65">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation65">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation65"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service65">
+    <wsdl:port name="Port65" binding="tns:Binding65">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage66">
+    <wsdl:part name="Response" element="tns:ResponseElement66"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage66">
+    <wsdl:part name="Request" element="tns:RequestElement66"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType66">
+    <wsdl:operation name="Operation66">
+      <wsdl:input message="tns:RequestMessage66" name="Input66"/>
+      <wsdl:output message="tns:ResponseMessage66" name="Output66"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding66" type="tns:PortType66">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation66">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation66"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service66">
+    <wsdl:port name="Port66" binding="tns:Binding66">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage67">
+    <wsdl:part name="Response" element="tns:ResponseElement67"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage67">
+    <wsdl:part name="Request" element="tns:RequestElement67"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType67">
+    <wsdl:operation name="Operation67">
+      <wsdl:input message="tns:RequestMessage67" name="Input67"/>
+      <wsdl:output message="tns:ResponseMessage67" name="Output67"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding67" type="tns:PortType67">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation67">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation67"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service67">
+    <wsdl:port name="Port67" binding="tns:Binding67">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage68">
+    <wsdl:part name="Response" element="tns:ResponseElement68"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage68">
+    <wsdl:part name="Request" element="tns:RequestElement68"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType68">
+    <wsdl:operation name="Operation68">
+      <wsdl:input message="tns:RequestMessage68" name="Input68"/>
+      <wsdl:output message="tns:ResponseMessage68" name="Output68"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding68" type="tns:PortType68">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation68">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation68"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service68">
+    <wsdl:port name="Port68" binding="tns:Binding68">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage69">
+    <wsdl:part name="Response" element="tns:ResponseElement69"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage69">
+    <wsdl:part name="Request" element="tns:RequestElement69"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType69">
+    <wsdl:operation name="Operation69">
+      <wsdl:input message="tns:RequestMessage69" name="Input69"/>
+      <wsdl:output message="tns:ResponseMessage69" name="Output69"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding69" type="tns:PortType69">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation69">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation69"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service69">
+    <wsdl:port name="Port69" binding="tns:Binding69">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage70">
+    <wsdl:part name="Response" element="tns:ResponseElement70"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage70">
+    <wsdl:part name="Request" element="tns:RequestElement70"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType70">
+    <wsdl:operation name="Operation70">
+      <wsdl:input message="tns:RequestMessage70" name="Input70"/>
+      <wsdl:output message="tns:ResponseMessage70" name="Output70"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding70" type="tns:PortType70">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation70">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation70"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service70">
+    <wsdl:port name="Port70" binding="tns:Binding70">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage71">
+    <wsdl:part name="Response" element="tns:ResponseElement71"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage71">
+    <wsdl:part name="Request" element="tns:RequestElement71"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType71">
+    <wsdl:operation name="Operation71">
+      <wsdl:input message="tns:RequestMessage71" name="Input71"/>
+      <wsdl:output message="tns:ResponseMessage71" name="Output71"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding71" type="tns:PortType71">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation71">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation71"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service71">
+    <wsdl:port name="Port71" binding="tns:Binding71">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage72">
+    <wsdl:part name="Response" element="tns:ResponseElement72"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage72">
+    <wsdl:part name="Request" element="tns:RequestElement72"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType72">
+    <wsdl:operation name="Operation72">
+      <wsdl:input message="tns:RequestMessage72" name="Input72"/>
+      <wsdl:output message="tns:ResponseMessage72" name="Output72"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding72" type="tns:PortType72">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation72">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation72"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service72">
+    <wsdl:port name="Port72" binding="tns:Binding72">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage73">
+    <wsdl:part name="Response" element="tns:ResponseElement73"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage73">
+    <wsdl:part name="Request" element="tns:RequestElement73"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType73">
+    <wsdl:operation name="Operation73">
+      <wsdl:input message="tns:RequestMessage73" name="Input73"/>
+      <wsdl:output message="tns:ResponseMessage73" name="Output73"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding73" type="tns:PortType73">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation73">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation73"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service73">
+    <wsdl:port name="Port73" binding="tns:Binding73">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage74">
+    <wsdl:part name="Response" element="tns:ResponseElement74"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage74">
+    <wsdl:part name="Request" element="tns:RequestElement74"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType74">
+    <wsdl:operation name="Operation74">
+      <wsdl:input message="tns:RequestMessage74" name="Input74"/>
+      <wsdl:output message="tns:ResponseMessage74" name="Output74"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding74" type="tns:PortType74">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation74">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation74"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service74">
+    <wsdl:port name="Port74" binding="tns:Binding74">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage75">
+    <wsdl:part name="Response" element="tns:ResponseElement75"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage75">
+    <wsdl:part name="Request" element="tns:RequestElement75"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType75">
+    <wsdl:operation name="Operation75">
+      <wsdl:input message="tns:RequestMessage75" name="Input75"/>
+      <wsdl:output message="tns:ResponseMessage75" name="Output75"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding75" type="tns:PortType75">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation75">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation75"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service75">
+    <wsdl:port name="Port75" binding="tns:Binding75">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage76">
+    <wsdl:part name="Response" element="tns:ResponseElement76"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage76">
+    <wsdl:part name="Request" element="tns:RequestElement76"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType76">
+    <wsdl:operation name="Operation76">
+      <wsdl:input message="tns:RequestMessage76" name="Input76"/>
+      <wsdl:output message="tns:ResponseMessage76" name="Output76"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding76" type="tns:PortType76">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation76">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation76"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service76">
+    <wsdl:port name="Port76" binding="tns:Binding76">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage77">
+    <wsdl:part name="Response" element="tns:ResponseElement77"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage77">
+    <wsdl:part name="Request" element="tns:RequestElement77"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType77">
+    <wsdl:operation name="Operation77">
+      <wsdl:input message="tns:RequestMessage77" name="Input77"/>
+      <wsdl:output message="tns:ResponseMessage77" name="Output77"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding77" type="tns:PortType77">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation77">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation77"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service77">
+    <wsdl:port name="Port77" binding="tns:Binding77">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage78">
+    <wsdl:part name="Response" element="tns:ResponseElement78"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage78">
+    <wsdl:part name="Request" element="tns:RequestElement78"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType78">
+    <wsdl:operation name="Operation78">
+      <wsdl:input message="tns:RequestMessage78" name="Input78"/>
+      <wsdl:output message="tns:ResponseMessage78" name="Output78"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding78" type="tns:PortType78">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation78">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation78"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service78">
+    <wsdl:port name="Port78" binding="tns:Binding78">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage79">
+    <wsdl:part name="Response" element="tns:ResponseElement79"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage79">
+    <wsdl:part name="Request" element="tns:RequestElement79"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType79">
+    <wsdl:operation name="Operation79">
+      <wsdl:input message="tns:RequestMessage79" name="Input79"/>
+      <wsdl:output message="tns:ResponseMessage79" name="Output79"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding79" type="tns:PortType79">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation79">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation79"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service79">
+    <wsdl:port name="Port79" binding="tns:Binding79">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage80">
+    <wsdl:part name="Response" element="tns:ResponseElement80"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage80">
+    <wsdl:part name="Request" element="tns:RequestElement80"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType80">
+    <wsdl:operation name="Operation80">
+      <wsdl:input message="tns:RequestMessage80" name="Input80"/>
+      <wsdl:output message="tns:ResponseMessage80" name="Output80"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding80" type="tns:PortType80">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation80">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation80"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service80">
+    <wsdl:port name="Port80" binding="tns:Binding80">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage81">
+    <wsdl:part name="Response" element="tns:ResponseElement81"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage81">
+    <wsdl:part name="Request" element="tns:RequestElement81"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType81">
+    <wsdl:operation name="Operation81">
+      <wsdl:input message="tns:RequestMessage81" name="Input81"/>
+      <wsdl:output message="tns:ResponseMessage81" name="Output81"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding81" type="tns:PortType81">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation81">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation81"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service81">
+    <wsdl:port name="Port81" binding="tns:Binding81">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage82">
+    <wsdl:part name="Response" element="tns:ResponseElement82"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage82">
+    <wsdl:part name="Request" element="tns:RequestElement82"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType82">
+    <wsdl:operation name="Operation82">
+      <wsdl:input message="tns:RequestMessage82" name="Input82"/>
+      <wsdl:output message="tns:ResponseMessage82" name="Output82"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding82" type="tns:PortType82">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation82">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation82"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service82">
+    <wsdl:port name="Port82" binding="tns:Binding82">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage83">
+    <wsdl:part name="Response" element="tns:ResponseElement83"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage83">
+    <wsdl:part name="Request" element="tns:RequestElement83"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType83">
+    <wsdl:operation name="Operation83">
+      <wsdl:input message="tns:RequestMessage83" name="Input83"/>
+      <wsdl:output message="tns:ResponseMessage83" name="Output83"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding83" type="tns:PortType83">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation83">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation83"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service83">
+    <wsdl:port name="Port83" binding="tns:Binding83">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage84">
+    <wsdl:part name="Response" element="tns:ResponseElement84"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage84">
+    <wsdl:part name="Request" element="tns:RequestElement84"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType84">
+    <wsdl:operation name="Operation84">
+      <wsdl:input message="tns:RequestMessage84" name="Input84"/>
+      <wsdl:output message="tns:ResponseMessage84" name="Output84"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding84" type="tns:PortType84">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation84">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation84"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service84">
+    <wsdl:port name="Port84" binding="tns:Binding84">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage85">
+    <wsdl:part name="Response" element="tns:ResponseElement85"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage85">
+    <wsdl:part name="Request" element="tns:RequestElement85"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType85">
+    <wsdl:operation name="Operation85">
+      <wsdl:input message="tns:RequestMessage85" name="Input85"/>
+      <wsdl:output message="tns:ResponseMessage85" name="Output85"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding85" type="tns:PortType85">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation85">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation85"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service85">
+    <wsdl:port name="Port85" binding="tns:Binding85">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage86">
+    <wsdl:part name="Response" element="tns:ResponseElement86"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage86">
+    <wsdl:part name="Request" element="tns:RequestElement86"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType86">
+    <wsdl:operation name="Operation86">
+      <wsdl:input message="tns:RequestMessage86" name="Input86"/>
+      <wsdl:output message="tns:ResponseMessage86" name="Output86"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding86" type="tns:PortType86">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation86">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation86"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service86">
+    <wsdl:port name="Port86" binding="tns:Binding86">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage87">
+    <wsdl:part name="Response" element="tns:ResponseElement87"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage87">
+    <wsdl:part name="Request" element="tns:RequestElement87"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType87">
+    <wsdl:operation name="Operation87">
+      <wsdl:input message="tns:RequestMessage87" name="Input87"/>
+      <wsdl:output message="tns:ResponseMessage87" name="Output87"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding87" type="tns:PortType87">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation87">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation87"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service87">
+    <wsdl:port name="Port87" binding="tns:Binding87">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage88">
+    <wsdl:part name="Response" element="tns:ResponseElement88"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage88">
+    <wsdl:part name="Request" element="tns:RequestElement88"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType88">
+    <wsdl:operation name="Operation88">
+      <wsdl:input message="tns:RequestMessage88" name="Input88"/>
+      <wsdl:output message="tns:ResponseMessage88" name="Output88"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding88" type="tns:PortType88">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation88">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation88"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service88">
+    <wsdl:port name="Port88" binding="tns:Binding88">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage89">
+    <wsdl:part name="Response" element="tns:ResponseElement89"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage89">
+    <wsdl:part name="Request" element="tns:RequestElement89"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType89">
+    <wsdl:operation name="Operation89">
+      <wsdl:input message="tns:RequestMessage89" name="Input89"/>
+      <wsdl:output message="tns:ResponseMessage89" name="Output89"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding89" type="tns:PortType89">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation89">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation89"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service89">
+    <wsdl:port name="Port89" binding="tns:Binding89">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage90">
+    <wsdl:part name="Response" element="tns:ResponseElement90"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage90">
+    <wsdl:part name="Request" element="tns:RequestElement90"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType90">
+    <wsdl:operation name="Operation90">
+      <wsdl:input message="tns:RequestMessage90" name="Input90"/>
+      <wsdl:output message="tns:ResponseMessage90" name="Output90"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding90" type="tns:PortType90">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation90">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation90"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service90">
+    <wsdl:port name="Port90" binding="tns:Binding90">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage91">
+    <wsdl:part name="Response" element="tns:ResponseElement91"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage91">
+    <wsdl:part name="Request" element="tns:RequestElement91"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType91">
+    <wsdl:operation name="Operation91">
+      <wsdl:input message="tns:RequestMessage91" name="Input91"/>
+      <wsdl:output message="tns:ResponseMessage91" name="Output91"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding91" type="tns:PortType91">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation91">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation91"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service91">
+    <wsdl:port name="Port91" binding="tns:Binding91">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage92">
+    <wsdl:part name="Response" element="tns:ResponseElement92"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage92">
+    <wsdl:part name="Request" element="tns:RequestElement92"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType92">
+    <wsdl:operation name="Operation92">
+      <wsdl:input message="tns:RequestMessage92" name="Input92"/>
+      <wsdl:output message="tns:ResponseMessage92" name="Output92"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding92" type="tns:PortType92">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation92">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation92"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service92">
+    <wsdl:port name="Port92" binding="tns:Binding92">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage93">
+    <wsdl:part name="Response" element="tns:ResponseElement93"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage93">
+    <wsdl:part name="Request" element="tns:RequestElement93"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType93">
+    <wsdl:operation name="Operation93">
+      <wsdl:input message="tns:RequestMessage93" name="Input93"/>
+      <wsdl:output message="tns:ResponseMessage93" name="Output93"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding93" type="tns:PortType93">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation93">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation93"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service93">
+    <wsdl:port name="Port93" binding="tns:Binding93">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage94">
+    <wsdl:part name="Response" element="tns:ResponseElement94"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage94">
+    <wsdl:part name="Request" element="tns:RequestElement94"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType94">
+    <wsdl:operation name="Operation94">
+      <wsdl:input message="tns:RequestMessage94" name="Input94"/>
+      <wsdl:output message="tns:ResponseMessage94" name="Output94"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding94" type="tns:PortType94">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation94">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation94"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service94">
+    <wsdl:port name="Port94" binding="tns:Binding94">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage95">
+    <wsdl:part name="Response" element="tns:ResponseElement95"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage95">
+    <wsdl:part name="Request" element="tns:RequestElement95"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType95">
+    <wsdl:operation name="Operation95">
+      <wsdl:input message="tns:RequestMessage95" name="Input95"/>
+      <wsdl:output message="tns:ResponseMessage95" name="Output95"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding95" type="tns:PortType95">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation95">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation95"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service95">
+    <wsdl:port name="Port95" binding="tns:Binding95">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage96">
+    <wsdl:part name="Response" element="tns:ResponseElement96"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage96">
+    <wsdl:part name="Request" element="tns:RequestElement96"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType96">
+    <wsdl:operation name="Operation96">
+      <wsdl:input message="tns:RequestMessage96" name="Input96"/>
+      <wsdl:output message="tns:ResponseMessage96" name="Output96"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding96" type="tns:PortType96">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation96">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation96"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service96">
+    <wsdl:port name="Port96" binding="tns:Binding96">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage97">
+    <wsdl:part name="Response" element="tns:ResponseElement97"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage97">
+    <wsdl:part name="Request" element="tns:RequestElement97"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType97">
+    <wsdl:operation name="Operation97">
+      <wsdl:input message="tns:RequestMessage97" name="Input97"/>
+      <wsdl:output message="tns:ResponseMessage97" name="Output97"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding97" type="tns:PortType97">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation97">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation97"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service97">
+    <wsdl:port name="Port97" binding="tns:Binding97">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage98">
+    <wsdl:part name="Response" element="tns:ResponseElement98"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage98">
+    <wsdl:part name="Request" element="tns:RequestElement98"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType98">
+    <wsdl:operation name="Operation98">
+      <wsdl:input message="tns:RequestMessage98" name="Input98"/>
+      <wsdl:output message="tns:ResponseMessage98" name="Output98"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding98" type="tns:PortType98">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation98">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation98"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service98">
+    <wsdl:port name="Port98" binding="tns:Binding98">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage99">
+    <wsdl:part name="Response" element="tns:ResponseElement99"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage99">
+    <wsdl:part name="Request" element="tns:RequestElement99"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType99">
+    <wsdl:operation name="Operation99">
+      <wsdl:input message="tns:RequestMessage99" name="Input99"/>
+      <wsdl:output message="tns:ResponseMessage99" name="Output99"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding99" type="tns:PortType99">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation99">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation99"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service99">
+    <wsdl:port name="Port99" binding="tns:Binding99">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage100">
+    <wsdl:part name="Response" element="tns:ResponseElement100"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage100">
+    <wsdl:part name="Request" element="tns:RequestElement100"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType100">
+    <wsdl:operation name="Operation100">
+      <wsdl:input message="tns:RequestMessage100" name="Input100"/>
+      <wsdl:output message="tns:ResponseMessage100" name="Output100"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding100" type="tns:PortType100">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation100">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation100"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service100">
+    <wsdl:port name="Port100" binding="tns:Binding100">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage101">
+    <wsdl:part name="Response" element="tns:ResponseElement101"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage101">
+    <wsdl:part name="Request" element="tns:RequestElement101"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType101">
+    <wsdl:operation name="Operation101">
+      <wsdl:input message="tns:RequestMessage101" name="Input101"/>
+      <wsdl:output message="tns:ResponseMessage101" name="Output101"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding101" type="tns:PortType101">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation101">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation101"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service101">
+    <wsdl:port name="Port101" binding="tns:Binding101">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage102">
+    <wsdl:part name="Response" element="tns:ResponseElement102"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage102">
+    <wsdl:part name="Request" element="tns:RequestElement102"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType102">
+    <wsdl:operation name="Operation102">
+      <wsdl:input message="tns:RequestMessage102" name="Input102"/>
+      <wsdl:output message="tns:ResponseMessage102" name="Output102"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding102" type="tns:PortType102">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation102">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation102"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service102">
+    <wsdl:port name="Port102" binding="tns:Binding102">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage103">
+    <wsdl:part name="Response" element="tns:ResponseElement103"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage103">
+    <wsdl:part name="Request" element="tns:RequestElement103"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType103">
+    <wsdl:operation name="Operation103">
+      <wsdl:input message="tns:RequestMessage103" name="Input103"/>
+      <wsdl:output message="tns:ResponseMessage103" name="Output103"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding103" type="tns:PortType103">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation103">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation103"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service103">
+    <wsdl:port name="Port103" binding="tns:Binding103">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage104">
+    <wsdl:part name="Response" element="tns:ResponseElement104"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage104">
+    <wsdl:part name="Request" element="tns:RequestElement104"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType104">
+    <wsdl:operation name="Operation104">
+      <wsdl:input message="tns:RequestMessage104" name="Input104"/>
+      <wsdl:output message="tns:ResponseMessage104" name="Output104"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding104" type="tns:PortType104">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation104">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation104"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service104">
+    <wsdl:port name="Port104" binding="tns:Binding104">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage105">
+    <wsdl:part name="Response" element="tns:ResponseElement105"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage105">
+    <wsdl:part name="Request" element="tns:RequestElement105"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType105">
+    <wsdl:operation name="Operation105">
+      <wsdl:input message="tns:RequestMessage105" name="Input105"/>
+      <wsdl:output message="tns:ResponseMessage105" name="Output105"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding105" type="tns:PortType105">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation105">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation105"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service105">
+    <wsdl:port name="Port105" binding="tns:Binding105">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage106">
+    <wsdl:part name="Response" element="tns:ResponseElement106"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage106">
+    <wsdl:part name="Request" element="tns:RequestElement106"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType106">
+    <wsdl:operation name="Operation106">
+      <wsdl:input message="tns:RequestMessage106" name="Input106"/>
+      <wsdl:output message="tns:ResponseMessage106" name="Output106"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding106" type="tns:PortType106">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation106">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation106"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service106">
+    <wsdl:port name="Port106" binding="tns:Binding106">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage107">
+    <wsdl:part name="Response" element="tns:ResponseElement107"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage107">
+    <wsdl:part name="Request" element="tns:RequestElement107"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType107">
+    <wsdl:operation name="Operation107">
+      <wsdl:input message="tns:RequestMessage107" name="Input107"/>
+      <wsdl:output message="tns:ResponseMessage107" name="Output107"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding107" type="tns:PortType107">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation107">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation107"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service107">
+    <wsdl:port name="Port107" binding="tns:Binding107">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage108">
+    <wsdl:part name="Response" element="tns:ResponseElement108"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage108">
+    <wsdl:part name="Request" element="tns:RequestElement108"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType108">
+    <wsdl:operation name="Operation108">
+      <wsdl:input message="tns:RequestMessage108" name="Input108"/>
+      <wsdl:output message="tns:ResponseMessage108" name="Output108"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding108" type="tns:PortType108">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation108">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation108"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service108">
+    <wsdl:port name="Port108" binding="tns:Binding108">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage109">
+    <wsdl:part name="Response" element="tns:ResponseElement109"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage109">
+    <wsdl:part name="Request" element="tns:RequestElement109"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType109">
+    <wsdl:operation name="Operation109">
+      <wsdl:input message="tns:RequestMessage109" name="Input109"/>
+      <wsdl:output message="tns:ResponseMessage109" name="Output109"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding109" type="tns:PortType109">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation109">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation109"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service109">
+    <wsdl:port name="Port109" binding="tns:Binding109">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage110">
+    <wsdl:part name="Response" element="tns:ResponseElement110"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage110">
+    <wsdl:part name="Request" element="tns:RequestElement110"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType110">
+    <wsdl:operation name="Operation110">
+      <wsdl:input message="tns:RequestMessage110" name="Input110"/>
+      <wsdl:output message="tns:ResponseMessage110" name="Output110"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding110" type="tns:PortType110">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation110">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation110"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service110">
+    <wsdl:port name="Port110" binding="tns:Binding110">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage111">
+    <wsdl:part name="Response" element="tns:ResponseElement111"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage111">
+    <wsdl:part name="Request" element="tns:RequestElement111"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType111">
+    <wsdl:operation name="Operation111">
+      <wsdl:input message="tns:RequestMessage111" name="Input111"/>
+      <wsdl:output message="tns:ResponseMessage111" name="Output111"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding111" type="tns:PortType111">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation111">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation111"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service111">
+    <wsdl:port name="Port111" binding="tns:Binding111">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage112">
+    <wsdl:part name="Response" element="tns:ResponseElement112"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage112">
+    <wsdl:part name="Request" element="tns:RequestElement112"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType112">
+    <wsdl:operation name="Operation112">
+      <wsdl:input message="tns:RequestMessage112" name="Input112"/>
+      <wsdl:output message="tns:ResponseMessage112" name="Output112"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding112" type="tns:PortType112">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation112">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation112"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service112">
+    <wsdl:port name="Port112" binding="tns:Binding112">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage113">
+    <wsdl:part name="Response" element="tns:ResponseElement113"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage113">
+    <wsdl:part name="Request" element="tns:RequestElement113"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType113">
+    <wsdl:operation name="Operation113">
+      <wsdl:input message="tns:RequestMessage113" name="Input113"/>
+      <wsdl:output message="tns:ResponseMessage113" name="Output113"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding113" type="tns:PortType113">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation113">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation113"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service113">
+    <wsdl:port name="Port113" binding="tns:Binding113">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage114">
+    <wsdl:part name="Response" element="tns:ResponseElement114"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage114">
+    <wsdl:part name="Request" element="tns:RequestElement114"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType114">
+    <wsdl:operation name="Operation114">
+      <wsdl:input message="tns:RequestMessage114" name="Input114"/>
+      <wsdl:output message="tns:ResponseMessage114" name="Output114"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding114" type="tns:PortType114">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation114">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation114"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service114">
+    <wsdl:port name="Port114" binding="tns:Binding114">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage115">
+    <wsdl:part name="Response" element="tns:ResponseElement115"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage115">
+    <wsdl:part name="Request" element="tns:RequestElement115"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType115">
+    <wsdl:operation name="Operation115">
+      <wsdl:input message="tns:RequestMessage115" name="Input115"/>
+      <wsdl:output message="tns:ResponseMessage115" name="Output115"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding115" type="tns:PortType115">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation115">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation115"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service115">
+    <wsdl:port name="Port115" binding="tns:Binding115">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage116">
+    <wsdl:part name="Response" element="tns:ResponseElement116"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage116">
+    <wsdl:part name="Request" element="tns:RequestElement116"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType116">
+    <wsdl:operation name="Operation116">
+      <wsdl:input message="tns:RequestMessage116" name="Input116"/>
+      <wsdl:output message="tns:ResponseMessage116" name="Output116"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding116" type="tns:PortType116">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation116">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation116"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service116">
+    <wsdl:port name="Port116" binding="tns:Binding116">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage117">
+    <wsdl:part name="Response" element="tns:ResponseElement117"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage117">
+    <wsdl:part name="Request" element="tns:RequestElement117"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType117">
+    <wsdl:operation name="Operation117">
+      <wsdl:input message="tns:RequestMessage117" name="Input117"/>
+      <wsdl:output message="tns:ResponseMessage117" name="Output117"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding117" type="tns:PortType117">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation117">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation117"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service117">
+    <wsdl:port name="Port117" binding="tns:Binding117">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage118">
+    <wsdl:part name="Response" element="tns:ResponseElement118"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage118">
+    <wsdl:part name="Request" element="tns:RequestElement118"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType118">
+    <wsdl:operation name="Operation118">
+      <wsdl:input message="tns:RequestMessage118" name="Input118"/>
+      <wsdl:output message="tns:ResponseMessage118" name="Output118"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding118" type="tns:PortType118">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation118">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation118"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service118">
+    <wsdl:port name="Port118" binding="tns:Binding118">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage119">
+    <wsdl:part name="Response" element="tns:ResponseElement119"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage119">
+    <wsdl:part name="Request" element="tns:RequestElement119"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType119">
+    <wsdl:operation name="Operation119">
+      <wsdl:input message="tns:RequestMessage119" name="Input119"/>
+      <wsdl:output message="tns:ResponseMessage119" name="Output119"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding119" type="tns:PortType119">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation119">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation119"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service119">
+    <wsdl:port name="Port119" binding="tns:Binding119">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage120">
+    <wsdl:part name="Response" element="tns:ResponseElement120"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage120">
+    <wsdl:part name="Request" element="tns:RequestElement120"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType120">
+    <wsdl:operation name="Operation120">
+      <wsdl:input message="tns:RequestMessage120" name="Input120"/>
+      <wsdl:output message="tns:ResponseMessage120" name="Output120"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding120" type="tns:PortType120">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation120">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation120"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service120">
+    <wsdl:port name="Port120" binding="tns:Binding120">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage121">
+    <wsdl:part name="Response" element="tns:ResponseElement121"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage121">
+    <wsdl:part name="Request" element="tns:RequestElement121"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType121">
+    <wsdl:operation name="Operation121">
+      <wsdl:input message="tns:RequestMessage121" name="Input121"/>
+      <wsdl:output message="tns:ResponseMessage121" name="Output121"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding121" type="tns:PortType121">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation121">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation121"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service121">
+    <wsdl:port name="Port121" binding="tns:Binding121">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage122">
+    <wsdl:part name="Response" element="tns:ResponseElement122"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage122">
+    <wsdl:part name="Request" element="tns:RequestElement122"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType122">
+    <wsdl:operation name="Operation122">
+      <wsdl:input message="tns:RequestMessage122" name="Input122"/>
+      <wsdl:output message="tns:ResponseMessage122" name="Output122"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding122" type="tns:PortType122">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation122">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation122"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service122">
+    <wsdl:port name="Port122" binding="tns:Binding122">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage123">
+    <wsdl:part name="Response" element="tns:ResponseElement123"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage123">
+    <wsdl:part name="Request" element="tns:RequestElement123"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType123">
+    <wsdl:operation name="Operation123">
+      <wsdl:input message="tns:RequestMessage123" name="Input123"/>
+      <wsdl:output message="tns:ResponseMessage123" name="Output123"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding123" type="tns:PortType123">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation123">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation123"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service123">
+    <wsdl:port name="Port123" binding="tns:Binding123">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage124">
+    <wsdl:part name="Response" element="tns:ResponseElement124"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage124">
+    <wsdl:part name="Request" element="tns:RequestElement124"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType124">
+    <wsdl:operation name="Operation124">
+      <wsdl:input message="tns:RequestMessage124" name="Input124"/>
+      <wsdl:output message="tns:ResponseMessage124" name="Output124"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding124" type="tns:PortType124">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation124">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation124"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service124">
+    <wsdl:port name="Port124" binding="tns:Binding124">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage125">
+    <wsdl:part name="Response" element="tns:ResponseElement125"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage125">
+    <wsdl:part name="Request" element="tns:RequestElement125"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType125">
+    <wsdl:operation name="Operation125">
+      <wsdl:input message="tns:RequestMessage125" name="Input125"/>
+      <wsdl:output message="tns:ResponseMessage125" name="Output125"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding125" type="tns:PortType125">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation125">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation125"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service125">
+    <wsdl:port name="Port125" binding="tns:Binding125">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage126">
+    <wsdl:part name="Response" element="tns:ResponseElement126"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage126">
+    <wsdl:part name="Request" element="tns:RequestElement126"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType126">
+    <wsdl:operation name="Operation126">
+      <wsdl:input message="tns:RequestMessage126" name="Input126"/>
+      <wsdl:output message="tns:ResponseMessage126" name="Output126"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding126" type="tns:PortType126">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation126">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation126"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service126">
+    <wsdl:port name="Port126" binding="tns:Binding126">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage127">
+    <wsdl:part name="Response" element="tns:ResponseElement127"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage127">
+    <wsdl:part name="Request" element="tns:RequestElement127"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType127">
+    <wsdl:operation name="Operation127">
+      <wsdl:input message="tns:RequestMessage127" name="Input127"/>
+      <wsdl:output message="tns:ResponseMessage127" name="Output127"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding127" type="tns:PortType127">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation127">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation127"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service127">
+    <wsdl:port name="Port127" binding="tns:Binding127">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage128">
+    <wsdl:part name="Response" element="tns:ResponseElement128"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage128">
+    <wsdl:part name="Request" element="tns:RequestElement128"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType128">
+    <wsdl:operation name="Operation128">
+      <wsdl:input message="tns:RequestMessage128" name="Input128"/>
+      <wsdl:output message="tns:ResponseMessage128" name="Output128"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding128" type="tns:PortType128">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation128">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation128"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service128">
+    <wsdl:port name="Port128" binding="tns:Binding128">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage129">
+    <wsdl:part name="Response" element="tns:ResponseElement129"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage129">
+    <wsdl:part name="Request" element="tns:RequestElement129"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType129">
+    <wsdl:operation name="Operation129">
+      <wsdl:input message="tns:RequestMessage129" name="Input129"/>
+      <wsdl:output message="tns:ResponseMessage129" name="Output129"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding129" type="tns:PortType129">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation129">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation129"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service129">
+    <wsdl:port name="Port129" binding="tns:Binding129">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage130">
+    <wsdl:part name="Response" element="tns:ResponseElement130"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage130">
+    <wsdl:part name="Request" element="tns:RequestElement130"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType130">
+    <wsdl:operation name="Operation130">
+      <wsdl:input message="tns:RequestMessage130" name="Input130"/>
+      <wsdl:output message="tns:ResponseMessage130" name="Output130"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding130" type="tns:PortType130">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation130">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation130"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service130">
+    <wsdl:port name="Port130" binding="tns:Binding130">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage131">
+    <wsdl:part name="Response" element="tns:ResponseElement131"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage131">
+    <wsdl:part name="Request" element="tns:RequestElement131"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType131">
+    <wsdl:operation name="Operation131">
+      <wsdl:input message="tns:RequestMessage131" name="Input131"/>
+      <wsdl:output message="tns:ResponseMessage131" name="Output131"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding131" type="tns:PortType131">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation131">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation131"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service131">
+    <wsdl:port name="Port131" binding="tns:Binding131">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage132">
+    <wsdl:part name="Response" element="tns:ResponseElement132"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage132">
+    <wsdl:part name="Request" element="tns:RequestElement132"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType132">
+    <wsdl:operation name="Operation132">
+      <wsdl:input message="tns:RequestMessage132" name="Input132"/>
+      <wsdl:output message="tns:ResponseMessage132" name="Output132"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding132" type="tns:PortType132">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation132">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation132"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service132">
+    <wsdl:port name="Port132" binding="tns:Binding132">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage133">
+    <wsdl:part name="Response" element="tns:ResponseElement133"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage133">
+    <wsdl:part name="Request" element="tns:RequestElement133"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType133">
+    <wsdl:operation name="Operation133">
+      <wsdl:input message="tns:RequestMessage133" name="Input133"/>
+      <wsdl:output message="tns:ResponseMessage133" name="Output133"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding133" type="tns:PortType133">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation133">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation133"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service133">
+    <wsdl:port name="Port133" binding="tns:Binding133">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage134">
+    <wsdl:part name="Response" element="tns:ResponseElement134"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage134">
+    <wsdl:part name="Request" element="tns:RequestElement134"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType134">
+    <wsdl:operation name="Operation134">
+      <wsdl:input message="tns:RequestMessage134" name="Input134"/>
+      <wsdl:output message="tns:ResponseMessage134" name="Output134"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding134" type="tns:PortType134">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation134">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation134"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service134">
+    <wsdl:port name="Port134" binding="tns:Binding134">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage135">
+    <wsdl:part name="Response" element="tns:ResponseElement135"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage135">
+    <wsdl:part name="Request" element="tns:RequestElement135"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType135">
+    <wsdl:operation name="Operation135">
+      <wsdl:input message="tns:RequestMessage135" name="Input135"/>
+      <wsdl:output message="tns:ResponseMessage135" name="Output135"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding135" type="tns:PortType135">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation135">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation135"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service135">
+    <wsdl:port name="Port135" binding="tns:Binding135">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage136">
+    <wsdl:part name="Response" element="tns:ResponseElement136"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage136">
+    <wsdl:part name="Request" element="tns:RequestElement136"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType136">
+    <wsdl:operation name="Operation136">
+      <wsdl:input message="tns:RequestMessage136" name="Input136"/>
+      <wsdl:output message="tns:ResponseMessage136" name="Output136"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding136" type="tns:PortType136">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation136">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation136"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service136">
+    <wsdl:port name="Port136" binding="tns:Binding136">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage137">
+    <wsdl:part name="Response" element="tns:ResponseElement137"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage137">
+    <wsdl:part name="Request" element="tns:RequestElement137"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType137">
+    <wsdl:operation name="Operation137">
+      <wsdl:input message="tns:RequestMessage137" name="Input137"/>
+      <wsdl:output message="tns:ResponseMessage137" name="Output137"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding137" type="tns:PortType137">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation137">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation137"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service137">
+    <wsdl:port name="Port137" binding="tns:Binding137">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage138">
+    <wsdl:part name="Response" element="tns:ResponseElement138"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage138">
+    <wsdl:part name="Request" element="tns:RequestElement138"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType138">
+    <wsdl:operation name="Operation138">
+      <wsdl:input message="tns:RequestMessage138" name="Input138"/>
+      <wsdl:output message="tns:ResponseMessage138" name="Output138"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding138" type="tns:PortType138">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation138">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation138"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service138">
+    <wsdl:port name="Port138" binding="tns:Binding138">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage139">
+    <wsdl:part name="Response" element="tns:ResponseElement139"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage139">
+    <wsdl:part name="Request" element="tns:RequestElement139"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType139">
+    <wsdl:operation name="Operation139">
+      <wsdl:input message="tns:RequestMessage139" name="Input139"/>
+      <wsdl:output message="tns:ResponseMessage139" name="Output139"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding139" type="tns:PortType139">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation139">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation139"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service139">
+    <wsdl:port name="Port139" binding="tns:Binding139">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage140">
+    <wsdl:part name="Response" element="tns:ResponseElement140"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage140">
+    <wsdl:part name="Request" element="tns:RequestElement140"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType140">
+    <wsdl:operation name="Operation140">
+      <wsdl:input message="tns:RequestMessage140" name="Input140"/>
+      <wsdl:output message="tns:ResponseMessage140" name="Output140"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding140" type="tns:PortType140">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation140">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation140"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service140">
+    <wsdl:port name="Port140" binding="tns:Binding140">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage141">
+    <wsdl:part name="Response" element="tns:ResponseElement141"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage141">
+    <wsdl:part name="Request" element="tns:RequestElement141"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType141">
+    <wsdl:operation name="Operation141">
+      <wsdl:input message="tns:RequestMessage141" name="Input141"/>
+      <wsdl:output message="tns:ResponseMessage141" name="Output141"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding141" type="tns:PortType141">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation141">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation141"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service141">
+    <wsdl:port name="Port141" binding="tns:Binding141">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage142">
+    <wsdl:part name="Response" element="tns:ResponseElement142"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage142">
+    <wsdl:part name="Request" element="tns:RequestElement142"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType142">
+    <wsdl:operation name="Operation142">
+      <wsdl:input message="tns:RequestMessage142" name="Input142"/>
+      <wsdl:output message="tns:ResponseMessage142" name="Output142"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding142" type="tns:PortType142">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation142">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation142"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service142">
+    <wsdl:port name="Port142" binding="tns:Binding142">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage143">
+    <wsdl:part name="Response" element="tns:ResponseElement143"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage143">
+    <wsdl:part name="Request" element="tns:RequestElement143"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType143">
+    <wsdl:operation name="Operation143">
+      <wsdl:input message="tns:RequestMessage143" name="Input143"/>
+      <wsdl:output message="tns:ResponseMessage143" name="Output143"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding143" type="tns:PortType143">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation143">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation143"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service143">
+    <wsdl:port name="Port143" binding="tns:Binding143">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage144">
+    <wsdl:part name="Response" element="tns:ResponseElement144"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage144">
+    <wsdl:part name="Request" element="tns:RequestElement144"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType144">
+    <wsdl:operation name="Operation144">
+      <wsdl:input message="tns:RequestMessage144" name="Input144"/>
+      <wsdl:output message="tns:ResponseMessage144" name="Output144"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding144" type="tns:PortType144">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation144">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation144"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service144">
+    <wsdl:port name="Port144" binding="tns:Binding144">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage145">
+    <wsdl:part name="Response" element="tns:ResponseElement145"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage145">
+    <wsdl:part name="Request" element="tns:RequestElement145"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType145">
+    <wsdl:operation name="Operation145">
+      <wsdl:input message="tns:RequestMessage145" name="Input145"/>
+      <wsdl:output message="tns:ResponseMessage145" name="Output145"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding145" type="tns:PortType145">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation145">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation145"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service145">
+    <wsdl:port name="Port145" binding="tns:Binding145">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage146">
+    <wsdl:part name="Response" element="tns:ResponseElement146"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage146">
+    <wsdl:part name="Request" element="tns:RequestElement146"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType146">
+    <wsdl:operation name="Operation146">
+      <wsdl:input message="tns:RequestMessage146" name="Input146"/>
+      <wsdl:output message="tns:ResponseMessage146" name="Output146"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding146" type="tns:PortType146">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation146">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation146"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service146">
+    <wsdl:port name="Port146" binding="tns:Binding146">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage147">
+    <wsdl:part name="Response" element="tns:ResponseElement147"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage147">
+    <wsdl:part name="Request" element="tns:RequestElement147"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType147">
+    <wsdl:operation name="Operation147">
+      <wsdl:input message="tns:RequestMessage147" name="Input147"/>
+      <wsdl:output message="tns:ResponseMessage147" name="Output147"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding147" type="tns:PortType147">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation147">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation147"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service147">
+    <wsdl:port name="Port147" binding="tns:Binding147">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage148">
+    <wsdl:part name="Response" element="tns:ResponseElement148"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage148">
+    <wsdl:part name="Request" element="tns:RequestElement148"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType148">
+    <wsdl:operation name="Operation148">
+      <wsdl:input message="tns:RequestMessage148" name="Input148"/>
+      <wsdl:output message="tns:ResponseMessage148" name="Output148"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding148" type="tns:PortType148">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation148">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation148"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service148">
+    <wsdl:port name="Port148" binding="tns:Binding148">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage149">
+    <wsdl:part name="Response" element="tns:ResponseElement149"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage149">
+    <wsdl:part name="Request" element="tns:RequestElement149"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType149">
+    <wsdl:operation name="Operation149">
+      <wsdl:input message="tns:RequestMessage149" name="Input149"/>
+      <wsdl:output message="tns:ResponseMessage149" name="Output149"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding149" type="tns:PortType149">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation149">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation149"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service149">
+    <wsdl:port name="Port149" binding="tns:Binding149">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage150">
+    <wsdl:part name="Response" element="tns:ResponseElement150"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage150">
+    <wsdl:part name="Request" element="tns:RequestElement150"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType150">
+    <wsdl:operation name="Operation150">
+      <wsdl:input message="tns:RequestMessage150" name="Input150"/>
+      <wsdl:output message="tns:ResponseMessage150" name="Output150"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding150" type="tns:PortType150">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation150">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation150"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service150">
+    <wsdl:port name="Port150" binding="tns:Binding150">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage151">
+    <wsdl:part name="Response" element="tns:ResponseElement151"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage151">
+    <wsdl:part name="Request" element="tns:RequestElement151"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType151">
+    <wsdl:operation name="Operation151">
+      <wsdl:input message="tns:RequestMessage151" name="Input151"/>
+      <wsdl:output message="tns:ResponseMessage151" name="Output151"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding151" type="tns:PortType151">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation151">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation151"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service151">
+    <wsdl:port name="Port151" binding="tns:Binding151">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage152">
+    <wsdl:part name="Response" element="tns:ResponseElement152"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage152">
+    <wsdl:part name="Request" element="tns:RequestElement152"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType152">
+    <wsdl:operation name="Operation152">
+      <wsdl:input message="tns:RequestMessage152" name="Input152"/>
+      <wsdl:output message="tns:ResponseMessage152" name="Output152"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding152" type="tns:PortType152">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation152">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation152"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service152">
+    <wsdl:port name="Port152" binding="tns:Binding152">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage153">
+    <wsdl:part name="Response" element="tns:ResponseElement153"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage153">
+    <wsdl:part name="Request" element="tns:RequestElement153"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType153">
+    <wsdl:operation name="Operation153">
+      <wsdl:input message="tns:RequestMessage153" name="Input153"/>
+      <wsdl:output message="tns:ResponseMessage153" name="Output153"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding153" type="tns:PortType153">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation153">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation153"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service153">
+    <wsdl:port name="Port153" binding="tns:Binding153">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage154">
+    <wsdl:part name="Response" element="tns:ResponseElement154"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage154">
+    <wsdl:part name="Request" element="tns:RequestElement154"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType154">
+    <wsdl:operation name="Operation154">
+      <wsdl:input message="tns:RequestMessage154" name="Input154"/>
+      <wsdl:output message="tns:ResponseMessage154" name="Output154"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding154" type="tns:PortType154">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation154">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation154"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service154">
+    <wsdl:port name="Port154" binding="tns:Binding154">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage155">
+    <wsdl:part name="Response" element="tns:ResponseElement155"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage155">
+    <wsdl:part name="Request" element="tns:RequestElement155"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType155">
+    <wsdl:operation name="Operation155">
+      <wsdl:input message="tns:RequestMessage155" name="Input155"/>
+      <wsdl:output message="tns:ResponseMessage155" name="Output155"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding155" type="tns:PortType155">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation155">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation155"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service155">
+    <wsdl:port name="Port155" binding="tns:Binding155">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage156">
+    <wsdl:part name="Response" element="tns:ResponseElement156"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage156">
+    <wsdl:part name="Request" element="tns:RequestElement156"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType156">
+    <wsdl:operation name="Operation156">
+      <wsdl:input message="tns:RequestMessage156" name="Input156"/>
+      <wsdl:output message="tns:ResponseMessage156" name="Output156"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding156" type="tns:PortType156">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation156">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation156"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service156">
+    <wsdl:port name="Port156" binding="tns:Binding156">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage157">
+    <wsdl:part name="Response" element="tns:ResponseElement157"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage157">
+    <wsdl:part name="Request" element="tns:RequestElement157"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType157">
+    <wsdl:operation name="Operation157">
+      <wsdl:input message="tns:RequestMessage157" name="Input157"/>
+      <wsdl:output message="tns:ResponseMessage157" name="Output157"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding157" type="tns:PortType157">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation157">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation157"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service157">
+    <wsdl:port name="Port157" binding="tns:Binding157">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage158">
+    <wsdl:part name="Response" element="tns:ResponseElement158"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage158">
+    <wsdl:part name="Request" element="tns:RequestElement158"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType158">
+    <wsdl:operation name="Operation158">
+      <wsdl:input message="tns:RequestMessage158" name="Input158"/>
+      <wsdl:output message="tns:ResponseMessage158" name="Output158"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding158" type="tns:PortType158">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation158">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation158"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service158">
+    <wsdl:port name="Port158" binding="tns:Binding158">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage159">
+    <wsdl:part name="Response" element="tns:ResponseElement159"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage159">
+    <wsdl:part name="Request" element="tns:RequestElement159"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType159">
+    <wsdl:operation name="Operation159">
+      <wsdl:input message="tns:RequestMessage159" name="Input159"/>
+      <wsdl:output message="tns:ResponseMessage159" name="Output159"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding159" type="tns:PortType159">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation159">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation159"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service159">
+    <wsdl:port name="Port159" binding="tns:Binding159">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage160">
+    <wsdl:part name="Response" element="tns:ResponseElement160"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage160">
+    <wsdl:part name="Request" element="tns:RequestElement160"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType160">
+    <wsdl:operation name="Operation160">
+      <wsdl:input message="tns:RequestMessage160" name="Input160"/>
+      <wsdl:output message="tns:ResponseMessage160" name="Output160"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding160" type="tns:PortType160">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation160">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation160"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service160">
+    <wsdl:port name="Port160" binding="tns:Binding160">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage161">
+    <wsdl:part name="Response" element="tns:ResponseElement161"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage161">
+    <wsdl:part name="Request" element="tns:RequestElement161"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType161">
+    <wsdl:operation name="Operation161">
+      <wsdl:input message="tns:RequestMessage161" name="Input161"/>
+      <wsdl:output message="tns:ResponseMessage161" name="Output161"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding161" type="tns:PortType161">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation161">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation161"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service161">
+    <wsdl:port name="Port161" binding="tns:Binding161">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage162">
+    <wsdl:part name="Response" element="tns:ResponseElement162"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage162">
+    <wsdl:part name="Request" element="tns:RequestElement162"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType162">
+    <wsdl:operation name="Operation162">
+      <wsdl:input message="tns:RequestMessage162" name="Input162"/>
+      <wsdl:output message="tns:ResponseMessage162" name="Output162"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding162" type="tns:PortType162">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation162">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation162"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service162">
+    <wsdl:port name="Port162" binding="tns:Binding162">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage163">
+    <wsdl:part name="Response" element="tns:ResponseElement163"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage163">
+    <wsdl:part name="Request" element="tns:RequestElement163"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType163">
+    <wsdl:operation name="Operation163">
+      <wsdl:input message="tns:RequestMessage163" name="Input163"/>
+      <wsdl:output message="tns:ResponseMessage163" name="Output163"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding163" type="tns:PortType163">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation163">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation163"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service163">
+    <wsdl:port name="Port163" binding="tns:Binding163">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage164">
+    <wsdl:part name="Response" element="tns:ResponseElement164"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage164">
+    <wsdl:part name="Request" element="tns:RequestElement164"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType164">
+    <wsdl:operation name="Operation164">
+      <wsdl:input message="tns:RequestMessage164" name="Input164"/>
+      <wsdl:output message="tns:ResponseMessage164" name="Output164"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding164" type="tns:PortType164">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation164">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation164"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service164">
+    <wsdl:port name="Port164" binding="tns:Binding164">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage165">
+    <wsdl:part name="Response" element="tns:ResponseElement165"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage165">
+    <wsdl:part name="Request" element="tns:RequestElement165"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType165">
+    <wsdl:operation name="Operation165">
+      <wsdl:input message="tns:RequestMessage165" name="Input165"/>
+      <wsdl:output message="tns:ResponseMessage165" name="Output165"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding165" type="tns:PortType165">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation165">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation165"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service165">
+    <wsdl:port name="Port165" binding="tns:Binding165">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage166">
+    <wsdl:part name="Response" element="tns:ResponseElement166"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage166">
+    <wsdl:part name="Request" element="tns:RequestElement166"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType166">
+    <wsdl:operation name="Operation166">
+      <wsdl:input message="tns:RequestMessage166" name="Input166"/>
+      <wsdl:output message="tns:ResponseMessage166" name="Output166"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding166" type="tns:PortType166">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation166">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation166"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service166">
+    <wsdl:port name="Port166" binding="tns:Binding166">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage167">
+    <wsdl:part name="Response" element="tns:ResponseElement167"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage167">
+    <wsdl:part name="Request" element="tns:RequestElement167"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType167">
+    <wsdl:operation name="Operation167">
+      <wsdl:input message="tns:RequestMessage167" name="Input167"/>
+      <wsdl:output message="tns:ResponseMessage167" name="Output167"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding167" type="tns:PortType167">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation167">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation167"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service167">
+    <wsdl:port name="Port167" binding="tns:Binding167">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage168">
+    <wsdl:part name="Response" element="tns:ResponseElement168"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage168">
+    <wsdl:part name="Request" element="tns:RequestElement168"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType168">
+    <wsdl:operation name="Operation168">
+      <wsdl:input message="tns:RequestMessage168" name="Input168"/>
+      <wsdl:output message="tns:ResponseMessage168" name="Output168"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding168" type="tns:PortType168">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation168">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation168"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service168">
+    <wsdl:port name="Port168" binding="tns:Binding168">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage169">
+    <wsdl:part name="Response" element="tns:ResponseElement169"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage169">
+    <wsdl:part name="Request" element="tns:RequestElement169"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType169">
+    <wsdl:operation name="Operation169">
+      <wsdl:input message="tns:RequestMessage169" name="Input169"/>
+      <wsdl:output message="tns:ResponseMessage169" name="Output169"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding169" type="tns:PortType169">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation169">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation169"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service169">
+    <wsdl:port name="Port169" binding="tns:Binding169">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage170">
+    <wsdl:part name="Response" element="tns:ResponseElement170"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage170">
+    <wsdl:part name="Request" element="tns:RequestElement170"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType170">
+    <wsdl:operation name="Operation170">
+      <wsdl:input message="tns:RequestMessage170" name="Input170"/>
+      <wsdl:output message="tns:ResponseMessage170" name="Output170"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding170" type="tns:PortType170">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation170">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation170"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service170">
+    <wsdl:port name="Port170" binding="tns:Binding170">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage171">
+    <wsdl:part name="Response" element="tns:ResponseElement171"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage171">
+    <wsdl:part name="Request" element="tns:RequestElement171"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType171">
+    <wsdl:operation name="Operation171">
+      <wsdl:input message="tns:RequestMessage171" name="Input171"/>
+      <wsdl:output message="tns:ResponseMessage171" name="Output171"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding171" type="tns:PortType171">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation171">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation171"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service171">
+    <wsdl:port name="Port171" binding="tns:Binding171">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage172">
+    <wsdl:part name="Response" element="tns:ResponseElement172"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage172">
+    <wsdl:part name="Request" element="tns:RequestElement172"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType172">
+    <wsdl:operation name="Operation172">
+      <wsdl:input message="tns:RequestMessage172" name="Input172"/>
+      <wsdl:output message="tns:ResponseMessage172" name="Output172"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding172" type="tns:PortType172">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation172">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation172"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service172">
+    <wsdl:port name="Port172" binding="tns:Binding172">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage173">
+    <wsdl:part name="Response" element="tns:ResponseElement173"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage173">
+    <wsdl:part name="Request" element="tns:RequestElement173"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType173">
+    <wsdl:operation name="Operation173">
+      <wsdl:input message="tns:RequestMessage173" name="Input173"/>
+      <wsdl:output message="tns:ResponseMessage173" name="Output173"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding173" type="tns:PortType173">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation173">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation173"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service173">
+    <wsdl:port name="Port173" binding="tns:Binding173">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage174">
+    <wsdl:part name="Response" element="tns:ResponseElement174"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage174">
+    <wsdl:part name="Request" element="tns:RequestElement174"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType174">
+    <wsdl:operation name="Operation174">
+      <wsdl:input message="tns:RequestMessage174" name="Input174"/>
+      <wsdl:output message="tns:ResponseMessage174" name="Output174"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding174" type="tns:PortType174">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation174">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation174"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service174">
+    <wsdl:port name="Port174" binding="tns:Binding174">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage175">
+    <wsdl:part name="Response" element="tns:ResponseElement175"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage175">
+    <wsdl:part name="Request" element="tns:RequestElement175"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType175">
+    <wsdl:operation name="Operation175">
+      <wsdl:input message="tns:RequestMessage175" name="Input175"/>
+      <wsdl:output message="tns:ResponseMessage175" name="Output175"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding175" type="tns:PortType175">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation175">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation175"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service175">
+    <wsdl:port name="Port175" binding="tns:Binding175">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage176">
+    <wsdl:part name="Response" element="tns:ResponseElement176"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage176">
+    <wsdl:part name="Request" element="tns:RequestElement176"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType176">
+    <wsdl:operation name="Operation176">
+      <wsdl:input message="tns:RequestMessage176" name="Input176"/>
+      <wsdl:output message="tns:ResponseMessage176" name="Output176"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding176" type="tns:PortType176">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation176">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation176"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service176">
+    <wsdl:port name="Port176" binding="tns:Binding176">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage177">
+    <wsdl:part name="Response" element="tns:ResponseElement177"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage177">
+    <wsdl:part name="Request" element="tns:RequestElement177"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType177">
+    <wsdl:operation name="Operation177">
+      <wsdl:input message="tns:RequestMessage177" name="Input177"/>
+      <wsdl:output message="tns:ResponseMessage177" name="Output177"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding177" type="tns:PortType177">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation177">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation177"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service177">
+    <wsdl:port name="Port177" binding="tns:Binding177">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage178">
+    <wsdl:part name="Response" element="tns:ResponseElement178"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage178">
+    <wsdl:part name="Request" element="tns:RequestElement178"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType178">
+    <wsdl:operation name="Operation178">
+      <wsdl:input message="tns:RequestMessage178" name="Input178"/>
+      <wsdl:output message="tns:ResponseMessage178" name="Output178"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding178" type="tns:PortType178">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation178">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation178"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service178">
+    <wsdl:port name="Port178" binding="tns:Binding178">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage179">
+    <wsdl:part name="Response" element="tns:ResponseElement179"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage179">
+    <wsdl:part name="Request" element="tns:RequestElement179"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType179">
+    <wsdl:operation name="Operation179">
+      <wsdl:input message="tns:RequestMessage179" name="Input179"/>
+      <wsdl:output message="tns:ResponseMessage179" name="Output179"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding179" type="tns:PortType179">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation179">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation179"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service179">
+    <wsdl:port name="Port179" binding="tns:Binding179">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage180">
+    <wsdl:part name="Response" element="tns:ResponseElement180"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage180">
+    <wsdl:part name="Request" element="tns:RequestElement180"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType180">
+    <wsdl:operation name="Operation180">
+      <wsdl:input message="tns:RequestMessage180" name="Input180"/>
+      <wsdl:output message="tns:ResponseMessage180" name="Output180"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding180" type="tns:PortType180">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation180">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation180"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service180">
+    <wsdl:port name="Port180" binding="tns:Binding180">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage181">
+    <wsdl:part name="Response" element="tns:ResponseElement181"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage181">
+    <wsdl:part name="Request" element="tns:RequestElement181"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType181">
+    <wsdl:operation name="Operation181">
+      <wsdl:input message="tns:RequestMessage181" name="Input181"/>
+      <wsdl:output message="tns:ResponseMessage181" name="Output181"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding181" type="tns:PortType181">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation181">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation181"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service181">
+    <wsdl:port name="Port181" binding="tns:Binding181">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage182">
+    <wsdl:part name="Response" element="tns:ResponseElement182"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage182">
+    <wsdl:part name="Request" element="tns:RequestElement182"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType182">
+    <wsdl:operation name="Operation182">
+      <wsdl:input message="tns:RequestMessage182" name="Input182"/>
+      <wsdl:output message="tns:ResponseMessage182" name="Output182"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding182" type="tns:PortType182">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation182">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation182"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service182">
+    <wsdl:port name="Port182" binding="tns:Binding182">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage183">
+    <wsdl:part name="Response" element="tns:ResponseElement183"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage183">
+    <wsdl:part name="Request" element="tns:RequestElement183"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType183">
+    <wsdl:operation name="Operation183">
+      <wsdl:input message="tns:RequestMessage183" name="Input183"/>
+      <wsdl:output message="tns:ResponseMessage183" name="Output183"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding183" type="tns:PortType183">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation183">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation183"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service183">
+    <wsdl:port name="Port183" binding="tns:Binding183">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage184">
+    <wsdl:part name="Response" element="tns:ResponseElement184"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage184">
+    <wsdl:part name="Request" element="tns:RequestElement184"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType184">
+    <wsdl:operation name="Operation184">
+      <wsdl:input message="tns:RequestMessage184" name="Input184"/>
+      <wsdl:output message="tns:ResponseMessage184" name="Output184"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding184" type="tns:PortType184">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation184">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation184"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service184">
+    <wsdl:port name="Port184" binding="tns:Binding184">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage185">
+    <wsdl:part name="Response" element="tns:ResponseElement185"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage185">
+    <wsdl:part name="Request" element="tns:RequestElement185"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType185">
+    <wsdl:operation name="Operation185">
+      <wsdl:input message="tns:RequestMessage185" name="Input185"/>
+      <wsdl:output message="tns:ResponseMessage185" name="Output185"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding185" type="tns:PortType185">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation185">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation185"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service185">
+    <wsdl:port name="Port185" binding="tns:Binding185">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage186">
+    <wsdl:part name="Response" element="tns:ResponseElement186"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage186">
+    <wsdl:part name="Request" element="tns:RequestElement186"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType186">
+    <wsdl:operation name="Operation186">
+      <wsdl:input message="tns:RequestMessage186" name="Input186"/>
+      <wsdl:output message="tns:ResponseMessage186" name="Output186"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding186" type="tns:PortType186">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation186">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation186"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service186">
+    <wsdl:port name="Port186" binding="tns:Binding186">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage187">
+    <wsdl:part name="Response" element="tns:ResponseElement187"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage187">
+    <wsdl:part name="Request" element="tns:RequestElement187"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType187">
+    <wsdl:operation name="Operation187">
+      <wsdl:input message="tns:RequestMessage187" name="Input187"/>
+      <wsdl:output message="tns:ResponseMessage187" name="Output187"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding187" type="tns:PortType187">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation187">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation187"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service187">
+    <wsdl:port name="Port187" binding="tns:Binding187">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage188">
+    <wsdl:part name="Response" element="tns:ResponseElement188"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage188">
+    <wsdl:part name="Request" element="tns:RequestElement188"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType188">
+    <wsdl:operation name="Operation188">
+      <wsdl:input message="tns:RequestMessage188" name="Input188"/>
+      <wsdl:output message="tns:ResponseMessage188" name="Output188"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding188" type="tns:PortType188">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation188">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation188"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service188">
+    <wsdl:port name="Port188" binding="tns:Binding188">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage189">
+    <wsdl:part name="Response" element="tns:ResponseElement189"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage189">
+    <wsdl:part name="Request" element="tns:RequestElement189"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType189">
+    <wsdl:operation name="Operation189">
+      <wsdl:input message="tns:RequestMessage189" name="Input189"/>
+      <wsdl:output message="tns:ResponseMessage189" name="Output189"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding189" type="tns:PortType189">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation189">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation189"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service189">
+    <wsdl:port name="Port189" binding="tns:Binding189">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage190">
+    <wsdl:part name="Response" element="tns:ResponseElement190"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage190">
+    <wsdl:part name="Request" element="tns:RequestElement190"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType190">
+    <wsdl:operation name="Operation190">
+      <wsdl:input message="tns:RequestMessage190" name="Input190"/>
+      <wsdl:output message="tns:ResponseMessage190" name="Output190"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding190" type="tns:PortType190">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation190">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation190"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service190">
+    <wsdl:port name="Port190" binding="tns:Binding190">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage191">
+    <wsdl:part name="Response" element="tns:ResponseElement191"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage191">
+    <wsdl:part name="Request" element="tns:RequestElement191"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType191">
+    <wsdl:operation name="Operation191">
+      <wsdl:input message="tns:RequestMessage191" name="Input191"/>
+      <wsdl:output message="tns:ResponseMessage191" name="Output191"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding191" type="tns:PortType191">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation191">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation191"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service191">
+    <wsdl:port name="Port191" binding="tns:Binding191">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage192">
+    <wsdl:part name="Response" element="tns:ResponseElement192"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage192">
+    <wsdl:part name="Request" element="tns:RequestElement192"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType192">
+    <wsdl:operation name="Operation192">
+      <wsdl:input message="tns:RequestMessage192" name="Input192"/>
+      <wsdl:output message="tns:ResponseMessage192" name="Output192"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding192" type="tns:PortType192">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation192">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation192"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service192">
+    <wsdl:port name="Port192" binding="tns:Binding192">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage193">
+    <wsdl:part name="Response" element="tns:ResponseElement193"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage193">
+    <wsdl:part name="Request" element="tns:RequestElement193"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType193">
+    <wsdl:operation name="Operation193">
+      <wsdl:input message="tns:RequestMessage193" name="Input193"/>
+      <wsdl:output message="tns:ResponseMessage193" name="Output193"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding193" type="tns:PortType193">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation193">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation193"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service193">
+    <wsdl:port name="Port193" binding="tns:Binding193">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage194">
+    <wsdl:part name="Response" element="tns:ResponseElement194"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage194">
+    <wsdl:part name="Request" element="tns:RequestElement194"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType194">
+    <wsdl:operation name="Operation194">
+      <wsdl:input message="tns:RequestMessage194" name="Input194"/>
+      <wsdl:output message="tns:ResponseMessage194" name="Output194"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding194" type="tns:PortType194">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation194">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation194"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service194">
+    <wsdl:port name="Port194" binding="tns:Binding194">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage195">
+    <wsdl:part name="Response" element="tns:ResponseElement195"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage195">
+    <wsdl:part name="Request" element="tns:RequestElement195"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType195">
+    <wsdl:operation name="Operation195">
+      <wsdl:input message="tns:RequestMessage195" name="Input195"/>
+      <wsdl:output message="tns:ResponseMessage195" name="Output195"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding195" type="tns:PortType195">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation195">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation195"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service195">
+    <wsdl:port name="Port195" binding="tns:Binding195">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage196">
+    <wsdl:part name="Response" element="tns:ResponseElement196"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage196">
+    <wsdl:part name="Request" element="tns:RequestElement196"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType196">
+    <wsdl:operation name="Operation196">
+      <wsdl:input message="tns:RequestMessage196" name="Input196"/>
+      <wsdl:output message="tns:ResponseMessage196" name="Output196"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding196" type="tns:PortType196">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation196">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation196"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service196">
+    <wsdl:port name="Port196" binding="tns:Binding196">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage197">
+    <wsdl:part name="Response" element="tns:ResponseElement197"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage197">
+    <wsdl:part name="Request" element="tns:RequestElement197"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType197">
+    <wsdl:operation name="Operation197">
+      <wsdl:input message="tns:RequestMessage197" name="Input197"/>
+      <wsdl:output message="tns:ResponseMessage197" name="Output197"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding197" type="tns:PortType197">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation197">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation197"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service197">
+    <wsdl:port name="Port197" binding="tns:Binding197">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage198">
+    <wsdl:part name="Response" element="tns:ResponseElement198"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage198">
+    <wsdl:part name="Request" element="tns:RequestElement198"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType198">
+    <wsdl:operation name="Operation198">
+      <wsdl:input message="tns:RequestMessage198" name="Input198"/>
+      <wsdl:output message="tns:ResponseMessage198" name="Output198"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding198" type="tns:PortType198">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation198">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation198"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service198">
+    <wsdl:port name="Port198" binding="tns:Binding198">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage199">
+    <wsdl:part name="Response" element="tns:ResponseElement199"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage199">
+    <wsdl:part name="Request" element="tns:RequestElement199"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType199">
+    <wsdl:operation name="Operation199">
+      <wsdl:input message="tns:RequestMessage199" name="Input199"/>
+      <wsdl:output message="tns:ResponseMessage199" name="Output199"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding199" type="tns:PortType199">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation199">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation199"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service199">
+    <wsdl:port name="Port199" binding="tns:Binding199">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage200">
+    <wsdl:part name="Response" element="tns:ResponseElement200"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage200">
+    <wsdl:part name="Request" element="tns:RequestElement200"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType200">
+    <wsdl:operation name="Operation200">
+      <wsdl:input message="tns:RequestMessage200" name="Input200"/>
+      <wsdl:output message="tns:ResponseMessage200" name="Output200"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding200" type="tns:PortType200">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation200">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation200"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service200">
+    <wsdl:port name="Port200" binding="tns:Binding200">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage201">
+    <wsdl:part name="Response" element="tns:ResponseElement201"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage201">
+    <wsdl:part name="Request" element="tns:RequestElement201"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType201">
+    <wsdl:operation name="Operation201">
+      <wsdl:input message="tns:RequestMessage201" name="Input201"/>
+      <wsdl:output message="tns:ResponseMessage201" name="Output201"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding201" type="tns:PortType201">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation201">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation201"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service201">
+    <wsdl:port name="Port201" binding="tns:Binding201">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage202">
+    <wsdl:part name="Response" element="tns:ResponseElement202"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage202">
+    <wsdl:part name="Request" element="tns:RequestElement202"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType202">
+    <wsdl:operation name="Operation202">
+      <wsdl:input message="tns:RequestMessage202" name="Input202"/>
+      <wsdl:output message="tns:ResponseMessage202" name="Output202"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding202" type="tns:PortType202">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation202">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation202"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service202">
+    <wsdl:port name="Port202" binding="tns:Binding202">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage203">
+    <wsdl:part name="Response" element="tns:ResponseElement203"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage203">
+    <wsdl:part name="Request" element="tns:RequestElement203"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType203">
+    <wsdl:operation name="Operation203">
+      <wsdl:input message="tns:RequestMessage203" name="Input203"/>
+      <wsdl:output message="tns:ResponseMessage203" name="Output203"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding203" type="tns:PortType203">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation203">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation203"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service203">
+    <wsdl:port name="Port203" binding="tns:Binding203">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage204">
+    <wsdl:part name="Response" element="tns:ResponseElement204"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage204">
+    <wsdl:part name="Request" element="tns:RequestElement204"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType204">
+    <wsdl:operation name="Operation204">
+      <wsdl:input message="tns:RequestMessage204" name="Input204"/>
+      <wsdl:output message="tns:ResponseMessage204" name="Output204"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding204" type="tns:PortType204">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation204">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation204"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service204">
+    <wsdl:port name="Port204" binding="tns:Binding204">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage205">
+    <wsdl:part name="Response" element="tns:ResponseElement205"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage205">
+    <wsdl:part name="Request" element="tns:RequestElement205"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType205">
+    <wsdl:operation name="Operation205">
+      <wsdl:input message="tns:RequestMessage205" name="Input205"/>
+      <wsdl:output message="tns:ResponseMessage205" name="Output205"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding205" type="tns:PortType205">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation205">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation205"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service205">
+    <wsdl:port name="Port205" binding="tns:Binding205">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage206">
+    <wsdl:part name="Response" element="tns:ResponseElement206"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage206">
+    <wsdl:part name="Request" element="tns:RequestElement206"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType206">
+    <wsdl:operation name="Operation206">
+      <wsdl:input message="tns:RequestMessage206" name="Input206"/>
+      <wsdl:output message="tns:ResponseMessage206" name="Output206"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding206" type="tns:PortType206">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation206">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation206"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service206">
+    <wsdl:port name="Port206" binding="tns:Binding206">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage207">
+    <wsdl:part name="Response" element="tns:ResponseElement207"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage207">
+    <wsdl:part name="Request" element="tns:RequestElement207"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType207">
+    <wsdl:operation name="Operation207">
+      <wsdl:input message="tns:RequestMessage207" name="Input207"/>
+      <wsdl:output message="tns:ResponseMessage207" name="Output207"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding207" type="tns:PortType207">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation207">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation207"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service207">
+    <wsdl:port name="Port207" binding="tns:Binding207">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage208">
+    <wsdl:part name="Response" element="tns:ResponseElement208"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage208">
+    <wsdl:part name="Request" element="tns:RequestElement208"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType208">
+    <wsdl:operation name="Operation208">
+      <wsdl:input message="tns:RequestMessage208" name="Input208"/>
+      <wsdl:output message="tns:ResponseMessage208" name="Output208"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding208" type="tns:PortType208">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation208">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation208"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service208">
+    <wsdl:port name="Port208" binding="tns:Binding208">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage209">
+    <wsdl:part name="Response" element="tns:ResponseElement209"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage209">
+    <wsdl:part name="Request" element="tns:RequestElement209"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType209">
+    <wsdl:operation name="Operation209">
+      <wsdl:input message="tns:RequestMessage209" name="Input209"/>
+      <wsdl:output message="tns:ResponseMessage209" name="Output209"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding209" type="tns:PortType209">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation209">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation209"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service209">
+    <wsdl:port name="Port209" binding="tns:Binding209">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage210">
+    <wsdl:part name="Response" element="tns:ResponseElement210"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage210">
+    <wsdl:part name="Request" element="tns:RequestElement210"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType210">
+    <wsdl:operation name="Operation210">
+      <wsdl:input message="tns:RequestMessage210" name="Input210"/>
+      <wsdl:output message="tns:ResponseMessage210" name="Output210"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding210" type="tns:PortType210">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation210">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation210"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service210">
+    <wsdl:port name="Port210" binding="tns:Binding210">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage211">
+    <wsdl:part name="Response" element="tns:ResponseElement211"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage211">
+    <wsdl:part name="Request" element="tns:RequestElement211"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType211">
+    <wsdl:operation name="Operation211">
+      <wsdl:input message="tns:RequestMessage211" name="Input211"/>
+      <wsdl:output message="tns:ResponseMessage211" name="Output211"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding211" type="tns:PortType211">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation211">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation211"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service211">
+    <wsdl:port name="Port211" binding="tns:Binding211">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage212">
+    <wsdl:part name="Response" element="tns:ResponseElement212"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage212">
+    <wsdl:part name="Request" element="tns:RequestElement212"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType212">
+    <wsdl:operation name="Operation212">
+      <wsdl:input message="tns:RequestMessage212" name="Input212"/>
+      <wsdl:output message="tns:ResponseMessage212" name="Output212"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding212" type="tns:PortType212">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation212">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation212"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service212">
+    <wsdl:port name="Port212" binding="tns:Binding212">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage213">
+    <wsdl:part name="Response" element="tns:ResponseElement213"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage213">
+    <wsdl:part name="Request" element="tns:RequestElement213"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType213">
+    <wsdl:operation name="Operation213">
+      <wsdl:input message="tns:RequestMessage213" name="Input213"/>
+      <wsdl:output message="tns:ResponseMessage213" name="Output213"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding213" type="tns:PortType213">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation213">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation213"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service213">
+    <wsdl:port name="Port213" binding="tns:Binding213">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage214">
+    <wsdl:part name="Response" element="tns:ResponseElement214"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage214">
+    <wsdl:part name="Request" element="tns:RequestElement214"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType214">
+    <wsdl:operation name="Operation214">
+      <wsdl:input message="tns:RequestMessage214" name="Input214"/>
+      <wsdl:output message="tns:ResponseMessage214" name="Output214"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding214" type="tns:PortType214">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation214">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation214"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service214">
+    <wsdl:port name="Port214" binding="tns:Binding214">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage215">
+    <wsdl:part name="Response" element="tns:ResponseElement215"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage215">
+    <wsdl:part name="Request" element="tns:RequestElement215"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType215">
+    <wsdl:operation name="Operation215">
+      <wsdl:input message="tns:RequestMessage215" name="Input215"/>
+      <wsdl:output message="tns:ResponseMessage215" name="Output215"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding215" type="tns:PortType215">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation215">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation215"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service215">
+    <wsdl:port name="Port215" binding="tns:Binding215">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage216">
+    <wsdl:part name="Response" element="tns:ResponseElement216"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage216">
+    <wsdl:part name="Request" element="tns:RequestElement216"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType216">
+    <wsdl:operation name="Operation216">
+      <wsdl:input message="tns:RequestMessage216" name="Input216"/>
+      <wsdl:output message="tns:ResponseMessage216" name="Output216"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding216" type="tns:PortType216">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation216">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation216"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service216">
+    <wsdl:port name="Port216" binding="tns:Binding216">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage217">
+    <wsdl:part name="Response" element="tns:ResponseElement217"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage217">
+    <wsdl:part name="Request" element="tns:RequestElement217"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType217">
+    <wsdl:operation name="Operation217">
+      <wsdl:input message="tns:RequestMessage217" name="Input217"/>
+      <wsdl:output message="tns:ResponseMessage217" name="Output217"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding217" type="tns:PortType217">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation217">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation217"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service217">
+    <wsdl:port name="Port217" binding="tns:Binding217">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage218">
+    <wsdl:part name="Response" element="tns:ResponseElement218"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage218">
+    <wsdl:part name="Request" element="tns:RequestElement218"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType218">
+    <wsdl:operation name="Operation218">
+      <wsdl:input message="tns:RequestMessage218" name="Input218"/>
+      <wsdl:output message="tns:ResponseMessage218" name="Output218"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding218" type="tns:PortType218">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation218">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation218"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service218">
+    <wsdl:port name="Port218" binding="tns:Binding218">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage219">
+    <wsdl:part name="Response" element="tns:ResponseElement219"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage219">
+    <wsdl:part name="Request" element="tns:RequestElement219"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType219">
+    <wsdl:operation name="Operation219">
+      <wsdl:input message="tns:RequestMessage219" name="Input219"/>
+      <wsdl:output message="tns:ResponseMessage219" name="Output219"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding219" type="tns:PortType219">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation219">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation219"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service219">
+    <wsdl:port name="Port219" binding="tns:Binding219">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage220">
+    <wsdl:part name="Response" element="tns:ResponseElement220"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage220">
+    <wsdl:part name="Request" element="tns:RequestElement220"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType220">
+    <wsdl:operation name="Operation220">
+      <wsdl:input message="tns:RequestMessage220" name="Input220"/>
+      <wsdl:output message="tns:ResponseMessage220" name="Output220"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding220" type="tns:PortType220">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation220">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation220"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service220">
+    <wsdl:port name="Port220" binding="tns:Binding220">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage221">
+    <wsdl:part name="Response" element="tns:ResponseElement221"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage221">
+    <wsdl:part name="Request" element="tns:RequestElement221"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType221">
+    <wsdl:operation name="Operation221">
+      <wsdl:input message="tns:RequestMessage221" name="Input221"/>
+      <wsdl:output message="tns:ResponseMessage221" name="Output221"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding221" type="tns:PortType221">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation221">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation221"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service221">
+    <wsdl:port name="Port221" binding="tns:Binding221">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage222">
+    <wsdl:part name="Response" element="tns:ResponseElement222"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage222">
+    <wsdl:part name="Request" element="tns:RequestElement222"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType222">
+    <wsdl:operation name="Operation222">
+      <wsdl:input message="tns:RequestMessage222" name="Input222"/>
+      <wsdl:output message="tns:ResponseMessage222" name="Output222"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding222" type="tns:PortType222">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation222">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation222"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service222">
+    <wsdl:port name="Port222" binding="tns:Binding222">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage223">
+    <wsdl:part name="Response" element="tns:ResponseElement223"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage223">
+    <wsdl:part name="Request" element="tns:RequestElement223"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType223">
+    <wsdl:operation name="Operation223">
+      <wsdl:input message="tns:RequestMessage223" name="Input223"/>
+      <wsdl:output message="tns:ResponseMessage223" name="Output223"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding223" type="tns:PortType223">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation223">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation223"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service223">
+    <wsdl:port name="Port223" binding="tns:Binding223">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage224">
+    <wsdl:part name="Response" element="tns:ResponseElement224"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage224">
+    <wsdl:part name="Request" element="tns:RequestElement224"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType224">
+    <wsdl:operation name="Operation224">
+      <wsdl:input message="tns:RequestMessage224" name="Input224"/>
+      <wsdl:output message="tns:ResponseMessage224" name="Output224"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding224" type="tns:PortType224">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation224">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation224"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service224">
+    <wsdl:port name="Port224" binding="tns:Binding224">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage225">
+    <wsdl:part name="Response" element="tns:ResponseElement225"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage225">
+    <wsdl:part name="Request" element="tns:RequestElement225"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType225">
+    <wsdl:operation name="Operation225">
+      <wsdl:input message="tns:RequestMessage225" name="Input225"/>
+      <wsdl:output message="tns:ResponseMessage225" name="Output225"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding225" type="tns:PortType225">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation225">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation225"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service225">
+    <wsdl:port name="Port225" binding="tns:Binding225">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage226">
+    <wsdl:part name="Response" element="tns:ResponseElement226"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage226">
+    <wsdl:part name="Request" element="tns:RequestElement226"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType226">
+    <wsdl:operation name="Operation226">
+      <wsdl:input message="tns:RequestMessage226" name="Input226"/>
+      <wsdl:output message="tns:ResponseMessage226" name="Output226"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding226" type="tns:PortType226">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation226">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation226"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service226">
+    <wsdl:port name="Port226" binding="tns:Binding226">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage227">
+    <wsdl:part name="Response" element="tns:ResponseElement227"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage227">
+    <wsdl:part name="Request" element="tns:RequestElement227"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType227">
+    <wsdl:operation name="Operation227">
+      <wsdl:input message="tns:RequestMessage227" name="Input227"/>
+      <wsdl:output message="tns:ResponseMessage227" name="Output227"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding227" type="tns:PortType227">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation227">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation227"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service227">
+    <wsdl:port name="Port227" binding="tns:Binding227">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage228">
+    <wsdl:part name="Response" element="tns:ResponseElement228"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage228">
+    <wsdl:part name="Request" element="tns:RequestElement228"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType228">
+    <wsdl:operation name="Operation228">
+      <wsdl:input message="tns:RequestMessage228" name="Input228"/>
+      <wsdl:output message="tns:ResponseMessage228" name="Output228"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding228" type="tns:PortType228">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation228">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation228"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service228">
+    <wsdl:port name="Port228" binding="tns:Binding228">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage229">
+    <wsdl:part name="Response" element="tns:ResponseElement229"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage229">
+    <wsdl:part name="Request" element="tns:RequestElement229"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType229">
+    <wsdl:operation name="Operation229">
+      <wsdl:input message="tns:RequestMessage229" name="Input229"/>
+      <wsdl:output message="tns:ResponseMessage229" name="Output229"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding229" type="tns:PortType229">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation229">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation229"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service229">
+    <wsdl:port name="Port229" binding="tns:Binding229">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage230">
+    <wsdl:part name="Response" element="tns:ResponseElement230"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage230">
+    <wsdl:part name="Request" element="tns:RequestElement230"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType230">
+    <wsdl:operation name="Operation230">
+      <wsdl:input message="tns:RequestMessage230" name="Input230"/>
+      <wsdl:output message="tns:ResponseMessage230" name="Output230"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding230" type="tns:PortType230">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation230">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation230"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service230">
+    <wsdl:port name="Port230" binding="tns:Binding230">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage231">
+    <wsdl:part name="Response" element="tns:ResponseElement231"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage231">
+    <wsdl:part name="Request" element="tns:RequestElement231"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType231">
+    <wsdl:operation name="Operation231">
+      <wsdl:input message="tns:RequestMessage231" name="Input231"/>
+      <wsdl:output message="tns:ResponseMessage231" name="Output231"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding231" type="tns:PortType231">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation231">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation231"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service231">
+    <wsdl:port name="Port231" binding="tns:Binding231">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage232">
+    <wsdl:part name="Response" element="tns:ResponseElement232"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage232">
+    <wsdl:part name="Request" element="tns:RequestElement232"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType232">
+    <wsdl:operation name="Operation232">
+      <wsdl:input message="tns:RequestMessage232" name="Input232"/>
+      <wsdl:output message="tns:ResponseMessage232" name="Output232"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding232" type="tns:PortType232">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation232">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation232"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service232">
+    <wsdl:port name="Port232" binding="tns:Binding232">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage233">
+    <wsdl:part name="Response" element="tns:ResponseElement233"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage233">
+    <wsdl:part name="Request" element="tns:RequestElement233"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType233">
+    <wsdl:operation name="Operation233">
+      <wsdl:input message="tns:RequestMessage233" name="Input233"/>
+      <wsdl:output message="tns:ResponseMessage233" name="Output233"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding233" type="tns:PortType233">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation233">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation233"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service233">
+    <wsdl:port name="Port233" binding="tns:Binding233">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage234">
+    <wsdl:part name="Response" element="tns:ResponseElement234"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage234">
+    <wsdl:part name="Request" element="tns:RequestElement234"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType234">
+    <wsdl:operation name="Operation234">
+      <wsdl:input message="tns:RequestMessage234" name="Input234"/>
+      <wsdl:output message="tns:ResponseMessage234" name="Output234"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding234" type="tns:PortType234">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation234">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation234"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service234">
+    <wsdl:port name="Port234" binding="tns:Binding234">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage235">
+    <wsdl:part name="Response" element="tns:ResponseElement235"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage235">
+    <wsdl:part name="Request" element="tns:RequestElement235"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType235">
+    <wsdl:operation name="Operation235">
+      <wsdl:input message="tns:RequestMessage235" name="Input235"/>
+      <wsdl:output message="tns:ResponseMessage235" name="Output235"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding235" type="tns:PortType235">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation235">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation235"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service235">
+    <wsdl:port name="Port235" binding="tns:Binding235">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage236">
+    <wsdl:part name="Response" element="tns:ResponseElement236"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage236">
+    <wsdl:part name="Request" element="tns:RequestElement236"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType236">
+    <wsdl:operation name="Operation236">
+      <wsdl:input message="tns:RequestMessage236" name="Input236"/>
+      <wsdl:output message="tns:ResponseMessage236" name="Output236"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding236" type="tns:PortType236">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation236">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation236"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service236">
+    <wsdl:port name="Port236" binding="tns:Binding236">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage237">
+    <wsdl:part name="Response" element="tns:ResponseElement237"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage237">
+    <wsdl:part name="Request" element="tns:RequestElement237"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType237">
+    <wsdl:operation name="Operation237">
+      <wsdl:input message="tns:RequestMessage237" name="Input237"/>
+      <wsdl:output message="tns:ResponseMessage237" name="Output237"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding237" type="tns:PortType237">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation237">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation237"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service237">
+    <wsdl:port name="Port237" binding="tns:Binding237">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage238">
+    <wsdl:part name="Response" element="tns:ResponseElement238"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage238">
+    <wsdl:part name="Request" element="tns:RequestElement238"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType238">
+    <wsdl:operation name="Operation238">
+      <wsdl:input message="tns:RequestMessage238" name="Input238"/>
+      <wsdl:output message="tns:ResponseMessage238" name="Output238"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding238" type="tns:PortType238">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation238">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation238"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service238">
+    <wsdl:port name="Port238" binding="tns:Binding238">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage239">
+    <wsdl:part name="Response" element="tns:ResponseElement239"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage239">
+    <wsdl:part name="Request" element="tns:RequestElement239"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType239">
+    <wsdl:operation name="Operation239">
+      <wsdl:input message="tns:RequestMessage239" name="Input239"/>
+      <wsdl:output message="tns:ResponseMessage239" name="Output239"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding239" type="tns:PortType239">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation239">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation239"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service239">
+    <wsdl:port name="Port239" binding="tns:Binding239">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage240">
+    <wsdl:part name="Response" element="tns:ResponseElement240"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage240">
+    <wsdl:part name="Request" element="tns:RequestElement240"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType240">
+    <wsdl:operation name="Operation240">
+      <wsdl:input message="tns:RequestMessage240" name="Input240"/>
+      <wsdl:output message="tns:ResponseMessage240" name="Output240"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding240" type="tns:PortType240">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation240">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation240"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service240">
+    <wsdl:port name="Port240" binding="tns:Binding240">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage241">
+    <wsdl:part name="Response" element="tns:ResponseElement241"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage241">
+    <wsdl:part name="Request" element="tns:RequestElement241"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType241">
+    <wsdl:operation name="Operation241">
+      <wsdl:input message="tns:RequestMessage241" name="Input241"/>
+      <wsdl:output message="tns:ResponseMessage241" name="Output241"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding241" type="tns:PortType241">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation241">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation241"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service241">
+    <wsdl:port name="Port241" binding="tns:Binding241">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage242">
+    <wsdl:part name="Response" element="tns:ResponseElement242"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage242">
+    <wsdl:part name="Request" element="tns:RequestElement242"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType242">
+    <wsdl:operation name="Operation242">
+      <wsdl:input message="tns:RequestMessage242" name="Input242"/>
+      <wsdl:output message="tns:ResponseMessage242" name="Output242"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding242" type="tns:PortType242">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation242">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation242"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service242">
+    <wsdl:port name="Port242" binding="tns:Binding242">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage243">
+    <wsdl:part name="Response" element="tns:ResponseElement243"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage243">
+    <wsdl:part name="Request" element="tns:RequestElement243"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType243">
+    <wsdl:operation name="Operation243">
+      <wsdl:input message="tns:RequestMessage243" name="Input243"/>
+      <wsdl:output message="tns:ResponseMessage243" name="Output243"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding243" type="tns:PortType243">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation243">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation243"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service243">
+    <wsdl:port name="Port243" binding="tns:Binding243">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage244">
+    <wsdl:part name="Response" element="tns:ResponseElement244"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage244">
+    <wsdl:part name="Request" element="tns:RequestElement244"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType244">
+    <wsdl:operation name="Operation244">
+      <wsdl:input message="tns:RequestMessage244" name="Input244"/>
+      <wsdl:output message="tns:ResponseMessage244" name="Output244"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding244" type="tns:PortType244">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation244">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation244"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service244">
+    <wsdl:port name="Port244" binding="tns:Binding244">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage245">
+    <wsdl:part name="Response" element="tns:ResponseElement245"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage245">
+    <wsdl:part name="Request" element="tns:RequestElement245"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType245">
+    <wsdl:operation name="Operation245">
+      <wsdl:input message="tns:RequestMessage245" name="Input245"/>
+      <wsdl:output message="tns:ResponseMessage245" name="Output245"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding245" type="tns:PortType245">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation245">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation245"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service245">
+    <wsdl:port name="Port245" binding="tns:Binding245">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage246">
+    <wsdl:part name="Response" element="tns:ResponseElement246"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage246">
+    <wsdl:part name="Request" element="tns:RequestElement246"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType246">
+    <wsdl:operation name="Operation246">
+      <wsdl:input message="tns:RequestMessage246" name="Input246"/>
+      <wsdl:output message="tns:ResponseMessage246" name="Output246"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding246" type="tns:PortType246">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation246">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation246"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service246">
+    <wsdl:port name="Port246" binding="tns:Binding246">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage247">
+    <wsdl:part name="Response" element="tns:ResponseElement247"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage247">
+    <wsdl:part name="Request" element="tns:RequestElement247"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType247">
+    <wsdl:operation name="Operation247">
+      <wsdl:input message="tns:RequestMessage247" name="Input247"/>
+      <wsdl:output message="tns:ResponseMessage247" name="Output247"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding247" type="tns:PortType247">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation247">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation247"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service247">
+    <wsdl:port name="Port247" binding="tns:Binding247">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage248">
+    <wsdl:part name="Response" element="tns:ResponseElement248"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage248">
+    <wsdl:part name="Request" element="tns:RequestElement248"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType248">
+    <wsdl:operation name="Operation248">
+      <wsdl:input message="tns:RequestMessage248" name="Input248"/>
+      <wsdl:output message="tns:ResponseMessage248" name="Output248"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding248" type="tns:PortType248">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation248">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation248"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service248">
+    <wsdl:port name="Port248" binding="tns:Binding248">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage249">
+    <wsdl:part name="Response" element="tns:ResponseElement249"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage249">
+    <wsdl:part name="Request" element="tns:RequestElement249"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType249">
+    <wsdl:operation name="Operation249">
+      <wsdl:input message="tns:RequestMessage249" name="Input249"/>
+      <wsdl:output message="tns:ResponseMessage249" name="Output249"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding249" type="tns:PortType249">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation249">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation249"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service249">
+    <wsdl:port name="Port249" binding="tns:Binding249">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage250">
+    <wsdl:part name="Response" element="tns:ResponseElement250"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage250">
+    <wsdl:part name="Request" element="tns:RequestElement250"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType250">
+    <wsdl:operation name="Operation250">
+      <wsdl:input message="tns:RequestMessage250" name="Input250"/>
+      <wsdl:output message="tns:ResponseMessage250" name="Output250"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding250" type="tns:PortType250">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation250">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation250"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service250">
+    <wsdl:port name="Port250" binding="tns:Binding250">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage251">
+    <wsdl:part name="Response" element="tns:ResponseElement251"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage251">
+    <wsdl:part name="Request" element="tns:RequestElement251"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType251">
+    <wsdl:operation name="Operation251">
+      <wsdl:input message="tns:RequestMessage251" name="Input251"/>
+      <wsdl:output message="tns:ResponseMessage251" name="Output251"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding251" type="tns:PortType251">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation251">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation251"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service251">
+    <wsdl:port name="Port251" binding="tns:Binding251">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage252">
+    <wsdl:part name="Response" element="tns:ResponseElement252"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage252">
+    <wsdl:part name="Request" element="tns:RequestElement252"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType252">
+    <wsdl:operation name="Operation252">
+      <wsdl:input message="tns:RequestMessage252" name="Input252"/>
+      <wsdl:output message="tns:ResponseMessage252" name="Output252"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding252" type="tns:PortType252">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation252">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation252"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service252">
+    <wsdl:port name="Port252" binding="tns:Binding252">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage253">
+    <wsdl:part name="Response" element="tns:ResponseElement253"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage253">
+    <wsdl:part name="Request" element="tns:RequestElement253"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType253">
+    <wsdl:operation name="Operation253">
+      <wsdl:input message="tns:RequestMessage253" name="Input253"/>
+      <wsdl:output message="tns:ResponseMessage253" name="Output253"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding253" type="tns:PortType253">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation253">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation253"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service253">
+    <wsdl:port name="Port253" binding="tns:Binding253">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage254">
+    <wsdl:part name="Response" element="tns:ResponseElement254"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage254">
+    <wsdl:part name="Request" element="tns:RequestElement254"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType254">
+    <wsdl:operation name="Operation254">
+      <wsdl:input message="tns:RequestMessage254" name="Input254"/>
+      <wsdl:output message="tns:ResponseMessage254" name="Output254"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding254" type="tns:PortType254">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation254">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation254"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service254">
+    <wsdl:port name="Port254" binding="tns:Binding254">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage255">
+    <wsdl:part name="Response" element="tns:ResponseElement255"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage255">
+    <wsdl:part name="Request" element="tns:RequestElement255"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType255">
+    <wsdl:operation name="Operation255">
+      <wsdl:input message="tns:RequestMessage255" name="Input255"/>
+      <wsdl:output message="tns:ResponseMessage255" name="Output255"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding255" type="tns:PortType255">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation255">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation255"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service255">
+    <wsdl:port name="Port255" binding="tns:Binding255">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage256">
+    <wsdl:part name="Response" element="tns:ResponseElement256"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage256">
+    <wsdl:part name="Request" element="tns:RequestElement256"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType256">
+    <wsdl:operation name="Operation256">
+      <wsdl:input message="tns:RequestMessage256" name="Input256"/>
+      <wsdl:output message="tns:ResponseMessage256" name="Output256"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding256" type="tns:PortType256">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation256">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation256"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service256">
+    <wsdl:port name="Port256" binding="tns:Binding256">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage257">
+    <wsdl:part name="Response" element="tns:ResponseElement257"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage257">
+    <wsdl:part name="Request" element="tns:RequestElement257"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType257">
+    <wsdl:operation name="Operation257">
+      <wsdl:input message="tns:RequestMessage257" name="Input257"/>
+      <wsdl:output message="tns:ResponseMessage257" name="Output257"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding257" type="tns:PortType257">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation257">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation257"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service257">
+    <wsdl:port name="Port257" binding="tns:Binding257">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage258">
+    <wsdl:part name="Response" element="tns:ResponseElement258"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage258">
+    <wsdl:part name="Request" element="tns:RequestElement258"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType258">
+    <wsdl:operation name="Operation258">
+      <wsdl:input message="tns:RequestMessage258" name="Input258"/>
+      <wsdl:output message="tns:ResponseMessage258" name="Output258"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding258" type="tns:PortType258">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation258">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation258"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service258">
+    <wsdl:port name="Port258" binding="tns:Binding258">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage259">
+    <wsdl:part name="Response" element="tns:ResponseElement259"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage259">
+    <wsdl:part name="Request" element="tns:RequestElement259"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType259">
+    <wsdl:operation name="Operation259">
+      <wsdl:input message="tns:RequestMessage259" name="Input259"/>
+      <wsdl:output message="tns:ResponseMessage259" name="Output259"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding259" type="tns:PortType259">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation259">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation259"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service259">
+    <wsdl:port name="Port259" binding="tns:Binding259">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage260">
+    <wsdl:part name="Response" element="tns:ResponseElement260"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage260">
+    <wsdl:part name="Request" element="tns:RequestElement260"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType260">
+    <wsdl:operation name="Operation260">
+      <wsdl:input message="tns:RequestMessage260" name="Input260"/>
+      <wsdl:output message="tns:ResponseMessage260" name="Output260"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding260" type="tns:PortType260">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation260">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation260"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service260">
+    <wsdl:port name="Port260" binding="tns:Binding260">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage261">
+    <wsdl:part name="Response" element="tns:ResponseElement261"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage261">
+    <wsdl:part name="Request" element="tns:RequestElement261"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType261">
+    <wsdl:operation name="Operation261">
+      <wsdl:input message="tns:RequestMessage261" name="Input261"/>
+      <wsdl:output message="tns:ResponseMessage261" name="Output261"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding261" type="tns:PortType261">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation261">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation261"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service261">
+    <wsdl:port name="Port261" binding="tns:Binding261">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage262">
+    <wsdl:part name="Response" element="tns:ResponseElement262"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage262">
+    <wsdl:part name="Request" element="tns:RequestElement262"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType262">
+    <wsdl:operation name="Operation262">
+      <wsdl:input message="tns:RequestMessage262" name="Input262"/>
+      <wsdl:output message="tns:ResponseMessage262" name="Output262"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding262" type="tns:PortType262">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation262">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation262"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service262">
+    <wsdl:port name="Port262" binding="tns:Binding262">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage263">
+    <wsdl:part name="Response" element="tns:ResponseElement263"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage263">
+    <wsdl:part name="Request" element="tns:RequestElement263"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType263">
+    <wsdl:operation name="Operation263">
+      <wsdl:input message="tns:RequestMessage263" name="Input263"/>
+      <wsdl:output message="tns:ResponseMessage263" name="Output263"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding263" type="tns:PortType263">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation263">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation263"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service263">
+    <wsdl:port name="Port263" binding="tns:Binding263">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage264">
+    <wsdl:part name="Response" element="tns:ResponseElement264"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage264">
+    <wsdl:part name="Request" element="tns:RequestElement264"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType264">
+    <wsdl:operation name="Operation264">
+      <wsdl:input message="tns:RequestMessage264" name="Input264"/>
+      <wsdl:output message="tns:ResponseMessage264" name="Output264"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding264" type="tns:PortType264">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation264">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation264"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service264">
+    <wsdl:port name="Port264" binding="tns:Binding264">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage265">
+    <wsdl:part name="Response" element="tns:ResponseElement265"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage265">
+    <wsdl:part name="Request" element="tns:RequestElement265"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType265">
+    <wsdl:operation name="Operation265">
+      <wsdl:input message="tns:RequestMessage265" name="Input265"/>
+      <wsdl:output message="tns:ResponseMessage265" name="Output265"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding265" type="tns:PortType265">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation265">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation265"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service265">
+    <wsdl:port name="Port265" binding="tns:Binding265">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage266">
+    <wsdl:part name="Response" element="tns:ResponseElement266"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage266">
+    <wsdl:part name="Request" element="tns:RequestElement266"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType266">
+    <wsdl:operation name="Operation266">
+      <wsdl:input message="tns:RequestMessage266" name="Input266"/>
+      <wsdl:output message="tns:ResponseMessage266" name="Output266"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding266" type="tns:PortType266">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation266">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation266"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service266">
+    <wsdl:port name="Port266" binding="tns:Binding266">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage267">
+    <wsdl:part name="Response" element="tns:ResponseElement267"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage267">
+    <wsdl:part name="Request" element="tns:RequestElement267"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType267">
+    <wsdl:operation name="Operation267">
+      <wsdl:input message="tns:RequestMessage267" name="Input267"/>
+      <wsdl:output message="tns:ResponseMessage267" name="Output267"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding267" type="tns:PortType267">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation267">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation267"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service267">
+    <wsdl:port name="Port267" binding="tns:Binding267">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage268">
+    <wsdl:part name="Response" element="tns:ResponseElement268"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage268">
+    <wsdl:part name="Request" element="tns:RequestElement268"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType268">
+    <wsdl:operation name="Operation268">
+      <wsdl:input message="tns:RequestMessage268" name="Input268"/>
+      <wsdl:output message="tns:ResponseMessage268" name="Output268"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding268" type="tns:PortType268">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation268">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation268"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service268">
+    <wsdl:port name="Port268" binding="tns:Binding268">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage269">
+    <wsdl:part name="Response" element="tns:ResponseElement269"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage269">
+    <wsdl:part name="Request" element="tns:RequestElement269"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType269">
+    <wsdl:operation name="Operation269">
+      <wsdl:input message="tns:RequestMessage269" name="Input269"/>
+      <wsdl:output message="tns:ResponseMessage269" name="Output269"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding269" type="tns:PortType269">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation269">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation269"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service269">
+    <wsdl:port name="Port269" binding="tns:Binding269">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage270">
+    <wsdl:part name="Response" element="tns:ResponseElement270"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage270">
+    <wsdl:part name="Request" element="tns:RequestElement270"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType270">
+    <wsdl:operation name="Operation270">
+      <wsdl:input message="tns:RequestMessage270" name="Input270"/>
+      <wsdl:output message="tns:ResponseMessage270" name="Output270"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding270" type="tns:PortType270">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation270">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation270"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service270">
+    <wsdl:port name="Port270" binding="tns:Binding270">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage271">
+    <wsdl:part name="Response" element="tns:ResponseElement271"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage271">
+    <wsdl:part name="Request" element="tns:RequestElement271"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType271">
+    <wsdl:operation name="Operation271">
+      <wsdl:input message="tns:RequestMessage271" name="Input271"/>
+      <wsdl:output message="tns:ResponseMessage271" name="Output271"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding271" type="tns:PortType271">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation271">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation271"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service271">
+    <wsdl:port name="Port271" binding="tns:Binding271">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage272">
+    <wsdl:part name="Response" element="tns:ResponseElement272"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage272">
+    <wsdl:part name="Request" element="tns:RequestElement272"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType272">
+    <wsdl:operation name="Operation272">
+      <wsdl:input message="tns:RequestMessage272" name="Input272"/>
+      <wsdl:output message="tns:ResponseMessage272" name="Output272"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding272" type="tns:PortType272">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation272">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation272"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service272">
+    <wsdl:port name="Port272" binding="tns:Binding272">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage273">
+    <wsdl:part name="Response" element="tns:ResponseElement273"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage273">
+    <wsdl:part name="Request" element="tns:RequestElement273"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType273">
+    <wsdl:operation name="Operation273">
+      <wsdl:input message="tns:RequestMessage273" name="Input273"/>
+      <wsdl:output message="tns:ResponseMessage273" name="Output273"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding273" type="tns:PortType273">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation273">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation273"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service273">
+    <wsdl:port name="Port273" binding="tns:Binding273">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage274">
+    <wsdl:part name="Response" element="tns:ResponseElement274"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage274">
+    <wsdl:part name="Request" element="tns:RequestElement274"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType274">
+    <wsdl:operation name="Operation274">
+      <wsdl:input message="tns:RequestMessage274" name="Input274"/>
+      <wsdl:output message="tns:ResponseMessage274" name="Output274"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding274" type="tns:PortType274">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation274">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation274"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service274">
+    <wsdl:port name="Port274" binding="tns:Binding274">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage275">
+    <wsdl:part name="Response" element="tns:ResponseElement275"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage275">
+    <wsdl:part name="Request" element="tns:RequestElement275"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType275">
+    <wsdl:operation name="Operation275">
+      <wsdl:input message="tns:RequestMessage275" name="Input275"/>
+      <wsdl:output message="tns:ResponseMessage275" name="Output275"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding275" type="tns:PortType275">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation275">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation275"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service275">
+    <wsdl:port name="Port275" binding="tns:Binding275">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage276">
+    <wsdl:part name="Response" element="tns:ResponseElement276"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage276">
+    <wsdl:part name="Request" element="tns:RequestElement276"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType276">
+    <wsdl:operation name="Operation276">
+      <wsdl:input message="tns:RequestMessage276" name="Input276"/>
+      <wsdl:output message="tns:ResponseMessage276" name="Output276"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding276" type="tns:PortType276">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation276">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation276"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service276">
+    <wsdl:port name="Port276" binding="tns:Binding276">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage277">
+    <wsdl:part name="Response" element="tns:ResponseElement277"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage277">
+    <wsdl:part name="Request" element="tns:RequestElement277"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType277">
+    <wsdl:operation name="Operation277">
+      <wsdl:input message="tns:RequestMessage277" name="Input277"/>
+      <wsdl:output message="tns:ResponseMessage277" name="Output277"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding277" type="tns:PortType277">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation277">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation277"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service277">
+    <wsdl:port name="Port277" binding="tns:Binding277">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage278">
+    <wsdl:part name="Response" element="tns:ResponseElement278"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage278">
+    <wsdl:part name="Request" element="tns:RequestElement278"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType278">
+    <wsdl:operation name="Operation278">
+      <wsdl:input message="tns:RequestMessage278" name="Input278"/>
+      <wsdl:output message="tns:ResponseMessage278" name="Output278"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding278" type="tns:PortType278">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation278">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation278"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service278">
+    <wsdl:port name="Port278" binding="tns:Binding278">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage279">
+    <wsdl:part name="Response" element="tns:ResponseElement279"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage279">
+    <wsdl:part name="Request" element="tns:RequestElement279"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType279">
+    <wsdl:operation name="Operation279">
+      <wsdl:input message="tns:RequestMessage279" name="Input279"/>
+      <wsdl:output message="tns:ResponseMessage279" name="Output279"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding279" type="tns:PortType279">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation279">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation279"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service279">
+    <wsdl:port name="Port279" binding="tns:Binding279">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage280">
+    <wsdl:part name="Response" element="tns:ResponseElement280"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage280">
+    <wsdl:part name="Request" element="tns:RequestElement280"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType280">
+    <wsdl:operation name="Operation280">
+      <wsdl:input message="tns:RequestMessage280" name="Input280"/>
+      <wsdl:output message="tns:ResponseMessage280" name="Output280"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding280" type="tns:PortType280">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation280">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation280"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service280">
+    <wsdl:port name="Port280" binding="tns:Binding280">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage281">
+    <wsdl:part name="Response" element="tns:ResponseElement281"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage281">
+    <wsdl:part name="Request" element="tns:RequestElement281"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType281">
+    <wsdl:operation name="Operation281">
+      <wsdl:input message="tns:RequestMessage281" name="Input281"/>
+      <wsdl:output message="tns:ResponseMessage281" name="Output281"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding281" type="tns:PortType281">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation281">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation281"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service281">
+    <wsdl:port name="Port281" binding="tns:Binding281">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage282">
+    <wsdl:part name="Response" element="tns:ResponseElement282"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage282">
+    <wsdl:part name="Request" element="tns:RequestElement282"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType282">
+    <wsdl:operation name="Operation282">
+      <wsdl:input message="tns:RequestMessage282" name="Input282"/>
+      <wsdl:output message="tns:ResponseMessage282" name="Output282"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding282" type="tns:PortType282">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation282">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation282"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service282">
+    <wsdl:port name="Port282" binding="tns:Binding282">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage283">
+    <wsdl:part name="Response" element="tns:ResponseElement283"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage283">
+    <wsdl:part name="Request" element="tns:RequestElement283"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType283">
+    <wsdl:operation name="Operation283">
+      <wsdl:input message="tns:RequestMessage283" name="Input283"/>
+      <wsdl:output message="tns:ResponseMessage283" name="Output283"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding283" type="tns:PortType283">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation283">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation283"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service283">
+    <wsdl:port name="Port283" binding="tns:Binding283">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage284">
+    <wsdl:part name="Response" element="tns:ResponseElement284"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage284">
+    <wsdl:part name="Request" element="tns:RequestElement284"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType284">
+    <wsdl:operation name="Operation284">
+      <wsdl:input message="tns:RequestMessage284" name="Input284"/>
+      <wsdl:output message="tns:ResponseMessage284" name="Output284"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding284" type="tns:PortType284">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation284">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation284"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service284">
+    <wsdl:port name="Port284" binding="tns:Binding284">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage285">
+    <wsdl:part name="Response" element="tns:ResponseElement285"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage285">
+    <wsdl:part name="Request" element="tns:RequestElement285"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType285">
+    <wsdl:operation name="Operation285">
+      <wsdl:input message="tns:RequestMessage285" name="Input285"/>
+      <wsdl:output message="tns:ResponseMessage285" name="Output285"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding285" type="tns:PortType285">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation285">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation285"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service285">
+    <wsdl:port name="Port285" binding="tns:Binding285">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage286">
+    <wsdl:part name="Response" element="tns:ResponseElement286"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage286">
+    <wsdl:part name="Request" element="tns:RequestElement286"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType286">
+    <wsdl:operation name="Operation286">
+      <wsdl:input message="tns:RequestMessage286" name="Input286"/>
+      <wsdl:output message="tns:ResponseMessage286" name="Output286"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding286" type="tns:PortType286">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation286">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation286"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service286">
+    <wsdl:port name="Port286" binding="tns:Binding286">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage287">
+    <wsdl:part name="Response" element="tns:ResponseElement287"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage287">
+    <wsdl:part name="Request" element="tns:RequestElement287"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType287">
+    <wsdl:operation name="Operation287">
+      <wsdl:input message="tns:RequestMessage287" name="Input287"/>
+      <wsdl:output message="tns:ResponseMessage287" name="Output287"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding287" type="tns:PortType287">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation287">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation287"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service287">
+    <wsdl:port name="Port287" binding="tns:Binding287">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage288">
+    <wsdl:part name="Response" element="tns:ResponseElement288"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage288">
+    <wsdl:part name="Request" element="tns:RequestElement288"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType288">
+    <wsdl:operation name="Operation288">
+      <wsdl:input message="tns:RequestMessage288" name="Input288"/>
+      <wsdl:output message="tns:ResponseMessage288" name="Output288"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding288" type="tns:PortType288">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation288">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation288"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service288">
+    <wsdl:port name="Port288" binding="tns:Binding288">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage289">
+    <wsdl:part name="Response" element="tns:ResponseElement289"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage289">
+    <wsdl:part name="Request" element="tns:RequestElement289"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType289">
+    <wsdl:operation name="Operation289">
+      <wsdl:input message="tns:RequestMessage289" name="Input289"/>
+      <wsdl:output message="tns:ResponseMessage289" name="Output289"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding289" type="tns:PortType289">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation289">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation289"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service289">
+    <wsdl:port name="Port289" binding="tns:Binding289">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage290">
+    <wsdl:part name="Response" element="tns:ResponseElement290"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage290">
+    <wsdl:part name="Request" element="tns:RequestElement290"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType290">
+    <wsdl:operation name="Operation290">
+      <wsdl:input message="tns:RequestMessage290" name="Input290"/>
+      <wsdl:output message="tns:ResponseMessage290" name="Output290"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding290" type="tns:PortType290">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation290">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation290"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service290">
+    <wsdl:port name="Port290" binding="tns:Binding290">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage291">
+    <wsdl:part name="Response" element="tns:ResponseElement291"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage291">
+    <wsdl:part name="Request" element="tns:RequestElement291"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType291">
+    <wsdl:operation name="Operation291">
+      <wsdl:input message="tns:RequestMessage291" name="Input291"/>
+      <wsdl:output message="tns:ResponseMessage291" name="Output291"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding291" type="tns:PortType291">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation291">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation291"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service291">
+    <wsdl:port name="Port291" binding="tns:Binding291">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage292">
+    <wsdl:part name="Response" element="tns:ResponseElement292"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage292">
+    <wsdl:part name="Request" element="tns:RequestElement292"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType292">
+    <wsdl:operation name="Operation292">
+      <wsdl:input message="tns:RequestMessage292" name="Input292"/>
+      <wsdl:output message="tns:ResponseMessage292" name="Output292"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding292" type="tns:PortType292">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation292">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation292"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service292">
+    <wsdl:port name="Port292" binding="tns:Binding292">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage293">
+    <wsdl:part name="Response" element="tns:ResponseElement293"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage293">
+    <wsdl:part name="Request" element="tns:RequestElement293"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType293">
+    <wsdl:operation name="Operation293">
+      <wsdl:input message="tns:RequestMessage293" name="Input293"/>
+      <wsdl:output message="tns:ResponseMessage293" name="Output293"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding293" type="tns:PortType293">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation293">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation293"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service293">
+    <wsdl:port name="Port293" binding="tns:Binding293">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage294">
+    <wsdl:part name="Response" element="tns:ResponseElement294"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage294">
+    <wsdl:part name="Request" element="tns:RequestElement294"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType294">
+    <wsdl:operation name="Operation294">
+      <wsdl:input message="tns:RequestMessage294" name="Input294"/>
+      <wsdl:output message="tns:ResponseMessage294" name="Output294"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding294" type="tns:PortType294">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation294">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation294"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service294">
+    <wsdl:port name="Port294" binding="tns:Binding294">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage295">
+    <wsdl:part name="Response" element="tns:ResponseElement295"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage295">
+    <wsdl:part name="Request" element="tns:RequestElement295"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType295">
+    <wsdl:operation name="Operation295">
+      <wsdl:input message="tns:RequestMessage295" name="Input295"/>
+      <wsdl:output message="tns:ResponseMessage295" name="Output295"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding295" type="tns:PortType295">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation295">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation295"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service295">
+    <wsdl:port name="Port295" binding="tns:Binding295">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage296">
+    <wsdl:part name="Response" element="tns:ResponseElement296"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage296">
+    <wsdl:part name="Request" element="tns:RequestElement296"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType296">
+    <wsdl:operation name="Operation296">
+      <wsdl:input message="tns:RequestMessage296" name="Input296"/>
+      <wsdl:output message="tns:ResponseMessage296" name="Output296"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding296" type="tns:PortType296">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation296">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation296"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service296">
+    <wsdl:port name="Port296" binding="tns:Binding296">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage297">
+    <wsdl:part name="Response" element="tns:ResponseElement297"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage297">
+    <wsdl:part name="Request" element="tns:RequestElement297"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType297">
+    <wsdl:operation name="Operation297">
+      <wsdl:input message="tns:RequestMessage297" name="Input297"/>
+      <wsdl:output message="tns:ResponseMessage297" name="Output297"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding297" type="tns:PortType297">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation297">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation297"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service297">
+    <wsdl:port name="Port297" binding="tns:Binding297">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage298">
+    <wsdl:part name="Response" element="tns:ResponseElement298"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage298">
+    <wsdl:part name="Request" element="tns:RequestElement298"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType298">
+    <wsdl:operation name="Operation298">
+      <wsdl:input message="tns:RequestMessage298" name="Input298"/>
+      <wsdl:output message="tns:ResponseMessage298" name="Output298"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding298" type="tns:PortType298">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation298">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation298"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service298">
+    <wsdl:port name="Port298" binding="tns:Binding298">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage299">
+    <wsdl:part name="Response" element="tns:ResponseElement299"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage299">
+    <wsdl:part name="Request" element="tns:RequestElement299"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType299">
+    <wsdl:operation name="Operation299">
+      <wsdl:input message="tns:RequestMessage299" name="Input299"/>
+      <wsdl:output message="tns:ResponseMessage299" name="Output299"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding299" type="tns:PortType299">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation299">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation299"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service299">
+    <wsdl:port name="Port299" binding="tns:Binding299">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage300">
+    <wsdl:part name="Response" element="tns:ResponseElement300"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage300">
+    <wsdl:part name="Request" element="tns:RequestElement300"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType300">
+    <wsdl:operation name="Operation300">
+      <wsdl:input message="tns:RequestMessage300" name="Input300"/>
+      <wsdl:output message="tns:ResponseMessage300" name="Output300"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding300" type="tns:PortType300">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation300">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation300"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service300">
+    <wsdl:port name="Port300" binding="tns:Binding300">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage301">
+    <wsdl:part name="Response" element="tns:ResponseElement301"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage301">
+    <wsdl:part name="Request" element="tns:RequestElement301"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType301">
+    <wsdl:operation name="Operation301">
+      <wsdl:input message="tns:RequestMessage301" name="Input301"/>
+      <wsdl:output message="tns:ResponseMessage301" name="Output301"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding301" type="tns:PortType301">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation301">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation301"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service301">
+    <wsdl:port name="Port301" binding="tns:Binding301">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage302">
+    <wsdl:part name="Response" element="tns:ResponseElement302"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage302">
+    <wsdl:part name="Request" element="tns:RequestElement302"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType302">
+    <wsdl:operation name="Operation302">
+      <wsdl:input message="tns:RequestMessage302" name="Input302"/>
+      <wsdl:output message="tns:ResponseMessage302" name="Output302"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding302" type="tns:PortType302">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation302">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation302"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service302">
+    <wsdl:port name="Port302" binding="tns:Binding302">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage303">
+    <wsdl:part name="Response" element="tns:ResponseElement303"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage303">
+    <wsdl:part name="Request" element="tns:RequestElement303"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType303">
+    <wsdl:operation name="Operation303">
+      <wsdl:input message="tns:RequestMessage303" name="Input303"/>
+      <wsdl:output message="tns:ResponseMessage303" name="Output303"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding303" type="tns:PortType303">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation303">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation303"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service303">
+    <wsdl:port name="Port303" binding="tns:Binding303">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage304">
+    <wsdl:part name="Response" element="tns:ResponseElement304"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage304">
+    <wsdl:part name="Request" element="tns:RequestElement304"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType304">
+    <wsdl:operation name="Operation304">
+      <wsdl:input message="tns:RequestMessage304" name="Input304"/>
+      <wsdl:output message="tns:ResponseMessage304" name="Output304"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding304" type="tns:PortType304">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation304">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation304"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service304">
+    <wsdl:port name="Port304" binding="tns:Binding304">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage305">
+    <wsdl:part name="Response" element="tns:ResponseElement305"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage305">
+    <wsdl:part name="Request" element="tns:RequestElement305"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType305">
+    <wsdl:operation name="Operation305">
+      <wsdl:input message="tns:RequestMessage305" name="Input305"/>
+      <wsdl:output message="tns:ResponseMessage305" name="Output305"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding305" type="tns:PortType305">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation305">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation305"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service305">
+    <wsdl:port name="Port305" binding="tns:Binding305">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage306">
+    <wsdl:part name="Response" element="tns:ResponseElement306"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage306">
+    <wsdl:part name="Request" element="tns:RequestElement306"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType306">
+    <wsdl:operation name="Operation306">
+      <wsdl:input message="tns:RequestMessage306" name="Input306"/>
+      <wsdl:output message="tns:ResponseMessage306" name="Output306"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding306" type="tns:PortType306">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation306">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation306"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service306">
+    <wsdl:port name="Port306" binding="tns:Binding306">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage307">
+    <wsdl:part name="Response" element="tns:ResponseElement307"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage307">
+    <wsdl:part name="Request" element="tns:RequestElement307"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType307">
+    <wsdl:operation name="Operation307">
+      <wsdl:input message="tns:RequestMessage307" name="Input307"/>
+      <wsdl:output message="tns:ResponseMessage307" name="Output307"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding307" type="tns:PortType307">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation307">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation307"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service307">
+    <wsdl:port name="Port307" binding="tns:Binding307">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage308">
+    <wsdl:part name="Response" element="tns:ResponseElement308"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage308">
+    <wsdl:part name="Request" element="tns:RequestElement308"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType308">
+    <wsdl:operation name="Operation308">
+      <wsdl:input message="tns:RequestMessage308" name="Input308"/>
+      <wsdl:output message="tns:ResponseMessage308" name="Output308"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding308" type="tns:PortType308">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation308">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation308"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service308">
+    <wsdl:port name="Port308" binding="tns:Binding308">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage309">
+    <wsdl:part name="Response" element="tns:ResponseElement309"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage309">
+    <wsdl:part name="Request" element="tns:RequestElement309"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType309">
+    <wsdl:operation name="Operation309">
+      <wsdl:input message="tns:RequestMessage309" name="Input309"/>
+      <wsdl:output message="tns:ResponseMessage309" name="Output309"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding309" type="tns:PortType309">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation309">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation309"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service309">
+    <wsdl:port name="Port309" binding="tns:Binding309">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage310">
+    <wsdl:part name="Response" element="tns:ResponseElement310"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage310">
+    <wsdl:part name="Request" element="tns:RequestElement310"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType310">
+    <wsdl:operation name="Operation310">
+      <wsdl:input message="tns:RequestMessage310" name="Input310"/>
+      <wsdl:output message="tns:ResponseMessage310" name="Output310"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding310" type="tns:PortType310">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation310">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation310"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service310">
+    <wsdl:port name="Port310" binding="tns:Binding310">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage311">
+    <wsdl:part name="Response" element="tns:ResponseElement311"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage311">
+    <wsdl:part name="Request" element="tns:RequestElement311"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType311">
+    <wsdl:operation name="Operation311">
+      <wsdl:input message="tns:RequestMessage311" name="Input311"/>
+      <wsdl:output message="tns:ResponseMessage311" name="Output311"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding311" type="tns:PortType311">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation311">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation311"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service311">
+    <wsdl:port name="Port311" binding="tns:Binding311">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage312">
+    <wsdl:part name="Response" element="tns:ResponseElement312"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage312">
+    <wsdl:part name="Request" element="tns:RequestElement312"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType312">
+    <wsdl:operation name="Operation312">
+      <wsdl:input message="tns:RequestMessage312" name="Input312"/>
+      <wsdl:output message="tns:ResponseMessage312" name="Output312"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding312" type="tns:PortType312">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation312">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation312"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service312">
+    <wsdl:port name="Port312" binding="tns:Binding312">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage313">
+    <wsdl:part name="Response" element="tns:ResponseElement313"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage313">
+    <wsdl:part name="Request" element="tns:RequestElement313"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType313">
+    <wsdl:operation name="Operation313">
+      <wsdl:input message="tns:RequestMessage313" name="Input313"/>
+      <wsdl:output message="tns:ResponseMessage313" name="Output313"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding313" type="tns:PortType313">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation313">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation313"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service313">
+    <wsdl:port name="Port313" binding="tns:Binding313">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage314">
+    <wsdl:part name="Response" element="tns:ResponseElement314"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage314">
+    <wsdl:part name="Request" element="tns:RequestElement314"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType314">
+    <wsdl:operation name="Operation314">
+      <wsdl:input message="tns:RequestMessage314" name="Input314"/>
+      <wsdl:output message="tns:ResponseMessage314" name="Output314"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding314" type="tns:PortType314">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation314">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation314"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service314">
+    <wsdl:port name="Port314" binding="tns:Binding314">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage315">
+    <wsdl:part name="Response" element="tns:ResponseElement315"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage315">
+    <wsdl:part name="Request" element="tns:RequestElement315"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType315">
+    <wsdl:operation name="Operation315">
+      <wsdl:input message="tns:RequestMessage315" name="Input315"/>
+      <wsdl:output message="tns:ResponseMessage315" name="Output315"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding315" type="tns:PortType315">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation315">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation315"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service315">
+    <wsdl:port name="Port315" binding="tns:Binding315">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage316">
+    <wsdl:part name="Response" element="tns:ResponseElement316"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage316">
+    <wsdl:part name="Request" element="tns:RequestElement316"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType316">
+    <wsdl:operation name="Operation316">
+      <wsdl:input message="tns:RequestMessage316" name="Input316"/>
+      <wsdl:output message="tns:ResponseMessage316" name="Output316"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding316" type="tns:PortType316">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation316">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation316"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service316">
+    <wsdl:port name="Port316" binding="tns:Binding316">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage317">
+    <wsdl:part name="Response" element="tns:ResponseElement317"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage317">
+    <wsdl:part name="Request" element="tns:RequestElement317"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType317">
+    <wsdl:operation name="Operation317">
+      <wsdl:input message="tns:RequestMessage317" name="Input317"/>
+      <wsdl:output message="tns:ResponseMessage317" name="Output317"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding317" type="tns:PortType317">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation317">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation317"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service317">
+    <wsdl:port name="Port317" binding="tns:Binding317">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage318">
+    <wsdl:part name="Response" element="tns:ResponseElement318"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage318">
+    <wsdl:part name="Request" element="tns:RequestElement318"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType318">
+    <wsdl:operation name="Operation318">
+      <wsdl:input message="tns:RequestMessage318" name="Input318"/>
+      <wsdl:output message="tns:ResponseMessage318" name="Output318"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding318" type="tns:PortType318">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation318">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation318"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service318">
+    <wsdl:port name="Port318" binding="tns:Binding318">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage319">
+    <wsdl:part name="Response" element="tns:ResponseElement319"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage319">
+    <wsdl:part name="Request" element="tns:RequestElement319"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType319">
+    <wsdl:operation name="Operation319">
+      <wsdl:input message="tns:RequestMessage319" name="Input319"/>
+      <wsdl:output message="tns:ResponseMessage319" name="Output319"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding319" type="tns:PortType319">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation319">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation319"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service319">
+    <wsdl:port name="Port319" binding="tns:Binding319">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage320">
+    <wsdl:part name="Response" element="tns:ResponseElement320"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage320">
+    <wsdl:part name="Request" element="tns:RequestElement320"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType320">
+    <wsdl:operation name="Operation320">
+      <wsdl:input message="tns:RequestMessage320" name="Input320"/>
+      <wsdl:output message="tns:ResponseMessage320" name="Output320"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding320" type="tns:PortType320">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation320">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation320"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service320">
+    <wsdl:port name="Port320" binding="tns:Binding320">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage321">
+    <wsdl:part name="Response" element="tns:ResponseElement321"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage321">
+    <wsdl:part name="Request" element="tns:RequestElement321"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType321">
+    <wsdl:operation name="Operation321">
+      <wsdl:input message="tns:RequestMessage321" name="Input321"/>
+      <wsdl:output message="tns:ResponseMessage321" name="Output321"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding321" type="tns:PortType321">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation321">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation321"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service321">
+    <wsdl:port name="Port321" binding="tns:Binding321">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage322">
+    <wsdl:part name="Response" element="tns:ResponseElement322"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage322">
+    <wsdl:part name="Request" element="tns:RequestElement322"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType322">
+    <wsdl:operation name="Operation322">
+      <wsdl:input message="tns:RequestMessage322" name="Input322"/>
+      <wsdl:output message="tns:ResponseMessage322" name="Output322"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding322" type="tns:PortType322">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation322">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation322"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service322">
+    <wsdl:port name="Port322" binding="tns:Binding322">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage323">
+    <wsdl:part name="Response" element="tns:ResponseElement323"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage323">
+    <wsdl:part name="Request" element="tns:RequestElement323"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType323">
+    <wsdl:operation name="Operation323">
+      <wsdl:input message="tns:RequestMessage323" name="Input323"/>
+      <wsdl:output message="tns:ResponseMessage323" name="Output323"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding323" type="tns:PortType323">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation323">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation323"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service323">
+    <wsdl:port name="Port323" binding="tns:Binding323">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage324">
+    <wsdl:part name="Response" element="tns:ResponseElement324"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage324">
+    <wsdl:part name="Request" element="tns:RequestElement324"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType324">
+    <wsdl:operation name="Operation324">
+      <wsdl:input message="tns:RequestMessage324" name="Input324"/>
+      <wsdl:output message="tns:ResponseMessage324" name="Output324"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding324" type="tns:PortType324">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation324">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation324"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service324">
+    <wsdl:port name="Port324" binding="tns:Binding324">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage325">
+    <wsdl:part name="Response" element="tns:ResponseElement325"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage325">
+    <wsdl:part name="Request" element="tns:RequestElement325"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType325">
+    <wsdl:operation name="Operation325">
+      <wsdl:input message="tns:RequestMessage325" name="Input325"/>
+      <wsdl:output message="tns:ResponseMessage325" name="Output325"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding325" type="tns:PortType325">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation325">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation325"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service325">
+    <wsdl:port name="Port325" binding="tns:Binding325">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage326">
+    <wsdl:part name="Response" element="tns:ResponseElement326"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage326">
+    <wsdl:part name="Request" element="tns:RequestElement326"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType326">
+    <wsdl:operation name="Operation326">
+      <wsdl:input message="tns:RequestMessage326" name="Input326"/>
+      <wsdl:output message="tns:ResponseMessage326" name="Output326"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding326" type="tns:PortType326">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation326">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation326"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service326">
+    <wsdl:port name="Port326" binding="tns:Binding326">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage327">
+    <wsdl:part name="Response" element="tns:ResponseElement327"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage327">
+    <wsdl:part name="Request" element="tns:RequestElement327"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType327">
+    <wsdl:operation name="Operation327">
+      <wsdl:input message="tns:RequestMessage327" name="Input327"/>
+      <wsdl:output message="tns:ResponseMessage327" name="Output327"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding327" type="tns:PortType327">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation327">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation327"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service327">
+    <wsdl:port name="Port327" binding="tns:Binding327">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage328">
+    <wsdl:part name="Response" element="tns:ResponseElement328"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage328">
+    <wsdl:part name="Request" element="tns:RequestElement328"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType328">
+    <wsdl:operation name="Operation328">
+      <wsdl:input message="tns:RequestMessage328" name="Input328"/>
+      <wsdl:output message="tns:ResponseMessage328" name="Output328"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding328" type="tns:PortType328">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation328">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation328"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service328">
+    <wsdl:port name="Port328" binding="tns:Binding328">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage329">
+    <wsdl:part name="Response" element="tns:ResponseElement329"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage329">
+    <wsdl:part name="Request" element="tns:RequestElement329"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType329">
+    <wsdl:operation name="Operation329">
+      <wsdl:input message="tns:RequestMessage329" name="Input329"/>
+      <wsdl:output message="tns:ResponseMessage329" name="Output329"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding329" type="tns:PortType329">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation329">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation329"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service329">
+    <wsdl:port name="Port329" binding="tns:Binding329">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage330">
+    <wsdl:part name="Response" element="tns:ResponseElement330"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage330">
+    <wsdl:part name="Request" element="tns:RequestElement330"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType330">
+    <wsdl:operation name="Operation330">
+      <wsdl:input message="tns:RequestMessage330" name="Input330"/>
+      <wsdl:output message="tns:ResponseMessage330" name="Output330"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding330" type="tns:PortType330">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation330">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation330"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service330">
+    <wsdl:port name="Port330" binding="tns:Binding330">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage331">
+    <wsdl:part name="Response" element="tns:ResponseElement331"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage331">
+    <wsdl:part name="Request" element="tns:RequestElement331"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType331">
+    <wsdl:operation name="Operation331">
+      <wsdl:input message="tns:RequestMessage331" name="Input331"/>
+      <wsdl:output message="tns:ResponseMessage331" name="Output331"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding331" type="tns:PortType331">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation331">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation331"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service331">
+    <wsdl:port name="Port331" binding="tns:Binding331">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage332">
+    <wsdl:part name="Response" element="tns:ResponseElement332"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage332">
+    <wsdl:part name="Request" element="tns:RequestElement332"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType332">
+    <wsdl:operation name="Operation332">
+      <wsdl:input message="tns:RequestMessage332" name="Input332"/>
+      <wsdl:output message="tns:ResponseMessage332" name="Output332"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding332" type="tns:PortType332">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation332">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation332"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service332">
+    <wsdl:port name="Port332" binding="tns:Binding332">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage333">
+    <wsdl:part name="Response" element="tns:ResponseElement333"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage333">
+    <wsdl:part name="Request" element="tns:RequestElement333"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType333">
+    <wsdl:operation name="Operation333">
+      <wsdl:input message="tns:RequestMessage333" name="Input333"/>
+      <wsdl:output message="tns:ResponseMessage333" name="Output333"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding333" type="tns:PortType333">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation333">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation333"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service333">
+    <wsdl:port name="Port333" binding="tns:Binding333">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage334">
+    <wsdl:part name="Response" element="tns:ResponseElement334"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage334">
+    <wsdl:part name="Request" element="tns:RequestElement334"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType334">
+    <wsdl:operation name="Operation334">
+      <wsdl:input message="tns:RequestMessage334" name="Input334"/>
+      <wsdl:output message="tns:ResponseMessage334" name="Output334"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding334" type="tns:PortType334">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation334">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation334"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service334">
+    <wsdl:port name="Port334" binding="tns:Binding334">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage335">
+    <wsdl:part name="Response" element="tns:ResponseElement335"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage335">
+    <wsdl:part name="Request" element="tns:RequestElement335"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType335">
+    <wsdl:operation name="Operation335">
+      <wsdl:input message="tns:RequestMessage335" name="Input335"/>
+      <wsdl:output message="tns:ResponseMessage335" name="Output335"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding335" type="tns:PortType335">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation335">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation335"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service335">
+    <wsdl:port name="Port335" binding="tns:Binding335">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage336">
+    <wsdl:part name="Response" element="tns:ResponseElement336"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage336">
+    <wsdl:part name="Request" element="tns:RequestElement336"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType336">
+    <wsdl:operation name="Operation336">
+      <wsdl:input message="tns:RequestMessage336" name="Input336"/>
+      <wsdl:output message="tns:ResponseMessage336" name="Output336"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding336" type="tns:PortType336">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation336">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation336"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service336">
+    <wsdl:port name="Port336" binding="tns:Binding336">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage337">
+    <wsdl:part name="Response" element="tns:ResponseElement337"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage337">
+    <wsdl:part name="Request" element="tns:RequestElement337"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType337">
+    <wsdl:operation name="Operation337">
+      <wsdl:input message="tns:RequestMessage337" name="Input337"/>
+      <wsdl:output message="tns:ResponseMessage337" name="Output337"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding337" type="tns:PortType337">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation337">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation337"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service337">
+    <wsdl:port name="Port337" binding="tns:Binding337">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage338">
+    <wsdl:part name="Response" element="tns:ResponseElement338"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage338">
+    <wsdl:part name="Request" element="tns:RequestElement338"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType338">
+    <wsdl:operation name="Operation338">
+      <wsdl:input message="tns:RequestMessage338" name="Input338"/>
+      <wsdl:output message="tns:ResponseMessage338" name="Output338"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding338" type="tns:PortType338">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation338">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation338"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service338">
+    <wsdl:port name="Port338" binding="tns:Binding338">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage339">
+    <wsdl:part name="Response" element="tns:ResponseElement339"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage339">
+    <wsdl:part name="Request" element="tns:RequestElement339"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType339">
+    <wsdl:operation name="Operation339">
+      <wsdl:input message="tns:RequestMessage339" name="Input339"/>
+      <wsdl:output message="tns:ResponseMessage339" name="Output339"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding339" type="tns:PortType339">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation339">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation339"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service339">
+    <wsdl:port name="Port339" binding="tns:Binding339">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage340">
+    <wsdl:part name="Response" element="tns:ResponseElement340"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage340">
+    <wsdl:part name="Request" element="tns:RequestElement340"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType340">
+    <wsdl:operation name="Operation340">
+      <wsdl:input message="tns:RequestMessage340" name="Input340"/>
+      <wsdl:output message="tns:ResponseMessage340" name="Output340"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding340" type="tns:PortType340">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation340">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation340"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service340">
+    <wsdl:port name="Port340" binding="tns:Binding340">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage341">
+    <wsdl:part name="Response" element="tns:ResponseElement341"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage341">
+    <wsdl:part name="Request" element="tns:RequestElement341"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType341">
+    <wsdl:operation name="Operation341">
+      <wsdl:input message="tns:RequestMessage341" name="Input341"/>
+      <wsdl:output message="tns:ResponseMessage341" name="Output341"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding341" type="tns:PortType341">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation341">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation341"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service341">
+    <wsdl:port name="Port341" binding="tns:Binding341">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage342">
+    <wsdl:part name="Response" element="tns:ResponseElement342"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage342">
+    <wsdl:part name="Request" element="tns:RequestElement342"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType342">
+    <wsdl:operation name="Operation342">
+      <wsdl:input message="tns:RequestMessage342" name="Input342"/>
+      <wsdl:output message="tns:ResponseMessage342" name="Output342"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding342" type="tns:PortType342">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation342">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation342"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service342">
+    <wsdl:port name="Port342" binding="tns:Binding342">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage343">
+    <wsdl:part name="Response" element="tns:ResponseElement343"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage343">
+    <wsdl:part name="Request" element="tns:RequestElement343"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType343">
+    <wsdl:operation name="Operation343">
+      <wsdl:input message="tns:RequestMessage343" name="Input343"/>
+      <wsdl:output message="tns:ResponseMessage343" name="Output343"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding343" type="tns:PortType343">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation343">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation343"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service343">
+    <wsdl:port name="Port343" binding="tns:Binding343">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage344">
+    <wsdl:part name="Response" element="tns:ResponseElement344"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage344">
+    <wsdl:part name="Request" element="tns:RequestElement344"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType344">
+    <wsdl:operation name="Operation344">
+      <wsdl:input message="tns:RequestMessage344" name="Input344"/>
+      <wsdl:output message="tns:ResponseMessage344" name="Output344"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding344" type="tns:PortType344">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation344">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation344"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service344">
+    <wsdl:port name="Port344" binding="tns:Binding344">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage345">
+    <wsdl:part name="Response" element="tns:ResponseElement345"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage345">
+    <wsdl:part name="Request" element="tns:RequestElement345"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType345">
+    <wsdl:operation name="Operation345">
+      <wsdl:input message="tns:RequestMessage345" name="Input345"/>
+      <wsdl:output message="tns:ResponseMessage345" name="Output345"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding345" type="tns:PortType345">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation345">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation345"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service345">
+    <wsdl:port name="Port345" binding="tns:Binding345">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage346">
+    <wsdl:part name="Response" element="tns:ResponseElement346"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage346">
+    <wsdl:part name="Request" element="tns:RequestElement346"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType346">
+    <wsdl:operation name="Operation346">
+      <wsdl:input message="tns:RequestMessage346" name="Input346"/>
+      <wsdl:output message="tns:ResponseMessage346" name="Output346"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding346" type="tns:PortType346">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation346">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation346"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service346">
+    <wsdl:port name="Port346" binding="tns:Binding346">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage347">
+    <wsdl:part name="Response" element="tns:ResponseElement347"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage347">
+    <wsdl:part name="Request" element="tns:RequestElement347"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType347">
+    <wsdl:operation name="Operation347">
+      <wsdl:input message="tns:RequestMessage347" name="Input347"/>
+      <wsdl:output message="tns:ResponseMessage347" name="Output347"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding347" type="tns:PortType347">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation347">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation347"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service347">
+    <wsdl:port name="Port347" binding="tns:Binding347">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage348">
+    <wsdl:part name="Response" element="tns:ResponseElement348"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage348">
+    <wsdl:part name="Request" element="tns:RequestElement348"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType348">
+    <wsdl:operation name="Operation348">
+      <wsdl:input message="tns:RequestMessage348" name="Input348"/>
+      <wsdl:output message="tns:ResponseMessage348" name="Output348"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding348" type="tns:PortType348">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation348">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation348"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service348">
+    <wsdl:port name="Port348" binding="tns:Binding348">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage349">
+    <wsdl:part name="Response" element="tns:ResponseElement349"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage349">
+    <wsdl:part name="Request" element="tns:RequestElement349"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType349">
+    <wsdl:operation name="Operation349">
+      <wsdl:input message="tns:RequestMessage349" name="Input349"/>
+      <wsdl:output message="tns:ResponseMessage349" name="Output349"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding349" type="tns:PortType349">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation349">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation349"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service349">
+    <wsdl:port name="Port349" binding="tns:Binding349">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage350">
+    <wsdl:part name="Response" element="tns:ResponseElement350"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage350">
+    <wsdl:part name="Request" element="tns:RequestElement350"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType350">
+    <wsdl:operation name="Operation350">
+      <wsdl:input message="tns:RequestMessage350" name="Input350"/>
+      <wsdl:output message="tns:ResponseMessage350" name="Output350"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding350" type="tns:PortType350">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation350">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation350"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service350">
+    <wsdl:port name="Port350" binding="tns:Binding350">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage351">
+    <wsdl:part name="Response" element="tns:ResponseElement351"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage351">
+    <wsdl:part name="Request" element="tns:RequestElement351"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType351">
+    <wsdl:operation name="Operation351">
+      <wsdl:input message="tns:RequestMessage351" name="Input351"/>
+      <wsdl:output message="tns:ResponseMessage351" name="Output351"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding351" type="tns:PortType351">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation351">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation351"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service351">
+    <wsdl:port name="Port351" binding="tns:Binding351">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage352">
+    <wsdl:part name="Response" element="tns:ResponseElement352"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage352">
+    <wsdl:part name="Request" element="tns:RequestElement352"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType352">
+    <wsdl:operation name="Operation352">
+      <wsdl:input message="tns:RequestMessage352" name="Input352"/>
+      <wsdl:output message="tns:ResponseMessage352" name="Output352"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding352" type="tns:PortType352">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation352">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation352"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service352">
+    <wsdl:port name="Port352" binding="tns:Binding352">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage353">
+    <wsdl:part name="Response" element="tns:ResponseElement353"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage353">
+    <wsdl:part name="Request" element="tns:RequestElement353"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType353">
+    <wsdl:operation name="Operation353">
+      <wsdl:input message="tns:RequestMessage353" name="Input353"/>
+      <wsdl:output message="tns:ResponseMessage353" name="Output353"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding353" type="tns:PortType353">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation353">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation353"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service353">
+    <wsdl:port name="Port353" binding="tns:Binding353">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage354">
+    <wsdl:part name="Response" element="tns:ResponseElement354"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage354">
+    <wsdl:part name="Request" element="tns:RequestElement354"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType354">
+    <wsdl:operation name="Operation354">
+      <wsdl:input message="tns:RequestMessage354" name="Input354"/>
+      <wsdl:output message="tns:ResponseMessage354" name="Output354"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding354" type="tns:PortType354">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation354">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation354"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service354">
+    <wsdl:port name="Port354" binding="tns:Binding354">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage355">
+    <wsdl:part name="Response" element="tns:ResponseElement355"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage355">
+    <wsdl:part name="Request" element="tns:RequestElement355"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType355">
+    <wsdl:operation name="Operation355">
+      <wsdl:input message="tns:RequestMessage355" name="Input355"/>
+      <wsdl:output message="tns:ResponseMessage355" name="Output355"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding355" type="tns:PortType355">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation355">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation355"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service355">
+    <wsdl:port name="Port355" binding="tns:Binding355">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage356">
+    <wsdl:part name="Response" element="tns:ResponseElement356"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage356">
+    <wsdl:part name="Request" element="tns:RequestElement356"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType356">
+    <wsdl:operation name="Operation356">
+      <wsdl:input message="tns:RequestMessage356" name="Input356"/>
+      <wsdl:output message="tns:ResponseMessage356" name="Output356"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding356" type="tns:PortType356">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation356">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation356"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service356">
+    <wsdl:port name="Port356" binding="tns:Binding356">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage357">
+    <wsdl:part name="Response" element="tns:ResponseElement357"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage357">
+    <wsdl:part name="Request" element="tns:RequestElement357"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType357">
+    <wsdl:operation name="Operation357">
+      <wsdl:input message="tns:RequestMessage357" name="Input357"/>
+      <wsdl:output message="tns:ResponseMessage357" name="Output357"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding357" type="tns:PortType357">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation357">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation357"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service357">
+    <wsdl:port name="Port357" binding="tns:Binding357">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage358">
+    <wsdl:part name="Response" element="tns:ResponseElement358"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage358">
+    <wsdl:part name="Request" element="tns:RequestElement358"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType358">
+    <wsdl:operation name="Operation358">
+      <wsdl:input message="tns:RequestMessage358" name="Input358"/>
+      <wsdl:output message="tns:ResponseMessage358" name="Output358"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding358" type="tns:PortType358">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation358">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation358"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service358">
+    <wsdl:port name="Port358" binding="tns:Binding358">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage359">
+    <wsdl:part name="Response" element="tns:ResponseElement359"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage359">
+    <wsdl:part name="Request" element="tns:RequestElement359"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType359">
+    <wsdl:operation name="Operation359">
+      <wsdl:input message="tns:RequestMessage359" name="Input359"/>
+      <wsdl:output message="tns:ResponseMessage359" name="Output359"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding359" type="tns:PortType359">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation359">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation359"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service359">
+    <wsdl:port name="Port359" binding="tns:Binding359">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage360">
+    <wsdl:part name="Response" element="tns:ResponseElement360"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage360">
+    <wsdl:part name="Request" element="tns:RequestElement360"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType360">
+    <wsdl:operation name="Operation360">
+      <wsdl:input message="tns:RequestMessage360" name="Input360"/>
+      <wsdl:output message="tns:ResponseMessage360" name="Output360"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding360" type="tns:PortType360">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation360">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation360"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service360">
+    <wsdl:port name="Port360" binding="tns:Binding360">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage361">
+    <wsdl:part name="Response" element="tns:ResponseElement361"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage361">
+    <wsdl:part name="Request" element="tns:RequestElement361"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType361">
+    <wsdl:operation name="Operation361">
+      <wsdl:input message="tns:RequestMessage361" name="Input361"/>
+      <wsdl:output message="tns:ResponseMessage361" name="Output361"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding361" type="tns:PortType361">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation361">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation361"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service361">
+    <wsdl:port name="Port361" binding="tns:Binding361">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage362">
+    <wsdl:part name="Response" element="tns:ResponseElement362"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage362">
+    <wsdl:part name="Request" element="tns:RequestElement362"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType362">
+    <wsdl:operation name="Operation362">
+      <wsdl:input message="tns:RequestMessage362" name="Input362"/>
+      <wsdl:output message="tns:ResponseMessage362" name="Output362"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding362" type="tns:PortType362">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation362">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation362"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service362">
+    <wsdl:port name="Port362" binding="tns:Binding362">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage363">
+    <wsdl:part name="Response" element="tns:ResponseElement363"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage363">
+    <wsdl:part name="Request" element="tns:RequestElement363"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType363">
+    <wsdl:operation name="Operation363">
+      <wsdl:input message="tns:RequestMessage363" name="Input363"/>
+      <wsdl:output message="tns:ResponseMessage363" name="Output363"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding363" type="tns:PortType363">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation363">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation363"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service363">
+    <wsdl:port name="Port363" binding="tns:Binding363">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage364">
+    <wsdl:part name="Response" element="tns:ResponseElement364"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage364">
+    <wsdl:part name="Request" element="tns:RequestElement364"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType364">
+    <wsdl:operation name="Operation364">
+      <wsdl:input message="tns:RequestMessage364" name="Input364"/>
+      <wsdl:output message="tns:ResponseMessage364" name="Output364"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding364" type="tns:PortType364">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation364">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation364"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service364">
+    <wsdl:port name="Port364" binding="tns:Binding364">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage365">
+    <wsdl:part name="Response" element="tns:ResponseElement365"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage365">
+    <wsdl:part name="Request" element="tns:RequestElement365"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType365">
+    <wsdl:operation name="Operation365">
+      <wsdl:input message="tns:RequestMessage365" name="Input365"/>
+      <wsdl:output message="tns:ResponseMessage365" name="Output365"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding365" type="tns:PortType365">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation365">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation365"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service365">
+    <wsdl:port name="Port365" binding="tns:Binding365">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage366">
+    <wsdl:part name="Response" element="tns:ResponseElement366"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage366">
+    <wsdl:part name="Request" element="tns:RequestElement366"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType366">
+    <wsdl:operation name="Operation366">
+      <wsdl:input message="tns:RequestMessage366" name="Input366"/>
+      <wsdl:output message="tns:ResponseMessage366" name="Output366"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding366" type="tns:PortType366">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation366">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation366"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service366">
+    <wsdl:port name="Port366" binding="tns:Binding366">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage367">
+    <wsdl:part name="Response" element="tns:ResponseElement367"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage367">
+    <wsdl:part name="Request" element="tns:RequestElement367"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType367">
+    <wsdl:operation name="Operation367">
+      <wsdl:input message="tns:RequestMessage367" name="Input367"/>
+      <wsdl:output message="tns:ResponseMessage367" name="Output367"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding367" type="tns:PortType367">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation367">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation367"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service367">
+    <wsdl:port name="Port367" binding="tns:Binding367">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage368">
+    <wsdl:part name="Response" element="tns:ResponseElement368"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage368">
+    <wsdl:part name="Request" element="tns:RequestElement368"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType368">
+    <wsdl:operation name="Operation368">
+      <wsdl:input message="tns:RequestMessage368" name="Input368"/>
+      <wsdl:output message="tns:ResponseMessage368" name="Output368"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding368" type="tns:PortType368">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation368">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation368"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service368">
+    <wsdl:port name="Port368" binding="tns:Binding368">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage369">
+    <wsdl:part name="Response" element="tns:ResponseElement369"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage369">
+    <wsdl:part name="Request" element="tns:RequestElement369"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType369">
+    <wsdl:operation name="Operation369">
+      <wsdl:input message="tns:RequestMessage369" name="Input369"/>
+      <wsdl:output message="tns:ResponseMessage369" name="Output369"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding369" type="tns:PortType369">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation369">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation369"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service369">
+    <wsdl:port name="Port369" binding="tns:Binding369">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage370">
+    <wsdl:part name="Response" element="tns:ResponseElement370"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage370">
+    <wsdl:part name="Request" element="tns:RequestElement370"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType370">
+    <wsdl:operation name="Operation370">
+      <wsdl:input message="tns:RequestMessage370" name="Input370"/>
+      <wsdl:output message="tns:ResponseMessage370" name="Output370"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding370" type="tns:PortType370">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation370">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation370"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service370">
+    <wsdl:port name="Port370" binding="tns:Binding370">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage371">
+    <wsdl:part name="Response" element="tns:ResponseElement371"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage371">
+    <wsdl:part name="Request" element="tns:RequestElement371"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType371">
+    <wsdl:operation name="Operation371">
+      <wsdl:input message="tns:RequestMessage371" name="Input371"/>
+      <wsdl:output message="tns:ResponseMessage371" name="Output371"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding371" type="tns:PortType371">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation371">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation371"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service371">
+    <wsdl:port name="Port371" binding="tns:Binding371">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage372">
+    <wsdl:part name="Response" element="tns:ResponseElement372"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage372">
+    <wsdl:part name="Request" element="tns:RequestElement372"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType372">
+    <wsdl:operation name="Operation372">
+      <wsdl:input message="tns:RequestMessage372" name="Input372"/>
+      <wsdl:output message="tns:ResponseMessage372" name="Output372"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding372" type="tns:PortType372">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation372">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation372"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service372">
+    <wsdl:port name="Port372" binding="tns:Binding372">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage373">
+    <wsdl:part name="Response" element="tns:ResponseElement373"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage373">
+    <wsdl:part name="Request" element="tns:RequestElement373"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType373">
+    <wsdl:operation name="Operation373">
+      <wsdl:input message="tns:RequestMessage373" name="Input373"/>
+      <wsdl:output message="tns:ResponseMessage373" name="Output373"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding373" type="tns:PortType373">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation373">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation373"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service373">
+    <wsdl:port name="Port373" binding="tns:Binding373">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage374">
+    <wsdl:part name="Response" element="tns:ResponseElement374"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage374">
+    <wsdl:part name="Request" element="tns:RequestElement374"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType374">
+    <wsdl:operation name="Operation374">
+      <wsdl:input message="tns:RequestMessage374" name="Input374"/>
+      <wsdl:output message="tns:ResponseMessage374" name="Output374"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding374" type="tns:PortType374">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation374">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation374"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service374">
+    <wsdl:port name="Port374" binding="tns:Binding374">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage375">
+    <wsdl:part name="Response" element="tns:ResponseElement375"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage375">
+    <wsdl:part name="Request" element="tns:RequestElement375"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType375">
+    <wsdl:operation name="Operation375">
+      <wsdl:input message="tns:RequestMessage375" name="Input375"/>
+      <wsdl:output message="tns:ResponseMessage375" name="Output375"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding375" type="tns:PortType375">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation375">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation375"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service375">
+    <wsdl:port name="Port375" binding="tns:Binding375">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage376">
+    <wsdl:part name="Response" element="tns:ResponseElement376"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage376">
+    <wsdl:part name="Request" element="tns:RequestElement376"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType376">
+    <wsdl:operation name="Operation376">
+      <wsdl:input message="tns:RequestMessage376" name="Input376"/>
+      <wsdl:output message="tns:ResponseMessage376" name="Output376"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding376" type="tns:PortType376">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation376">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation376"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service376">
+    <wsdl:port name="Port376" binding="tns:Binding376">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage377">
+    <wsdl:part name="Response" element="tns:ResponseElement377"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage377">
+    <wsdl:part name="Request" element="tns:RequestElement377"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType377">
+    <wsdl:operation name="Operation377">
+      <wsdl:input message="tns:RequestMessage377" name="Input377"/>
+      <wsdl:output message="tns:ResponseMessage377" name="Output377"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding377" type="tns:PortType377">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation377">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation377"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service377">
+    <wsdl:port name="Port377" binding="tns:Binding377">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage378">
+    <wsdl:part name="Response" element="tns:ResponseElement378"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage378">
+    <wsdl:part name="Request" element="tns:RequestElement378"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType378">
+    <wsdl:operation name="Operation378">
+      <wsdl:input message="tns:RequestMessage378" name="Input378"/>
+      <wsdl:output message="tns:ResponseMessage378" name="Output378"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding378" type="tns:PortType378">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation378">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation378"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service378">
+    <wsdl:port name="Port378" binding="tns:Binding378">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage379">
+    <wsdl:part name="Response" element="tns:ResponseElement379"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage379">
+    <wsdl:part name="Request" element="tns:RequestElement379"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType379">
+    <wsdl:operation name="Operation379">
+      <wsdl:input message="tns:RequestMessage379" name="Input379"/>
+      <wsdl:output message="tns:ResponseMessage379" name="Output379"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding379" type="tns:PortType379">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation379">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation379"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service379">
+    <wsdl:port name="Port379" binding="tns:Binding379">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage380">
+    <wsdl:part name="Response" element="tns:ResponseElement380"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage380">
+    <wsdl:part name="Request" element="tns:RequestElement380"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType380">
+    <wsdl:operation name="Operation380">
+      <wsdl:input message="tns:RequestMessage380" name="Input380"/>
+      <wsdl:output message="tns:ResponseMessage380" name="Output380"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding380" type="tns:PortType380">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation380">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation380"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service380">
+    <wsdl:port name="Port380" binding="tns:Binding380">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage381">
+    <wsdl:part name="Response" element="tns:ResponseElement381"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage381">
+    <wsdl:part name="Request" element="tns:RequestElement381"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType381">
+    <wsdl:operation name="Operation381">
+      <wsdl:input message="tns:RequestMessage381" name="Input381"/>
+      <wsdl:output message="tns:ResponseMessage381" name="Output381"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding381" type="tns:PortType381">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation381">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation381"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service381">
+    <wsdl:port name="Port381" binding="tns:Binding381">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage382">
+    <wsdl:part name="Response" element="tns:ResponseElement382"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage382">
+    <wsdl:part name="Request" element="tns:RequestElement382"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType382">
+    <wsdl:operation name="Operation382">
+      <wsdl:input message="tns:RequestMessage382" name="Input382"/>
+      <wsdl:output message="tns:ResponseMessage382" name="Output382"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding382" type="tns:PortType382">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation382">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation382"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service382">
+    <wsdl:port name="Port382" binding="tns:Binding382">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage383">
+    <wsdl:part name="Response" element="tns:ResponseElement383"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage383">
+    <wsdl:part name="Request" element="tns:RequestElement383"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType383">
+    <wsdl:operation name="Operation383">
+      <wsdl:input message="tns:RequestMessage383" name="Input383"/>
+      <wsdl:output message="tns:ResponseMessage383" name="Output383"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding383" type="tns:PortType383">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation383">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation383"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service383">
+    <wsdl:port name="Port383" binding="tns:Binding383">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage384">
+    <wsdl:part name="Response" element="tns:ResponseElement384"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage384">
+    <wsdl:part name="Request" element="tns:RequestElement384"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType384">
+    <wsdl:operation name="Operation384">
+      <wsdl:input message="tns:RequestMessage384" name="Input384"/>
+      <wsdl:output message="tns:ResponseMessage384" name="Output384"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding384" type="tns:PortType384">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation384">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation384"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service384">
+    <wsdl:port name="Port384" binding="tns:Binding384">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage385">
+    <wsdl:part name="Response" element="tns:ResponseElement385"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage385">
+    <wsdl:part name="Request" element="tns:RequestElement385"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType385">
+    <wsdl:operation name="Operation385">
+      <wsdl:input message="tns:RequestMessage385" name="Input385"/>
+      <wsdl:output message="tns:ResponseMessage385" name="Output385"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding385" type="tns:PortType385">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation385">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation385"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service385">
+    <wsdl:port name="Port385" binding="tns:Binding385">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage386">
+    <wsdl:part name="Response" element="tns:ResponseElement386"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage386">
+    <wsdl:part name="Request" element="tns:RequestElement386"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType386">
+    <wsdl:operation name="Operation386">
+      <wsdl:input message="tns:RequestMessage386" name="Input386"/>
+      <wsdl:output message="tns:ResponseMessage386" name="Output386"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding386" type="tns:PortType386">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation386">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation386"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service386">
+    <wsdl:port name="Port386" binding="tns:Binding386">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage387">
+    <wsdl:part name="Response" element="tns:ResponseElement387"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage387">
+    <wsdl:part name="Request" element="tns:RequestElement387"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType387">
+    <wsdl:operation name="Operation387">
+      <wsdl:input message="tns:RequestMessage387" name="Input387"/>
+      <wsdl:output message="tns:ResponseMessage387" name="Output387"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding387" type="tns:PortType387">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation387">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation387"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service387">
+    <wsdl:port name="Port387" binding="tns:Binding387">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage388">
+    <wsdl:part name="Response" element="tns:ResponseElement388"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage388">
+    <wsdl:part name="Request" element="tns:RequestElement388"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType388">
+    <wsdl:operation name="Operation388">
+      <wsdl:input message="tns:RequestMessage388" name="Input388"/>
+      <wsdl:output message="tns:ResponseMessage388" name="Output388"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding388" type="tns:PortType388">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation388">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation388"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service388">
+    <wsdl:port name="Port388" binding="tns:Binding388">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage389">
+    <wsdl:part name="Response" element="tns:ResponseElement389"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage389">
+    <wsdl:part name="Request" element="tns:RequestElement389"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType389">
+    <wsdl:operation name="Operation389">
+      <wsdl:input message="tns:RequestMessage389" name="Input389"/>
+      <wsdl:output message="tns:ResponseMessage389" name="Output389"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding389" type="tns:PortType389">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation389">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation389"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service389">
+    <wsdl:port name="Port389" binding="tns:Binding389">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage390">
+    <wsdl:part name="Response" element="tns:ResponseElement390"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage390">
+    <wsdl:part name="Request" element="tns:RequestElement390"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType390">
+    <wsdl:operation name="Operation390">
+      <wsdl:input message="tns:RequestMessage390" name="Input390"/>
+      <wsdl:output message="tns:ResponseMessage390" name="Output390"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding390" type="tns:PortType390">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation390">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation390"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service390">
+    <wsdl:port name="Port390" binding="tns:Binding390">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage391">
+    <wsdl:part name="Response" element="tns:ResponseElement391"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage391">
+    <wsdl:part name="Request" element="tns:RequestElement391"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType391">
+    <wsdl:operation name="Operation391">
+      <wsdl:input message="tns:RequestMessage391" name="Input391"/>
+      <wsdl:output message="tns:ResponseMessage391" name="Output391"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding391" type="tns:PortType391">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation391">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation391"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service391">
+    <wsdl:port name="Port391" binding="tns:Binding391">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage392">
+    <wsdl:part name="Response" element="tns:ResponseElement392"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage392">
+    <wsdl:part name="Request" element="tns:RequestElement392"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType392">
+    <wsdl:operation name="Operation392">
+      <wsdl:input message="tns:RequestMessage392" name="Input392"/>
+      <wsdl:output message="tns:ResponseMessage392" name="Output392"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding392" type="tns:PortType392">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation392">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation392"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service392">
+    <wsdl:port name="Port392" binding="tns:Binding392">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage393">
+    <wsdl:part name="Response" element="tns:ResponseElement393"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage393">
+    <wsdl:part name="Request" element="tns:RequestElement393"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType393">
+    <wsdl:operation name="Operation393">
+      <wsdl:input message="tns:RequestMessage393" name="Input393"/>
+      <wsdl:output message="tns:ResponseMessage393" name="Output393"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding393" type="tns:PortType393">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation393">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation393"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service393">
+    <wsdl:port name="Port393" binding="tns:Binding393">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage394">
+    <wsdl:part name="Response" element="tns:ResponseElement394"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage394">
+    <wsdl:part name="Request" element="tns:RequestElement394"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType394">
+    <wsdl:operation name="Operation394">
+      <wsdl:input message="tns:RequestMessage394" name="Input394"/>
+      <wsdl:output message="tns:ResponseMessage394" name="Output394"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding394" type="tns:PortType394">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation394">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation394"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service394">
+    <wsdl:port name="Port394" binding="tns:Binding394">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage395">
+    <wsdl:part name="Response" element="tns:ResponseElement395"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage395">
+    <wsdl:part name="Request" element="tns:RequestElement395"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType395">
+    <wsdl:operation name="Operation395">
+      <wsdl:input message="tns:RequestMessage395" name="Input395"/>
+      <wsdl:output message="tns:ResponseMessage395" name="Output395"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding395" type="tns:PortType395">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation395">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation395"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service395">
+    <wsdl:port name="Port395" binding="tns:Binding395">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage396">
+    <wsdl:part name="Response" element="tns:ResponseElement396"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage396">
+    <wsdl:part name="Request" element="tns:RequestElement396"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType396">
+    <wsdl:operation name="Operation396">
+      <wsdl:input message="tns:RequestMessage396" name="Input396"/>
+      <wsdl:output message="tns:ResponseMessage396" name="Output396"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding396" type="tns:PortType396">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation396">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation396"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service396">
+    <wsdl:port name="Port396" binding="tns:Binding396">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage397">
+    <wsdl:part name="Response" element="tns:ResponseElement397"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage397">
+    <wsdl:part name="Request" element="tns:RequestElement397"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType397">
+    <wsdl:operation name="Operation397">
+      <wsdl:input message="tns:RequestMessage397" name="Input397"/>
+      <wsdl:output message="tns:ResponseMessage397" name="Output397"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding397" type="tns:PortType397">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation397">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation397"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service397">
+    <wsdl:port name="Port397" binding="tns:Binding397">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage398">
+    <wsdl:part name="Response" element="tns:ResponseElement398"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage398">
+    <wsdl:part name="Request" element="tns:RequestElement398"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType398">
+    <wsdl:operation name="Operation398">
+      <wsdl:input message="tns:RequestMessage398" name="Input398"/>
+      <wsdl:output message="tns:ResponseMessage398" name="Output398"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding398" type="tns:PortType398">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation398">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation398"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service398">
+    <wsdl:port name="Port398" binding="tns:Binding398">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage399">
+    <wsdl:part name="Response" element="tns:ResponseElement399"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage399">
+    <wsdl:part name="Request" element="tns:RequestElement399"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType399">
+    <wsdl:operation name="Operation399">
+      <wsdl:input message="tns:RequestMessage399" name="Input399"/>
+      <wsdl:output message="tns:ResponseMessage399" name="Output399"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding399" type="tns:PortType399">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation399">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation399"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service399">
+    <wsdl:port name="Port399" binding="tns:Binding399">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage400">
+    <wsdl:part name="Response" element="tns:ResponseElement400"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage400">
+    <wsdl:part name="Request" element="tns:RequestElement400"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType400">
+    <wsdl:operation name="Operation400">
+      <wsdl:input message="tns:RequestMessage400" name="Input400"/>
+      <wsdl:output message="tns:ResponseMessage400" name="Output400"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding400" type="tns:PortType400">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation400">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation400"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service400">
+    <wsdl:port name="Port400" binding="tns:Binding400">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage401">
+    <wsdl:part name="Response" element="tns:ResponseElement401"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage401">
+    <wsdl:part name="Request" element="tns:RequestElement401"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType401">
+    <wsdl:operation name="Operation401">
+      <wsdl:input message="tns:RequestMessage401" name="Input401"/>
+      <wsdl:output message="tns:ResponseMessage401" name="Output401"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding401" type="tns:PortType401">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation401">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation401"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service401">
+    <wsdl:port name="Port401" binding="tns:Binding401">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage402">
+    <wsdl:part name="Response" element="tns:ResponseElement402"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage402">
+    <wsdl:part name="Request" element="tns:RequestElement402"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType402">
+    <wsdl:operation name="Operation402">
+      <wsdl:input message="tns:RequestMessage402" name="Input402"/>
+      <wsdl:output message="tns:ResponseMessage402" name="Output402"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding402" type="tns:PortType402">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation402">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation402"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service402">
+    <wsdl:port name="Port402" binding="tns:Binding402">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage403">
+    <wsdl:part name="Response" element="tns:ResponseElement403"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage403">
+    <wsdl:part name="Request" element="tns:RequestElement403"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType403">
+    <wsdl:operation name="Operation403">
+      <wsdl:input message="tns:RequestMessage403" name="Input403"/>
+      <wsdl:output message="tns:ResponseMessage403" name="Output403"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding403" type="tns:PortType403">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation403">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation403"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service403">
+    <wsdl:port name="Port403" binding="tns:Binding403">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage404">
+    <wsdl:part name="Response" element="tns:ResponseElement404"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage404">
+    <wsdl:part name="Request" element="tns:RequestElement404"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType404">
+    <wsdl:operation name="Operation404">
+      <wsdl:input message="tns:RequestMessage404" name="Input404"/>
+      <wsdl:output message="tns:ResponseMessage404" name="Output404"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding404" type="tns:PortType404">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation404">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation404"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service404">
+    <wsdl:port name="Port404" binding="tns:Binding404">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage405">
+    <wsdl:part name="Response" element="tns:ResponseElement405"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage405">
+    <wsdl:part name="Request" element="tns:RequestElement405"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType405">
+    <wsdl:operation name="Operation405">
+      <wsdl:input message="tns:RequestMessage405" name="Input405"/>
+      <wsdl:output message="tns:ResponseMessage405" name="Output405"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding405" type="tns:PortType405">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation405">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation405"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service405">
+    <wsdl:port name="Port405" binding="tns:Binding405">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage406">
+    <wsdl:part name="Response" element="tns:ResponseElement406"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage406">
+    <wsdl:part name="Request" element="tns:RequestElement406"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType406">
+    <wsdl:operation name="Operation406">
+      <wsdl:input message="tns:RequestMessage406" name="Input406"/>
+      <wsdl:output message="tns:ResponseMessage406" name="Output406"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding406" type="tns:PortType406">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation406">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation406"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service406">
+    <wsdl:port name="Port406" binding="tns:Binding406">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage407">
+    <wsdl:part name="Response" element="tns:ResponseElement407"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage407">
+    <wsdl:part name="Request" element="tns:RequestElement407"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType407">
+    <wsdl:operation name="Operation407">
+      <wsdl:input message="tns:RequestMessage407" name="Input407"/>
+      <wsdl:output message="tns:ResponseMessage407" name="Output407"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding407" type="tns:PortType407">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation407">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation407"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service407">
+    <wsdl:port name="Port407" binding="tns:Binding407">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage408">
+    <wsdl:part name="Response" element="tns:ResponseElement408"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage408">
+    <wsdl:part name="Request" element="tns:RequestElement408"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType408">
+    <wsdl:operation name="Operation408">
+      <wsdl:input message="tns:RequestMessage408" name="Input408"/>
+      <wsdl:output message="tns:ResponseMessage408" name="Output408"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding408" type="tns:PortType408">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation408">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation408"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service408">
+    <wsdl:port name="Port408" binding="tns:Binding408">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage409">
+    <wsdl:part name="Response" element="tns:ResponseElement409"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage409">
+    <wsdl:part name="Request" element="tns:RequestElement409"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType409">
+    <wsdl:operation name="Operation409">
+      <wsdl:input message="tns:RequestMessage409" name="Input409"/>
+      <wsdl:output message="tns:ResponseMessage409" name="Output409"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding409" type="tns:PortType409">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation409">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation409"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service409">
+    <wsdl:port name="Port409" binding="tns:Binding409">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage410">
+    <wsdl:part name="Response" element="tns:ResponseElement410"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage410">
+    <wsdl:part name="Request" element="tns:RequestElement410"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType410">
+    <wsdl:operation name="Operation410">
+      <wsdl:input message="tns:RequestMessage410" name="Input410"/>
+      <wsdl:output message="tns:ResponseMessage410" name="Output410"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding410" type="tns:PortType410">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation410">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation410"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service410">
+    <wsdl:port name="Port410" binding="tns:Binding410">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage411">
+    <wsdl:part name="Response" element="tns:ResponseElement411"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage411">
+    <wsdl:part name="Request" element="tns:RequestElement411"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType411">
+    <wsdl:operation name="Operation411">
+      <wsdl:input message="tns:RequestMessage411" name="Input411"/>
+      <wsdl:output message="tns:ResponseMessage411" name="Output411"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding411" type="tns:PortType411">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation411">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation411"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service411">
+    <wsdl:port name="Port411" binding="tns:Binding411">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage412">
+    <wsdl:part name="Response" element="tns:ResponseElement412"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage412">
+    <wsdl:part name="Request" element="tns:RequestElement412"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType412">
+    <wsdl:operation name="Operation412">
+      <wsdl:input message="tns:RequestMessage412" name="Input412"/>
+      <wsdl:output message="tns:ResponseMessage412" name="Output412"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding412" type="tns:PortType412">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation412">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation412"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service412">
+    <wsdl:port name="Port412" binding="tns:Binding412">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage413">
+    <wsdl:part name="Response" element="tns:ResponseElement413"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage413">
+    <wsdl:part name="Request" element="tns:RequestElement413"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType413">
+    <wsdl:operation name="Operation413">
+      <wsdl:input message="tns:RequestMessage413" name="Input413"/>
+      <wsdl:output message="tns:ResponseMessage413" name="Output413"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding413" type="tns:PortType413">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation413">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation413"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service413">
+    <wsdl:port name="Port413" binding="tns:Binding413">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage414">
+    <wsdl:part name="Response" element="tns:ResponseElement414"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage414">
+    <wsdl:part name="Request" element="tns:RequestElement414"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType414">
+    <wsdl:operation name="Operation414">
+      <wsdl:input message="tns:RequestMessage414" name="Input414"/>
+      <wsdl:output message="tns:ResponseMessage414" name="Output414"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding414" type="tns:PortType414">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation414">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation414"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service414">
+    <wsdl:port name="Port414" binding="tns:Binding414">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage415">
+    <wsdl:part name="Response" element="tns:ResponseElement415"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage415">
+    <wsdl:part name="Request" element="tns:RequestElement415"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType415">
+    <wsdl:operation name="Operation415">
+      <wsdl:input message="tns:RequestMessage415" name="Input415"/>
+      <wsdl:output message="tns:ResponseMessage415" name="Output415"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding415" type="tns:PortType415">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation415">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation415"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service415">
+    <wsdl:port name="Port415" binding="tns:Binding415">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage416">
+    <wsdl:part name="Response" element="tns:ResponseElement416"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage416">
+    <wsdl:part name="Request" element="tns:RequestElement416"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType416">
+    <wsdl:operation name="Operation416">
+      <wsdl:input message="tns:RequestMessage416" name="Input416"/>
+      <wsdl:output message="tns:ResponseMessage416" name="Output416"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding416" type="tns:PortType416">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation416">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation416"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service416">
+    <wsdl:port name="Port416" binding="tns:Binding416">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage417">
+    <wsdl:part name="Response" element="tns:ResponseElement417"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage417">
+    <wsdl:part name="Request" element="tns:RequestElement417"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType417">
+    <wsdl:operation name="Operation417">
+      <wsdl:input message="tns:RequestMessage417" name="Input417"/>
+      <wsdl:output message="tns:ResponseMessage417" name="Output417"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding417" type="tns:PortType417">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation417">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation417"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service417">
+    <wsdl:port name="Port417" binding="tns:Binding417">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage418">
+    <wsdl:part name="Response" element="tns:ResponseElement418"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage418">
+    <wsdl:part name="Request" element="tns:RequestElement418"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType418">
+    <wsdl:operation name="Operation418">
+      <wsdl:input message="tns:RequestMessage418" name="Input418"/>
+      <wsdl:output message="tns:ResponseMessage418" name="Output418"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding418" type="tns:PortType418">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation418">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation418"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service418">
+    <wsdl:port name="Port418" binding="tns:Binding418">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage419">
+    <wsdl:part name="Response" element="tns:ResponseElement419"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage419">
+    <wsdl:part name="Request" element="tns:RequestElement419"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType419">
+    <wsdl:operation name="Operation419">
+      <wsdl:input message="tns:RequestMessage419" name="Input419"/>
+      <wsdl:output message="tns:ResponseMessage419" name="Output419"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding419" type="tns:PortType419">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation419">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation419"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service419">
+    <wsdl:port name="Port419" binding="tns:Binding419">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage420">
+    <wsdl:part name="Response" element="tns:ResponseElement420"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage420">
+    <wsdl:part name="Request" element="tns:RequestElement420"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType420">
+    <wsdl:operation name="Operation420">
+      <wsdl:input message="tns:RequestMessage420" name="Input420"/>
+      <wsdl:output message="tns:ResponseMessage420" name="Output420"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding420" type="tns:PortType420">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation420">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation420"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service420">
+    <wsdl:port name="Port420" binding="tns:Binding420">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage421">
+    <wsdl:part name="Response" element="tns:ResponseElement421"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage421">
+    <wsdl:part name="Request" element="tns:RequestElement421"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType421">
+    <wsdl:operation name="Operation421">
+      <wsdl:input message="tns:RequestMessage421" name="Input421"/>
+      <wsdl:output message="tns:ResponseMessage421" name="Output421"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding421" type="tns:PortType421">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation421">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation421"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service421">
+    <wsdl:port name="Port421" binding="tns:Binding421">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage422">
+    <wsdl:part name="Response" element="tns:ResponseElement422"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage422">
+    <wsdl:part name="Request" element="tns:RequestElement422"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType422">
+    <wsdl:operation name="Operation422">
+      <wsdl:input message="tns:RequestMessage422" name="Input422"/>
+      <wsdl:output message="tns:ResponseMessage422" name="Output422"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding422" type="tns:PortType422">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation422">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation422"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service422">
+    <wsdl:port name="Port422" binding="tns:Binding422">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage423">
+    <wsdl:part name="Response" element="tns:ResponseElement423"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage423">
+    <wsdl:part name="Request" element="tns:RequestElement423"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType423">
+    <wsdl:operation name="Operation423">
+      <wsdl:input message="tns:RequestMessage423" name="Input423"/>
+      <wsdl:output message="tns:ResponseMessage423" name="Output423"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding423" type="tns:PortType423">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation423">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation423"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service423">
+    <wsdl:port name="Port423" binding="tns:Binding423">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage424">
+    <wsdl:part name="Response" element="tns:ResponseElement424"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage424">
+    <wsdl:part name="Request" element="tns:RequestElement424"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType424">
+    <wsdl:operation name="Operation424">
+      <wsdl:input message="tns:RequestMessage424" name="Input424"/>
+      <wsdl:output message="tns:ResponseMessage424" name="Output424"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding424" type="tns:PortType424">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation424">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation424"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service424">
+    <wsdl:port name="Port424" binding="tns:Binding424">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage425">
+    <wsdl:part name="Response" element="tns:ResponseElement425"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage425">
+    <wsdl:part name="Request" element="tns:RequestElement425"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType425">
+    <wsdl:operation name="Operation425">
+      <wsdl:input message="tns:RequestMessage425" name="Input425"/>
+      <wsdl:output message="tns:ResponseMessage425" name="Output425"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding425" type="tns:PortType425">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation425">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation425"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service425">
+    <wsdl:port name="Port425" binding="tns:Binding425">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage426">
+    <wsdl:part name="Response" element="tns:ResponseElement426"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage426">
+    <wsdl:part name="Request" element="tns:RequestElement426"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType426">
+    <wsdl:operation name="Operation426">
+      <wsdl:input message="tns:RequestMessage426" name="Input426"/>
+      <wsdl:output message="tns:ResponseMessage426" name="Output426"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding426" type="tns:PortType426">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation426">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation426"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service426">
+    <wsdl:port name="Port426" binding="tns:Binding426">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage427">
+    <wsdl:part name="Response" element="tns:ResponseElement427"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage427">
+    <wsdl:part name="Request" element="tns:RequestElement427"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType427">
+    <wsdl:operation name="Operation427">
+      <wsdl:input message="tns:RequestMessage427" name="Input427"/>
+      <wsdl:output message="tns:ResponseMessage427" name="Output427"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding427" type="tns:PortType427">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation427">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation427"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service427">
+    <wsdl:port name="Port427" binding="tns:Binding427">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage428">
+    <wsdl:part name="Response" element="tns:ResponseElement428"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage428">
+    <wsdl:part name="Request" element="tns:RequestElement428"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType428">
+    <wsdl:operation name="Operation428">
+      <wsdl:input message="tns:RequestMessage428" name="Input428"/>
+      <wsdl:output message="tns:ResponseMessage428" name="Output428"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding428" type="tns:PortType428">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation428">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation428"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service428">
+    <wsdl:port name="Port428" binding="tns:Binding428">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage429">
+    <wsdl:part name="Response" element="tns:ResponseElement429"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage429">
+    <wsdl:part name="Request" element="tns:RequestElement429"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType429">
+    <wsdl:operation name="Operation429">
+      <wsdl:input message="tns:RequestMessage429" name="Input429"/>
+      <wsdl:output message="tns:ResponseMessage429" name="Output429"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding429" type="tns:PortType429">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation429">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation429"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service429">
+    <wsdl:port name="Port429" binding="tns:Binding429">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage430">
+    <wsdl:part name="Response" element="tns:ResponseElement430"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage430">
+    <wsdl:part name="Request" element="tns:RequestElement430"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType430">
+    <wsdl:operation name="Operation430">
+      <wsdl:input message="tns:RequestMessage430" name="Input430"/>
+      <wsdl:output message="tns:ResponseMessage430" name="Output430"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding430" type="tns:PortType430">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation430">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation430"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service430">
+    <wsdl:port name="Port430" binding="tns:Binding430">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage431">
+    <wsdl:part name="Response" element="tns:ResponseElement431"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage431">
+    <wsdl:part name="Request" element="tns:RequestElement431"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType431">
+    <wsdl:operation name="Operation431">
+      <wsdl:input message="tns:RequestMessage431" name="Input431"/>
+      <wsdl:output message="tns:ResponseMessage431" name="Output431"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding431" type="tns:PortType431">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation431">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation431"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service431">
+    <wsdl:port name="Port431" binding="tns:Binding431">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage432">
+    <wsdl:part name="Response" element="tns:ResponseElement432"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage432">
+    <wsdl:part name="Request" element="tns:RequestElement432"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType432">
+    <wsdl:operation name="Operation432">
+      <wsdl:input message="tns:RequestMessage432" name="Input432"/>
+      <wsdl:output message="tns:ResponseMessage432" name="Output432"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding432" type="tns:PortType432">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation432">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation432"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service432">
+    <wsdl:port name="Port432" binding="tns:Binding432">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage433">
+    <wsdl:part name="Response" element="tns:ResponseElement433"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage433">
+    <wsdl:part name="Request" element="tns:RequestElement433"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType433">
+    <wsdl:operation name="Operation433">
+      <wsdl:input message="tns:RequestMessage433" name="Input433"/>
+      <wsdl:output message="tns:ResponseMessage433" name="Output433"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding433" type="tns:PortType433">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation433">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation433"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service433">
+    <wsdl:port name="Port433" binding="tns:Binding433">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage434">
+    <wsdl:part name="Response" element="tns:ResponseElement434"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage434">
+    <wsdl:part name="Request" element="tns:RequestElement434"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType434">
+    <wsdl:operation name="Operation434">
+      <wsdl:input message="tns:RequestMessage434" name="Input434"/>
+      <wsdl:output message="tns:ResponseMessage434" name="Output434"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding434" type="tns:PortType434">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation434">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation434"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service434">
+    <wsdl:port name="Port434" binding="tns:Binding434">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage435">
+    <wsdl:part name="Response" element="tns:ResponseElement435"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage435">
+    <wsdl:part name="Request" element="tns:RequestElement435"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType435">
+    <wsdl:operation name="Operation435">
+      <wsdl:input message="tns:RequestMessage435" name="Input435"/>
+      <wsdl:output message="tns:ResponseMessage435" name="Output435"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding435" type="tns:PortType435">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation435">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation435"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service435">
+    <wsdl:port name="Port435" binding="tns:Binding435">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage436">
+    <wsdl:part name="Response" element="tns:ResponseElement436"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage436">
+    <wsdl:part name="Request" element="tns:RequestElement436"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType436">
+    <wsdl:operation name="Operation436">
+      <wsdl:input message="tns:RequestMessage436" name="Input436"/>
+      <wsdl:output message="tns:ResponseMessage436" name="Output436"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding436" type="tns:PortType436">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation436">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation436"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service436">
+    <wsdl:port name="Port436" binding="tns:Binding436">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage437">
+    <wsdl:part name="Response" element="tns:ResponseElement437"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage437">
+    <wsdl:part name="Request" element="tns:RequestElement437"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType437">
+    <wsdl:operation name="Operation437">
+      <wsdl:input message="tns:RequestMessage437" name="Input437"/>
+      <wsdl:output message="tns:ResponseMessage437" name="Output437"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding437" type="tns:PortType437">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation437">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation437"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service437">
+    <wsdl:port name="Port437" binding="tns:Binding437">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage438">
+    <wsdl:part name="Response" element="tns:ResponseElement438"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage438">
+    <wsdl:part name="Request" element="tns:RequestElement438"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType438">
+    <wsdl:operation name="Operation438">
+      <wsdl:input message="tns:RequestMessage438" name="Input438"/>
+      <wsdl:output message="tns:ResponseMessage438" name="Output438"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding438" type="tns:PortType438">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation438">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation438"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service438">
+    <wsdl:port name="Port438" binding="tns:Binding438">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage439">
+    <wsdl:part name="Response" element="tns:ResponseElement439"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage439">
+    <wsdl:part name="Request" element="tns:RequestElement439"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType439">
+    <wsdl:operation name="Operation439">
+      <wsdl:input message="tns:RequestMessage439" name="Input439"/>
+      <wsdl:output message="tns:ResponseMessage439" name="Output439"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding439" type="tns:PortType439">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation439">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation439"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service439">
+    <wsdl:port name="Port439" binding="tns:Binding439">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage440">
+    <wsdl:part name="Response" element="tns:ResponseElement440"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage440">
+    <wsdl:part name="Request" element="tns:RequestElement440"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType440">
+    <wsdl:operation name="Operation440">
+      <wsdl:input message="tns:RequestMessage440" name="Input440"/>
+      <wsdl:output message="tns:ResponseMessage440" name="Output440"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding440" type="tns:PortType440">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation440">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation440"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service440">
+    <wsdl:port name="Port440" binding="tns:Binding440">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage441">
+    <wsdl:part name="Response" element="tns:ResponseElement441"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage441">
+    <wsdl:part name="Request" element="tns:RequestElement441"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType441">
+    <wsdl:operation name="Operation441">
+      <wsdl:input message="tns:RequestMessage441" name="Input441"/>
+      <wsdl:output message="tns:ResponseMessage441" name="Output441"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding441" type="tns:PortType441">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation441">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation441"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service441">
+    <wsdl:port name="Port441" binding="tns:Binding441">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage442">
+    <wsdl:part name="Response" element="tns:ResponseElement442"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage442">
+    <wsdl:part name="Request" element="tns:RequestElement442"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType442">
+    <wsdl:operation name="Operation442">
+      <wsdl:input message="tns:RequestMessage442" name="Input442"/>
+      <wsdl:output message="tns:ResponseMessage442" name="Output442"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding442" type="tns:PortType442">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation442">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation442"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service442">
+    <wsdl:port name="Port442" binding="tns:Binding442">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage443">
+    <wsdl:part name="Response" element="tns:ResponseElement443"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage443">
+    <wsdl:part name="Request" element="tns:RequestElement443"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType443">
+    <wsdl:operation name="Operation443">
+      <wsdl:input message="tns:RequestMessage443" name="Input443"/>
+      <wsdl:output message="tns:ResponseMessage443" name="Output443"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding443" type="tns:PortType443">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation443">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation443"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service443">
+    <wsdl:port name="Port443" binding="tns:Binding443">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage444">
+    <wsdl:part name="Response" element="tns:ResponseElement444"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage444">
+    <wsdl:part name="Request" element="tns:RequestElement444"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType444">
+    <wsdl:operation name="Operation444">
+      <wsdl:input message="tns:RequestMessage444" name="Input444"/>
+      <wsdl:output message="tns:ResponseMessage444" name="Output444"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding444" type="tns:PortType444">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation444">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation444"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service444">
+    <wsdl:port name="Port444" binding="tns:Binding444">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage445">
+    <wsdl:part name="Response" element="tns:ResponseElement445"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage445">
+    <wsdl:part name="Request" element="tns:RequestElement445"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType445">
+    <wsdl:operation name="Operation445">
+      <wsdl:input message="tns:RequestMessage445" name="Input445"/>
+      <wsdl:output message="tns:ResponseMessage445" name="Output445"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding445" type="tns:PortType445">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation445">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation445"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service445">
+    <wsdl:port name="Port445" binding="tns:Binding445">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage446">
+    <wsdl:part name="Response" element="tns:ResponseElement446"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage446">
+    <wsdl:part name="Request" element="tns:RequestElement446"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType446">
+    <wsdl:operation name="Operation446">
+      <wsdl:input message="tns:RequestMessage446" name="Input446"/>
+      <wsdl:output message="tns:ResponseMessage446" name="Output446"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding446" type="tns:PortType446">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation446">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation446"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service446">
+    <wsdl:port name="Port446" binding="tns:Binding446">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage447">
+    <wsdl:part name="Response" element="tns:ResponseElement447"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage447">
+    <wsdl:part name="Request" element="tns:RequestElement447"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType447">
+    <wsdl:operation name="Operation447">
+      <wsdl:input message="tns:RequestMessage447" name="Input447"/>
+      <wsdl:output message="tns:ResponseMessage447" name="Output447"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding447" type="tns:PortType447">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation447">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation447"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service447">
+    <wsdl:port name="Port447" binding="tns:Binding447">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage448">
+    <wsdl:part name="Response" element="tns:ResponseElement448"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage448">
+    <wsdl:part name="Request" element="tns:RequestElement448"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType448">
+    <wsdl:operation name="Operation448">
+      <wsdl:input message="tns:RequestMessage448" name="Input448"/>
+      <wsdl:output message="tns:ResponseMessage448" name="Output448"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding448" type="tns:PortType448">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation448">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation448"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service448">
+    <wsdl:port name="Port448" binding="tns:Binding448">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage449">
+    <wsdl:part name="Response" element="tns:ResponseElement449"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage449">
+    <wsdl:part name="Request" element="tns:RequestElement449"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType449">
+    <wsdl:operation name="Operation449">
+      <wsdl:input message="tns:RequestMessage449" name="Input449"/>
+      <wsdl:output message="tns:ResponseMessage449" name="Output449"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding449" type="tns:PortType449">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation449">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation449"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service449">
+    <wsdl:port name="Port449" binding="tns:Binding449">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage450">
+    <wsdl:part name="Response" element="tns:ResponseElement450"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage450">
+    <wsdl:part name="Request" element="tns:RequestElement450"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType450">
+    <wsdl:operation name="Operation450">
+      <wsdl:input message="tns:RequestMessage450" name="Input450"/>
+      <wsdl:output message="tns:ResponseMessage450" name="Output450"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding450" type="tns:PortType450">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation450">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation450"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service450">
+    <wsdl:port name="Port450" binding="tns:Binding450">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage451">
+    <wsdl:part name="Response" element="tns:ResponseElement451"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage451">
+    <wsdl:part name="Request" element="tns:RequestElement451"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType451">
+    <wsdl:operation name="Operation451">
+      <wsdl:input message="tns:RequestMessage451" name="Input451"/>
+      <wsdl:output message="tns:ResponseMessage451" name="Output451"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding451" type="tns:PortType451">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation451">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation451"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service451">
+    <wsdl:port name="Port451" binding="tns:Binding451">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage452">
+    <wsdl:part name="Response" element="tns:ResponseElement452"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage452">
+    <wsdl:part name="Request" element="tns:RequestElement452"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType452">
+    <wsdl:operation name="Operation452">
+      <wsdl:input message="tns:RequestMessage452" name="Input452"/>
+      <wsdl:output message="tns:ResponseMessage452" name="Output452"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding452" type="tns:PortType452">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation452">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation452"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service452">
+    <wsdl:port name="Port452" binding="tns:Binding452">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage453">
+    <wsdl:part name="Response" element="tns:ResponseElement453"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage453">
+    <wsdl:part name="Request" element="tns:RequestElement453"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType453">
+    <wsdl:operation name="Operation453">
+      <wsdl:input message="tns:RequestMessage453" name="Input453"/>
+      <wsdl:output message="tns:ResponseMessage453" name="Output453"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding453" type="tns:PortType453">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation453">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation453"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service453">
+    <wsdl:port name="Port453" binding="tns:Binding453">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage454">
+    <wsdl:part name="Response" element="tns:ResponseElement454"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage454">
+    <wsdl:part name="Request" element="tns:RequestElement454"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType454">
+    <wsdl:operation name="Operation454">
+      <wsdl:input message="tns:RequestMessage454" name="Input454"/>
+      <wsdl:output message="tns:ResponseMessage454" name="Output454"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding454" type="tns:PortType454">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation454">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation454"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service454">
+    <wsdl:port name="Port454" binding="tns:Binding454">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage455">
+    <wsdl:part name="Response" element="tns:ResponseElement455"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage455">
+    <wsdl:part name="Request" element="tns:RequestElement455"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType455">
+    <wsdl:operation name="Operation455">
+      <wsdl:input message="tns:RequestMessage455" name="Input455"/>
+      <wsdl:output message="tns:ResponseMessage455" name="Output455"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding455" type="tns:PortType455">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation455">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation455"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service455">
+    <wsdl:port name="Port455" binding="tns:Binding455">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage456">
+    <wsdl:part name="Response" element="tns:ResponseElement456"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage456">
+    <wsdl:part name="Request" element="tns:RequestElement456"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType456">
+    <wsdl:operation name="Operation456">
+      <wsdl:input message="tns:RequestMessage456" name="Input456"/>
+      <wsdl:output message="tns:ResponseMessage456" name="Output456"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding456" type="tns:PortType456">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation456">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation456"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service456">
+    <wsdl:port name="Port456" binding="tns:Binding456">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage457">
+    <wsdl:part name="Response" element="tns:ResponseElement457"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage457">
+    <wsdl:part name="Request" element="tns:RequestElement457"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType457">
+    <wsdl:operation name="Operation457">
+      <wsdl:input message="tns:RequestMessage457" name="Input457"/>
+      <wsdl:output message="tns:ResponseMessage457" name="Output457"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding457" type="tns:PortType457">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation457">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation457"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service457">
+    <wsdl:port name="Port457" binding="tns:Binding457">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage458">
+    <wsdl:part name="Response" element="tns:ResponseElement458"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage458">
+    <wsdl:part name="Request" element="tns:RequestElement458"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType458">
+    <wsdl:operation name="Operation458">
+      <wsdl:input message="tns:RequestMessage458" name="Input458"/>
+      <wsdl:output message="tns:ResponseMessage458" name="Output458"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding458" type="tns:PortType458">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation458">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation458"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service458">
+    <wsdl:port name="Port458" binding="tns:Binding458">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage459">
+    <wsdl:part name="Response" element="tns:ResponseElement459"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage459">
+    <wsdl:part name="Request" element="tns:RequestElement459"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType459">
+    <wsdl:operation name="Operation459">
+      <wsdl:input message="tns:RequestMessage459" name="Input459"/>
+      <wsdl:output message="tns:ResponseMessage459" name="Output459"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding459" type="tns:PortType459">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation459">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation459"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service459">
+    <wsdl:port name="Port459" binding="tns:Binding459">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage460">
+    <wsdl:part name="Response" element="tns:ResponseElement460"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage460">
+    <wsdl:part name="Request" element="tns:RequestElement460"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType460">
+    <wsdl:operation name="Operation460">
+      <wsdl:input message="tns:RequestMessage460" name="Input460"/>
+      <wsdl:output message="tns:ResponseMessage460" name="Output460"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding460" type="tns:PortType460">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation460">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation460"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service460">
+    <wsdl:port name="Port460" binding="tns:Binding460">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage461">
+    <wsdl:part name="Response" element="tns:ResponseElement461"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage461">
+    <wsdl:part name="Request" element="tns:RequestElement461"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType461">
+    <wsdl:operation name="Operation461">
+      <wsdl:input message="tns:RequestMessage461" name="Input461"/>
+      <wsdl:output message="tns:ResponseMessage461" name="Output461"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding461" type="tns:PortType461">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation461">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation461"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service461">
+    <wsdl:port name="Port461" binding="tns:Binding461">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage462">
+    <wsdl:part name="Response" element="tns:ResponseElement462"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage462">
+    <wsdl:part name="Request" element="tns:RequestElement462"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType462">
+    <wsdl:operation name="Operation462">
+      <wsdl:input message="tns:RequestMessage462" name="Input462"/>
+      <wsdl:output message="tns:ResponseMessage462" name="Output462"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding462" type="tns:PortType462">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation462">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation462"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service462">
+    <wsdl:port name="Port462" binding="tns:Binding462">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage463">
+    <wsdl:part name="Response" element="tns:ResponseElement463"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage463">
+    <wsdl:part name="Request" element="tns:RequestElement463"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType463">
+    <wsdl:operation name="Operation463">
+      <wsdl:input message="tns:RequestMessage463" name="Input463"/>
+      <wsdl:output message="tns:ResponseMessage463" name="Output463"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding463" type="tns:PortType463">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation463">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation463"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service463">
+    <wsdl:port name="Port463" binding="tns:Binding463">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage464">
+    <wsdl:part name="Response" element="tns:ResponseElement464"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage464">
+    <wsdl:part name="Request" element="tns:RequestElement464"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType464">
+    <wsdl:operation name="Operation464">
+      <wsdl:input message="tns:RequestMessage464" name="Input464"/>
+      <wsdl:output message="tns:ResponseMessage464" name="Output464"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding464" type="tns:PortType464">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation464">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation464"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service464">
+    <wsdl:port name="Port464" binding="tns:Binding464">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage465">
+    <wsdl:part name="Response" element="tns:ResponseElement465"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage465">
+    <wsdl:part name="Request" element="tns:RequestElement465"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType465">
+    <wsdl:operation name="Operation465">
+      <wsdl:input message="tns:RequestMessage465" name="Input465"/>
+      <wsdl:output message="tns:ResponseMessage465" name="Output465"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding465" type="tns:PortType465">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation465">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation465"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service465">
+    <wsdl:port name="Port465" binding="tns:Binding465">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage466">
+    <wsdl:part name="Response" element="tns:ResponseElement466"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage466">
+    <wsdl:part name="Request" element="tns:RequestElement466"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType466">
+    <wsdl:operation name="Operation466">
+      <wsdl:input message="tns:RequestMessage466" name="Input466"/>
+      <wsdl:output message="tns:ResponseMessage466" name="Output466"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding466" type="tns:PortType466">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation466">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation466"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service466">
+    <wsdl:port name="Port466" binding="tns:Binding466">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage467">
+    <wsdl:part name="Response" element="tns:ResponseElement467"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage467">
+    <wsdl:part name="Request" element="tns:RequestElement467"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType467">
+    <wsdl:operation name="Operation467">
+      <wsdl:input message="tns:RequestMessage467" name="Input467"/>
+      <wsdl:output message="tns:ResponseMessage467" name="Output467"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding467" type="tns:PortType467">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation467">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation467"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service467">
+    <wsdl:port name="Port467" binding="tns:Binding467">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage468">
+    <wsdl:part name="Response" element="tns:ResponseElement468"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage468">
+    <wsdl:part name="Request" element="tns:RequestElement468"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType468">
+    <wsdl:operation name="Operation468">
+      <wsdl:input message="tns:RequestMessage468" name="Input468"/>
+      <wsdl:output message="tns:ResponseMessage468" name="Output468"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding468" type="tns:PortType468">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation468">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation468"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service468">
+    <wsdl:port name="Port468" binding="tns:Binding468">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage469">
+    <wsdl:part name="Response" element="tns:ResponseElement469"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage469">
+    <wsdl:part name="Request" element="tns:RequestElement469"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType469">
+    <wsdl:operation name="Operation469">
+      <wsdl:input message="tns:RequestMessage469" name="Input469"/>
+      <wsdl:output message="tns:ResponseMessage469" name="Output469"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding469" type="tns:PortType469">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation469">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation469"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service469">
+    <wsdl:port name="Port469" binding="tns:Binding469">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage470">
+    <wsdl:part name="Response" element="tns:ResponseElement470"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage470">
+    <wsdl:part name="Request" element="tns:RequestElement470"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType470">
+    <wsdl:operation name="Operation470">
+      <wsdl:input message="tns:RequestMessage470" name="Input470"/>
+      <wsdl:output message="tns:ResponseMessage470" name="Output470"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding470" type="tns:PortType470">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation470">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation470"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service470">
+    <wsdl:port name="Port470" binding="tns:Binding470">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage471">
+    <wsdl:part name="Response" element="tns:ResponseElement471"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage471">
+    <wsdl:part name="Request" element="tns:RequestElement471"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType471">
+    <wsdl:operation name="Operation471">
+      <wsdl:input message="tns:RequestMessage471" name="Input471"/>
+      <wsdl:output message="tns:ResponseMessage471" name="Output471"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding471" type="tns:PortType471">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation471">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation471"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service471">
+    <wsdl:port name="Port471" binding="tns:Binding471">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage472">
+    <wsdl:part name="Response" element="tns:ResponseElement472"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage472">
+    <wsdl:part name="Request" element="tns:RequestElement472"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType472">
+    <wsdl:operation name="Operation472">
+      <wsdl:input message="tns:RequestMessage472" name="Input472"/>
+      <wsdl:output message="tns:ResponseMessage472" name="Output472"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding472" type="tns:PortType472">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation472">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation472"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service472">
+    <wsdl:port name="Port472" binding="tns:Binding472">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage473">
+    <wsdl:part name="Response" element="tns:ResponseElement473"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage473">
+    <wsdl:part name="Request" element="tns:RequestElement473"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType473">
+    <wsdl:operation name="Operation473">
+      <wsdl:input message="tns:RequestMessage473" name="Input473"/>
+      <wsdl:output message="tns:ResponseMessage473" name="Output473"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding473" type="tns:PortType473">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation473">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation473"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service473">
+    <wsdl:port name="Port473" binding="tns:Binding473">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage474">
+    <wsdl:part name="Response" element="tns:ResponseElement474"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage474">
+    <wsdl:part name="Request" element="tns:RequestElement474"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType474">
+    <wsdl:operation name="Operation474">
+      <wsdl:input message="tns:RequestMessage474" name="Input474"/>
+      <wsdl:output message="tns:ResponseMessage474" name="Output474"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding474" type="tns:PortType474">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation474">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation474"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service474">
+    <wsdl:port name="Port474" binding="tns:Binding474">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage475">
+    <wsdl:part name="Response" element="tns:ResponseElement475"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage475">
+    <wsdl:part name="Request" element="tns:RequestElement475"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType475">
+    <wsdl:operation name="Operation475">
+      <wsdl:input message="tns:RequestMessage475" name="Input475"/>
+      <wsdl:output message="tns:ResponseMessage475" name="Output475"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding475" type="tns:PortType475">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation475">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation475"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service475">
+    <wsdl:port name="Port475" binding="tns:Binding475">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage476">
+    <wsdl:part name="Response" element="tns:ResponseElement476"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage476">
+    <wsdl:part name="Request" element="tns:RequestElement476"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType476">
+    <wsdl:operation name="Operation476">
+      <wsdl:input message="tns:RequestMessage476" name="Input476"/>
+      <wsdl:output message="tns:ResponseMessage476" name="Output476"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding476" type="tns:PortType476">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation476">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation476"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service476">
+    <wsdl:port name="Port476" binding="tns:Binding476">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage477">
+    <wsdl:part name="Response" element="tns:ResponseElement477"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage477">
+    <wsdl:part name="Request" element="tns:RequestElement477"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType477">
+    <wsdl:operation name="Operation477">
+      <wsdl:input message="tns:RequestMessage477" name="Input477"/>
+      <wsdl:output message="tns:ResponseMessage477" name="Output477"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding477" type="tns:PortType477">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation477">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation477"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service477">
+    <wsdl:port name="Port477" binding="tns:Binding477">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage478">
+    <wsdl:part name="Response" element="tns:ResponseElement478"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage478">
+    <wsdl:part name="Request" element="tns:RequestElement478"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType478">
+    <wsdl:operation name="Operation478">
+      <wsdl:input message="tns:RequestMessage478" name="Input478"/>
+      <wsdl:output message="tns:ResponseMessage478" name="Output478"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding478" type="tns:PortType478">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation478">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation478"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service478">
+    <wsdl:port name="Port478" binding="tns:Binding478">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage479">
+    <wsdl:part name="Response" element="tns:ResponseElement479"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage479">
+    <wsdl:part name="Request" element="tns:RequestElement479"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType479">
+    <wsdl:operation name="Operation479">
+      <wsdl:input message="tns:RequestMessage479" name="Input479"/>
+      <wsdl:output message="tns:ResponseMessage479" name="Output479"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding479" type="tns:PortType479">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation479">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation479"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service479">
+    <wsdl:port name="Port479" binding="tns:Binding479">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage480">
+    <wsdl:part name="Response" element="tns:ResponseElement480"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage480">
+    <wsdl:part name="Request" element="tns:RequestElement480"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType480">
+    <wsdl:operation name="Operation480">
+      <wsdl:input message="tns:RequestMessage480" name="Input480"/>
+      <wsdl:output message="tns:ResponseMessage480" name="Output480"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding480" type="tns:PortType480">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation480">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation480"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service480">
+    <wsdl:port name="Port480" binding="tns:Binding480">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage481">
+    <wsdl:part name="Response" element="tns:ResponseElement481"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage481">
+    <wsdl:part name="Request" element="tns:RequestElement481"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType481">
+    <wsdl:operation name="Operation481">
+      <wsdl:input message="tns:RequestMessage481" name="Input481"/>
+      <wsdl:output message="tns:ResponseMessage481" name="Output481"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding481" type="tns:PortType481">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation481">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation481"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service481">
+    <wsdl:port name="Port481" binding="tns:Binding481">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage482">
+    <wsdl:part name="Response" element="tns:ResponseElement482"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage482">
+    <wsdl:part name="Request" element="tns:RequestElement482"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType482">
+    <wsdl:operation name="Operation482">
+      <wsdl:input message="tns:RequestMessage482" name="Input482"/>
+      <wsdl:output message="tns:ResponseMessage482" name="Output482"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding482" type="tns:PortType482">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation482">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation482"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service482">
+    <wsdl:port name="Port482" binding="tns:Binding482">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage483">
+    <wsdl:part name="Response" element="tns:ResponseElement483"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage483">
+    <wsdl:part name="Request" element="tns:RequestElement483"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType483">
+    <wsdl:operation name="Operation483">
+      <wsdl:input message="tns:RequestMessage483" name="Input483"/>
+      <wsdl:output message="tns:ResponseMessage483" name="Output483"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding483" type="tns:PortType483">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation483">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation483"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service483">
+    <wsdl:port name="Port483" binding="tns:Binding483">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage484">
+    <wsdl:part name="Response" element="tns:ResponseElement484"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage484">
+    <wsdl:part name="Request" element="tns:RequestElement484"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType484">
+    <wsdl:operation name="Operation484">
+      <wsdl:input message="tns:RequestMessage484" name="Input484"/>
+      <wsdl:output message="tns:ResponseMessage484" name="Output484"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding484" type="tns:PortType484">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation484">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation484"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service484">
+    <wsdl:port name="Port484" binding="tns:Binding484">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage485">
+    <wsdl:part name="Response" element="tns:ResponseElement485"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage485">
+    <wsdl:part name="Request" element="tns:RequestElement485"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType485">
+    <wsdl:operation name="Operation485">
+      <wsdl:input message="tns:RequestMessage485" name="Input485"/>
+      <wsdl:output message="tns:ResponseMessage485" name="Output485"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding485" type="tns:PortType485">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation485">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation485"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service485">
+    <wsdl:port name="Port485" binding="tns:Binding485">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage486">
+    <wsdl:part name="Response" element="tns:ResponseElement486"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage486">
+    <wsdl:part name="Request" element="tns:RequestElement486"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType486">
+    <wsdl:operation name="Operation486">
+      <wsdl:input message="tns:RequestMessage486" name="Input486"/>
+      <wsdl:output message="tns:ResponseMessage486" name="Output486"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding486" type="tns:PortType486">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation486">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation486"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service486">
+    <wsdl:port name="Port486" binding="tns:Binding486">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage487">
+    <wsdl:part name="Response" element="tns:ResponseElement487"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage487">
+    <wsdl:part name="Request" element="tns:RequestElement487"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType487">
+    <wsdl:operation name="Operation487">
+      <wsdl:input message="tns:RequestMessage487" name="Input487"/>
+      <wsdl:output message="tns:ResponseMessage487" name="Output487"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding487" type="tns:PortType487">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation487">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation487"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service487">
+    <wsdl:port name="Port487" binding="tns:Binding487">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage488">
+    <wsdl:part name="Response" element="tns:ResponseElement488"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage488">
+    <wsdl:part name="Request" element="tns:RequestElement488"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType488">
+    <wsdl:operation name="Operation488">
+      <wsdl:input message="tns:RequestMessage488" name="Input488"/>
+      <wsdl:output message="tns:ResponseMessage488" name="Output488"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding488" type="tns:PortType488">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation488">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation488"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service488">
+    <wsdl:port name="Port488" binding="tns:Binding488">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage489">
+    <wsdl:part name="Response" element="tns:ResponseElement489"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage489">
+    <wsdl:part name="Request" element="tns:RequestElement489"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType489">
+    <wsdl:operation name="Operation489">
+      <wsdl:input message="tns:RequestMessage489" name="Input489"/>
+      <wsdl:output message="tns:ResponseMessage489" name="Output489"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding489" type="tns:PortType489">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation489">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation489"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service489">
+    <wsdl:port name="Port489" binding="tns:Binding489">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage490">
+    <wsdl:part name="Response" element="tns:ResponseElement490"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage490">
+    <wsdl:part name="Request" element="tns:RequestElement490"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType490">
+    <wsdl:operation name="Operation490">
+      <wsdl:input message="tns:RequestMessage490" name="Input490"/>
+      <wsdl:output message="tns:ResponseMessage490" name="Output490"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding490" type="tns:PortType490">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation490">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation490"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service490">
+    <wsdl:port name="Port490" binding="tns:Binding490">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage491">
+    <wsdl:part name="Response" element="tns:ResponseElement491"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage491">
+    <wsdl:part name="Request" element="tns:RequestElement491"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType491">
+    <wsdl:operation name="Operation491">
+      <wsdl:input message="tns:RequestMessage491" name="Input491"/>
+      <wsdl:output message="tns:ResponseMessage491" name="Output491"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding491" type="tns:PortType491">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation491">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation491"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service491">
+    <wsdl:port name="Port491" binding="tns:Binding491">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage492">
+    <wsdl:part name="Response" element="tns:ResponseElement492"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage492">
+    <wsdl:part name="Request" element="tns:RequestElement492"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType492">
+    <wsdl:operation name="Operation492">
+      <wsdl:input message="tns:RequestMessage492" name="Input492"/>
+      <wsdl:output message="tns:ResponseMessage492" name="Output492"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding492" type="tns:PortType492">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation492">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation492"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service492">
+    <wsdl:port name="Port492" binding="tns:Binding492">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage493">
+    <wsdl:part name="Response" element="tns:ResponseElement493"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage493">
+    <wsdl:part name="Request" element="tns:RequestElement493"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType493">
+    <wsdl:operation name="Operation493">
+      <wsdl:input message="tns:RequestMessage493" name="Input493"/>
+      <wsdl:output message="tns:ResponseMessage493" name="Output493"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding493" type="tns:PortType493">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation493">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation493"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service493">
+    <wsdl:port name="Port493" binding="tns:Binding493">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage494">
+    <wsdl:part name="Response" element="tns:ResponseElement494"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage494">
+    <wsdl:part name="Request" element="tns:RequestElement494"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType494">
+    <wsdl:operation name="Operation494">
+      <wsdl:input message="tns:RequestMessage494" name="Input494"/>
+      <wsdl:output message="tns:ResponseMessage494" name="Output494"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding494" type="tns:PortType494">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation494">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation494"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service494">
+    <wsdl:port name="Port494" binding="tns:Binding494">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage495">
+    <wsdl:part name="Response" element="tns:ResponseElement495"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage495">
+    <wsdl:part name="Request" element="tns:RequestElement495"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType495">
+    <wsdl:operation name="Operation495">
+      <wsdl:input message="tns:RequestMessage495" name="Input495"/>
+      <wsdl:output message="tns:ResponseMessage495" name="Output495"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding495" type="tns:PortType495">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation495">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation495"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service495">
+    <wsdl:port name="Port495" binding="tns:Binding495">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage496">
+    <wsdl:part name="Response" element="tns:ResponseElement496"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage496">
+    <wsdl:part name="Request" element="tns:RequestElement496"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType496">
+    <wsdl:operation name="Operation496">
+      <wsdl:input message="tns:RequestMessage496" name="Input496"/>
+      <wsdl:output message="tns:ResponseMessage496" name="Output496"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding496" type="tns:PortType496">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation496">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation496"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service496">
+    <wsdl:port name="Port496" binding="tns:Binding496">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage497">
+    <wsdl:part name="Response" element="tns:ResponseElement497"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage497">
+    <wsdl:part name="Request" element="tns:RequestElement497"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType497">
+    <wsdl:operation name="Operation497">
+      <wsdl:input message="tns:RequestMessage497" name="Input497"/>
+      <wsdl:output message="tns:ResponseMessage497" name="Output497"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding497" type="tns:PortType497">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation497">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation497"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service497">
+    <wsdl:port name="Port497" binding="tns:Binding497">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage498">
+    <wsdl:part name="Response" element="tns:ResponseElement498"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage498">
+    <wsdl:part name="Request" element="tns:RequestElement498"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType498">
+    <wsdl:operation name="Operation498">
+      <wsdl:input message="tns:RequestMessage498" name="Input498"/>
+      <wsdl:output message="tns:ResponseMessage498" name="Output498"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding498" type="tns:PortType498">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation498">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation498"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service498">
+    <wsdl:port name="Port498" binding="tns:Binding498">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage499">
+    <wsdl:part name="Response" element="tns:ResponseElement499"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage499">
+    <wsdl:part name="Request" element="tns:RequestElement499"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType499">
+    <wsdl:operation name="Operation499">
+      <wsdl:input message="tns:RequestMessage499" name="Input499"/>
+      <wsdl:output message="tns:ResponseMessage499" name="Output499"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding499" type="tns:PortType499">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation499">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation499"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service499">
+    <wsdl:port name="Port499" binding="tns:Binding499">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage500">
+    <wsdl:part name="Response" element="tns:ResponseElement500"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage500">
+    <wsdl:part name="Request" element="tns:RequestElement500"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType500">
+    <wsdl:operation name="Operation500">
+      <wsdl:input message="tns:RequestMessage500" name="Input500"/>
+      <wsdl:output message="tns:ResponseMessage500" name="Output500"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding500" type="tns:PortType500">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation500">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation500"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service500">
+    <wsdl:port name="Port500" binding="tns:Binding500">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage501">
+    <wsdl:part name="Response" element="tns:ResponseElement501"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage501">
+    <wsdl:part name="Request" element="tns:RequestElement501"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType501">
+    <wsdl:operation name="Operation501">
+      <wsdl:input message="tns:RequestMessage501" name="Input501"/>
+      <wsdl:output message="tns:ResponseMessage501" name="Output501"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding501" type="tns:PortType501">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation501">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation501"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service501">
+    <wsdl:port name="Port501" binding="tns:Binding501">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage502">
+    <wsdl:part name="Response" element="tns:ResponseElement502"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage502">
+    <wsdl:part name="Request" element="tns:RequestElement502"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType502">
+    <wsdl:operation name="Operation502">
+      <wsdl:input message="tns:RequestMessage502" name="Input502"/>
+      <wsdl:output message="tns:ResponseMessage502" name="Output502"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding502" type="tns:PortType502">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation502">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation502"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service502">
+    <wsdl:port name="Port502" binding="tns:Binding502">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage503">
+    <wsdl:part name="Response" element="tns:ResponseElement503"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage503">
+    <wsdl:part name="Request" element="tns:RequestElement503"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType503">
+    <wsdl:operation name="Operation503">
+      <wsdl:input message="tns:RequestMessage503" name="Input503"/>
+      <wsdl:output message="tns:ResponseMessage503" name="Output503"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding503" type="tns:PortType503">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation503">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation503"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service503">
+    <wsdl:port name="Port503" binding="tns:Binding503">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage504">
+    <wsdl:part name="Response" element="tns:ResponseElement504"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage504">
+    <wsdl:part name="Request" element="tns:RequestElement504"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType504">
+    <wsdl:operation name="Operation504">
+      <wsdl:input message="tns:RequestMessage504" name="Input504"/>
+      <wsdl:output message="tns:ResponseMessage504" name="Output504"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding504" type="tns:PortType504">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation504">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation504"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service504">
+    <wsdl:port name="Port504" binding="tns:Binding504">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage505">
+    <wsdl:part name="Response" element="tns:ResponseElement505"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage505">
+    <wsdl:part name="Request" element="tns:RequestElement505"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType505">
+    <wsdl:operation name="Operation505">
+      <wsdl:input message="tns:RequestMessage505" name="Input505"/>
+      <wsdl:output message="tns:ResponseMessage505" name="Output505"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding505" type="tns:PortType505">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation505">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation505"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service505">
+    <wsdl:port name="Port505" binding="tns:Binding505">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage506">
+    <wsdl:part name="Response" element="tns:ResponseElement506"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage506">
+    <wsdl:part name="Request" element="tns:RequestElement506"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType506">
+    <wsdl:operation name="Operation506">
+      <wsdl:input message="tns:RequestMessage506" name="Input506"/>
+      <wsdl:output message="tns:ResponseMessage506" name="Output506"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding506" type="tns:PortType506">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation506">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation506"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service506">
+    <wsdl:port name="Port506" binding="tns:Binding506">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage507">
+    <wsdl:part name="Response" element="tns:ResponseElement507"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage507">
+    <wsdl:part name="Request" element="tns:RequestElement507"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType507">
+    <wsdl:operation name="Operation507">
+      <wsdl:input message="tns:RequestMessage507" name="Input507"/>
+      <wsdl:output message="tns:ResponseMessage507" name="Output507"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding507" type="tns:PortType507">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation507">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation507"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service507">
+    <wsdl:port name="Port507" binding="tns:Binding507">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage508">
+    <wsdl:part name="Response" element="tns:ResponseElement508"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage508">
+    <wsdl:part name="Request" element="tns:RequestElement508"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType508">
+    <wsdl:operation name="Operation508">
+      <wsdl:input message="tns:RequestMessage508" name="Input508"/>
+      <wsdl:output message="tns:ResponseMessage508" name="Output508"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding508" type="tns:PortType508">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation508">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation508"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service508">
+    <wsdl:port name="Port508" binding="tns:Binding508">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage509">
+    <wsdl:part name="Response" element="tns:ResponseElement509"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage509">
+    <wsdl:part name="Request" element="tns:RequestElement509"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType509">
+    <wsdl:operation name="Operation509">
+      <wsdl:input message="tns:RequestMessage509" name="Input509"/>
+      <wsdl:output message="tns:ResponseMessage509" name="Output509"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding509" type="tns:PortType509">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation509">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation509"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service509">
+    <wsdl:port name="Port509" binding="tns:Binding509">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage510">
+    <wsdl:part name="Response" element="tns:ResponseElement510"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage510">
+    <wsdl:part name="Request" element="tns:RequestElement510"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType510">
+    <wsdl:operation name="Operation510">
+      <wsdl:input message="tns:RequestMessage510" name="Input510"/>
+      <wsdl:output message="tns:ResponseMessage510" name="Output510"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding510" type="tns:PortType510">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation510">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation510"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service510">
+    <wsdl:port name="Port510" binding="tns:Binding510">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage511">
+    <wsdl:part name="Response" element="tns:ResponseElement511"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage511">
+    <wsdl:part name="Request" element="tns:RequestElement511"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType511">
+    <wsdl:operation name="Operation511">
+      <wsdl:input message="tns:RequestMessage511" name="Input511"/>
+      <wsdl:output message="tns:ResponseMessage511" name="Output511"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding511" type="tns:PortType511">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation511">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation511"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service511">
+    <wsdl:port name="Port511" binding="tns:Binding511">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage512">
+    <wsdl:part name="Response" element="tns:ResponseElement512"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage512">
+    <wsdl:part name="Request" element="tns:RequestElement512"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType512">
+    <wsdl:operation name="Operation512">
+      <wsdl:input message="tns:RequestMessage512" name="Input512"/>
+      <wsdl:output message="tns:ResponseMessage512" name="Output512"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding512" type="tns:PortType512">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation512">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation512"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service512">
+    <wsdl:port name="Port512" binding="tns:Binding512">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage513">
+    <wsdl:part name="Response" element="tns:ResponseElement513"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage513">
+    <wsdl:part name="Request" element="tns:RequestElement513"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType513">
+    <wsdl:operation name="Operation513">
+      <wsdl:input message="tns:RequestMessage513" name="Input513"/>
+      <wsdl:output message="tns:ResponseMessage513" name="Output513"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding513" type="tns:PortType513">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation513">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation513"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service513">
+    <wsdl:port name="Port513" binding="tns:Binding513">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage514">
+    <wsdl:part name="Response" element="tns:ResponseElement514"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage514">
+    <wsdl:part name="Request" element="tns:RequestElement514"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType514">
+    <wsdl:operation name="Operation514">
+      <wsdl:input message="tns:RequestMessage514" name="Input514"/>
+      <wsdl:output message="tns:ResponseMessage514" name="Output514"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding514" type="tns:PortType514">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation514">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation514"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service514">
+    <wsdl:port name="Port514" binding="tns:Binding514">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage515">
+    <wsdl:part name="Response" element="tns:ResponseElement515"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage515">
+    <wsdl:part name="Request" element="tns:RequestElement515"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType515">
+    <wsdl:operation name="Operation515">
+      <wsdl:input message="tns:RequestMessage515" name="Input515"/>
+      <wsdl:output message="tns:ResponseMessage515" name="Output515"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding515" type="tns:PortType515">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation515">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation515"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service515">
+    <wsdl:port name="Port515" binding="tns:Binding515">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage516">
+    <wsdl:part name="Response" element="tns:ResponseElement516"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage516">
+    <wsdl:part name="Request" element="tns:RequestElement516"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType516">
+    <wsdl:operation name="Operation516">
+      <wsdl:input message="tns:RequestMessage516" name="Input516"/>
+      <wsdl:output message="tns:ResponseMessage516" name="Output516"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding516" type="tns:PortType516">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation516">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation516"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service516">
+    <wsdl:port name="Port516" binding="tns:Binding516">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage517">
+    <wsdl:part name="Response" element="tns:ResponseElement517"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage517">
+    <wsdl:part name="Request" element="tns:RequestElement517"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType517">
+    <wsdl:operation name="Operation517">
+      <wsdl:input message="tns:RequestMessage517" name="Input517"/>
+      <wsdl:output message="tns:ResponseMessage517" name="Output517"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding517" type="tns:PortType517">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation517">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation517"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service517">
+    <wsdl:port name="Port517" binding="tns:Binding517">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage518">
+    <wsdl:part name="Response" element="tns:ResponseElement518"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage518">
+    <wsdl:part name="Request" element="tns:RequestElement518"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType518">
+    <wsdl:operation name="Operation518">
+      <wsdl:input message="tns:RequestMessage518" name="Input518"/>
+      <wsdl:output message="tns:ResponseMessage518" name="Output518"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding518" type="tns:PortType518">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation518">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation518"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service518">
+    <wsdl:port name="Port518" binding="tns:Binding518">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage519">
+    <wsdl:part name="Response" element="tns:ResponseElement519"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage519">
+    <wsdl:part name="Request" element="tns:RequestElement519"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType519">
+    <wsdl:operation name="Operation519">
+      <wsdl:input message="tns:RequestMessage519" name="Input519"/>
+      <wsdl:output message="tns:ResponseMessage519" name="Output519"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding519" type="tns:PortType519">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation519">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation519"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service519">
+    <wsdl:port name="Port519" binding="tns:Binding519">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage520">
+    <wsdl:part name="Response" element="tns:ResponseElement520"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage520">
+    <wsdl:part name="Request" element="tns:RequestElement520"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType520">
+    <wsdl:operation name="Operation520">
+      <wsdl:input message="tns:RequestMessage520" name="Input520"/>
+      <wsdl:output message="tns:ResponseMessage520" name="Output520"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding520" type="tns:PortType520">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation520">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation520"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service520">
+    <wsdl:port name="Port520" binding="tns:Binding520">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage521">
+    <wsdl:part name="Response" element="tns:ResponseElement521"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage521">
+    <wsdl:part name="Request" element="tns:RequestElement521"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType521">
+    <wsdl:operation name="Operation521">
+      <wsdl:input message="tns:RequestMessage521" name="Input521"/>
+      <wsdl:output message="tns:ResponseMessage521" name="Output521"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding521" type="tns:PortType521">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation521">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation521"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service521">
+    <wsdl:port name="Port521" binding="tns:Binding521">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage522">
+    <wsdl:part name="Response" element="tns:ResponseElement522"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage522">
+    <wsdl:part name="Request" element="tns:RequestElement522"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType522">
+    <wsdl:operation name="Operation522">
+      <wsdl:input message="tns:RequestMessage522" name="Input522"/>
+      <wsdl:output message="tns:ResponseMessage522" name="Output522"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding522" type="tns:PortType522">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation522">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation522"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service522">
+    <wsdl:port name="Port522" binding="tns:Binding522">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage523">
+    <wsdl:part name="Response" element="tns:ResponseElement523"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage523">
+    <wsdl:part name="Request" element="tns:RequestElement523"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType523">
+    <wsdl:operation name="Operation523">
+      <wsdl:input message="tns:RequestMessage523" name="Input523"/>
+      <wsdl:output message="tns:ResponseMessage523" name="Output523"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding523" type="tns:PortType523">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation523">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation523"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service523">
+    <wsdl:port name="Port523" binding="tns:Binding523">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage524">
+    <wsdl:part name="Response" element="tns:ResponseElement524"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage524">
+    <wsdl:part name="Request" element="tns:RequestElement524"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType524">
+    <wsdl:operation name="Operation524">
+      <wsdl:input message="tns:RequestMessage524" name="Input524"/>
+      <wsdl:output message="tns:ResponseMessage524" name="Output524"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding524" type="tns:PortType524">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation524">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation524"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service524">
+    <wsdl:port name="Port524" binding="tns:Binding524">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage525">
+    <wsdl:part name="Response" element="tns:ResponseElement525"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage525">
+    <wsdl:part name="Request" element="tns:RequestElement525"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType525">
+    <wsdl:operation name="Operation525">
+      <wsdl:input message="tns:RequestMessage525" name="Input525"/>
+      <wsdl:output message="tns:ResponseMessage525" name="Output525"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding525" type="tns:PortType525">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation525">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation525"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service525">
+    <wsdl:port name="Port525" binding="tns:Binding525">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage526">
+    <wsdl:part name="Response" element="tns:ResponseElement526"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage526">
+    <wsdl:part name="Request" element="tns:RequestElement526"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType526">
+    <wsdl:operation name="Operation526">
+      <wsdl:input message="tns:RequestMessage526" name="Input526"/>
+      <wsdl:output message="tns:ResponseMessage526" name="Output526"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding526" type="tns:PortType526">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation526">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation526"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service526">
+    <wsdl:port name="Port526" binding="tns:Binding526">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage527">
+    <wsdl:part name="Response" element="tns:ResponseElement527"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage527">
+    <wsdl:part name="Request" element="tns:RequestElement527"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType527">
+    <wsdl:operation name="Operation527">
+      <wsdl:input message="tns:RequestMessage527" name="Input527"/>
+      <wsdl:output message="tns:ResponseMessage527" name="Output527"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding527" type="tns:PortType527">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation527">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation527"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service527">
+    <wsdl:port name="Port527" binding="tns:Binding527">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage528">
+    <wsdl:part name="Response" element="tns:ResponseElement528"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage528">
+    <wsdl:part name="Request" element="tns:RequestElement528"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType528">
+    <wsdl:operation name="Operation528">
+      <wsdl:input message="tns:RequestMessage528" name="Input528"/>
+      <wsdl:output message="tns:ResponseMessage528" name="Output528"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding528" type="tns:PortType528">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation528">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation528"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service528">
+    <wsdl:port name="Port528" binding="tns:Binding528">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage529">
+    <wsdl:part name="Response" element="tns:ResponseElement529"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage529">
+    <wsdl:part name="Request" element="tns:RequestElement529"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType529">
+    <wsdl:operation name="Operation529">
+      <wsdl:input message="tns:RequestMessage529" name="Input529"/>
+      <wsdl:output message="tns:ResponseMessage529" name="Output529"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding529" type="tns:PortType529">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation529">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation529"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service529">
+    <wsdl:port name="Port529" binding="tns:Binding529">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage530">
+    <wsdl:part name="Response" element="tns:ResponseElement530"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage530">
+    <wsdl:part name="Request" element="tns:RequestElement530"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType530">
+    <wsdl:operation name="Operation530">
+      <wsdl:input message="tns:RequestMessage530" name="Input530"/>
+      <wsdl:output message="tns:ResponseMessage530" name="Output530"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding530" type="tns:PortType530">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation530">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation530"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service530">
+    <wsdl:port name="Port530" binding="tns:Binding530">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage531">
+    <wsdl:part name="Response" element="tns:ResponseElement531"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage531">
+    <wsdl:part name="Request" element="tns:RequestElement531"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType531">
+    <wsdl:operation name="Operation531">
+      <wsdl:input message="tns:RequestMessage531" name="Input531"/>
+      <wsdl:output message="tns:ResponseMessage531" name="Output531"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding531" type="tns:PortType531">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation531">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation531"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service531">
+    <wsdl:port name="Port531" binding="tns:Binding531">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage532">
+    <wsdl:part name="Response" element="tns:ResponseElement532"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage532">
+    <wsdl:part name="Request" element="tns:RequestElement532"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType532">
+    <wsdl:operation name="Operation532">
+      <wsdl:input message="tns:RequestMessage532" name="Input532"/>
+      <wsdl:output message="tns:ResponseMessage532" name="Output532"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding532" type="tns:PortType532">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation532">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation532"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service532">
+    <wsdl:port name="Port532" binding="tns:Binding532">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage533">
+    <wsdl:part name="Response" element="tns:ResponseElement533"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage533">
+    <wsdl:part name="Request" element="tns:RequestElement533"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType533">
+    <wsdl:operation name="Operation533">
+      <wsdl:input message="tns:RequestMessage533" name="Input533"/>
+      <wsdl:output message="tns:ResponseMessage533" name="Output533"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding533" type="tns:PortType533">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation533">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation533"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service533">
+    <wsdl:port name="Port533" binding="tns:Binding533">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage534">
+    <wsdl:part name="Response" element="tns:ResponseElement534"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage534">
+    <wsdl:part name="Request" element="tns:RequestElement534"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType534">
+    <wsdl:operation name="Operation534">
+      <wsdl:input message="tns:RequestMessage534" name="Input534"/>
+      <wsdl:output message="tns:ResponseMessage534" name="Output534"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding534" type="tns:PortType534">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation534">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation534"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service534">
+    <wsdl:port name="Port534" binding="tns:Binding534">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage535">
+    <wsdl:part name="Response" element="tns:ResponseElement535"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage535">
+    <wsdl:part name="Request" element="tns:RequestElement535"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType535">
+    <wsdl:operation name="Operation535">
+      <wsdl:input message="tns:RequestMessage535" name="Input535"/>
+      <wsdl:output message="tns:ResponseMessage535" name="Output535"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding535" type="tns:PortType535">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation535">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation535"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service535">
+    <wsdl:port name="Port535" binding="tns:Binding535">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage536">
+    <wsdl:part name="Response" element="tns:ResponseElement536"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage536">
+    <wsdl:part name="Request" element="tns:RequestElement536"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType536">
+    <wsdl:operation name="Operation536">
+      <wsdl:input message="tns:RequestMessage536" name="Input536"/>
+      <wsdl:output message="tns:ResponseMessage536" name="Output536"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding536" type="tns:PortType536">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation536">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation536"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service536">
+    <wsdl:port name="Port536" binding="tns:Binding536">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage537">
+    <wsdl:part name="Response" element="tns:ResponseElement537"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage537">
+    <wsdl:part name="Request" element="tns:RequestElement537"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType537">
+    <wsdl:operation name="Operation537">
+      <wsdl:input message="tns:RequestMessage537" name="Input537"/>
+      <wsdl:output message="tns:ResponseMessage537" name="Output537"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding537" type="tns:PortType537">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation537">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation537"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service537">
+    <wsdl:port name="Port537" binding="tns:Binding537">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage538">
+    <wsdl:part name="Response" element="tns:ResponseElement538"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage538">
+    <wsdl:part name="Request" element="tns:RequestElement538"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType538">
+    <wsdl:operation name="Operation538">
+      <wsdl:input message="tns:RequestMessage538" name="Input538"/>
+      <wsdl:output message="tns:ResponseMessage538" name="Output538"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding538" type="tns:PortType538">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation538">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation538"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service538">
+    <wsdl:port name="Port538" binding="tns:Binding538">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage539">
+    <wsdl:part name="Response" element="tns:ResponseElement539"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage539">
+    <wsdl:part name="Request" element="tns:RequestElement539"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType539">
+    <wsdl:operation name="Operation539">
+      <wsdl:input message="tns:RequestMessage539" name="Input539"/>
+      <wsdl:output message="tns:ResponseMessage539" name="Output539"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding539" type="tns:PortType539">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation539">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation539"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service539">
+    <wsdl:port name="Port539" binding="tns:Binding539">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage540">
+    <wsdl:part name="Response" element="tns:ResponseElement540"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage540">
+    <wsdl:part name="Request" element="tns:RequestElement540"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType540">
+    <wsdl:operation name="Operation540">
+      <wsdl:input message="tns:RequestMessage540" name="Input540"/>
+      <wsdl:output message="tns:ResponseMessage540" name="Output540"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding540" type="tns:PortType540">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation540">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation540"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service540">
+    <wsdl:port name="Port540" binding="tns:Binding540">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage541">
+    <wsdl:part name="Response" element="tns:ResponseElement541"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage541">
+    <wsdl:part name="Request" element="tns:RequestElement541"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType541">
+    <wsdl:operation name="Operation541">
+      <wsdl:input message="tns:RequestMessage541" name="Input541"/>
+      <wsdl:output message="tns:ResponseMessage541" name="Output541"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding541" type="tns:PortType541">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation541">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation541"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service541">
+    <wsdl:port name="Port541" binding="tns:Binding541">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage542">
+    <wsdl:part name="Response" element="tns:ResponseElement542"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage542">
+    <wsdl:part name="Request" element="tns:RequestElement542"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType542">
+    <wsdl:operation name="Operation542">
+      <wsdl:input message="tns:RequestMessage542" name="Input542"/>
+      <wsdl:output message="tns:ResponseMessage542" name="Output542"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding542" type="tns:PortType542">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation542">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation542"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service542">
+    <wsdl:port name="Port542" binding="tns:Binding542">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage543">
+    <wsdl:part name="Response" element="tns:ResponseElement543"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage543">
+    <wsdl:part name="Request" element="tns:RequestElement543"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType543">
+    <wsdl:operation name="Operation543">
+      <wsdl:input message="tns:RequestMessage543" name="Input543"/>
+      <wsdl:output message="tns:ResponseMessage543" name="Output543"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding543" type="tns:PortType543">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation543">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation543"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service543">
+    <wsdl:port name="Port543" binding="tns:Binding543">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage544">
+    <wsdl:part name="Response" element="tns:ResponseElement544"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage544">
+    <wsdl:part name="Request" element="tns:RequestElement544"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType544">
+    <wsdl:operation name="Operation544">
+      <wsdl:input message="tns:RequestMessage544" name="Input544"/>
+      <wsdl:output message="tns:ResponseMessage544" name="Output544"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding544" type="tns:PortType544">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation544">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation544"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service544">
+    <wsdl:port name="Port544" binding="tns:Binding544">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage545">
+    <wsdl:part name="Response" element="tns:ResponseElement545"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage545">
+    <wsdl:part name="Request" element="tns:RequestElement545"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType545">
+    <wsdl:operation name="Operation545">
+      <wsdl:input message="tns:RequestMessage545" name="Input545"/>
+      <wsdl:output message="tns:ResponseMessage545" name="Output545"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding545" type="tns:PortType545">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation545">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation545"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service545">
+    <wsdl:port name="Port545" binding="tns:Binding545">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage546">
+    <wsdl:part name="Response" element="tns:ResponseElement546"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage546">
+    <wsdl:part name="Request" element="tns:RequestElement546"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType546">
+    <wsdl:operation name="Operation546">
+      <wsdl:input message="tns:RequestMessage546" name="Input546"/>
+      <wsdl:output message="tns:ResponseMessage546" name="Output546"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding546" type="tns:PortType546">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation546">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation546"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service546">
+    <wsdl:port name="Port546" binding="tns:Binding546">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage547">
+    <wsdl:part name="Response" element="tns:ResponseElement547"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage547">
+    <wsdl:part name="Request" element="tns:RequestElement547"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType547">
+    <wsdl:operation name="Operation547">
+      <wsdl:input message="tns:RequestMessage547" name="Input547"/>
+      <wsdl:output message="tns:ResponseMessage547" name="Output547"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding547" type="tns:PortType547">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation547">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation547"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service547">
+    <wsdl:port name="Port547" binding="tns:Binding547">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage548">
+    <wsdl:part name="Response" element="tns:ResponseElement548"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage548">
+    <wsdl:part name="Request" element="tns:RequestElement548"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType548">
+    <wsdl:operation name="Operation548">
+      <wsdl:input message="tns:RequestMessage548" name="Input548"/>
+      <wsdl:output message="tns:ResponseMessage548" name="Output548"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding548" type="tns:PortType548">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation548">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation548"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service548">
+    <wsdl:port name="Port548" binding="tns:Binding548">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage549">
+    <wsdl:part name="Response" element="tns:ResponseElement549"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage549">
+    <wsdl:part name="Request" element="tns:RequestElement549"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType549">
+    <wsdl:operation name="Operation549">
+      <wsdl:input message="tns:RequestMessage549" name="Input549"/>
+      <wsdl:output message="tns:ResponseMessage549" name="Output549"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding549" type="tns:PortType549">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation549">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation549"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service549">
+    <wsdl:port name="Port549" binding="tns:Binding549">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage550">
+    <wsdl:part name="Response" element="tns:ResponseElement550"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage550">
+    <wsdl:part name="Request" element="tns:RequestElement550"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType550">
+    <wsdl:operation name="Operation550">
+      <wsdl:input message="tns:RequestMessage550" name="Input550"/>
+      <wsdl:output message="tns:ResponseMessage550" name="Output550"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding550" type="tns:PortType550">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation550">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation550"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service550">
+    <wsdl:port name="Port550" binding="tns:Binding550">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage551">
+    <wsdl:part name="Response" element="tns:ResponseElement551"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage551">
+    <wsdl:part name="Request" element="tns:RequestElement551"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType551">
+    <wsdl:operation name="Operation551">
+      <wsdl:input message="tns:RequestMessage551" name="Input551"/>
+      <wsdl:output message="tns:ResponseMessage551" name="Output551"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding551" type="tns:PortType551">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation551">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation551"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service551">
+    <wsdl:port name="Port551" binding="tns:Binding551">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage552">
+    <wsdl:part name="Response" element="tns:ResponseElement552"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage552">
+    <wsdl:part name="Request" element="tns:RequestElement552"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType552">
+    <wsdl:operation name="Operation552">
+      <wsdl:input message="tns:RequestMessage552" name="Input552"/>
+      <wsdl:output message="tns:ResponseMessage552" name="Output552"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding552" type="tns:PortType552">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation552">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation552"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service552">
+    <wsdl:port name="Port552" binding="tns:Binding552">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage553">
+    <wsdl:part name="Response" element="tns:ResponseElement553"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage553">
+    <wsdl:part name="Request" element="tns:RequestElement553"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType553">
+    <wsdl:operation name="Operation553">
+      <wsdl:input message="tns:RequestMessage553" name="Input553"/>
+      <wsdl:output message="tns:ResponseMessage553" name="Output553"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding553" type="tns:PortType553">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation553">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation553"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service553">
+    <wsdl:port name="Port553" binding="tns:Binding553">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage554">
+    <wsdl:part name="Response" element="tns:ResponseElement554"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage554">
+    <wsdl:part name="Request" element="tns:RequestElement554"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType554">
+    <wsdl:operation name="Operation554">
+      <wsdl:input message="tns:RequestMessage554" name="Input554"/>
+      <wsdl:output message="tns:ResponseMessage554" name="Output554"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding554" type="tns:PortType554">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation554">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation554"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service554">
+    <wsdl:port name="Port554" binding="tns:Binding554">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage555">
+    <wsdl:part name="Response" element="tns:ResponseElement555"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage555">
+    <wsdl:part name="Request" element="tns:RequestElement555"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType555">
+    <wsdl:operation name="Operation555">
+      <wsdl:input message="tns:RequestMessage555" name="Input555"/>
+      <wsdl:output message="tns:ResponseMessage555" name="Output555"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding555" type="tns:PortType555">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation555">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation555"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service555">
+    <wsdl:port name="Port555" binding="tns:Binding555">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage556">
+    <wsdl:part name="Response" element="tns:ResponseElement556"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage556">
+    <wsdl:part name="Request" element="tns:RequestElement556"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType556">
+    <wsdl:operation name="Operation556">
+      <wsdl:input message="tns:RequestMessage556" name="Input556"/>
+      <wsdl:output message="tns:ResponseMessage556" name="Output556"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding556" type="tns:PortType556">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation556">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation556"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service556">
+    <wsdl:port name="Port556" binding="tns:Binding556">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage557">
+    <wsdl:part name="Response" element="tns:ResponseElement557"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage557">
+    <wsdl:part name="Request" element="tns:RequestElement557"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType557">
+    <wsdl:operation name="Operation557">
+      <wsdl:input message="tns:RequestMessage557" name="Input557"/>
+      <wsdl:output message="tns:ResponseMessage557" name="Output557"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding557" type="tns:PortType557">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation557">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation557"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service557">
+    <wsdl:port name="Port557" binding="tns:Binding557">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage558">
+    <wsdl:part name="Response" element="tns:ResponseElement558"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage558">
+    <wsdl:part name="Request" element="tns:RequestElement558"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType558">
+    <wsdl:operation name="Operation558">
+      <wsdl:input message="tns:RequestMessage558" name="Input558"/>
+      <wsdl:output message="tns:ResponseMessage558" name="Output558"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding558" type="tns:PortType558">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation558">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation558"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service558">
+    <wsdl:port name="Port558" binding="tns:Binding558">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage559">
+    <wsdl:part name="Response" element="tns:ResponseElement559"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage559">
+    <wsdl:part name="Request" element="tns:RequestElement559"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType559">
+    <wsdl:operation name="Operation559">
+      <wsdl:input message="tns:RequestMessage559" name="Input559"/>
+      <wsdl:output message="tns:ResponseMessage559" name="Output559"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding559" type="tns:PortType559">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation559">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation559"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service559">
+    <wsdl:port name="Port559" binding="tns:Binding559">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage560">
+    <wsdl:part name="Response" element="tns:ResponseElement560"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage560">
+    <wsdl:part name="Request" element="tns:RequestElement560"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType560">
+    <wsdl:operation name="Operation560">
+      <wsdl:input message="tns:RequestMessage560" name="Input560"/>
+      <wsdl:output message="tns:ResponseMessage560" name="Output560"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding560" type="tns:PortType560">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation560">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation560"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service560">
+    <wsdl:port name="Port560" binding="tns:Binding560">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage561">
+    <wsdl:part name="Response" element="tns:ResponseElement561"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage561">
+    <wsdl:part name="Request" element="tns:RequestElement561"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType561">
+    <wsdl:operation name="Operation561">
+      <wsdl:input message="tns:RequestMessage561" name="Input561"/>
+      <wsdl:output message="tns:ResponseMessage561" name="Output561"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding561" type="tns:PortType561">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation561">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation561"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service561">
+    <wsdl:port name="Port561" binding="tns:Binding561">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage562">
+    <wsdl:part name="Response" element="tns:ResponseElement562"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage562">
+    <wsdl:part name="Request" element="tns:RequestElement562"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType562">
+    <wsdl:operation name="Operation562">
+      <wsdl:input message="tns:RequestMessage562" name="Input562"/>
+      <wsdl:output message="tns:ResponseMessage562" name="Output562"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding562" type="tns:PortType562">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation562">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation562"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service562">
+    <wsdl:port name="Port562" binding="tns:Binding562">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage563">
+    <wsdl:part name="Response" element="tns:ResponseElement563"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage563">
+    <wsdl:part name="Request" element="tns:RequestElement563"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType563">
+    <wsdl:operation name="Operation563">
+      <wsdl:input message="tns:RequestMessage563" name="Input563"/>
+      <wsdl:output message="tns:ResponseMessage563" name="Output563"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding563" type="tns:PortType563">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation563">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation563"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service563">
+    <wsdl:port name="Port563" binding="tns:Binding563">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage564">
+    <wsdl:part name="Response" element="tns:ResponseElement564"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage564">
+    <wsdl:part name="Request" element="tns:RequestElement564"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType564">
+    <wsdl:operation name="Operation564">
+      <wsdl:input message="tns:RequestMessage564" name="Input564"/>
+      <wsdl:output message="tns:ResponseMessage564" name="Output564"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding564" type="tns:PortType564">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation564">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation564"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service564">
+    <wsdl:port name="Port564" binding="tns:Binding564">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage565">
+    <wsdl:part name="Response" element="tns:ResponseElement565"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage565">
+    <wsdl:part name="Request" element="tns:RequestElement565"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType565">
+    <wsdl:operation name="Operation565">
+      <wsdl:input message="tns:RequestMessage565" name="Input565"/>
+      <wsdl:output message="tns:ResponseMessage565" name="Output565"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding565" type="tns:PortType565">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation565">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation565"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service565">
+    <wsdl:port name="Port565" binding="tns:Binding565">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage566">
+    <wsdl:part name="Response" element="tns:ResponseElement566"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage566">
+    <wsdl:part name="Request" element="tns:RequestElement566"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType566">
+    <wsdl:operation name="Operation566">
+      <wsdl:input message="tns:RequestMessage566" name="Input566"/>
+      <wsdl:output message="tns:ResponseMessage566" name="Output566"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding566" type="tns:PortType566">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation566">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation566"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service566">
+    <wsdl:port name="Port566" binding="tns:Binding566">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage567">
+    <wsdl:part name="Response" element="tns:ResponseElement567"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage567">
+    <wsdl:part name="Request" element="tns:RequestElement567"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType567">
+    <wsdl:operation name="Operation567">
+      <wsdl:input message="tns:RequestMessage567" name="Input567"/>
+      <wsdl:output message="tns:ResponseMessage567" name="Output567"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding567" type="tns:PortType567">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation567">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation567"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service567">
+    <wsdl:port name="Port567" binding="tns:Binding567">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage568">
+    <wsdl:part name="Response" element="tns:ResponseElement568"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage568">
+    <wsdl:part name="Request" element="tns:RequestElement568"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType568">
+    <wsdl:operation name="Operation568">
+      <wsdl:input message="tns:RequestMessage568" name="Input568"/>
+      <wsdl:output message="tns:ResponseMessage568" name="Output568"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding568" type="tns:PortType568">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation568">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation568"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service568">
+    <wsdl:port name="Port568" binding="tns:Binding568">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage569">
+    <wsdl:part name="Response" element="tns:ResponseElement569"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage569">
+    <wsdl:part name="Request" element="tns:RequestElement569"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType569">
+    <wsdl:operation name="Operation569">
+      <wsdl:input message="tns:RequestMessage569" name="Input569"/>
+      <wsdl:output message="tns:ResponseMessage569" name="Output569"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding569" type="tns:PortType569">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation569">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation569"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service569">
+    <wsdl:port name="Port569" binding="tns:Binding569">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage570">
+    <wsdl:part name="Response" element="tns:ResponseElement570"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage570">
+    <wsdl:part name="Request" element="tns:RequestElement570"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType570">
+    <wsdl:operation name="Operation570">
+      <wsdl:input message="tns:RequestMessage570" name="Input570"/>
+      <wsdl:output message="tns:ResponseMessage570" name="Output570"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding570" type="tns:PortType570">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation570">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation570"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service570">
+    <wsdl:port name="Port570" binding="tns:Binding570">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage571">
+    <wsdl:part name="Response" element="tns:ResponseElement571"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage571">
+    <wsdl:part name="Request" element="tns:RequestElement571"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType571">
+    <wsdl:operation name="Operation571">
+      <wsdl:input message="tns:RequestMessage571" name="Input571"/>
+      <wsdl:output message="tns:ResponseMessage571" name="Output571"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding571" type="tns:PortType571">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation571">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation571"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service571">
+    <wsdl:port name="Port571" binding="tns:Binding571">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage572">
+    <wsdl:part name="Response" element="tns:ResponseElement572"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage572">
+    <wsdl:part name="Request" element="tns:RequestElement572"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType572">
+    <wsdl:operation name="Operation572">
+      <wsdl:input message="tns:RequestMessage572" name="Input572"/>
+      <wsdl:output message="tns:ResponseMessage572" name="Output572"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding572" type="tns:PortType572">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation572">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation572"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service572">
+    <wsdl:port name="Port572" binding="tns:Binding572">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage573">
+    <wsdl:part name="Response" element="tns:ResponseElement573"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage573">
+    <wsdl:part name="Request" element="tns:RequestElement573"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType573">
+    <wsdl:operation name="Operation573">
+      <wsdl:input message="tns:RequestMessage573" name="Input573"/>
+      <wsdl:output message="tns:ResponseMessage573" name="Output573"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding573" type="tns:PortType573">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation573">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation573"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service573">
+    <wsdl:port name="Port573" binding="tns:Binding573">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage574">
+    <wsdl:part name="Response" element="tns:ResponseElement574"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage574">
+    <wsdl:part name="Request" element="tns:RequestElement574"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType574">
+    <wsdl:operation name="Operation574">
+      <wsdl:input message="tns:RequestMessage574" name="Input574"/>
+      <wsdl:output message="tns:ResponseMessage574" name="Output574"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding574" type="tns:PortType574">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation574">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation574"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service574">
+    <wsdl:port name="Port574" binding="tns:Binding574">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage575">
+    <wsdl:part name="Response" element="tns:ResponseElement575"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage575">
+    <wsdl:part name="Request" element="tns:RequestElement575"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType575">
+    <wsdl:operation name="Operation575">
+      <wsdl:input message="tns:RequestMessage575" name="Input575"/>
+      <wsdl:output message="tns:ResponseMessage575" name="Output575"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding575" type="tns:PortType575">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation575">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation575"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service575">
+    <wsdl:port name="Port575" binding="tns:Binding575">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage576">
+    <wsdl:part name="Response" element="tns:ResponseElement576"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage576">
+    <wsdl:part name="Request" element="tns:RequestElement576"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType576">
+    <wsdl:operation name="Operation576">
+      <wsdl:input message="tns:RequestMessage576" name="Input576"/>
+      <wsdl:output message="tns:ResponseMessage576" name="Output576"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding576" type="tns:PortType576">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation576">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation576"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service576">
+    <wsdl:port name="Port576" binding="tns:Binding576">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage577">
+    <wsdl:part name="Response" element="tns:ResponseElement577"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage577">
+    <wsdl:part name="Request" element="tns:RequestElement577"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType577">
+    <wsdl:operation name="Operation577">
+      <wsdl:input message="tns:RequestMessage577" name="Input577"/>
+      <wsdl:output message="tns:ResponseMessage577" name="Output577"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding577" type="tns:PortType577">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation577">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation577"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service577">
+    <wsdl:port name="Port577" binding="tns:Binding577">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage578">
+    <wsdl:part name="Response" element="tns:ResponseElement578"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage578">
+    <wsdl:part name="Request" element="tns:RequestElement578"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType578">
+    <wsdl:operation name="Operation578">
+      <wsdl:input message="tns:RequestMessage578" name="Input578"/>
+      <wsdl:output message="tns:ResponseMessage578" name="Output578"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding578" type="tns:PortType578">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation578">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation578"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service578">
+    <wsdl:port name="Port578" binding="tns:Binding578">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage579">
+    <wsdl:part name="Response" element="tns:ResponseElement579"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage579">
+    <wsdl:part name="Request" element="tns:RequestElement579"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType579">
+    <wsdl:operation name="Operation579">
+      <wsdl:input message="tns:RequestMessage579" name="Input579"/>
+      <wsdl:output message="tns:ResponseMessage579" name="Output579"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding579" type="tns:PortType579">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation579">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation579"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service579">
+    <wsdl:port name="Port579" binding="tns:Binding579">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage580">
+    <wsdl:part name="Response" element="tns:ResponseElement580"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage580">
+    <wsdl:part name="Request" element="tns:RequestElement580"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType580">
+    <wsdl:operation name="Operation580">
+      <wsdl:input message="tns:RequestMessage580" name="Input580"/>
+      <wsdl:output message="tns:ResponseMessage580" name="Output580"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding580" type="tns:PortType580">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation580">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation580"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service580">
+    <wsdl:port name="Port580" binding="tns:Binding580">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage581">
+    <wsdl:part name="Response" element="tns:ResponseElement581"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage581">
+    <wsdl:part name="Request" element="tns:RequestElement581"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType581">
+    <wsdl:operation name="Operation581">
+      <wsdl:input message="tns:RequestMessage581" name="Input581"/>
+      <wsdl:output message="tns:ResponseMessage581" name="Output581"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding581" type="tns:PortType581">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation581">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation581"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service581">
+    <wsdl:port name="Port581" binding="tns:Binding581">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage582">
+    <wsdl:part name="Response" element="tns:ResponseElement582"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage582">
+    <wsdl:part name="Request" element="tns:RequestElement582"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType582">
+    <wsdl:operation name="Operation582">
+      <wsdl:input message="tns:RequestMessage582" name="Input582"/>
+      <wsdl:output message="tns:ResponseMessage582" name="Output582"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding582" type="tns:PortType582">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation582">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation582"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service582">
+    <wsdl:port name="Port582" binding="tns:Binding582">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage583">
+    <wsdl:part name="Response" element="tns:ResponseElement583"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage583">
+    <wsdl:part name="Request" element="tns:RequestElement583"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType583">
+    <wsdl:operation name="Operation583">
+      <wsdl:input message="tns:RequestMessage583" name="Input583"/>
+      <wsdl:output message="tns:ResponseMessage583" name="Output583"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding583" type="tns:PortType583">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation583">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation583"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service583">
+    <wsdl:port name="Port583" binding="tns:Binding583">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage584">
+    <wsdl:part name="Response" element="tns:ResponseElement584"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage584">
+    <wsdl:part name="Request" element="tns:RequestElement584"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType584">
+    <wsdl:operation name="Operation584">
+      <wsdl:input message="tns:RequestMessage584" name="Input584"/>
+      <wsdl:output message="tns:ResponseMessage584" name="Output584"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding584" type="tns:PortType584">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation584">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation584"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service584">
+    <wsdl:port name="Port584" binding="tns:Binding584">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage585">
+    <wsdl:part name="Response" element="tns:ResponseElement585"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage585">
+    <wsdl:part name="Request" element="tns:RequestElement585"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType585">
+    <wsdl:operation name="Operation585">
+      <wsdl:input message="tns:RequestMessage585" name="Input585"/>
+      <wsdl:output message="tns:ResponseMessage585" name="Output585"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding585" type="tns:PortType585">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation585">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation585"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service585">
+    <wsdl:port name="Port585" binding="tns:Binding585">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage586">
+    <wsdl:part name="Response" element="tns:ResponseElement586"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage586">
+    <wsdl:part name="Request" element="tns:RequestElement586"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType586">
+    <wsdl:operation name="Operation586">
+      <wsdl:input message="tns:RequestMessage586" name="Input586"/>
+      <wsdl:output message="tns:ResponseMessage586" name="Output586"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding586" type="tns:PortType586">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation586">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation586"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service586">
+    <wsdl:port name="Port586" binding="tns:Binding586">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage587">
+    <wsdl:part name="Response" element="tns:ResponseElement587"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage587">
+    <wsdl:part name="Request" element="tns:RequestElement587"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType587">
+    <wsdl:operation name="Operation587">
+      <wsdl:input message="tns:RequestMessage587" name="Input587"/>
+      <wsdl:output message="tns:ResponseMessage587" name="Output587"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding587" type="tns:PortType587">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation587">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation587"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service587">
+    <wsdl:port name="Port587" binding="tns:Binding587">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage588">
+    <wsdl:part name="Response" element="tns:ResponseElement588"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage588">
+    <wsdl:part name="Request" element="tns:RequestElement588"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType588">
+    <wsdl:operation name="Operation588">
+      <wsdl:input message="tns:RequestMessage588" name="Input588"/>
+      <wsdl:output message="tns:ResponseMessage588" name="Output588"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding588" type="tns:PortType588">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation588">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation588"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service588">
+    <wsdl:port name="Port588" binding="tns:Binding588">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage589">
+    <wsdl:part name="Response" element="tns:ResponseElement589"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage589">
+    <wsdl:part name="Request" element="tns:RequestElement589"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType589">
+    <wsdl:operation name="Operation589">
+      <wsdl:input message="tns:RequestMessage589" name="Input589"/>
+      <wsdl:output message="tns:ResponseMessage589" name="Output589"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding589" type="tns:PortType589">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation589">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation589"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service589">
+    <wsdl:port name="Port589" binding="tns:Binding589">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage590">
+    <wsdl:part name="Response" element="tns:ResponseElement590"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage590">
+    <wsdl:part name="Request" element="tns:RequestElement590"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType590">
+    <wsdl:operation name="Operation590">
+      <wsdl:input message="tns:RequestMessage590" name="Input590"/>
+      <wsdl:output message="tns:ResponseMessage590" name="Output590"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding590" type="tns:PortType590">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation590">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation590"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service590">
+    <wsdl:port name="Port590" binding="tns:Binding590">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage591">
+    <wsdl:part name="Response" element="tns:ResponseElement591"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage591">
+    <wsdl:part name="Request" element="tns:RequestElement591"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType591">
+    <wsdl:operation name="Operation591">
+      <wsdl:input message="tns:RequestMessage591" name="Input591"/>
+      <wsdl:output message="tns:ResponseMessage591" name="Output591"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding591" type="tns:PortType591">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation591">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation591"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service591">
+    <wsdl:port name="Port591" binding="tns:Binding591">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage592">
+    <wsdl:part name="Response" element="tns:ResponseElement592"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage592">
+    <wsdl:part name="Request" element="tns:RequestElement592"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType592">
+    <wsdl:operation name="Operation592">
+      <wsdl:input message="tns:RequestMessage592" name="Input592"/>
+      <wsdl:output message="tns:ResponseMessage592" name="Output592"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding592" type="tns:PortType592">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation592">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation592"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service592">
+    <wsdl:port name="Port592" binding="tns:Binding592">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage593">
+    <wsdl:part name="Response" element="tns:ResponseElement593"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage593">
+    <wsdl:part name="Request" element="tns:RequestElement593"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType593">
+    <wsdl:operation name="Operation593">
+      <wsdl:input message="tns:RequestMessage593" name="Input593"/>
+      <wsdl:output message="tns:ResponseMessage593" name="Output593"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding593" type="tns:PortType593">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation593">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation593"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service593">
+    <wsdl:port name="Port593" binding="tns:Binding593">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage594">
+    <wsdl:part name="Response" element="tns:ResponseElement594"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage594">
+    <wsdl:part name="Request" element="tns:RequestElement594"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType594">
+    <wsdl:operation name="Operation594">
+      <wsdl:input message="tns:RequestMessage594" name="Input594"/>
+      <wsdl:output message="tns:ResponseMessage594" name="Output594"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding594" type="tns:PortType594">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation594">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation594"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service594">
+    <wsdl:port name="Port594" binding="tns:Binding594">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage595">
+    <wsdl:part name="Response" element="tns:ResponseElement595"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage595">
+    <wsdl:part name="Request" element="tns:RequestElement595"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType595">
+    <wsdl:operation name="Operation595">
+      <wsdl:input message="tns:RequestMessage595" name="Input595"/>
+      <wsdl:output message="tns:ResponseMessage595" name="Output595"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding595" type="tns:PortType595">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation595">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation595"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service595">
+    <wsdl:port name="Port595" binding="tns:Binding595">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage596">
+    <wsdl:part name="Response" element="tns:ResponseElement596"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage596">
+    <wsdl:part name="Request" element="tns:RequestElement596"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType596">
+    <wsdl:operation name="Operation596">
+      <wsdl:input message="tns:RequestMessage596" name="Input596"/>
+      <wsdl:output message="tns:ResponseMessage596" name="Output596"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding596" type="tns:PortType596">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation596">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation596"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service596">
+    <wsdl:port name="Port596" binding="tns:Binding596">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage597">
+    <wsdl:part name="Response" element="tns:ResponseElement597"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage597">
+    <wsdl:part name="Request" element="tns:RequestElement597"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType597">
+    <wsdl:operation name="Operation597">
+      <wsdl:input message="tns:RequestMessage597" name="Input597"/>
+      <wsdl:output message="tns:ResponseMessage597" name="Output597"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding597" type="tns:PortType597">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation597">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation597"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service597">
+    <wsdl:port name="Port597" binding="tns:Binding597">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage598">
+    <wsdl:part name="Response" element="tns:ResponseElement598"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage598">
+    <wsdl:part name="Request" element="tns:RequestElement598"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType598">
+    <wsdl:operation name="Operation598">
+      <wsdl:input message="tns:RequestMessage598" name="Input598"/>
+      <wsdl:output message="tns:ResponseMessage598" name="Output598"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding598" type="tns:PortType598">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation598">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation598"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service598">
+    <wsdl:port name="Port598" binding="tns:Binding598">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage599">
+    <wsdl:part name="Response" element="tns:ResponseElement599"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage599">
+    <wsdl:part name="Request" element="tns:RequestElement599"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType599">
+    <wsdl:operation name="Operation599">
+      <wsdl:input message="tns:RequestMessage599" name="Input599"/>
+      <wsdl:output message="tns:ResponseMessage599" name="Output599"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding599" type="tns:PortType599">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation599">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation599"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service599">
+    <wsdl:port name="Port599" binding="tns:Binding599">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage600">
+    <wsdl:part name="Response" element="tns:ResponseElement600"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage600">
+    <wsdl:part name="Request" element="tns:RequestElement600"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType600">
+    <wsdl:operation name="Operation600">
+      <wsdl:input message="tns:RequestMessage600" name="Input600"/>
+      <wsdl:output message="tns:ResponseMessage600" name="Output600"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding600" type="tns:PortType600">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation600">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation600"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service600">
+    <wsdl:port name="Port600" binding="tns:Binding600">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage601">
+    <wsdl:part name="Response" element="tns:ResponseElement601"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage601">
+    <wsdl:part name="Request" element="tns:RequestElement601"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType601">
+    <wsdl:operation name="Operation601">
+      <wsdl:input message="tns:RequestMessage601" name="Input601"/>
+      <wsdl:output message="tns:ResponseMessage601" name="Output601"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding601" type="tns:PortType601">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation601">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation601"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service601">
+    <wsdl:port name="Port601" binding="tns:Binding601">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage602">
+    <wsdl:part name="Response" element="tns:ResponseElement602"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage602">
+    <wsdl:part name="Request" element="tns:RequestElement602"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType602">
+    <wsdl:operation name="Operation602">
+      <wsdl:input message="tns:RequestMessage602" name="Input602"/>
+      <wsdl:output message="tns:ResponseMessage602" name="Output602"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding602" type="tns:PortType602">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation602">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation602"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service602">
+    <wsdl:port name="Port602" binding="tns:Binding602">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage603">
+    <wsdl:part name="Response" element="tns:ResponseElement603"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage603">
+    <wsdl:part name="Request" element="tns:RequestElement603"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType603">
+    <wsdl:operation name="Operation603">
+      <wsdl:input message="tns:RequestMessage603" name="Input603"/>
+      <wsdl:output message="tns:ResponseMessage603" name="Output603"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding603" type="tns:PortType603">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation603">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation603"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service603">
+    <wsdl:port name="Port603" binding="tns:Binding603">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage604">
+    <wsdl:part name="Response" element="tns:ResponseElement604"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage604">
+    <wsdl:part name="Request" element="tns:RequestElement604"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType604">
+    <wsdl:operation name="Operation604">
+      <wsdl:input message="tns:RequestMessage604" name="Input604"/>
+      <wsdl:output message="tns:ResponseMessage604" name="Output604"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding604" type="tns:PortType604">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation604">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation604"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service604">
+    <wsdl:port name="Port604" binding="tns:Binding604">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage605">
+    <wsdl:part name="Response" element="tns:ResponseElement605"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage605">
+    <wsdl:part name="Request" element="tns:RequestElement605"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType605">
+    <wsdl:operation name="Operation605">
+      <wsdl:input message="tns:RequestMessage605" name="Input605"/>
+      <wsdl:output message="tns:ResponseMessage605" name="Output605"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding605" type="tns:PortType605">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation605">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation605"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service605">
+    <wsdl:port name="Port605" binding="tns:Binding605">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage606">
+    <wsdl:part name="Response" element="tns:ResponseElement606"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage606">
+    <wsdl:part name="Request" element="tns:RequestElement606"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType606">
+    <wsdl:operation name="Operation606">
+      <wsdl:input message="tns:RequestMessage606" name="Input606"/>
+      <wsdl:output message="tns:ResponseMessage606" name="Output606"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding606" type="tns:PortType606">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation606">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation606"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service606">
+    <wsdl:port name="Port606" binding="tns:Binding606">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage607">
+    <wsdl:part name="Response" element="tns:ResponseElement607"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage607">
+    <wsdl:part name="Request" element="tns:RequestElement607"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType607">
+    <wsdl:operation name="Operation607">
+      <wsdl:input message="tns:RequestMessage607" name="Input607"/>
+      <wsdl:output message="tns:ResponseMessage607" name="Output607"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding607" type="tns:PortType607">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation607">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation607"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service607">
+    <wsdl:port name="Port607" binding="tns:Binding607">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage608">
+    <wsdl:part name="Response" element="tns:ResponseElement608"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage608">
+    <wsdl:part name="Request" element="tns:RequestElement608"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType608">
+    <wsdl:operation name="Operation608">
+      <wsdl:input message="tns:RequestMessage608" name="Input608"/>
+      <wsdl:output message="tns:ResponseMessage608" name="Output608"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding608" type="tns:PortType608">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation608">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation608"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service608">
+    <wsdl:port name="Port608" binding="tns:Binding608">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage609">
+    <wsdl:part name="Response" element="tns:ResponseElement609"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage609">
+    <wsdl:part name="Request" element="tns:RequestElement609"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType609">
+    <wsdl:operation name="Operation609">
+      <wsdl:input message="tns:RequestMessage609" name="Input609"/>
+      <wsdl:output message="tns:ResponseMessage609" name="Output609"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding609" type="tns:PortType609">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation609">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation609"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service609">
+    <wsdl:port name="Port609" binding="tns:Binding609">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage610">
+    <wsdl:part name="Response" element="tns:ResponseElement610"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage610">
+    <wsdl:part name="Request" element="tns:RequestElement610"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType610">
+    <wsdl:operation name="Operation610">
+      <wsdl:input message="tns:RequestMessage610" name="Input610"/>
+      <wsdl:output message="tns:ResponseMessage610" name="Output610"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding610" type="tns:PortType610">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation610">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation610"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service610">
+    <wsdl:port name="Port610" binding="tns:Binding610">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage611">
+    <wsdl:part name="Response" element="tns:ResponseElement611"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage611">
+    <wsdl:part name="Request" element="tns:RequestElement611"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType611">
+    <wsdl:operation name="Operation611">
+      <wsdl:input message="tns:RequestMessage611" name="Input611"/>
+      <wsdl:output message="tns:ResponseMessage611" name="Output611"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding611" type="tns:PortType611">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation611">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation611"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service611">
+    <wsdl:port name="Port611" binding="tns:Binding611">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage612">
+    <wsdl:part name="Response" element="tns:ResponseElement612"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage612">
+    <wsdl:part name="Request" element="tns:RequestElement612"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType612">
+    <wsdl:operation name="Operation612">
+      <wsdl:input message="tns:RequestMessage612" name="Input612"/>
+      <wsdl:output message="tns:ResponseMessage612" name="Output612"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding612" type="tns:PortType612">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation612">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation612"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service612">
+    <wsdl:port name="Port612" binding="tns:Binding612">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage613">
+    <wsdl:part name="Response" element="tns:ResponseElement613"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage613">
+    <wsdl:part name="Request" element="tns:RequestElement613"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType613">
+    <wsdl:operation name="Operation613">
+      <wsdl:input message="tns:RequestMessage613" name="Input613"/>
+      <wsdl:output message="tns:ResponseMessage613" name="Output613"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding613" type="tns:PortType613">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation613">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation613"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service613">
+    <wsdl:port name="Port613" binding="tns:Binding613">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage614">
+    <wsdl:part name="Response" element="tns:ResponseElement614"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage614">
+    <wsdl:part name="Request" element="tns:RequestElement614"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType614">
+    <wsdl:operation name="Operation614">
+      <wsdl:input message="tns:RequestMessage614" name="Input614"/>
+      <wsdl:output message="tns:ResponseMessage614" name="Output614"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding614" type="tns:PortType614">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation614">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation614"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service614">
+    <wsdl:port name="Port614" binding="tns:Binding614">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage615">
+    <wsdl:part name="Response" element="tns:ResponseElement615"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage615">
+    <wsdl:part name="Request" element="tns:RequestElement615"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType615">
+    <wsdl:operation name="Operation615">
+      <wsdl:input message="tns:RequestMessage615" name="Input615"/>
+      <wsdl:output message="tns:ResponseMessage615" name="Output615"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding615" type="tns:PortType615">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation615">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation615"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service615">
+    <wsdl:port name="Port615" binding="tns:Binding615">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage616">
+    <wsdl:part name="Response" element="tns:ResponseElement616"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage616">
+    <wsdl:part name="Request" element="tns:RequestElement616"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType616">
+    <wsdl:operation name="Operation616">
+      <wsdl:input message="tns:RequestMessage616" name="Input616"/>
+      <wsdl:output message="tns:ResponseMessage616" name="Output616"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding616" type="tns:PortType616">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation616">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation616"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service616">
+    <wsdl:port name="Port616" binding="tns:Binding616">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage617">
+    <wsdl:part name="Response" element="tns:ResponseElement617"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage617">
+    <wsdl:part name="Request" element="tns:RequestElement617"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType617">
+    <wsdl:operation name="Operation617">
+      <wsdl:input message="tns:RequestMessage617" name="Input617"/>
+      <wsdl:output message="tns:ResponseMessage617" name="Output617"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding617" type="tns:PortType617">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation617">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation617"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service617">
+    <wsdl:port name="Port617" binding="tns:Binding617">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage618">
+    <wsdl:part name="Response" element="tns:ResponseElement618"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage618">
+    <wsdl:part name="Request" element="tns:RequestElement618"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType618">
+    <wsdl:operation name="Operation618">
+      <wsdl:input message="tns:RequestMessage618" name="Input618"/>
+      <wsdl:output message="tns:ResponseMessage618" name="Output618"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding618" type="tns:PortType618">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation618">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation618"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service618">
+    <wsdl:port name="Port618" binding="tns:Binding618">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage619">
+    <wsdl:part name="Response" element="tns:ResponseElement619"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage619">
+    <wsdl:part name="Request" element="tns:RequestElement619"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType619">
+    <wsdl:operation name="Operation619">
+      <wsdl:input message="tns:RequestMessage619" name="Input619"/>
+      <wsdl:output message="tns:ResponseMessage619" name="Output619"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding619" type="tns:PortType619">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation619">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation619"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service619">
+    <wsdl:port name="Port619" binding="tns:Binding619">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage620">
+    <wsdl:part name="Response" element="tns:ResponseElement620"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage620">
+    <wsdl:part name="Request" element="tns:RequestElement620"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType620">
+    <wsdl:operation name="Operation620">
+      <wsdl:input message="tns:RequestMessage620" name="Input620"/>
+      <wsdl:output message="tns:ResponseMessage620" name="Output620"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding620" type="tns:PortType620">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation620">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation620"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service620">
+    <wsdl:port name="Port620" binding="tns:Binding620">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage621">
+    <wsdl:part name="Response" element="tns:ResponseElement621"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage621">
+    <wsdl:part name="Request" element="tns:RequestElement621"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType621">
+    <wsdl:operation name="Operation621">
+      <wsdl:input message="tns:RequestMessage621" name="Input621"/>
+      <wsdl:output message="tns:ResponseMessage621" name="Output621"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding621" type="tns:PortType621">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation621">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation621"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service621">
+    <wsdl:port name="Port621" binding="tns:Binding621">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage622">
+    <wsdl:part name="Response" element="tns:ResponseElement622"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage622">
+    <wsdl:part name="Request" element="tns:RequestElement622"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType622">
+    <wsdl:operation name="Operation622">
+      <wsdl:input message="tns:RequestMessage622" name="Input622"/>
+      <wsdl:output message="tns:ResponseMessage622" name="Output622"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding622" type="tns:PortType622">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation622">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation622"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service622">
+    <wsdl:port name="Port622" binding="tns:Binding622">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage623">
+    <wsdl:part name="Response" element="tns:ResponseElement623"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage623">
+    <wsdl:part name="Request" element="tns:RequestElement623"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType623">
+    <wsdl:operation name="Operation623">
+      <wsdl:input message="tns:RequestMessage623" name="Input623"/>
+      <wsdl:output message="tns:ResponseMessage623" name="Output623"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding623" type="tns:PortType623">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation623">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation623"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service623">
+    <wsdl:port name="Port623" binding="tns:Binding623">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage624">
+    <wsdl:part name="Response" element="tns:ResponseElement624"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage624">
+    <wsdl:part name="Request" element="tns:RequestElement624"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType624">
+    <wsdl:operation name="Operation624">
+      <wsdl:input message="tns:RequestMessage624" name="Input624"/>
+      <wsdl:output message="tns:ResponseMessage624" name="Output624"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding624" type="tns:PortType624">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation624">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation624"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service624">
+    <wsdl:port name="Port624" binding="tns:Binding624">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage625">
+    <wsdl:part name="Response" element="tns:ResponseElement625"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage625">
+    <wsdl:part name="Request" element="tns:RequestElement625"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType625">
+    <wsdl:operation name="Operation625">
+      <wsdl:input message="tns:RequestMessage625" name="Input625"/>
+      <wsdl:output message="tns:ResponseMessage625" name="Output625"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding625" type="tns:PortType625">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation625">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation625"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service625">
+    <wsdl:port name="Port625" binding="tns:Binding625">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage626">
+    <wsdl:part name="Response" element="tns:ResponseElement626"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage626">
+    <wsdl:part name="Request" element="tns:RequestElement626"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType626">
+    <wsdl:operation name="Operation626">
+      <wsdl:input message="tns:RequestMessage626" name="Input626"/>
+      <wsdl:output message="tns:ResponseMessage626" name="Output626"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding626" type="tns:PortType626">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation626">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation626"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service626">
+    <wsdl:port name="Port626" binding="tns:Binding626">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage627">
+    <wsdl:part name="Response" element="tns:ResponseElement627"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage627">
+    <wsdl:part name="Request" element="tns:RequestElement627"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType627">
+    <wsdl:operation name="Operation627">
+      <wsdl:input message="tns:RequestMessage627" name="Input627"/>
+      <wsdl:output message="tns:ResponseMessage627" name="Output627"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding627" type="tns:PortType627">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation627">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation627"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service627">
+    <wsdl:port name="Port627" binding="tns:Binding627">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage628">
+    <wsdl:part name="Response" element="tns:ResponseElement628"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage628">
+    <wsdl:part name="Request" element="tns:RequestElement628"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType628">
+    <wsdl:operation name="Operation628">
+      <wsdl:input message="tns:RequestMessage628" name="Input628"/>
+      <wsdl:output message="tns:ResponseMessage628" name="Output628"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding628" type="tns:PortType628">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation628">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation628"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service628">
+    <wsdl:port name="Port628" binding="tns:Binding628">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage629">
+    <wsdl:part name="Response" element="tns:ResponseElement629"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage629">
+    <wsdl:part name="Request" element="tns:RequestElement629"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType629">
+    <wsdl:operation name="Operation629">
+      <wsdl:input message="tns:RequestMessage629" name="Input629"/>
+      <wsdl:output message="tns:ResponseMessage629" name="Output629"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding629" type="tns:PortType629">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation629">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation629"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service629">
+    <wsdl:port name="Port629" binding="tns:Binding629">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage630">
+    <wsdl:part name="Response" element="tns:ResponseElement630"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage630">
+    <wsdl:part name="Request" element="tns:RequestElement630"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType630">
+    <wsdl:operation name="Operation630">
+      <wsdl:input message="tns:RequestMessage630" name="Input630"/>
+      <wsdl:output message="tns:ResponseMessage630" name="Output630"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding630" type="tns:PortType630">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation630">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation630"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service630">
+    <wsdl:port name="Port630" binding="tns:Binding630">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage631">
+    <wsdl:part name="Response" element="tns:ResponseElement631"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage631">
+    <wsdl:part name="Request" element="tns:RequestElement631"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType631">
+    <wsdl:operation name="Operation631">
+      <wsdl:input message="tns:RequestMessage631" name="Input631"/>
+      <wsdl:output message="tns:ResponseMessage631" name="Output631"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding631" type="tns:PortType631">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation631">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation631"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service631">
+    <wsdl:port name="Port631" binding="tns:Binding631">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage632">
+    <wsdl:part name="Response" element="tns:ResponseElement632"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage632">
+    <wsdl:part name="Request" element="tns:RequestElement632"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType632">
+    <wsdl:operation name="Operation632">
+      <wsdl:input message="tns:RequestMessage632" name="Input632"/>
+      <wsdl:output message="tns:ResponseMessage632" name="Output632"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding632" type="tns:PortType632">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation632">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation632"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service632">
+    <wsdl:port name="Port632" binding="tns:Binding632">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage633">
+    <wsdl:part name="Response" element="tns:ResponseElement633"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage633">
+    <wsdl:part name="Request" element="tns:RequestElement633"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType633">
+    <wsdl:operation name="Operation633">
+      <wsdl:input message="tns:RequestMessage633" name="Input633"/>
+      <wsdl:output message="tns:ResponseMessage633" name="Output633"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding633" type="tns:PortType633">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation633">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation633"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service633">
+    <wsdl:port name="Port633" binding="tns:Binding633">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage634">
+    <wsdl:part name="Response" element="tns:ResponseElement634"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage634">
+    <wsdl:part name="Request" element="tns:RequestElement634"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType634">
+    <wsdl:operation name="Operation634">
+      <wsdl:input message="tns:RequestMessage634" name="Input634"/>
+      <wsdl:output message="tns:ResponseMessage634" name="Output634"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding634" type="tns:PortType634">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation634">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation634"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service634">
+    <wsdl:port name="Port634" binding="tns:Binding634">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage635">
+    <wsdl:part name="Response" element="tns:ResponseElement635"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage635">
+    <wsdl:part name="Request" element="tns:RequestElement635"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType635">
+    <wsdl:operation name="Operation635">
+      <wsdl:input message="tns:RequestMessage635" name="Input635"/>
+      <wsdl:output message="tns:ResponseMessage635" name="Output635"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding635" type="tns:PortType635">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation635">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation635"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service635">
+    <wsdl:port name="Port635" binding="tns:Binding635">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage636">
+    <wsdl:part name="Response" element="tns:ResponseElement636"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage636">
+    <wsdl:part name="Request" element="tns:RequestElement636"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType636">
+    <wsdl:operation name="Operation636">
+      <wsdl:input message="tns:RequestMessage636" name="Input636"/>
+      <wsdl:output message="tns:ResponseMessage636" name="Output636"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding636" type="tns:PortType636">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation636">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation636"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service636">
+    <wsdl:port name="Port636" binding="tns:Binding636">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage637">
+    <wsdl:part name="Response" element="tns:ResponseElement637"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage637">
+    <wsdl:part name="Request" element="tns:RequestElement637"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType637">
+    <wsdl:operation name="Operation637">
+      <wsdl:input message="tns:RequestMessage637" name="Input637"/>
+      <wsdl:output message="tns:ResponseMessage637" name="Output637"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding637" type="tns:PortType637">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation637">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation637"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service637">
+    <wsdl:port name="Port637" binding="tns:Binding637">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage638">
+    <wsdl:part name="Response" element="tns:ResponseElement638"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage638">
+    <wsdl:part name="Request" element="tns:RequestElement638"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType638">
+    <wsdl:operation name="Operation638">
+      <wsdl:input message="tns:RequestMessage638" name="Input638"/>
+      <wsdl:output message="tns:ResponseMessage638" name="Output638"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding638" type="tns:PortType638">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation638">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation638"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service638">
+    <wsdl:port name="Port638" binding="tns:Binding638">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage639">
+    <wsdl:part name="Response" element="tns:ResponseElement639"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage639">
+    <wsdl:part name="Request" element="tns:RequestElement639"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType639">
+    <wsdl:operation name="Operation639">
+      <wsdl:input message="tns:RequestMessage639" name="Input639"/>
+      <wsdl:output message="tns:ResponseMessage639" name="Output639"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding639" type="tns:PortType639">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation639">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation639"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service639">
+    <wsdl:port name="Port639" binding="tns:Binding639">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage640">
+    <wsdl:part name="Response" element="tns:ResponseElement640"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage640">
+    <wsdl:part name="Request" element="tns:RequestElement640"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType640">
+    <wsdl:operation name="Operation640">
+      <wsdl:input message="tns:RequestMessage640" name="Input640"/>
+      <wsdl:output message="tns:ResponseMessage640" name="Output640"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding640" type="tns:PortType640">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation640">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation640"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service640">
+    <wsdl:port name="Port640" binding="tns:Binding640">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage641">
+    <wsdl:part name="Response" element="tns:ResponseElement641"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage641">
+    <wsdl:part name="Request" element="tns:RequestElement641"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType641">
+    <wsdl:operation name="Operation641">
+      <wsdl:input message="tns:RequestMessage641" name="Input641"/>
+      <wsdl:output message="tns:ResponseMessage641" name="Output641"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding641" type="tns:PortType641">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation641">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation641"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service641">
+    <wsdl:port name="Port641" binding="tns:Binding641">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage642">
+    <wsdl:part name="Response" element="tns:ResponseElement642"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage642">
+    <wsdl:part name="Request" element="tns:RequestElement642"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType642">
+    <wsdl:operation name="Operation642">
+      <wsdl:input message="tns:RequestMessage642" name="Input642"/>
+      <wsdl:output message="tns:ResponseMessage642" name="Output642"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding642" type="tns:PortType642">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation642">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation642"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service642">
+    <wsdl:port name="Port642" binding="tns:Binding642">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage643">
+    <wsdl:part name="Response" element="tns:ResponseElement643"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage643">
+    <wsdl:part name="Request" element="tns:RequestElement643"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType643">
+    <wsdl:operation name="Operation643">
+      <wsdl:input message="tns:RequestMessage643" name="Input643"/>
+      <wsdl:output message="tns:ResponseMessage643" name="Output643"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding643" type="tns:PortType643">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation643">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation643"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service643">
+    <wsdl:port name="Port643" binding="tns:Binding643">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage644">
+    <wsdl:part name="Response" element="tns:ResponseElement644"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage644">
+    <wsdl:part name="Request" element="tns:RequestElement644"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType644">
+    <wsdl:operation name="Operation644">
+      <wsdl:input message="tns:RequestMessage644" name="Input644"/>
+      <wsdl:output message="tns:ResponseMessage644" name="Output644"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding644" type="tns:PortType644">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation644">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation644"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service644">
+    <wsdl:port name="Port644" binding="tns:Binding644">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage645">
+    <wsdl:part name="Response" element="tns:ResponseElement645"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage645">
+    <wsdl:part name="Request" element="tns:RequestElement645"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType645">
+    <wsdl:operation name="Operation645">
+      <wsdl:input message="tns:RequestMessage645" name="Input645"/>
+      <wsdl:output message="tns:ResponseMessage645" name="Output645"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding645" type="tns:PortType645">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation645">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation645"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service645">
+    <wsdl:port name="Port645" binding="tns:Binding645">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage646">
+    <wsdl:part name="Response" element="tns:ResponseElement646"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage646">
+    <wsdl:part name="Request" element="tns:RequestElement646"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType646">
+    <wsdl:operation name="Operation646">
+      <wsdl:input message="tns:RequestMessage646" name="Input646"/>
+      <wsdl:output message="tns:ResponseMessage646" name="Output646"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding646" type="tns:PortType646">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation646">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation646"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service646">
+    <wsdl:port name="Port646" binding="tns:Binding646">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage647">
+    <wsdl:part name="Response" element="tns:ResponseElement647"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage647">
+    <wsdl:part name="Request" element="tns:RequestElement647"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType647">
+    <wsdl:operation name="Operation647">
+      <wsdl:input message="tns:RequestMessage647" name="Input647"/>
+      <wsdl:output message="tns:ResponseMessage647" name="Output647"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding647" type="tns:PortType647">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation647">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation647"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service647">
+    <wsdl:port name="Port647" binding="tns:Binding647">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage648">
+    <wsdl:part name="Response" element="tns:ResponseElement648"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage648">
+    <wsdl:part name="Request" element="tns:RequestElement648"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType648">
+    <wsdl:operation name="Operation648">
+      <wsdl:input message="tns:RequestMessage648" name="Input648"/>
+      <wsdl:output message="tns:ResponseMessage648" name="Output648"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding648" type="tns:PortType648">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation648">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation648"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service648">
+    <wsdl:port name="Port648" binding="tns:Binding648">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage649">
+    <wsdl:part name="Response" element="tns:ResponseElement649"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage649">
+    <wsdl:part name="Request" element="tns:RequestElement649"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType649">
+    <wsdl:operation name="Operation649">
+      <wsdl:input message="tns:RequestMessage649" name="Input649"/>
+      <wsdl:output message="tns:ResponseMessage649" name="Output649"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding649" type="tns:PortType649">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation649">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation649"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service649">
+    <wsdl:port name="Port649" binding="tns:Binding649">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage650">
+    <wsdl:part name="Response" element="tns:ResponseElement650"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage650">
+    <wsdl:part name="Request" element="tns:RequestElement650"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType650">
+    <wsdl:operation name="Operation650">
+      <wsdl:input message="tns:RequestMessage650" name="Input650"/>
+      <wsdl:output message="tns:ResponseMessage650" name="Output650"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding650" type="tns:PortType650">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation650">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation650"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service650">
+    <wsdl:port name="Port650" binding="tns:Binding650">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage651">
+    <wsdl:part name="Response" element="tns:ResponseElement651"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage651">
+    <wsdl:part name="Request" element="tns:RequestElement651"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType651">
+    <wsdl:operation name="Operation651">
+      <wsdl:input message="tns:RequestMessage651" name="Input651"/>
+      <wsdl:output message="tns:ResponseMessage651" name="Output651"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding651" type="tns:PortType651">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation651">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation651"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service651">
+    <wsdl:port name="Port651" binding="tns:Binding651">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage652">
+    <wsdl:part name="Response" element="tns:ResponseElement652"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage652">
+    <wsdl:part name="Request" element="tns:RequestElement652"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType652">
+    <wsdl:operation name="Operation652">
+      <wsdl:input message="tns:RequestMessage652" name="Input652"/>
+      <wsdl:output message="tns:ResponseMessage652" name="Output652"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding652" type="tns:PortType652">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation652">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation652"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service652">
+    <wsdl:port name="Port652" binding="tns:Binding652">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage653">
+    <wsdl:part name="Response" element="tns:ResponseElement653"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage653">
+    <wsdl:part name="Request" element="tns:RequestElement653"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType653">
+    <wsdl:operation name="Operation653">
+      <wsdl:input message="tns:RequestMessage653" name="Input653"/>
+      <wsdl:output message="tns:ResponseMessage653" name="Output653"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding653" type="tns:PortType653">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation653">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation653"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service653">
+    <wsdl:port name="Port653" binding="tns:Binding653">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage654">
+    <wsdl:part name="Response" element="tns:ResponseElement654"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage654">
+    <wsdl:part name="Request" element="tns:RequestElement654"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType654">
+    <wsdl:operation name="Operation654">
+      <wsdl:input message="tns:RequestMessage654" name="Input654"/>
+      <wsdl:output message="tns:ResponseMessage654" name="Output654"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding654" type="tns:PortType654">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation654">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation654"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service654">
+    <wsdl:port name="Port654" binding="tns:Binding654">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage655">
+    <wsdl:part name="Response" element="tns:ResponseElement655"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage655">
+    <wsdl:part name="Request" element="tns:RequestElement655"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType655">
+    <wsdl:operation name="Operation655">
+      <wsdl:input message="tns:RequestMessage655" name="Input655"/>
+      <wsdl:output message="tns:ResponseMessage655" name="Output655"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding655" type="tns:PortType655">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation655">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation655"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service655">
+    <wsdl:port name="Port655" binding="tns:Binding655">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage656">
+    <wsdl:part name="Response" element="tns:ResponseElement656"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage656">
+    <wsdl:part name="Request" element="tns:RequestElement656"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType656">
+    <wsdl:operation name="Operation656">
+      <wsdl:input message="tns:RequestMessage656" name="Input656"/>
+      <wsdl:output message="tns:ResponseMessage656" name="Output656"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding656" type="tns:PortType656">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation656">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation656"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service656">
+    <wsdl:port name="Port656" binding="tns:Binding656">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage657">
+    <wsdl:part name="Response" element="tns:ResponseElement657"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage657">
+    <wsdl:part name="Request" element="tns:RequestElement657"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType657">
+    <wsdl:operation name="Operation657">
+      <wsdl:input message="tns:RequestMessage657" name="Input657"/>
+      <wsdl:output message="tns:ResponseMessage657" name="Output657"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding657" type="tns:PortType657">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation657">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation657"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service657">
+    <wsdl:port name="Port657" binding="tns:Binding657">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage658">
+    <wsdl:part name="Response" element="tns:ResponseElement658"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage658">
+    <wsdl:part name="Request" element="tns:RequestElement658"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType658">
+    <wsdl:operation name="Operation658">
+      <wsdl:input message="tns:RequestMessage658" name="Input658"/>
+      <wsdl:output message="tns:ResponseMessage658" name="Output658"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding658" type="tns:PortType658">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation658">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation658"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service658">
+    <wsdl:port name="Port658" binding="tns:Binding658">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage659">
+    <wsdl:part name="Response" element="tns:ResponseElement659"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage659">
+    <wsdl:part name="Request" element="tns:RequestElement659"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType659">
+    <wsdl:operation name="Operation659">
+      <wsdl:input message="tns:RequestMessage659" name="Input659"/>
+      <wsdl:output message="tns:ResponseMessage659" name="Output659"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding659" type="tns:PortType659">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation659">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation659"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service659">
+    <wsdl:port name="Port659" binding="tns:Binding659">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage660">
+    <wsdl:part name="Response" element="tns:ResponseElement660"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage660">
+    <wsdl:part name="Request" element="tns:RequestElement660"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType660">
+    <wsdl:operation name="Operation660">
+      <wsdl:input message="tns:RequestMessage660" name="Input660"/>
+      <wsdl:output message="tns:ResponseMessage660" name="Output660"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding660" type="tns:PortType660">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation660">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation660"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service660">
+    <wsdl:port name="Port660" binding="tns:Binding660">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage661">
+    <wsdl:part name="Response" element="tns:ResponseElement661"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage661">
+    <wsdl:part name="Request" element="tns:RequestElement661"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType661">
+    <wsdl:operation name="Operation661">
+      <wsdl:input message="tns:RequestMessage661" name="Input661"/>
+      <wsdl:output message="tns:ResponseMessage661" name="Output661"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding661" type="tns:PortType661">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation661">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation661"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service661">
+    <wsdl:port name="Port661" binding="tns:Binding661">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage662">
+    <wsdl:part name="Response" element="tns:ResponseElement662"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage662">
+    <wsdl:part name="Request" element="tns:RequestElement662"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType662">
+    <wsdl:operation name="Operation662">
+      <wsdl:input message="tns:RequestMessage662" name="Input662"/>
+      <wsdl:output message="tns:ResponseMessage662" name="Output662"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding662" type="tns:PortType662">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation662">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation662"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service662">
+    <wsdl:port name="Port662" binding="tns:Binding662">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage663">
+    <wsdl:part name="Response" element="tns:ResponseElement663"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage663">
+    <wsdl:part name="Request" element="tns:RequestElement663"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType663">
+    <wsdl:operation name="Operation663">
+      <wsdl:input message="tns:RequestMessage663" name="Input663"/>
+      <wsdl:output message="tns:ResponseMessage663" name="Output663"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding663" type="tns:PortType663">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation663">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation663"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service663">
+    <wsdl:port name="Port663" binding="tns:Binding663">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage664">
+    <wsdl:part name="Response" element="tns:ResponseElement664"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage664">
+    <wsdl:part name="Request" element="tns:RequestElement664"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType664">
+    <wsdl:operation name="Operation664">
+      <wsdl:input message="tns:RequestMessage664" name="Input664"/>
+      <wsdl:output message="tns:ResponseMessage664" name="Output664"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding664" type="tns:PortType664">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation664">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation664"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service664">
+    <wsdl:port name="Port664" binding="tns:Binding664">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage665">
+    <wsdl:part name="Response" element="tns:ResponseElement665"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage665">
+    <wsdl:part name="Request" element="tns:RequestElement665"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType665">
+    <wsdl:operation name="Operation665">
+      <wsdl:input message="tns:RequestMessage665" name="Input665"/>
+      <wsdl:output message="tns:ResponseMessage665" name="Output665"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding665" type="tns:PortType665">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation665">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation665"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service665">
+    <wsdl:port name="Port665" binding="tns:Binding665">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage666">
+    <wsdl:part name="Response" element="tns:ResponseElement666"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage666">
+    <wsdl:part name="Request" element="tns:RequestElement666"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType666">
+    <wsdl:operation name="Operation666">
+      <wsdl:input message="tns:RequestMessage666" name="Input666"/>
+      <wsdl:output message="tns:ResponseMessage666" name="Output666"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding666" type="tns:PortType666">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation666">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation666"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service666">
+    <wsdl:port name="Port666" binding="tns:Binding666">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage667">
+    <wsdl:part name="Response" element="tns:ResponseElement667"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage667">
+    <wsdl:part name="Request" element="tns:RequestElement667"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType667">
+    <wsdl:operation name="Operation667">
+      <wsdl:input message="tns:RequestMessage667" name="Input667"/>
+      <wsdl:output message="tns:ResponseMessage667" name="Output667"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding667" type="tns:PortType667">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation667">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation667"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service667">
+    <wsdl:port name="Port667" binding="tns:Binding667">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage668">
+    <wsdl:part name="Response" element="tns:ResponseElement668"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage668">
+    <wsdl:part name="Request" element="tns:RequestElement668"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType668">
+    <wsdl:operation name="Operation668">
+      <wsdl:input message="tns:RequestMessage668" name="Input668"/>
+      <wsdl:output message="tns:ResponseMessage668" name="Output668"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding668" type="tns:PortType668">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation668">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation668"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service668">
+    <wsdl:port name="Port668" binding="tns:Binding668">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage669">
+    <wsdl:part name="Response" element="tns:ResponseElement669"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage669">
+    <wsdl:part name="Request" element="tns:RequestElement669"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType669">
+    <wsdl:operation name="Operation669">
+      <wsdl:input message="tns:RequestMessage669" name="Input669"/>
+      <wsdl:output message="tns:ResponseMessage669" name="Output669"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding669" type="tns:PortType669">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation669">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation669"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service669">
+    <wsdl:port name="Port669" binding="tns:Binding669">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage670">
+    <wsdl:part name="Response" element="tns:ResponseElement670"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage670">
+    <wsdl:part name="Request" element="tns:RequestElement670"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType670">
+    <wsdl:operation name="Operation670">
+      <wsdl:input message="tns:RequestMessage670" name="Input670"/>
+      <wsdl:output message="tns:ResponseMessage670" name="Output670"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding670" type="tns:PortType670">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation670">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation670"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service670">
+    <wsdl:port name="Port670" binding="tns:Binding670">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage671">
+    <wsdl:part name="Response" element="tns:ResponseElement671"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage671">
+    <wsdl:part name="Request" element="tns:RequestElement671"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType671">
+    <wsdl:operation name="Operation671">
+      <wsdl:input message="tns:RequestMessage671" name="Input671"/>
+      <wsdl:output message="tns:ResponseMessage671" name="Output671"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding671" type="tns:PortType671">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation671">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation671"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service671">
+    <wsdl:port name="Port671" binding="tns:Binding671">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage672">
+    <wsdl:part name="Response" element="tns:ResponseElement672"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage672">
+    <wsdl:part name="Request" element="tns:RequestElement672"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType672">
+    <wsdl:operation name="Operation672">
+      <wsdl:input message="tns:RequestMessage672" name="Input672"/>
+      <wsdl:output message="tns:ResponseMessage672" name="Output672"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding672" type="tns:PortType672">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation672">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation672"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service672">
+    <wsdl:port name="Port672" binding="tns:Binding672">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage673">
+    <wsdl:part name="Response" element="tns:ResponseElement673"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage673">
+    <wsdl:part name="Request" element="tns:RequestElement673"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType673">
+    <wsdl:operation name="Operation673">
+      <wsdl:input message="tns:RequestMessage673" name="Input673"/>
+      <wsdl:output message="tns:ResponseMessage673" name="Output673"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding673" type="tns:PortType673">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation673">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation673"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service673">
+    <wsdl:port name="Port673" binding="tns:Binding673">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage674">
+    <wsdl:part name="Response" element="tns:ResponseElement674"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage674">
+    <wsdl:part name="Request" element="tns:RequestElement674"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType674">
+    <wsdl:operation name="Operation674">
+      <wsdl:input message="tns:RequestMessage674" name="Input674"/>
+      <wsdl:output message="tns:ResponseMessage674" name="Output674"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding674" type="tns:PortType674">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation674">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation674"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service674">
+    <wsdl:port name="Port674" binding="tns:Binding674">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage675">
+    <wsdl:part name="Response" element="tns:ResponseElement675"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage675">
+    <wsdl:part name="Request" element="tns:RequestElement675"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType675">
+    <wsdl:operation name="Operation675">
+      <wsdl:input message="tns:RequestMessage675" name="Input675"/>
+      <wsdl:output message="tns:ResponseMessage675" name="Output675"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding675" type="tns:PortType675">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation675">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation675"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service675">
+    <wsdl:port name="Port675" binding="tns:Binding675">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage676">
+    <wsdl:part name="Response" element="tns:ResponseElement676"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage676">
+    <wsdl:part name="Request" element="tns:RequestElement676"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType676">
+    <wsdl:operation name="Operation676">
+      <wsdl:input message="tns:RequestMessage676" name="Input676"/>
+      <wsdl:output message="tns:ResponseMessage676" name="Output676"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding676" type="tns:PortType676">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation676">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation676"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service676">
+    <wsdl:port name="Port676" binding="tns:Binding676">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage677">
+    <wsdl:part name="Response" element="tns:ResponseElement677"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage677">
+    <wsdl:part name="Request" element="tns:RequestElement677"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType677">
+    <wsdl:operation name="Operation677">
+      <wsdl:input message="tns:RequestMessage677" name="Input677"/>
+      <wsdl:output message="tns:ResponseMessage677" name="Output677"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding677" type="tns:PortType677">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation677">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation677"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service677">
+    <wsdl:port name="Port677" binding="tns:Binding677">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage678">
+    <wsdl:part name="Response" element="tns:ResponseElement678"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage678">
+    <wsdl:part name="Request" element="tns:RequestElement678"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType678">
+    <wsdl:operation name="Operation678">
+      <wsdl:input message="tns:RequestMessage678" name="Input678"/>
+      <wsdl:output message="tns:ResponseMessage678" name="Output678"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding678" type="tns:PortType678">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation678">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation678"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service678">
+    <wsdl:port name="Port678" binding="tns:Binding678">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage679">
+    <wsdl:part name="Response" element="tns:ResponseElement679"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage679">
+    <wsdl:part name="Request" element="tns:RequestElement679"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType679">
+    <wsdl:operation name="Operation679">
+      <wsdl:input message="tns:RequestMessage679" name="Input679"/>
+      <wsdl:output message="tns:ResponseMessage679" name="Output679"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding679" type="tns:PortType679">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation679">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation679"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service679">
+    <wsdl:port name="Port679" binding="tns:Binding679">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage680">
+    <wsdl:part name="Response" element="tns:ResponseElement680"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage680">
+    <wsdl:part name="Request" element="tns:RequestElement680"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType680">
+    <wsdl:operation name="Operation680">
+      <wsdl:input message="tns:RequestMessage680" name="Input680"/>
+      <wsdl:output message="tns:ResponseMessage680" name="Output680"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding680" type="tns:PortType680">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation680">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation680"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service680">
+    <wsdl:port name="Port680" binding="tns:Binding680">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage681">
+    <wsdl:part name="Response" element="tns:ResponseElement681"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage681">
+    <wsdl:part name="Request" element="tns:RequestElement681"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType681">
+    <wsdl:operation name="Operation681">
+      <wsdl:input message="tns:RequestMessage681" name="Input681"/>
+      <wsdl:output message="tns:ResponseMessage681" name="Output681"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding681" type="tns:PortType681">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation681">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation681"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service681">
+    <wsdl:port name="Port681" binding="tns:Binding681">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage682">
+    <wsdl:part name="Response" element="tns:ResponseElement682"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage682">
+    <wsdl:part name="Request" element="tns:RequestElement682"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType682">
+    <wsdl:operation name="Operation682">
+      <wsdl:input message="tns:RequestMessage682" name="Input682"/>
+      <wsdl:output message="tns:ResponseMessage682" name="Output682"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding682" type="tns:PortType682">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation682">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation682"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service682">
+    <wsdl:port name="Port682" binding="tns:Binding682">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage683">
+    <wsdl:part name="Response" element="tns:ResponseElement683"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage683">
+    <wsdl:part name="Request" element="tns:RequestElement683"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType683">
+    <wsdl:operation name="Operation683">
+      <wsdl:input message="tns:RequestMessage683" name="Input683"/>
+      <wsdl:output message="tns:ResponseMessage683" name="Output683"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding683" type="tns:PortType683">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation683">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation683"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service683">
+    <wsdl:port name="Port683" binding="tns:Binding683">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage684">
+    <wsdl:part name="Response" element="tns:ResponseElement684"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage684">
+    <wsdl:part name="Request" element="tns:RequestElement684"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType684">
+    <wsdl:operation name="Operation684">
+      <wsdl:input message="tns:RequestMessage684" name="Input684"/>
+      <wsdl:output message="tns:ResponseMessage684" name="Output684"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding684" type="tns:PortType684">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation684">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation684"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service684">
+    <wsdl:port name="Port684" binding="tns:Binding684">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage685">
+    <wsdl:part name="Response" element="tns:ResponseElement685"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage685">
+    <wsdl:part name="Request" element="tns:RequestElement685"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType685">
+    <wsdl:operation name="Operation685">
+      <wsdl:input message="tns:RequestMessage685" name="Input685"/>
+      <wsdl:output message="tns:ResponseMessage685" name="Output685"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding685" type="tns:PortType685">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation685">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation685"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service685">
+    <wsdl:port name="Port685" binding="tns:Binding685">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage686">
+    <wsdl:part name="Response" element="tns:ResponseElement686"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage686">
+    <wsdl:part name="Request" element="tns:RequestElement686"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType686">
+    <wsdl:operation name="Operation686">
+      <wsdl:input message="tns:RequestMessage686" name="Input686"/>
+      <wsdl:output message="tns:ResponseMessage686" name="Output686"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding686" type="tns:PortType686">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation686">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation686"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service686">
+    <wsdl:port name="Port686" binding="tns:Binding686">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage687">
+    <wsdl:part name="Response" element="tns:ResponseElement687"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage687">
+    <wsdl:part name="Request" element="tns:RequestElement687"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType687">
+    <wsdl:operation name="Operation687">
+      <wsdl:input message="tns:RequestMessage687" name="Input687"/>
+      <wsdl:output message="tns:ResponseMessage687" name="Output687"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding687" type="tns:PortType687">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation687">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation687"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service687">
+    <wsdl:port name="Port687" binding="tns:Binding687">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage688">
+    <wsdl:part name="Response" element="tns:ResponseElement688"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage688">
+    <wsdl:part name="Request" element="tns:RequestElement688"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType688">
+    <wsdl:operation name="Operation688">
+      <wsdl:input message="tns:RequestMessage688" name="Input688"/>
+      <wsdl:output message="tns:ResponseMessage688" name="Output688"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding688" type="tns:PortType688">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation688">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation688"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service688">
+    <wsdl:port name="Port688" binding="tns:Binding688">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage689">
+    <wsdl:part name="Response" element="tns:ResponseElement689"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage689">
+    <wsdl:part name="Request" element="tns:RequestElement689"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType689">
+    <wsdl:operation name="Operation689">
+      <wsdl:input message="tns:RequestMessage689" name="Input689"/>
+      <wsdl:output message="tns:ResponseMessage689" name="Output689"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding689" type="tns:PortType689">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation689">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation689"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service689">
+    <wsdl:port name="Port689" binding="tns:Binding689">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage690">
+    <wsdl:part name="Response" element="tns:ResponseElement690"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage690">
+    <wsdl:part name="Request" element="tns:RequestElement690"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType690">
+    <wsdl:operation name="Operation690">
+      <wsdl:input message="tns:RequestMessage690" name="Input690"/>
+      <wsdl:output message="tns:ResponseMessage690" name="Output690"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding690" type="tns:PortType690">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation690">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation690"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service690">
+    <wsdl:port name="Port690" binding="tns:Binding690">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage691">
+    <wsdl:part name="Response" element="tns:ResponseElement691"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage691">
+    <wsdl:part name="Request" element="tns:RequestElement691"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType691">
+    <wsdl:operation name="Operation691">
+      <wsdl:input message="tns:RequestMessage691" name="Input691"/>
+      <wsdl:output message="tns:ResponseMessage691" name="Output691"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding691" type="tns:PortType691">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation691">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation691"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service691">
+    <wsdl:port name="Port691" binding="tns:Binding691">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage692">
+    <wsdl:part name="Response" element="tns:ResponseElement692"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage692">
+    <wsdl:part name="Request" element="tns:RequestElement692"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType692">
+    <wsdl:operation name="Operation692">
+      <wsdl:input message="tns:RequestMessage692" name="Input692"/>
+      <wsdl:output message="tns:ResponseMessage692" name="Output692"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding692" type="tns:PortType692">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation692">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation692"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service692">
+    <wsdl:port name="Port692" binding="tns:Binding692">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage693">
+    <wsdl:part name="Response" element="tns:ResponseElement693"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage693">
+    <wsdl:part name="Request" element="tns:RequestElement693"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType693">
+    <wsdl:operation name="Operation693">
+      <wsdl:input message="tns:RequestMessage693" name="Input693"/>
+      <wsdl:output message="tns:ResponseMessage693" name="Output693"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding693" type="tns:PortType693">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation693">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation693"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service693">
+    <wsdl:port name="Port693" binding="tns:Binding693">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage694">
+    <wsdl:part name="Response" element="tns:ResponseElement694"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage694">
+    <wsdl:part name="Request" element="tns:RequestElement694"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType694">
+    <wsdl:operation name="Operation694">
+      <wsdl:input message="tns:RequestMessage694" name="Input694"/>
+      <wsdl:output message="tns:ResponseMessage694" name="Output694"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding694" type="tns:PortType694">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation694">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation694"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service694">
+    <wsdl:port name="Port694" binding="tns:Binding694">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage695">
+    <wsdl:part name="Response" element="tns:ResponseElement695"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage695">
+    <wsdl:part name="Request" element="tns:RequestElement695"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType695">
+    <wsdl:operation name="Operation695">
+      <wsdl:input message="tns:RequestMessage695" name="Input695"/>
+      <wsdl:output message="tns:ResponseMessage695" name="Output695"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding695" type="tns:PortType695">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation695">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation695"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service695">
+    <wsdl:port name="Port695" binding="tns:Binding695">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage696">
+    <wsdl:part name="Response" element="tns:ResponseElement696"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage696">
+    <wsdl:part name="Request" element="tns:RequestElement696"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType696">
+    <wsdl:operation name="Operation696">
+      <wsdl:input message="tns:RequestMessage696" name="Input696"/>
+      <wsdl:output message="tns:ResponseMessage696" name="Output696"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding696" type="tns:PortType696">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation696">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation696"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service696">
+    <wsdl:port name="Port696" binding="tns:Binding696">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage697">
+    <wsdl:part name="Response" element="tns:ResponseElement697"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage697">
+    <wsdl:part name="Request" element="tns:RequestElement697"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType697">
+    <wsdl:operation name="Operation697">
+      <wsdl:input message="tns:RequestMessage697" name="Input697"/>
+      <wsdl:output message="tns:ResponseMessage697" name="Output697"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding697" type="tns:PortType697">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation697">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation697"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service697">
+    <wsdl:port name="Port697" binding="tns:Binding697">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage698">
+    <wsdl:part name="Response" element="tns:ResponseElement698"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage698">
+    <wsdl:part name="Request" element="tns:RequestElement698"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType698">
+    <wsdl:operation name="Operation698">
+      <wsdl:input message="tns:RequestMessage698" name="Input698"/>
+      <wsdl:output message="tns:ResponseMessage698" name="Output698"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding698" type="tns:PortType698">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation698">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation698"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service698">
+    <wsdl:port name="Port698" binding="tns:Binding698">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage699">
+    <wsdl:part name="Response" element="tns:ResponseElement699"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage699">
+    <wsdl:part name="Request" element="tns:RequestElement699"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType699">
+    <wsdl:operation name="Operation699">
+      <wsdl:input message="tns:RequestMessage699" name="Input699"/>
+      <wsdl:output message="tns:ResponseMessage699" name="Output699"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding699" type="tns:PortType699">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation699">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation699"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service699">
+    <wsdl:port name="Port699" binding="tns:Binding699">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage700">
+    <wsdl:part name="Response" element="tns:ResponseElement700"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage700">
+    <wsdl:part name="Request" element="tns:RequestElement700"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType700">
+    <wsdl:operation name="Operation700">
+      <wsdl:input message="tns:RequestMessage700" name="Input700"/>
+      <wsdl:output message="tns:ResponseMessage700" name="Output700"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding700" type="tns:PortType700">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation700">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation700"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service700">
+    <wsdl:port name="Port700" binding="tns:Binding700">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage701">
+    <wsdl:part name="Response" element="tns:ResponseElement701"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage701">
+    <wsdl:part name="Request" element="tns:RequestElement701"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType701">
+    <wsdl:operation name="Operation701">
+      <wsdl:input message="tns:RequestMessage701" name="Input701"/>
+      <wsdl:output message="tns:ResponseMessage701" name="Output701"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding701" type="tns:PortType701">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation701">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation701"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service701">
+    <wsdl:port name="Port701" binding="tns:Binding701">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage702">
+    <wsdl:part name="Response" element="tns:ResponseElement702"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage702">
+    <wsdl:part name="Request" element="tns:RequestElement702"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType702">
+    <wsdl:operation name="Operation702">
+      <wsdl:input message="tns:RequestMessage702" name="Input702"/>
+      <wsdl:output message="tns:ResponseMessage702" name="Output702"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding702" type="tns:PortType702">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation702">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation702"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service702">
+    <wsdl:port name="Port702" binding="tns:Binding702">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage703">
+    <wsdl:part name="Response" element="tns:ResponseElement703"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage703">
+    <wsdl:part name="Request" element="tns:RequestElement703"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType703">
+    <wsdl:operation name="Operation703">
+      <wsdl:input message="tns:RequestMessage703" name="Input703"/>
+      <wsdl:output message="tns:ResponseMessage703" name="Output703"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding703" type="tns:PortType703">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation703">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation703"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service703">
+    <wsdl:port name="Port703" binding="tns:Binding703">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage704">
+    <wsdl:part name="Response" element="tns:ResponseElement704"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage704">
+    <wsdl:part name="Request" element="tns:RequestElement704"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType704">
+    <wsdl:operation name="Operation704">
+      <wsdl:input message="tns:RequestMessage704" name="Input704"/>
+      <wsdl:output message="tns:ResponseMessage704" name="Output704"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding704" type="tns:PortType704">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation704">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation704"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service704">
+    <wsdl:port name="Port704" binding="tns:Binding704">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage705">
+    <wsdl:part name="Response" element="tns:ResponseElement705"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage705">
+    <wsdl:part name="Request" element="tns:RequestElement705"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType705">
+    <wsdl:operation name="Operation705">
+      <wsdl:input message="tns:RequestMessage705" name="Input705"/>
+      <wsdl:output message="tns:ResponseMessage705" name="Output705"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding705" type="tns:PortType705">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation705">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation705"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service705">
+    <wsdl:port name="Port705" binding="tns:Binding705">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage706">
+    <wsdl:part name="Response" element="tns:ResponseElement706"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage706">
+    <wsdl:part name="Request" element="tns:RequestElement706"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType706">
+    <wsdl:operation name="Operation706">
+      <wsdl:input message="tns:RequestMessage706" name="Input706"/>
+      <wsdl:output message="tns:ResponseMessage706" name="Output706"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding706" type="tns:PortType706">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation706">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation706"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service706">
+    <wsdl:port name="Port706" binding="tns:Binding706">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage707">
+    <wsdl:part name="Response" element="tns:ResponseElement707"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage707">
+    <wsdl:part name="Request" element="tns:RequestElement707"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType707">
+    <wsdl:operation name="Operation707">
+      <wsdl:input message="tns:RequestMessage707" name="Input707"/>
+      <wsdl:output message="tns:ResponseMessage707" name="Output707"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding707" type="tns:PortType707">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation707">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation707"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service707">
+    <wsdl:port name="Port707" binding="tns:Binding707">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage708">
+    <wsdl:part name="Response" element="tns:ResponseElement708"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage708">
+    <wsdl:part name="Request" element="tns:RequestElement708"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType708">
+    <wsdl:operation name="Operation708">
+      <wsdl:input message="tns:RequestMessage708" name="Input708"/>
+      <wsdl:output message="tns:ResponseMessage708" name="Output708"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding708" type="tns:PortType708">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation708">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation708"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service708">
+    <wsdl:port name="Port708" binding="tns:Binding708">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage709">
+    <wsdl:part name="Response" element="tns:ResponseElement709"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage709">
+    <wsdl:part name="Request" element="tns:RequestElement709"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType709">
+    <wsdl:operation name="Operation709">
+      <wsdl:input message="tns:RequestMessage709" name="Input709"/>
+      <wsdl:output message="tns:ResponseMessage709" name="Output709"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding709" type="tns:PortType709">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation709">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation709"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service709">
+    <wsdl:port name="Port709" binding="tns:Binding709">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage710">
+    <wsdl:part name="Response" element="tns:ResponseElement710"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage710">
+    <wsdl:part name="Request" element="tns:RequestElement710"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType710">
+    <wsdl:operation name="Operation710">
+      <wsdl:input message="tns:RequestMessage710" name="Input710"/>
+      <wsdl:output message="tns:ResponseMessage710" name="Output710"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding710" type="tns:PortType710">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation710">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation710"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service710">
+    <wsdl:port name="Port710" binding="tns:Binding710">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage711">
+    <wsdl:part name="Response" element="tns:ResponseElement711"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage711">
+    <wsdl:part name="Request" element="tns:RequestElement711"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType711">
+    <wsdl:operation name="Operation711">
+      <wsdl:input message="tns:RequestMessage711" name="Input711"/>
+      <wsdl:output message="tns:ResponseMessage711" name="Output711"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding711" type="tns:PortType711">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation711">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation711"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service711">
+    <wsdl:port name="Port711" binding="tns:Binding711">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage712">
+    <wsdl:part name="Response" element="tns:ResponseElement712"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage712">
+    <wsdl:part name="Request" element="tns:RequestElement712"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType712">
+    <wsdl:operation name="Operation712">
+      <wsdl:input message="tns:RequestMessage712" name="Input712"/>
+      <wsdl:output message="tns:ResponseMessage712" name="Output712"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding712" type="tns:PortType712">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation712">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation712"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service712">
+    <wsdl:port name="Port712" binding="tns:Binding712">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage713">
+    <wsdl:part name="Response" element="tns:ResponseElement713"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage713">
+    <wsdl:part name="Request" element="tns:RequestElement713"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType713">
+    <wsdl:operation name="Operation713">
+      <wsdl:input message="tns:RequestMessage713" name="Input713"/>
+      <wsdl:output message="tns:ResponseMessage713" name="Output713"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding713" type="tns:PortType713">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation713">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation713"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service713">
+    <wsdl:port name="Port713" binding="tns:Binding713">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage714">
+    <wsdl:part name="Response" element="tns:ResponseElement714"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage714">
+    <wsdl:part name="Request" element="tns:RequestElement714"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType714">
+    <wsdl:operation name="Operation714">
+      <wsdl:input message="tns:RequestMessage714" name="Input714"/>
+      <wsdl:output message="tns:ResponseMessage714" name="Output714"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding714" type="tns:PortType714">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation714">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation714"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service714">
+    <wsdl:port name="Port714" binding="tns:Binding714">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage715">
+    <wsdl:part name="Response" element="tns:ResponseElement715"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage715">
+    <wsdl:part name="Request" element="tns:RequestElement715"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType715">
+    <wsdl:operation name="Operation715">
+      <wsdl:input message="tns:RequestMessage715" name="Input715"/>
+      <wsdl:output message="tns:ResponseMessage715" name="Output715"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding715" type="tns:PortType715">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation715">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation715"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service715">
+    <wsdl:port name="Port715" binding="tns:Binding715">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage716">
+    <wsdl:part name="Response" element="tns:ResponseElement716"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage716">
+    <wsdl:part name="Request" element="tns:RequestElement716"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType716">
+    <wsdl:operation name="Operation716">
+      <wsdl:input message="tns:RequestMessage716" name="Input716"/>
+      <wsdl:output message="tns:ResponseMessage716" name="Output716"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding716" type="tns:PortType716">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation716">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation716"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service716">
+    <wsdl:port name="Port716" binding="tns:Binding716">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage717">
+    <wsdl:part name="Response" element="tns:ResponseElement717"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage717">
+    <wsdl:part name="Request" element="tns:RequestElement717"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType717">
+    <wsdl:operation name="Operation717">
+      <wsdl:input message="tns:RequestMessage717" name="Input717"/>
+      <wsdl:output message="tns:ResponseMessage717" name="Output717"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding717" type="tns:PortType717">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation717">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation717"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service717">
+    <wsdl:port name="Port717" binding="tns:Binding717">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage718">
+    <wsdl:part name="Response" element="tns:ResponseElement718"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage718">
+    <wsdl:part name="Request" element="tns:RequestElement718"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType718">
+    <wsdl:operation name="Operation718">
+      <wsdl:input message="tns:RequestMessage718" name="Input718"/>
+      <wsdl:output message="tns:ResponseMessage718" name="Output718"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding718" type="tns:PortType718">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation718">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation718"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service718">
+    <wsdl:port name="Port718" binding="tns:Binding718">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage719">
+    <wsdl:part name="Response" element="tns:ResponseElement719"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage719">
+    <wsdl:part name="Request" element="tns:RequestElement719"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType719">
+    <wsdl:operation name="Operation719">
+      <wsdl:input message="tns:RequestMessage719" name="Input719"/>
+      <wsdl:output message="tns:ResponseMessage719" name="Output719"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding719" type="tns:PortType719">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation719">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation719"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service719">
+    <wsdl:port name="Port719" binding="tns:Binding719">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage720">
+    <wsdl:part name="Response" element="tns:ResponseElement720"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage720">
+    <wsdl:part name="Request" element="tns:RequestElement720"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType720">
+    <wsdl:operation name="Operation720">
+      <wsdl:input message="tns:RequestMessage720" name="Input720"/>
+      <wsdl:output message="tns:ResponseMessage720" name="Output720"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding720" type="tns:PortType720">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation720">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation720"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service720">
+    <wsdl:port name="Port720" binding="tns:Binding720">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage721">
+    <wsdl:part name="Response" element="tns:ResponseElement721"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage721">
+    <wsdl:part name="Request" element="tns:RequestElement721"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType721">
+    <wsdl:operation name="Operation721">
+      <wsdl:input message="tns:RequestMessage721" name="Input721"/>
+      <wsdl:output message="tns:ResponseMessage721" name="Output721"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding721" type="tns:PortType721">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation721">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation721"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service721">
+    <wsdl:port name="Port721" binding="tns:Binding721">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage722">
+    <wsdl:part name="Response" element="tns:ResponseElement722"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage722">
+    <wsdl:part name="Request" element="tns:RequestElement722"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType722">
+    <wsdl:operation name="Operation722">
+      <wsdl:input message="tns:RequestMessage722" name="Input722"/>
+      <wsdl:output message="tns:ResponseMessage722" name="Output722"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding722" type="tns:PortType722">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation722">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation722"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service722">
+    <wsdl:port name="Port722" binding="tns:Binding722">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage723">
+    <wsdl:part name="Response" element="tns:ResponseElement723"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage723">
+    <wsdl:part name="Request" element="tns:RequestElement723"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType723">
+    <wsdl:operation name="Operation723">
+      <wsdl:input message="tns:RequestMessage723" name="Input723"/>
+      <wsdl:output message="tns:ResponseMessage723" name="Output723"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding723" type="tns:PortType723">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation723">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation723"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service723">
+    <wsdl:port name="Port723" binding="tns:Binding723">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage724">
+    <wsdl:part name="Response" element="tns:ResponseElement724"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage724">
+    <wsdl:part name="Request" element="tns:RequestElement724"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType724">
+    <wsdl:operation name="Operation724">
+      <wsdl:input message="tns:RequestMessage724" name="Input724"/>
+      <wsdl:output message="tns:ResponseMessage724" name="Output724"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding724" type="tns:PortType724">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation724">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation724"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service724">
+    <wsdl:port name="Port724" binding="tns:Binding724">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage725">
+    <wsdl:part name="Response" element="tns:ResponseElement725"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage725">
+    <wsdl:part name="Request" element="tns:RequestElement725"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType725">
+    <wsdl:operation name="Operation725">
+      <wsdl:input message="tns:RequestMessage725" name="Input725"/>
+      <wsdl:output message="tns:ResponseMessage725" name="Output725"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding725" type="tns:PortType725">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation725">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation725"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service725">
+    <wsdl:port name="Port725" binding="tns:Binding725">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage726">
+    <wsdl:part name="Response" element="tns:ResponseElement726"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage726">
+    <wsdl:part name="Request" element="tns:RequestElement726"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType726">
+    <wsdl:operation name="Operation726">
+      <wsdl:input message="tns:RequestMessage726" name="Input726"/>
+      <wsdl:output message="tns:ResponseMessage726" name="Output726"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding726" type="tns:PortType726">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation726">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation726"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service726">
+    <wsdl:port name="Port726" binding="tns:Binding726">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage727">
+    <wsdl:part name="Response" element="tns:ResponseElement727"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage727">
+    <wsdl:part name="Request" element="tns:RequestElement727"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType727">
+    <wsdl:operation name="Operation727">
+      <wsdl:input message="tns:RequestMessage727" name="Input727"/>
+      <wsdl:output message="tns:ResponseMessage727" name="Output727"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding727" type="tns:PortType727">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation727">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation727"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service727">
+    <wsdl:port name="Port727" binding="tns:Binding727">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage728">
+    <wsdl:part name="Response" element="tns:ResponseElement728"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage728">
+    <wsdl:part name="Request" element="tns:RequestElement728"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType728">
+    <wsdl:operation name="Operation728">
+      <wsdl:input message="tns:RequestMessage728" name="Input728"/>
+      <wsdl:output message="tns:ResponseMessage728" name="Output728"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding728" type="tns:PortType728">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation728">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation728"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service728">
+    <wsdl:port name="Port728" binding="tns:Binding728">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage729">
+    <wsdl:part name="Response" element="tns:ResponseElement729"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage729">
+    <wsdl:part name="Request" element="tns:RequestElement729"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType729">
+    <wsdl:operation name="Operation729">
+      <wsdl:input message="tns:RequestMessage729" name="Input729"/>
+      <wsdl:output message="tns:ResponseMessage729" name="Output729"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding729" type="tns:PortType729">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation729">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation729"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service729">
+    <wsdl:port name="Port729" binding="tns:Binding729">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage730">
+    <wsdl:part name="Response" element="tns:ResponseElement730"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage730">
+    <wsdl:part name="Request" element="tns:RequestElement730"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType730">
+    <wsdl:operation name="Operation730">
+      <wsdl:input message="tns:RequestMessage730" name="Input730"/>
+      <wsdl:output message="tns:ResponseMessage730" name="Output730"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding730" type="tns:PortType730">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation730">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation730"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service730">
+    <wsdl:port name="Port730" binding="tns:Binding730">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage731">
+    <wsdl:part name="Response" element="tns:ResponseElement731"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage731">
+    <wsdl:part name="Request" element="tns:RequestElement731"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType731">
+    <wsdl:operation name="Operation731">
+      <wsdl:input message="tns:RequestMessage731" name="Input731"/>
+      <wsdl:output message="tns:ResponseMessage731" name="Output731"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding731" type="tns:PortType731">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation731">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation731"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service731">
+    <wsdl:port name="Port731" binding="tns:Binding731">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage732">
+    <wsdl:part name="Response" element="tns:ResponseElement732"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage732">
+    <wsdl:part name="Request" element="tns:RequestElement732"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType732">
+    <wsdl:operation name="Operation732">
+      <wsdl:input message="tns:RequestMessage732" name="Input732"/>
+      <wsdl:output message="tns:ResponseMessage732" name="Output732"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding732" type="tns:PortType732">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation732">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation732"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service732">
+    <wsdl:port name="Port732" binding="tns:Binding732">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage733">
+    <wsdl:part name="Response" element="tns:ResponseElement733"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage733">
+    <wsdl:part name="Request" element="tns:RequestElement733"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType733">
+    <wsdl:operation name="Operation733">
+      <wsdl:input message="tns:RequestMessage733" name="Input733"/>
+      <wsdl:output message="tns:ResponseMessage733" name="Output733"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding733" type="tns:PortType733">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation733">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation733"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service733">
+    <wsdl:port name="Port733" binding="tns:Binding733">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage734">
+    <wsdl:part name="Response" element="tns:ResponseElement734"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage734">
+    <wsdl:part name="Request" element="tns:RequestElement734"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType734">
+    <wsdl:operation name="Operation734">
+      <wsdl:input message="tns:RequestMessage734" name="Input734"/>
+      <wsdl:output message="tns:ResponseMessage734" name="Output734"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding734" type="tns:PortType734">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation734">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation734"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service734">
+    <wsdl:port name="Port734" binding="tns:Binding734">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage735">
+    <wsdl:part name="Response" element="tns:ResponseElement735"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage735">
+    <wsdl:part name="Request" element="tns:RequestElement735"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType735">
+    <wsdl:operation name="Operation735">
+      <wsdl:input message="tns:RequestMessage735" name="Input735"/>
+      <wsdl:output message="tns:ResponseMessage735" name="Output735"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding735" type="tns:PortType735">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation735">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation735"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service735">
+    <wsdl:port name="Port735" binding="tns:Binding735">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage736">
+    <wsdl:part name="Response" element="tns:ResponseElement736"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage736">
+    <wsdl:part name="Request" element="tns:RequestElement736"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType736">
+    <wsdl:operation name="Operation736">
+      <wsdl:input message="tns:RequestMessage736" name="Input736"/>
+      <wsdl:output message="tns:ResponseMessage736" name="Output736"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding736" type="tns:PortType736">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation736">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation736"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service736">
+    <wsdl:port name="Port736" binding="tns:Binding736">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage737">
+    <wsdl:part name="Response" element="tns:ResponseElement737"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage737">
+    <wsdl:part name="Request" element="tns:RequestElement737"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType737">
+    <wsdl:operation name="Operation737">
+      <wsdl:input message="tns:RequestMessage737" name="Input737"/>
+      <wsdl:output message="tns:ResponseMessage737" name="Output737"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding737" type="tns:PortType737">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation737">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation737"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service737">
+    <wsdl:port name="Port737" binding="tns:Binding737">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage738">
+    <wsdl:part name="Response" element="tns:ResponseElement738"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage738">
+    <wsdl:part name="Request" element="tns:RequestElement738"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType738">
+    <wsdl:operation name="Operation738">
+      <wsdl:input message="tns:RequestMessage738" name="Input738"/>
+      <wsdl:output message="tns:ResponseMessage738" name="Output738"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding738" type="tns:PortType738">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation738">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation738"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service738">
+    <wsdl:port name="Port738" binding="tns:Binding738">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage739">
+    <wsdl:part name="Response" element="tns:ResponseElement739"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage739">
+    <wsdl:part name="Request" element="tns:RequestElement739"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType739">
+    <wsdl:operation name="Operation739">
+      <wsdl:input message="tns:RequestMessage739" name="Input739"/>
+      <wsdl:output message="tns:ResponseMessage739" name="Output739"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding739" type="tns:PortType739">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation739">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation739"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service739">
+    <wsdl:port name="Port739" binding="tns:Binding739">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage740">
+    <wsdl:part name="Response" element="tns:ResponseElement740"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage740">
+    <wsdl:part name="Request" element="tns:RequestElement740"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType740">
+    <wsdl:operation name="Operation740">
+      <wsdl:input message="tns:RequestMessage740" name="Input740"/>
+      <wsdl:output message="tns:ResponseMessage740" name="Output740"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding740" type="tns:PortType740">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation740">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation740"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service740">
+    <wsdl:port name="Port740" binding="tns:Binding740">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage741">
+    <wsdl:part name="Response" element="tns:ResponseElement741"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage741">
+    <wsdl:part name="Request" element="tns:RequestElement741"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType741">
+    <wsdl:operation name="Operation741">
+      <wsdl:input message="tns:RequestMessage741" name="Input741"/>
+      <wsdl:output message="tns:ResponseMessage741" name="Output741"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding741" type="tns:PortType741">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation741">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation741"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service741">
+    <wsdl:port name="Port741" binding="tns:Binding741">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage742">
+    <wsdl:part name="Response" element="tns:ResponseElement742"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage742">
+    <wsdl:part name="Request" element="tns:RequestElement742"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType742">
+    <wsdl:operation name="Operation742">
+      <wsdl:input message="tns:RequestMessage742" name="Input742"/>
+      <wsdl:output message="tns:ResponseMessage742" name="Output742"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding742" type="tns:PortType742">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation742">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation742"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service742">
+    <wsdl:port name="Port742" binding="tns:Binding742">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage743">
+    <wsdl:part name="Response" element="tns:ResponseElement743"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage743">
+    <wsdl:part name="Request" element="tns:RequestElement743"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType743">
+    <wsdl:operation name="Operation743">
+      <wsdl:input message="tns:RequestMessage743" name="Input743"/>
+      <wsdl:output message="tns:ResponseMessage743" name="Output743"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding743" type="tns:PortType743">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation743">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation743"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service743">
+    <wsdl:port name="Port743" binding="tns:Binding743">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage744">
+    <wsdl:part name="Response" element="tns:ResponseElement744"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage744">
+    <wsdl:part name="Request" element="tns:RequestElement744"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType744">
+    <wsdl:operation name="Operation744">
+      <wsdl:input message="tns:RequestMessage744" name="Input744"/>
+      <wsdl:output message="tns:ResponseMessage744" name="Output744"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding744" type="tns:PortType744">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation744">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation744"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service744">
+    <wsdl:port name="Port744" binding="tns:Binding744">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage745">
+    <wsdl:part name="Response" element="tns:ResponseElement745"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage745">
+    <wsdl:part name="Request" element="tns:RequestElement745"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType745">
+    <wsdl:operation name="Operation745">
+      <wsdl:input message="tns:RequestMessage745" name="Input745"/>
+      <wsdl:output message="tns:ResponseMessage745" name="Output745"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding745" type="tns:PortType745">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation745">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation745"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service745">
+    <wsdl:port name="Port745" binding="tns:Binding745">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage746">
+    <wsdl:part name="Response" element="tns:ResponseElement746"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage746">
+    <wsdl:part name="Request" element="tns:RequestElement746"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType746">
+    <wsdl:operation name="Operation746">
+      <wsdl:input message="tns:RequestMessage746" name="Input746"/>
+      <wsdl:output message="tns:ResponseMessage746" name="Output746"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding746" type="tns:PortType746">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation746">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation746"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service746">
+    <wsdl:port name="Port746" binding="tns:Binding746">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage747">
+    <wsdl:part name="Response" element="tns:ResponseElement747"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage747">
+    <wsdl:part name="Request" element="tns:RequestElement747"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType747">
+    <wsdl:operation name="Operation747">
+      <wsdl:input message="tns:RequestMessage747" name="Input747"/>
+      <wsdl:output message="tns:ResponseMessage747" name="Output747"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding747" type="tns:PortType747">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation747">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation747"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service747">
+    <wsdl:port name="Port747" binding="tns:Binding747">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage748">
+    <wsdl:part name="Response" element="tns:ResponseElement748"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage748">
+    <wsdl:part name="Request" element="tns:RequestElement748"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType748">
+    <wsdl:operation name="Operation748">
+      <wsdl:input message="tns:RequestMessage748" name="Input748"/>
+      <wsdl:output message="tns:ResponseMessage748" name="Output748"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding748" type="tns:PortType748">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation748">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation748"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service748">
+    <wsdl:port name="Port748" binding="tns:Binding748">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage749">
+    <wsdl:part name="Response" element="tns:ResponseElement749"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage749">
+    <wsdl:part name="Request" element="tns:RequestElement749"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType749">
+    <wsdl:operation name="Operation749">
+      <wsdl:input message="tns:RequestMessage749" name="Input749"/>
+      <wsdl:output message="tns:ResponseMessage749" name="Output749"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding749" type="tns:PortType749">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation749">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation749"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service749">
+    <wsdl:port name="Port749" binding="tns:Binding749">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage750">
+    <wsdl:part name="Response" element="tns:ResponseElement750"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage750">
+    <wsdl:part name="Request" element="tns:RequestElement750"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType750">
+    <wsdl:operation name="Operation750">
+      <wsdl:input message="tns:RequestMessage750" name="Input750"/>
+      <wsdl:output message="tns:ResponseMessage750" name="Output750"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding750" type="tns:PortType750">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation750">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation750"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service750">
+    <wsdl:port name="Port750" binding="tns:Binding750">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage751">
+    <wsdl:part name="Response" element="tns:ResponseElement751"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage751">
+    <wsdl:part name="Request" element="tns:RequestElement751"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType751">
+    <wsdl:operation name="Operation751">
+      <wsdl:input message="tns:RequestMessage751" name="Input751"/>
+      <wsdl:output message="tns:ResponseMessage751" name="Output751"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding751" type="tns:PortType751">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation751">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation751"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service751">
+    <wsdl:port name="Port751" binding="tns:Binding751">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage752">
+    <wsdl:part name="Response" element="tns:ResponseElement752"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage752">
+    <wsdl:part name="Request" element="tns:RequestElement752"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType752">
+    <wsdl:operation name="Operation752">
+      <wsdl:input message="tns:RequestMessage752" name="Input752"/>
+      <wsdl:output message="tns:ResponseMessage752" name="Output752"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding752" type="tns:PortType752">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation752">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation752"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service752">
+    <wsdl:port name="Port752" binding="tns:Binding752">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage753">
+    <wsdl:part name="Response" element="tns:ResponseElement753"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage753">
+    <wsdl:part name="Request" element="tns:RequestElement753"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType753">
+    <wsdl:operation name="Operation753">
+      <wsdl:input message="tns:RequestMessage753" name="Input753"/>
+      <wsdl:output message="tns:ResponseMessage753" name="Output753"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding753" type="tns:PortType753">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation753">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation753"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service753">
+    <wsdl:port name="Port753" binding="tns:Binding753">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage754">
+    <wsdl:part name="Response" element="tns:ResponseElement754"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage754">
+    <wsdl:part name="Request" element="tns:RequestElement754"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType754">
+    <wsdl:operation name="Operation754">
+      <wsdl:input message="tns:RequestMessage754" name="Input754"/>
+      <wsdl:output message="tns:ResponseMessage754" name="Output754"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding754" type="tns:PortType754">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation754">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation754"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service754">
+    <wsdl:port name="Port754" binding="tns:Binding754">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage755">
+    <wsdl:part name="Response" element="tns:ResponseElement755"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage755">
+    <wsdl:part name="Request" element="tns:RequestElement755"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType755">
+    <wsdl:operation name="Operation755">
+      <wsdl:input message="tns:RequestMessage755" name="Input755"/>
+      <wsdl:output message="tns:ResponseMessage755" name="Output755"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding755" type="tns:PortType755">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation755">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation755"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service755">
+    <wsdl:port name="Port755" binding="tns:Binding755">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage756">
+    <wsdl:part name="Response" element="tns:ResponseElement756"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage756">
+    <wsdl:part name="Request" element="tns:RequestElement756"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType756">
+    <wsdl:operation name="Operation756">
+      <wsdl:input message="tns:RequestMessage756" name="Input756"/>
+      <wsdl:output message="tns:ResponseMessage756" name="Output756"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding756" type="tns:PortType756">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation756">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation756"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service756">
+    <wsdl:port name="Port756" binding="tns:Binding756">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage757">
+    <wsdl:part name="Response" element="tns:ResponseElement757"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage757">
+    <wsdl:part name="Request" element="tns:RequestElement757"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType757">
+    <wsdl:operation name="Operation757">
+      <wsdl:input message="tns:RequestMessage757" name="Input757"/>
+      <wsdl:output message="tns:ResponseMessage757" name="Output757"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding757" type="tns:PortType757">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation757">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation757"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service757">
+    <wsdl:port name="Port757" binding="tns:Binding757">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage758">
+    <wsdl:part name="Response" element="tns:ResponseElement758"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage758">
+    <wsdl:part name="Request" element="tns:RequestElement758"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType758">
+    <wsdl:operation name="Operation758">
+      <wsdl:input message="tns:RequestMessage758" name="Input758"/>
+      <wsdl:output message="tns:ResponseMessage758" name="Output758"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding758" type="tns:PortType758">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation758">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation758"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service758">
+    <wsdl:port name="Port758" binding="tns:Binding758">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage759">
+    <wsdl:part name="Response" element="tns:ResponseElement759"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage759">
+    <wsdl:part name="Request" element="tns:RequestElement759"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType759">
+    <wsdl:operation name="Operation759">
+      <wsdl:input message="tns:RequestMessage759" name="Input759"/>
+      <wsdl:output message="tns:ResponseMessage759" name="Output759"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding759" type="tns:PortType759">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation759">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation759"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service759">
+    <wsdl:port name="Port759" binding="tns:Binding759">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage760">
+    <wsdl:part name="Response" element="tns:ResponseElement760"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage760">
+    <wsdl:part name="Request" element="tns:RequestElement760"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType760">
+    <wsdl:operation name="Operation760">
+      <wsdl:input message="tns:RequestMessage760" name="Input760"/>
+      <wsdl:output message="tns:ResponseMessage760" name="Output760"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding760" type="tns:PortType760">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation760">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation760"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service760">
+    <wsdl:port name="Port760" binding="tns:Binding760">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage761">
+    <wsdl:part name="Response" element="tns:ResponseElement761"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage761">
+    <wsdl:part name="Request" element="tns:RequestElement761"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType761">
+    <wsdl:operation name="Operation761">
+      <wsdl:input message="tns:RequestMessage761" name="Input761"/>
+      <wsdl:output message="tns:ResponseMessage761" name="Output761"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding761" type="tns:PortType761">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation761">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation761"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service761">
+    <wsdl:port name="Port761" binding="tns:Binding761">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage762">
+    <wsdl:part name="Response" element="tns:ResponseElement762"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage762">
+    <wsdl:part name="Request" element="tns:RequestElement762"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType762">
+    <wsdl:operation name="Operation762">
+      <wsdl:input message="tns:RequestMessage762" name="Input762"/>
+      <wsdl:output message="tns:ResponseMessage762" name="Output762"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding762" type="tns:PortType762">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation762">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation762"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service762">
+    <wsdl:port name="Port762" binding="tns:Binding762">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage763">
+    <wsdl:part name="Response" element="tns:ResponseElement763"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage763">
+    <wsdl:part name="Request" element="tns:RequestElement763"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType763">
+    <wsdl:operation name="Operation763">
+      <wsdl:input message="tns:RequestMessage763" name="Input763"/>
+      <wsdl:output message="tns:ResponseMessage763" name="Output763"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding763" type="tns:PortType763">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation763">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation763"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service763">
+    <wsdl:port name="Port763" binding="tns:Binding763">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage764">
+    <wsdl:part name="Response" element="tns:ResponseElement764"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage764">
+    <wsdl:part name="Request" element="tns:RequestElement764"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType764">
+    <wsdl:operation name="Operation764">
+      <wsdl:input message="tns:RequestMessage764" name="Input764"/>
+      <wsdl:output message="tns:ResponseMessage764" name="Output764"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding764" type="tns:PortType764">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation764">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation764"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service764">
+    <wsdl:port name="Port764" binding="tns:Binding764">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage765">
+    <wsdl:part name="Response" element="tns:ResponseElement765"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage765">
+    <wsdl:part name="Request" element="tns:RequestElement765"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType765">
+    <wsdl:operation name="Operation765">
+      <wsdl:input message="tns:RequestMessage765" name="Input765"/>
+      <wsdl:output message="tns:ResponseMessage765" name="Output765"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding765" type="tns:PortType765">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation765">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation765"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service765">
+    <wsdl:port name="Port765" binding="tns:Binding765">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage766">
+    <wsdl:part name="Response" element="tns:ResponseElement766"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage766">
+    <wsdl:part name="Request" element="tns:RequestElement766"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType766">
+    <wsdl:operation name="Operation766">
+      <wsdl:input message="tns:RequestMessage766" name="Input766"/>
+      <wsdl:output message="tns:ResponseMessage766" name="Output766"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding766" type="tns:PortType766">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation766">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation766"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service766">
+    <wsdl:port name="Port766" binding="tns:Binding766">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage767">
+    <wsdl:part name="Response" element="tns:ResponseElement767"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage767">
+    <wsdl:part name="Request" element="tns:RequestElement767"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType767">
+    <wsdl:operation name="Operation767">
+      <wsdl:input message="tns:RequestMessage767" name="Input767"/>
+      <wsdl:output message="tns:ResponseMessage767" name="Output767"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding767" type="tns:PortType767">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation767">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation767"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service767">
+    <wsdl:port name="Port767" binding="tns:Binding767">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage768">
+    <wsdl:part name="Response" element="tns:ResponseElement768"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage768">
+    <wsdl:part name="Request" element="tns:RequestElement768"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType768">
+    <wsdl:operation name="Operation768">
+      <wsdl:input message="tns:RequestMessage768" name="Input768"/>
+      <wsdl:output message="tns:ResponseMessage768" name="Output768"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding768" type="tns:PortType768">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation768">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation768"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service768">
+    <wsdl:port name="Port768" binding="tns:Binding768">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage769">
+    <wsdl:part name="Response" element="tns:ResponseElement769"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage769">
+    <wsdl:part name="Request" element="tns:RequestElement769"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType769">
+    <wsdl:operation name="Operation769">
+      <wsdl:input message="tns:RequestMessage769" name="Input769"/>
+      <wsdl:output message="tns:ResponseMessage769" name="Output769"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding769" type="tns:PortType769">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation769">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation769"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service769">
+    <wsdl:port name="Port769" binding="tns:Binding769">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage770">
+    <wsdl:part name="Response" element="tns:ResponseElement770"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage770">
+    <wsdl:part name="Request" element="tns:RequestElement770"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType770">
+    <wsdl:operation name="Operation770">
+      <wsdl:input message="tns:RequestMessage770" name="Input770"/>
+      <wsdl:output message="tns:ResponseMessage770" name="Output770"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding770" type="tns:PortType770">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation770">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation770"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service770">
+    <wsdl:port name="Port770" binding="tns:Binding770">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage771">
+    <wsdl:part name="Response" element="tns:ResponseElement771"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage771">
+    <wsdl:part name="Request" element="tns:RequestElement771"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType771">
+    <wsdl:operation name="Operation771">
+      <wsdl:input message="tns:RequestMessage771" name="Input771"/>
+      <wsdl:output message="tns:ResponseMessage771" name="Output771"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding771" type="tns:PortType771">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation771">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation771"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service771">
+    <wsdl:port name="Port771" binding="tns:Binding771">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage772">
+    <wsdl:part name="Response" element="tns:ResponseElement772"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage772">
+    <wsdl:part name="Request" element="tns:RequestElement772"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType772">
+    <wsdl:operation name="Operation772">
+      <wsdl:input message="tns:RequestMessage772" name="Input772"/>
+      <wsdl:output message="tns:ResponseMessage772" name="Output772"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding772" type="tns:PortType772">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation772">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation772"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service772">
+    <wsdl:port name="Port772" binding="tns:Binding772">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage773">
+    <wsdl:part name="Response" element="tns:ResponseElement773"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage773">
+    <wsdl:part name="Request" element="tns:RequestElement773"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType773">
+    <wsdl:operation name="Operation773">
+      <wsdl:input message="tns:RequestMessage773" name="Input773"/>
+      <wsdl:output message="tns:ResponseMessage773" name="Output773"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding773" type="tns:PortType773">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation773">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation773"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service773">
+    <wsdl:port name="Port773" binding="tns:Binding773">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage774">
+    <wsdl:part name="Response" element="tns:ResponseElement774"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage774">
+    <wsdl:part name="Request" element="tns:RequestElement774"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType774">
+    <wsdl:operation name="Operation774">
+      <wsdl:input message="tns:RequestMessage774" name="Input774"/>
+      <wsdl:output message="tns:ResponseMessage774" name="Output774"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding774" type="tns:PortType774">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation774">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation774"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service774">
+    <wsdl:port name="Port774" binding="tns:Binding774">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage775">
+    <wsdl:part name="Response" element="tns:ResponseElement775"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage775">
+    <wsdl:part name="Request" element="tns:RequestElement775"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType775">
+    <wsdl:operation name="Operation775">
+      <wsdl:input message="tns:RequestMessage775" name="Input775"/>
+      <wsdl:output message="tns:ResponseMessage775" name="Output775"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding775" type="tns:PortType775">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation775">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation775"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service775">
+    <wsdl:port name="Port775" binding="tns:Binding775">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage776">
+    <wsdl:part name="Response" element="tns:ResponseElement776"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage776">
+    <wsdl:part name="Request" element="tns:RequestElement776"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType776">
+    <wsdl:operation name="Operation776">
+      <wsdl:input message="tns:RequestMessage776" name="Input776"/>
+      <wsdl:output message="tns:ResponseMessage776" name="Output776"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding776" type="tns:PortType776">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation776">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation776"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service776">
+    <wsdl:port name="Port776" binding="tns:Binding776">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage777">
+    <wsdl:part name="Response" element="tns:ResponseElement777"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage777">
+    <wsdl:part name="Request" element="tns:RequestElement777"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType777">
+    <wsdl:operation name="Operation777">
+      <wsdl:input message="tns:RequestMessage777" name="Input777"/>
+      <wsdl:output message="tns:ResponseMessage777" name="Output777"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding777" type="tns:PortType777">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation777">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation777"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service777">
+    <wsdl:port name="Port777" binding="tns:Binding777">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage778">
+    <wsdl:part name="Response" element="tns:ResponseElement778"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage778">
+    <wsdl:part name="Request" element="tns:RequestElement778"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType778">
+    <wsdl:operation name="Operation778">
+      <wsdl:input message="tns:RequestMessage778" name="Input778"/>
+      <wsdl:output message="tns:ResponseMessage778" name="Output778"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding778" type="tns:PortType778">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation778">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation778"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service778">
+    <wsdl:port name="Port778" binding="tns:Binding778">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage779">
+    <wsdl:part name="Response" element="tns:ResponseElement779"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage779">
+    <wsdl:part name="Request" element="tns:RequestElement779"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType779">
+    <wsdl:operation name="Operation779">
+      <wsdl:input message="tns:RequestMessage779" name="Input779"/>
+      <wsdl:output message="tns:ResponseMessage779" name="Output779"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding779" type="tns:PortType779">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation779">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation779"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service779">
+    <wsdl:port name="Port779" binding="tns:Binding779">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage780">
+    <wsdl:part name="Response" element="tns:ResponseElement780"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage780">
+    <wsdl:part name="Request" element="tns:RequestElement780"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType780">
+    <wsdl:operation name="Operation780">
+      <wsdl:input message="tns:RequestMessage780" name="Input780"/>
+      <wsdl:output message="tns:ResponseMessage780" name="Output780"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding780" type="tns:PortType780">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation780">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation780"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service780">
+    <wsdl:port name="Port780" binding="tns:Binding780">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage781">
+    <wsdl:part name="Response" element="tns:ResponseElement781"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage781">
+    <wsdl:part name="Request" element="tns:RequestElement781"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType781">
+    <wsdl:operation name="Operation781">
+      <wsdl:input message="tns:RequestMessage781" name="Input781"/>
+      <wsdl:output message="tns:ResponseMessage781" name="Output781"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding781" type="tns:PortType781">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation781">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation781"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service781">
+    <wsdl:port name="Port781" binding="tns:Binding781">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage782">
+    <wsdl:part name="Response" element="tns:ResponseElement782"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage782">
+    <wsdl:part name="Request" element="tns:RequestElement782"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType782">
+    <wsdl:operation name="Operation782">
+      <wsdl:input message="tns:RequestMessage782" name="Input782"/>
+      <wsdl:output message="tns:ResponseMessage782" name="Output782"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding782" type="tns:PortType782">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation782">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation782"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service782">
+    <wsdl:port name="Port782" binding="tns:Binding782">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage783">
+    <wsdl:part name="Response" element="tns:ResponseElement783"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage783">
+    <wsdl:part name="Request" element="tns:RequestElement783"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType783">
+    <wsdl:operation name="Operation783">
+      <wsdl:input message="tns:RequestMessage783" name="Input783"/>
+      <wsdl:output message="tns:ResponseMessage783" name="Output783"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding783" type="tns:PortType783">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation783">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation783"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service783">
+    <wsdl:port name="Port783" binding="tns:Binding783">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage784">
+    <wsdl:part name="Response" element="tns:ResponseElement784"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage784">
+    <wsdl:part name="Request" element="tns:RequestElement784"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType784">
+    <wsdl:operation name="Operation784">
+      <wsdl:input message="tns:RequestMessage784" name="Input784"/>
+      <wsdl:output message="tns:ResponseMessage784" name="Output784"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding784" type="tns:PortType784">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation784">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation784"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service784">
+    <wsdl:port name="Port784" binding="tns:Binding784">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage785">
+    <wsdl:part name="Response" element="tns:ResponseElement785"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage785">
+    <wsdl:part name="Request" element="tns:RequestElement785"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType785">
+    <wsdl:operation name="Operation785">
+      <wsdl:input message="tns:RequestMessage785" name="Input785"/>
+      <wsdl:output message="tns:ResponseMessage785" name="Output785"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding785" type="tns:PortType785">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation785">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation785"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service785">
+    <wsdl:port name="Port785" binding="tns:Binding785">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage786">
+    <wsdl:part name="Response" element="tns:ResponseElement786"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage786">
+    <wsdl:part name="Request" element="tns:RequestElement786"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType786">
+    <wsdl:operation name="Operation786">
+      <wsdl:input message="tns:RequestMessage786" name="Input786"/>
+      <wsdl:output message="tns:ResponseMessage786" name="Output786"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding786" type="tns:PortType786">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation786">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation786"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service786">
+    <wsdl:port name="Port786" binding="tns:Binding786">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage787">
+    <wsdl:part name="Response" element="tns:ResponseElement787"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage787">
+    <wsdl:part name="Request" element="tns:RequestElement787"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType787">
+    <wsdl:operation name="Operation787">
+      <wsdl:input message="tns:RequestMessage787" name="Input787"/>
+      <wsdl:output message="tns:ResponseMessage787" name="Output787"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding787" type="tns:PortType787">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation787">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation787"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service787">
+    <wsdl:port name="Port787" binding="tns:Binding787">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage788">
+    <wsdl:part name="Response" element="tns:ResponseElement788"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage788">
+    <wsdl:part name="Request" element="tns:RequestElement788"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType788">
+    <wsdl:operation name="Operation788">
+      <wsdl:input message="tns:RequestMessage788" name="Input788"/>
+      <wsdl:output message="tns:ResponseMessage788" name="Output788"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding788" type="tns:PortType788">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation788">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation788"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service788">
+    <wsdl:port name="Port788" binding="tns:Binding788">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage789">
+    <wsdl:part name="Response" element="tns:ResponseElement789"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage789">
+    <wsdl:part name="Request" element="tns:RequestElement789"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType789">
+    <wsdl:operation name="Operation789">
+      <wsdl:input message="tns:RequestMessage789" name="Input789"/>
+      <wsdl:output message="tns:ResponseMessage789" name="Output789"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding789" type="tns:PortType789">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation789">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation789"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service789">
+    <wsdl:port name="Port789" binding="tns:Binding789">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage790">
+    <wsdl:part name="Response" element="tns:ResponseElement790"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage790">
+    <wsdl:part name="Request" element="tns:RequestElement790"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType790">
+    <wsdl:operation name="Operation790">
+      <wsdl:input message="tns:RequestMessage790" name="Input790"/>
+      <wsdl:output message="tns:ResponseMessage790" name="Output790"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding790" type="tns:PortType790">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation790">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation790"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service790">
+    <wsdl:port name="Port790" binding="tns:Binding790">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage791">
+    <wsdl:part name="Response" element="tns:ResponseElement791"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage791">
+    <wsdl:part name="Request" element="tns:RequestElement791"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType791">
+    <wsdl:operation name="Operation791">
+      <wsdl:input message="tns:RequestMessage791" name="Input791"/>
+      <wsdl:output message="tns:ResponseMessage791" name="Output791"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding791" type="tns:PortType791">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation791">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation791"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service791">
+    <wsdl:port name="Port791" binding="tns:Binding791">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage792">
+    <wsdl:part name="Response" element="tns:ResponseElement792"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage792">
+    <wsdl:part name="Request" element="tns:RequestElement792"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType792">
+    <wsdl:operation name="Operation792">
+      <wsdl:input message="tns:RequestMessage792" name="Input792"/>
+      <wsdl:output message="tns:ResponseMessage792" name="Output792"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding792" type="tns:PortType792">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation792">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation792"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service792">
+    <wsdl:port name="Port792" binding="tns:Binding792">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage793">
+    <wsdl:part name="Response" element="tns:ResponseElement793"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage793">
+    <wsdl:part name="Request" element="tns:RequestElement793"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType793">
+    <wsdl:operation name="Operation793">
+      <wsdl:input message="tns:RequestMessage793" name="Input793"/>
+      <wsdl:output message="tns:ResponseMessage793" name="Output793"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding793" type="tns:PortType793">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation793">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation793"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service793">
+    <wsdl:port name="Port793" binding="tns:Binding793">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage794">
+    <wsdl:part name="Response" element="tns:ResponseElement794"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage794">
+    <wsdl:part name="Request" element="tns:RequestElement794"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType794">
+    <wsdl:operation name="Operation794">
+      <wsdl:input message="tns:RequestMessage794" name="Input794"/>
+      <wsdl:output message="tns:ResponseMessage794" name="Output794"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding794" type="tns:PortType794">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation794">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation794"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service794">
+    <wsdl:port name="Port794" binding="tns:Binding794">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage795">
+    <wsdl:part name="Response" element="tns:ResponseElement795"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage795">
+    <wsdl:part name="Request" element="tns:RequestElement795"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType795">
+    <wsdl:operation name="Operation795">
+      <wsdl:input message="tns:RequestMessage795" name="Input795"/>
+      <wsdl:output message="tns:ResponseMessage795" name="Output795"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding795" type="tns:PortType795">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation795">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation795"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service795">
+    <wsdl:port name="Port795" binding="tns:Binding795">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage796">
+    <wsdl:part name="Response" element="tns:ResponseElement796"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage796">
+    <wsdl:part name="Request" element="tns:RequestElement796"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType796">
+    <wsdl:operation name="Operation796">
+      <wsdl:input message="tns:RequestMessage796" name="Input796"/>
+      <wsdl:output message="tns:ResponseMessage796" name="Output796"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding796" type="tns:PortType796">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation796">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation796"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service796">
+    <wsdl:port name="Port796" binding="tns:Binding796">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage797">
+    <wsdl:part name="Response" element="tns:ResponseElement797"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage797">
+    <wsdl:part name="Request" element="tns:RequestElement797"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType797">
+    <wsdl:operation name="Operation797">
+      <wsdl:input message="tns:RequestMessage797" name="Input797"/>
+      <wsdl:output message="tns:ResponseMessage797" name="Output797"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding797" type="tns:PortType797">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation797">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation797"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service797">
+    <wsdl:port name="Port797" binding="tns:Binding797">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage798">
+    <wsdl:part name="Response" element="tns:ResponseElement798"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage798">
+    <wsdl:part name="Request" element="tns:RequestElement798"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType798">
+    <wsdl:operation name="Operation798">
+      <wsdl:input message="tns:RequestMessage798" name="Input798"/>
+      <wsdl:output message="tns:ResponseMessage798" name="Output798"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding798" type="tns:PortType798">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation798">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation798"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service798">
+    <wsdl:port name="Port798" binding="tns:Binding798">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage799">
+    <wsdl:part name="Response" element="tns:ResponseElement799"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage799">
+    <wsdl:part name="Request" element="tns:RequestElement799"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType799">
+    <wsdl:operation name="Operation799">
+      <wsdl:input message="tns:RequestMessage799" name="Input799"/>
+      <wsdl:output message="tns:ResponseMessage799" name="Output799"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding799" type="tns:PortType799">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation799">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation799"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service799">
+    <wsdl:port name="Port799" binding="tns:Binding799">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage800">
+    <wsdl:part name="Response" element="tns:ResponseElement800"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage800">
+    <wsdl:part name="Request" element="tns:RequestElement800"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType800">
+    <wsdl:operation name="Operation800">
+      <wsdl:input message="tns:RequestMessage800" name="Input800"/>
+      <wsdl:output message="tns:ResponseMessage800" name="Output800"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding800" type="tns:PortType800">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation800">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation800"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service800">
+    <wsdl:port name="Port800" binding="tns:Binding800">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage801">
+    <wsdl:part name="Response" element="tns:ResponseElement801"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage801">
+    <wsdl:part name="Request" element="tns:RequestElement801"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType801">
+    <wsdl:operation name="Operation801">
+      <wsdl:input message="tns:RequestMessage801" name="Input801"/>
+      <wsdl:output message="tns:ResponseMessage801" name="Output801"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding801" type="tns:PortType801">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation801">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation801"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service801">
+    <wsdl:port name="Port801" binding="tns:Binding801">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage802">
+    <wsdl:part name="Response" element="tns:ResponseElement802"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage802">
+    <wsdl:part name="Request" element="tns:RequestElement802"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType802">
+    <wsdl:operation name="Operation802">
+      <wsdl:input message="tns:RequestMessage802" name="Input802"/>
+      <wsdl:output message="tns:ResponseMessage802" name="Output802"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding802" type="tns:PortType802">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation802">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation802"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service802">
+    <wsdl:port name="Port802" binding="tns:Binding802">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage803">
+    <wsdl:part name="Response" element="tns:ResponseElement803"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage803">
+    <wsdl:part name="Request" element="tns:RequestElement803"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType803">
+    <wsdl:operation name="Operation803">
+      <wsdl:input message="tns:RequestMessage803" name="Input803"/>
+      <wsdl:output message="tns:ResponseMessage803" name="Output803"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding803" type="tns:PortType803">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation803">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation803"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service803">
+    <wsdl:port name="Port803" binding="tns:Binding803">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage804">
+    <wsdl:part name="Response" element="tns:ResponseElement804"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage804">
+    <wsdl:part name="Request" element="tns:RequestElement804"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType804">
+    <wsdl:operation name="Operation804">
+      <wsdl:input message="tns:RequestMessage804" name="Input804"/>
+      <wsdl:output message="tns:ResponseMessage804" name="Output804"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding804" type="tns:PortType804">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation804">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation804"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service804">
+    <wsdl:port name="Port804" binding="tns:Binding804">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage805">
+    <wsdl:part name="Response" element="tns:ResponseElement805"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage805">
+    <wsdl:part name="Request" element="tns:RequestElement805"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType805">
+    <wsdl:operation name="Operation805">
+      <wsdl:input message="tns:RequestMessage805" name="Input805"/>
+      <wsdl:output message="tns:ResponseMessage805" name="Output805"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding805" type="tns:PortType805">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation805">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation805"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service805">
+    <wsdl:port name="Port805" binding="tns:Binding805">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage806">
+    <wsdl:part name="Response" element="tns:ResponseElement806"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage806">
+    <wsdl:part name="Request" element="tns:RequestElement806"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType806">
+    <wsdl:operation name="Operation806">
+      <wsdl:input message="tns:RequestMessage806" name="Input806"/>
+      <wsdl:output message="tns:ResponseMessage806" name="Output806"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding806" type="tns:PortType806">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation806">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation806"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service806">
+    <wsdl:port name="Port806" binding="tns:Binding806">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage807">
+    <wsdl:part name="Response" element="tns:ResponseElement807"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage807">
+    <wsdl:part name="Request" element="tns:RequestElement807"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType807">
+    <wsdl:operation name="Operation807">
+      <wsdl:input message="tns:RequestMessage807" name="Input807"/>
+      <wsdl:output message="tns:ResponseMessage807" name="Output807"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding807" type="tns:PortType807">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation807">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation807"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service807">
+    <wsdl:port name="Port807" binding="tns:Binding807">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage808">
+    <wsdl:part name="Response" element="tns:ResponseElement808"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage808">
+    <wsdl:part name="Request" element="tns:RequestElement808"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType808">
+    <wsdl:operation name="Operation808">
+      <wsdl:input message="tns:RequestMessage808" name="Input808"/>
+      <wsdl:output message="tns:ResponseMessage808" name="Output808"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding808" type="tns:PortType808">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation808">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation808"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service808">
+    <wsdl:port name="Port808" binding="tns:Binding808">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage809">
+    <wsdl:part name="Response" element="tns:ResponseElement809"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage809">
+    <wsdl:part name="Request" element="tns:RequestElement809"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType809">
+    <wsdl:operation name="Operation809">
+      <wsdl:input message="tns:RequestMessage809" name="Input809"/>
+      <wsdl:output message="tns:ResponseMessage809" name="Output809"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding809" type="tns:PortType809">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation809">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation809"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service809">
+    <wsdl:port name="Port809" binding="tns:Binding809">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage810">
+    <wsdl:part name="Response" element="tns:ResponseElement810"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage810">
+    <wsdl:part name="Request" element="tns:RequestElement810"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType810">
+    <wsdl:operation name="Operation810">
+      <wsdl:input message="tns:RequestMessage810" name="Input810"/>
+      <wsdl:output message="tns:ResponseMessage810" name="Output810"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding810" type="tns:PortType810">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation810">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation810"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service810">
+    <wsdl:port name="Port810" binding="tns:Binding810">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage811">
+    <wsdl:part name="Response" element="tns:ResponseElement811"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage811">
+    <wsdl:part name="Request" element="tns:RequestElement811"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType811">
+    <wsdl:operation name="Operation811">
+      <wsdl:input message="tns:RequestMessage811" name="Input811"/>
+      <wsdl:output message="tns:ResponseMessage811" name="Output811"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding811" type="tns:PortType811">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation811">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation811"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service811">
+    <wsdl:port name="Port811" binding="tns:Binding811">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage812">
+    <wsdl:part name="Response" element="tns:ResponseElement812"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage812">
+    <wsdl:part name="Request" element="tns:RequestElement812"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType812">
+    <wsdl:operation name="Operation812">
+      <wsdl:input message="tns:RequestMessage812" name="Input812"/>
+      <wsdl:output message="tns:ResponseMessage812" name="Output812"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding812" type="tns:PortType812">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation812">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation812"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service812">
+    <wsdl:port name="Port812" binding="tns:Binding812">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage813">
+    <wsdl:part name="Response" element="tns:ResponseElement813"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage813">
+    <wsdl:part name="Request" element="tns:RequestElement813"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType813">
+    <wsdl:operation name="Operation813">
+      <wsdl:input message="tns:RequestMessage813" name="Input813"/>
+      <wsdl:output message="tns:ResponseMessage813" name="Output813"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding813" type="tns:PortType813">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation813">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation813"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service813">
+    <wsdl:port name="Port813" binding="tns:Binding813">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage814">
+    <wsdl:part name="Response" element="tns:ResponseElement814"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage814">
+    <wsdl:part name="Request" element="tns:RequestElement814"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType814">
+    <wsdl:operation name="Operation814">
+      <wsdl:input message="tns:RequestMessage814" name="Input814"/>
+      <wsdl:output message="tns:ResponseMessage814" name="Output814"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding814" type="tns:PortType814">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation814">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation814"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service814">
+    <wsdl:port name="Port814" binding="tns:Binding814">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage815">
+    <wsdl:part name="Response" element="tns:ResponseElement815"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage815">
+    <wsdl:part name="Request" element="tns:RequestElement815"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType815">
+    <wsdl:operation name="Operation815">
+      <wsdl:input message="tns:RequestMessage815" name="Input815"/>
+      <wsdl:output message="tns:ResponseMessage815" name="Output815"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding815" type="tns:PortType815">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation815">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation815"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service815">
+    <wsdl:port name="Port815" binding="tns:Binding815">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage816">
+    <wsdl:part name="Response" element="tns:ResponseElement816"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage816">
+    <wsdl:part name="Request" element="tns:RequestElement816"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType816">
+    <wsdl:operation name="Operation816">
+      <wsdl:input message="tns:RequestMessage816" name="Input816"/>
+      <wsdl:output message="tns:ResponseMessage816" name="Output816"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding816" type="tns:PortType816">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation816">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation816"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service816">
+    <wsdl:port name="Port816" binding="tns:Binding816">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage817">
+    <wsdl:part name="Response" element="tns:ResponseElement817"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage817">
+    <wsdl:part name="Request" element="tns:RequestElement817"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType817">
+    <wsdl:operation name="Operation817">
+      <wsdl:input message="tns:RequestMessage817" name="Input817"/>
+      <wsdl:output message="tns:ResponseMessage817" name="Output817"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding817" type="tns:PortType817">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation817">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation817"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service817">
+    <wsdl:port name="Port817" binding="tns:Binding817">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage818">
+    <wsdl:part name="Response" element="tns:ResponseElement818"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage818">
+    <wsdl:part name="Request" element="tns:RequestElement818"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType818">
+    <wsdl:operation name="Operation818">
+      <wsdl:input message="tns:RequestMessage818" name="Input818"/>
+      <wsdl:output message="tns:ResponseMessage818" name="Output818"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding818" type="tns:PortType818">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation818">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation818"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service818">
+    <wsdl:port name="Port818" binding="tns:Binding818">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage819">
+    <wsdl:part name="Response" element="tns:ResponseElement819"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage819">
+    <wsdl:part name="Request" element="tns:RequestElement819"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType819">
+    <wsdl:operation name="Operation819">
+      <wsdl:input message="tns:RequestMessage819" name="Input819"/>
+      <wsdl:output message="tns:ResponseMessage819" name="Output819"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding819" type="tns:PortType819">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation819">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation819"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service819">
+    <wsdl:port name="Port819" binding="tns:Binding819">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage820">
+    <wsdl:part name="Response" element="tns:ResponseElement820"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage820">
+    <wsdl:part name="Request" element="tns:RequestElement820"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType820">
+    <wsdl:operation name="Operation820">
+      <wsdl:input message="tns:RequestMessage820" name="Input820"/>
+      <wsdl:output message="tns:ResponseMessage820" name="Output820"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding820" type="tns:PortType820">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation820">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation820"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service820">
+    <wsdl:port name="Port820" binding="tns:Binding820">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage821">
+    <wsdl:part name="Response" element="tns:ResponseElement821"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage821">
+    <wsdl:part name="Request" element="tns:RequestElement821"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType821">
+    <wsdl:operation name="Operation821">
+      <wsdl:input message="tns:RequestMessage821" name="Input821"/>
+      <wsdl:output message="tns:ResponseMessage821" name="Output821"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding821" type="tns:PortType821">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation821">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation821"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service821">
+    <wsdl:port name="Port821" binding="tns:Binding821">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage822">
+    <wsdl:part name="Response" element="tns:ResponseElement822"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage822">
+    <wsdl:part name="Request" element="tns:RequestElement822"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType822">
+    <wsdl:operation name="Operation822">
+      <wsdl:input message="tns:RequestMessage822" name="Input822"/>
+      <wsdl:output message="tns:ResponseMessage822" name="Output822"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding822" type="tns:PortType822">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation822">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation822"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service822">
+    <wsdl:port name="Port822" binding="tns:Binding822">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage823">
+    <wsdl:part name="Response" element="tns:ResponseElement823"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage823">
+    <wsdl:part name="Request" element="tns:RequestElement823"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType823">
+    <wsdl:operation name="Operation823">
+      <wsdl:input message="tns:RequestMessage823" name="Input823"/>
+      <wsdl:output message="tns:ResponseMessage823" name="Output823"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding823" type="tns:PortType823">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation823">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation823"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service823">
+    <wsdl:port name="Port823" binding="tns:Binding823">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage824">
+    <wsdl:part name="Response" element="tns:ResponseElement824"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage824">
+    <wsdl:part name="Request" element="tns:RequestElement824"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType824">
+    <wsdl:operation name="Operation824">
+      <wsdl:input message="tns:RequestMessage824" name="Input824"/>
+      <wsdl:output message="tns:ResponseMessage824" name="Output824"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding824" type="tns:PortType824">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation824">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation824"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service824">
+    <wsdl:port name="Port824" binding="tns:Binding824">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage825">
+    <wsdl:part name="Response" element="tns:ResponseElement825"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage825">
+    <wsdl:part name="Request" element="tns:RequestElement825"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType825">
+    <wsdl:operation name="Operation825">
+      <wsdl:input message="tns:RequestMessage825" name="Input825"/>
+      <wsdl:output message="tns:ResponseMessage825" name="Output825"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding825" type="tns:PortType825">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation825">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation825"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service825">
+    <wsdl:port name="Port825" binding="tns:Binding825">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage826">
+    <wsdl:part name="Response" element="tns:ResponseElement826"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage826">
+    <wsdl:part name="Request" element="tns:RequestElement826"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType826">
+    <wsdl:operation name="Operation826">
+      <wsdl:input message="tns:RequestMessage826" name="Input826"/>
+      <wsdl:output message="tns:ResponseMessage826" name="Output826"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding826" type="tns:PortType826">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation826">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation826"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service826">
+    <wsdl:port name="Port826" binding="tns:Binding826">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage827">
+    <wsdl:part name="Response" element="tns:ResponseElement827"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage827">
+    <wsdl:part name="Request" element="tns:RequestElement827"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType827">
+    <wsdl:operation name="Operation827">
+      <wsdl:input message="tns:RequestMessage827" name="Input827"/>
+      <wsdl:output message="tns:ResponseMessage827" name="Output827"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding827" type="tns:PortType827">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation827">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation827"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service827">
+    <wsdl:port name="Port827" binding="tns:Binding827">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage828">
+    <wsdl:part name="Response" element="tns:ResponseElement828"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage828">
+    <wsdl:part name="Request" element="tns:RequestElement828"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType828">
+    <wsdl:operation name="Operation828">
+      <wsdl:input message="tns:RequestMessage828" name="Input828"/>
+      <wsdl:output message="tns:ResponseMessage828" name="Output828"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding828" type="tns:PortType828">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation828">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation828"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service828">
+    <wsdl:port name="Port828" binding="tns:Binding828">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage829">
+    <wsdl:part name="Response" element="tns:ResponseElement829"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage829">
+    <wsdl:part name="Request" element="tns:RequestElement829"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType829">
+    <wsdl:operation name="Operation829">
+      <wsdl:input message="tns:RequestMessage829" name="Input829"/>
+      <wsdl:output message="tns:ResponseMessage829" name="Output829"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding829" type="tns:PortType829">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation829">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation829"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service829">
+    <wsdl:port name="Port829" binding="tns:Binding829">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage830">
+    <wsdl:part name="Response" element="tns:ResponseElement830"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage830">
+    <wsdl:part name="Request" element="tns:RequestElement830"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType830">
+    <wsdl:operation name="Operation830">
+      <wsdl:input message="tns:RequestMessage830" name="Input830"/>
+      <wsdl:output message="tns:ResponseMessage830" name="Output830"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding830" type="tns:PortType830">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation830">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation830"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service830">
+    <wsdl:port name="Port830" binding="tns:Binding830">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage831">
+    <wsdl:part name="Response" element="tns:ResponseElement831"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage831">
+    <wsdl:part name="Request" element="tns:RequestElement831"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType831">
+    <wsdl:operation name="Operation831">
+      <wsdl:input message="tns:RequestMessage831" name="Input831"/>
+      <wsdl:output message="tns:ResponseMessage831" name="Output831"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding831" type="tns:PortType831">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation831">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation831"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service831">
+    <wsdl:port name="Port831" binding="tns:Binding831">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage832">
+    <wsdl:part name="Response" element="tns:ResponseElement832"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage832">
+    <wsdl:part name="Request" element="tns:RequestElement832"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType832">
+    <wsdl:operation name="Operation832">
+      <wsdl:input message="tns:RequestMessage832" name="Input832"/>
+      <wsdl:output message="tns:ResponseMessage832" name="Output832"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding832" type="tns:PortType832">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation832">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation832"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service832">
+    <wsdl:port name="Port832" binding="tns:Binding832">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage833">
+    <wsdl:part name="Response" element="tns:ResponseElement833"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage833">
+    <wsdl:part name="Request" element="tns:RequestElement833"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType833">
+    <wsdl:operation name="Operation833">
+      <wsdl:input message="tns:RequestMessage833" name="Input833"/>
+      <wsdl:output message="tns:ResponseMessage833" name="Output833"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding833" type="tns:PortType833">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation833">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation833"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service833">
+    <wsdl:port name="Port833" binding="tns:Binding833">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage834">
+    <wsdl:part name="Response" element="tns:ResponseElement834"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage834">
+    <wsdl:part name="Request" element="tns:RequestElement834"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType834">
+    <wsdl:operation name="Operation834">
+      <wsdl:input message="tns:RequestMessage834" name="Input834"/>
+      <wsdl:output message="tns:ResponseMessage834" name="Output834"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding834" type="tns:PortType834">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation834">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation834"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service834">
+    <wsdl:port name="Port834" binding="tns:Binding834">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage835">
+    <wsdl:part name="Response" element="tns:ResponseElement835"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage835">
+    <wsdl:part name="Request" element="tns:RequestElement835"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType835">
+    <wsdl:operation name="Operation835">
+      <wsdl:input message="tns:RequestMessage835" name="Input835"/>
+      <wsdl:output message="tns:ResponseMessage835" name="Output835"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding835" type="tns:PortType835">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation835">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation835"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service835">
+    <wsdl:port name="Port835" binding="tns:Binding835">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage836">
+    <wsdl:part name="Response" element="tns:ResponseElement836"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage836">
+    <wsdl:part name="Request" element="tns:RequestElement836"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType836">
+    <wsdl:operation name="Operation836">
+      <wsdl:input message="tns:RequestMessage836" name="Input836"/>
+      <wsdl:output message="tns:ResponseMessage836" name="Output836"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding836" type="tns:PortType836">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation836">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation836"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service836">
+    <wsdl:port name="Port836" binding="tns:Binding836">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage837">
+    <wsdl:part name="Response" element="tns:ResponseElement837"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage837">
+    <wsdl:part name="Request" element="tns:RequestElement837"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType837">
+    <wsdl:operation name="Operation837">
+      <wsdl:input message="tns:RequestMessage837" name="Input837"/>
+      <wsdl:output message="tns:ResponseMessage837" name="Output837"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding837" type="tns:PortType837">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation837">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation837"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service837">
+    <wsdl:port name="Port837" binding="tns:Binding837">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage838">
+    <wsdl:part name="Response" element="tns:ResponseElement838"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage838">
+    <wsdl:part name="Request" element="tns:RequestElement838"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType838">
+    <wsdl:operation name="Operation838">
+      <wsdl:input message="tns:RequestMessage838" name="Input838"/>
+      <wsdl:output message="tns:ResponseMessage838" name="Output838"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding838" type="tns:PortType838">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation838">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation838"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service838">
+    <wsdl:port name="Port838" binding="tns:Binding838">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage839">
+    <wsdl:part name="Response" element="tns:ResponseElement839"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage839">
+    <wsdl:part name="Request" element="tns:RequestElement839"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType839">
+    <wsdl:operation name="Operation839">
+      <wsdl:input message="tns:RequestMessage839" name="Input839"/>
+      <wsdl:output message="tns:ResponseMessage839" name="Output839"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding839" type="tns:PortType839">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation839">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation839"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service839">
+    <wsdl:port name="Port839" binding="tns:Binding839">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage840">
+    <wsdl:part name="Response" element="tns:ResponseElement840"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage840">
+    <wsdl:part name="Request" element="tns:RequestElement840"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType840">
+    <wsdl:operation name="Operation840">
+      <wsdl:input message="tns:RequestMessage840" name="Input840"/>
+      <wsdl:output message="tns:ResponseMessage840" name="Output840"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding840" type="tns:PortType840">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation840">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation840"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service840">
+    <wsdl:port name="Port840" binding="tns:Binding840">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage841">
+    <wsdl:part name="Response" element="tns:ResponseElement841"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage841">
+    <wsdl:part name="Request" element="tns:RequestElement841"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType841">
+    <wsdl:operation name="Operation841">
+      <wsdl:input message="tns:RequestMessage841" name="Input841"/>
+      <wsdl:output message="tns:ResponseMessage841" name="Output841"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding841" type="tns:PortType841">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation841">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation841"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service841">
+    <wsdl:port name="Port841" binding="tns:Binding841">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage842">
+    <wsdl:part name="Response" element="tns:ResponseElement842"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage842">
+    <wsdl:part name="Request" element="tns:RequestElement842"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType842">
+    <wsdl:operation name="Operation842">
+      <wsdl:input message="tns:RequestMessage842" name="Input842"/>
+      <wsdl:output message="tns:ResponseMessage842" name="Output842"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding842" type="tns:PortType842">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation842">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation842"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service842">
+    <wsdl:port name="Port842" binding="tns:Binding842">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage843">
+    <wsdl:part name="Response" element="tns:ResponseElement843"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage843">
+    <wsdl:part name="Request" element="tns:RequestElement843"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType843">
+    <wsdl:operation name="Operation843">
+      <wsdl:input message="tns:RequestMessage843" name="Input843"/>
+      <wsdl:output message="tns:ResponseMessage843" name="Output843"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding843" type="tns:PortType843">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation843">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation843"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service843">
+    <wsdl:port name="Port843" binding="tns:Binding843">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage844">
+    <wsdl:part name="Response" element="tns:ResponseElement844"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage844">
+    <wsdl:part name="Request" element="tns:RequestElement844"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType844">
+    <wsdl:operation name="Operation844">
+      <wsdl:input message="tns:RequestMessage844" name="Input844"/>
+      <wsdl:output message="tns:ResponseMessage844" name="Output844"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding844" type="tns:PortType844">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation844">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation844"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service844">
+    <wsdl:port name="Port844" binding="tns:Binding844">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage845">
+    <wsdl:part name="Response" element="tns:ResponseElement845"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage845">
+    <wsdl:part name="Request" element="tns:RequestElement845"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType845">
+    <wsdl:operation name="Operation845">
+      <wsdl:input message="tns:RequestMessage845" name="Input845"/>
+      <wsdl:output message="tns:ResponseMessage845" name="Output845"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding845" type="tns:PortType845">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation845">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation845"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service845">
+    <wsdl:port name="Port845" binding="tns:Binding845">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage846">
+    <wsdl:part name="Response" element="tns:ResponseElement846"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage846">
+    <wsdl:part name="Request" element="tns:RequestElement846"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType846">
+    <wsdl:operation name="Operation846">
+      <wsdl:input message="tns:RequestMessage846" name="Input846"/>
+      <wsdl:output message="tns:ResponseMessage846" name="Output846"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding846" type="tns:PortType846">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation846">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation846"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service846">
+    <wsdl:port name="Port846" binding="tns:Binding846">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage847">
+    <wsdl:part name="Response" element="tns:ResponseElement847"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage847">
+    <wsdl:part name="Request" element="tns:RequestElement847"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType847">
+    <wsdl:operation name="Operation847">
+      <wsdl:input message="tns:RequestMessage847" name="Input847"/>
+      <wsdl:output message="tns:ResponseMessage847" name="Output847"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding847" type="tns:PortType847">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation847">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation847"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service847">
+    <wsdl:port name="Port847" binding="tns:Binding847">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage848">
+    <wsdl:part name="Response" element="tns:ResponseElement848"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage848">
+    <wsdl:part name="Request" element="tns:RequestElement848"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType848">
+    <wsdl:operation name="Operation848">
+      <wsdl:input message="tns:RequestMessage848" name="Input848"/>
+      <wsdl:output message="tns:ResponseMessage848" name="Output848"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding848" type="tns:PortType848">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation848">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation848"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service848">
+    <wsdl:port name="Port848" binding="tns:Binding848">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage849">
+    <wsdl:part name="Response" element="tns:ResponseElement849"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage849">
+    <wsdl:part name="Request" element="tns:RequestElement849"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType849">
+    <wsdl:operation name="Operation849">
+      <wsdl:input message="tns:RequestMessage849" name="Input849"/>
+      <wsdl:output message="tns:ResponseMessage849" name="Output849"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding849" type="tns:PortType849">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation849">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation849"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service849">
+    <wsdl:port name="Port849" binding="tns:Binding849">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage850">
+    <wsdl:part name="Response" element="tns:ResponseElement850"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage850">
+    <wsdl:part name="Request" element="tns:RequestElement850"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType850">
+    <wsdl:operation name="Operation850">
+      <wsdl:input message="tns:RequestMessage850" name="Input850"/>
+      <wsdl:output message="tns:ResponseMessage850" name="Output850"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding850" type="tns:PortType850">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation850">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation850"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service850">
+    <wsdl:port name="Port850" binding="tns:Binding850">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage851">
+    <wsdl:part name="Response" element="tns:ResponseElement851"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage851">
+    <wsdl:part name="Request" element="tns:RequestElement851"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType851">
+    <wsdl:operation name="Operation851">
+      <wsdl:input message="tns:RequestMessage851" name="Input851"/>
+      <wsdl:output message="tns:ResponseMessage851" name="Output851"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding851" type="tns:PortType851">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation851">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation851"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service851">
+    <wsdl:port name="Port851" binding="tns:Binding851">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage852">
+    <wsdl:part name="Response" element="tns:ResponseElement852"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage852">
+    <wsdl:part name="Request" element="tns:RequestElement852"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType852">
+    <wsdl:operation name="Operation852">
+      <wsdl:input message="tns:RequestMessage852" name="Input852"/>
+      <wsdl:output message="tns:ResponseMessage852" name="Output852"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding852" type="tns:PortType852">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation852">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation852"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service852">
+    <wsdl:port name="Port852" binding="tns:Binding852">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage853">
+    <wsdl:part name="Response" element="tns:ResponseElement853"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage853">
+    <wsdl:part name="Request" element="tns:RequestElement853"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType853">
+    <wsdl:operation name="Operation853">
+      <wsdl:input message="tns:RequestMessage853" name="Input853"/>
+      <wsdl:output message="tns:ResponseMessage853" name="Output853"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding853" type="tns:PortType853">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation853">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation853"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service853">
+    <wsdl:port name="Port853" binding="tns:Binding853">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage854">
+    <wsdl:part name="Response" element="tns:ResponseElement854"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage854">
+    <wsdl:part name="Request" element="tns:RequestElement854"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType854">
+    <wsdl:operation name="Operation854">
+      <wsdl:input message="tns:RequestMessage854" name="Input854"/>
+      <wsdl:output message="tns:ResponseMessage854" name="Output854"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding854" type="tns:PortType854">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation854">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation854"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service854">
+    <wsdl:port name="Port854" binding="tns:Binding854">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage855">
+    <wsdl:part name="Response" element="tns:ResponseElement855"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage855">
+    <wsdl:part name="Request" element="tns:RequestElement855"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType855">
+    <wsdl:operation name="Operation855">
+      <wsdl:input message="tns:RequestMessage855" name="Input855"/>
+      <wsdl:output message="tns:ResponseMessage855" name="Output855"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding855" type="tns:PortType855">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation855">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation855"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service855">
+    <wsdl:port name="Port855" binding="tns:Binding855">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage856">
+    <wsdl:part name="Response" element="tns:ResponseElement856"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage856">
+    <wsdl:part name="Request" element="tns:RequestElement856"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType856">
+    <wsdl:operation name="Operation856">
+      <wsdl:input message="tns:RequestMessage856" name="Input856"/>
+      <wsdl:output message="tns:ResponseMessage856" name="Output856"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding856" type="tns:PortType856">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation856">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation856"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service856">
+    <wsdl:port name="Port856" binding="tns:Binding856">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage857">
+    <wsdl:part name="Response" element="tns:ResponseElement857"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage857">
+    <wsdl:part name="Request" element="tns:RequestElement857"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType857">
+    <wsdl:operation name="Operation857">
+      <wsdl:input message="tns:RequestMessage857" name="Input857"/>
+      <wsdl:output message="tns:ResponseMessage857" name="Output857"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding857" type="tns:PortType857">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation857">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation857"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service857">
+    <wsdl:port name="Port857" binding="tns:Binding857">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage858">
+    <wsdl:part name="Response" element="tns:ResponseElement858"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage858">
+    <wsdl:part name="Request" element="tns:RequestElement858"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType858">
+    <wsdl:operation name="Operation858">
+      <wsdl:input message="tns:RequestMessage858" name="Input858"/>
+      <wsdl:output message="tns:ResponseMessage858" name="Output858"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding858" type="tns:PortType858">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation858">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation858"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service858">
+    <wsdl:port name="Port858" binding="tns:Binding858">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage859">
+    <wsdl:part name="Response" element="tns:ResponseElement859"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage859">
+    <wsdl:part name="Request" element="tns:RequestElement859"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType859">
+    <wsdl:operation name="Operation859">
+      <wsdl:input message="tns:RequestMessage859" name="Input859"/>
+      <wsdl:output message="tns:ResponseMessage859" name="Output859"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding859" type="tns:PortType859">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation859">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation859"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service859">
+    <wsdl:port name="Port859" binding="tns:Binding859">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage860">
+    <wsdl:part name="Response" element="tns:ResponseElement860"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage860">
+    <wsdl:part name="Request" element="tns:RequestElement860"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType860">
+    <wsdl:operation name="Operation860">
+      <wsdl:input message="tns:RequestMessage860" name="Input860"/>
+      <wsdl:output message="tns:ResponseMessage860" name="Output860"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding860" type="tns:PortType860">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation860">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation860"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service860">
+    <wsdl:port name="Port860" binding="tns:Binding860">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage861">
+    <wsdl:part name="Response" element="tns:ResponseElement861"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage861">
+    <wsdl:part name="Request" element="tns:RequestElement861"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType861">
+    <wsdl:operation name="Operation861">
+      <wsdl:input message="tns:RequestMessage861" name="Input861"/>
+      <wsdl:output message="tns:ResponseMessage861" name="Output861"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding861" type="tns:PortType861">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation861">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation861"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service861">
+    <wsdl:port name="Port861" binding="tns:Binding861">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage862">
+    <wsdl:part name="Response" element="tns:ResponseElement862"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage862">
+    <wsdl:part name="Request" element="tns:RequestElement862"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType862">
+    <wsdl:operation name="Operation862">
+      <wsdl:input message="tns:RequestMessage862" name="Input862"/>
+      <wsdl:output message="tns:ResponseMessage862" name="Output862"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding862" type="tns:PortType862">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation862">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation862"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service862">
+    <wsdl:port name="Port862" binding="tns:Binding862">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage863">
+    <wsdl:part name="Response" element="tns:ResponseElement863"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage863">
+    <wsdl:part name="Request" element="tns:RequestElement863"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType863">
+    <wsdl:operation name="Operation863">
+      <wsdl:input message="tns:RequestMessage863" name="Input863"/>
+      <wsdl:output message="tns:ResponseMessage863" name="Output863"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding863" type="tns:PortType863">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation863">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation863"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service863">
+    <wsdl:port name="Port863" binding="tns:Binding863">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage864">
+    <wsdl:part name="Response" element="tns:ResponseElement864"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage864">
+    <wsdl:part name="Request" element="tns:RequestElement864"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType864">
+    <wsdl:operation name="Operation864">
+      <wsdl:input message="tns:RequestMessage864" name="Input864"/>
+      <wsdl:output message="tns:ResponseMessage864" name="Output864"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding864" type="tns:PortType864">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation864">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation864"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service864">
+    <wsdl:port name="Port864" binding="tns:Binding864">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage865">
+    <wsdl:part name="Response" element="tns:ResponseElement865"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage865">
+    <wsdl:part name="Request" element="tns:RequestElement865"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType865">
+    <wsdl:operation name="Operation865">
+      <wsdl:input message="tns:RequestMessage865" name="Input865"/>
+      <wsdl:output message="tns:ResponseMessage865" name="Output865"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding865" type="tns:PortType865">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation865">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation865"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service865">
+    <wsdl:port name="Port865" binding="tns:Binding865">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage866">
+    <wsdl:part name="Response" element="tns:ResponseElement866"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage866">
+    <wsdl:part name="Request" element="tns:RequestElement866"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType866">
+    <wsdl:operation name="Operation866">
+      <wsdl:input message="tns:RequestMessage866" name="Input866"/>
+      <wsdl:output message="tns:ResponseMessage866" name="Output866"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding866" type="tns:PortType866">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation866">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation866"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service866">
+    <wsdl:port name="Port866" binding="tns:Binding866">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage867">
+    <wsdl:part name="Response" element="tns:ResponseElement867"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage867">
+    <wsdl:part name="Request" element="tns:RequestElement867"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType867">
+    <wsdl:operation name="Operation867">
+      <wsdl:input message="tns:RequestMessage867" name="Input867"/>
+      <wsdl:output message="tns:ResponseMessage867" name="Output867"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding867" type="tns:PortType867">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation867">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation867"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service867">
+    <wsdl:port name="Port867" binding="tns:Binding867">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage868">
+    <wsdl:part name="Response" element="tns:ResponseElement868"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage868">
+    <wsdl:part name="Request" element="tns:RequestElement868"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType868">
+    <wsdl:operation name="Operation868">
+      <wsdl:input message="tns:RequestMessage868" name="Input868"/>
+      <wsdl:output message="tns:ResponseMessage868" name="Output868"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding868" type="tns:PortType868">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation868">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation868"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service868">
+    <wsdl:port name="Port868" binding="tns:Binding868">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage869">
+    <wsdl:part name="Response" element="tns:ResponseElement869"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage869">
+    <wsdl:part name="Request" element="tns:RequestElement869"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType869">
+    <wsdl:operation name="Operation869">
+      <wsdl:input message="tns:RequestMessage869" name="Input869"/>
+      <wsdl:output message="tns:ResponseMessage869" name="Output869"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding869" type="tns:PortType869">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation869">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation869"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service869">
+    <wsdl:port name="Port869" binding="tns:Binding869">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage870">
+    <wsdl:part name="Response" element="tns:ResponseElement870"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage870">
+    <wsdl:part name="Request" element="tns:RequestElement870"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType870">
+    <wsdl:operation name="Operation870">
+      <wsdl:input message="tns:RequestMessage870" name="Input870"/>
+      <wsdl:output message="tns:ResponseMessage870" name="Output870"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding870" type="tns:PortType870">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation870">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation870"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service870">
+    <wsdl:port name="Port870" binding="tns:Binding870">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage871">
+    <wsdl:part name="Response" element="tns:ResponseElement871"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage871">
+    <wsdl:part name="Request" element="tns:RequestElement871"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType871">
+    <wsdl:operation name="Operation871">
+      <wsdl:input message="tns:RequestMessage871" name="Input871"/>
+      <wsdl:output message="tns:ResponseMessage871" name="Output871"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding871" type="tns:PortType871">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation871">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation871"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service871">
+    <wsdl:port name="Port871" binding="tns:Binding871">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage872">
+    <wsdl:part name="Response" element="tns:ResponseElement872"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage872">
+    <wsdl:part name="Request" element="tns:RequestElement872"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType872">
+    <wsdl:operation name="Operation872">
+      <wsdl:input message="tns:RequestMessage872" name="Input872"/>
+      <wsdl:output message="tns:ResponseMessage872" name="Output872"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding872" type="tns:PortType872">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation872">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation872"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service872">
+    <wsdl:port name="Port872" binding="tns:Binding872">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage873">
+    <wsdl:part name="Response" element="tns:ResponseElement873"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage873">
+    <wsdl:part name="Request" element="tns:RequestElement873"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType873">
+    <wsdl:operation name="Operation873">
+      <wsdl:input message="tns:RequestMessage873" name="Input873"/>
+      <wsdl:output message="tns:ResponseMessage873" name="Output873"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding873" type="tns:PortType873">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation873">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation873"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service873">
+    <wsdl:port name="Port873" binding="tns:Binding873">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage874">
+    <wsdl:part name="Response" element="tns:ResponseElement874"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage874">
+    <wsdl:part name="Request" element="tns:RequestElement874"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType874">
+    <wsdl:operation name="Operation874">
+      <wsdl:input message="tns:RequestMessage874" name="Input874"/>
+      <wsdl:output message="tns:ResponseMessage874" name="Output874"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding874" type="tns:PortType874">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation874">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation874"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service874">
+    <wsdl:port name="Port874" binding="tns:Binding874">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage875">
+    <wsdl:part name="Response" element="tns:ResponseElement875"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage875">
+    <wsdl:part name="Request" element="tns:RequestElement875"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType875">
+    <wsdl:operation name="Operation875">
+      <wsdl:input message="tns:RequestMessage875" name="Input875"/>
+      <wsdl:output message="tns:ResponseMessage875" name="Output875"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding875" type="tns:PortType875">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation875">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation875"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service875">
+    <wsdl:port name="Port875" binding="tns:Binding875">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage876">
+    <wsdl:part name="Response" element="tns:ResponseElement876"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage876">
+    <wsdl:part name="Request" element="tns:RequestElement876"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType876">
+    <wsdl:operation name="Operation876">
+      <wsdl:input message="tns:RequestMessage876" name="Input876"/>
+      <wsdl:output message="tns:ResponseMessage876" name="Output876"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding876" type="tns:PortType876">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation876">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation876"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service876">
+    <wsdl:port name="Port876" binding="tns:Binding876">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage877">
+    <wsdl:part name="Response" element="tns:ResponseElement877"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage877">
+    <wsdl:part name="Request" element="tns:RequestElement877"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType877">
+    <wsdl:operation name="Operation877">
+      <wsdl:input message="tns:RequestMessage877" name="Input877"/>
+      <wsdl:output message="tns:ResponseMessage877" name="Output877"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding877" type="tns:PortType877">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation877">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation877"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service877">
+    <wsdl:port name="Port877" binding="tns:Binding877">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage878">
+    <wsdl:part name="Response" element="tns:ResponseElement878"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage878">
+    <wsdl:part name="Request" element="tns:RequestElement878"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType878">
+    <wsdl:operation name="Operation878">
+      <wsdl:input message="tns:RequestMessage878" name="Input878"/>
+      <wsdl:output message="tns:ResponseMessage878" name="Output878"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding878" type="tns:PortType878">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation878">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation878"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service878">
+    <wsdl:port name="Port878" binding="tns:Binding878">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage879">
+    <wsdl:part name="Response" element="tns:ResponseElement879"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage879">
+    <wsdl:part name="Request" element="tns:RequestElement879"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType879">
+    <wsdl:operation name="Operation879">
+      <wsdl:input message="tns:RequestMessage879" name="Input879"/>
+      <wsdl:output message="tns:ResponseMessage879" name="Output879"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding879" type="tns:PortType879">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation879">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation879"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service879">
+    <wsdl:port name="Port879" binding="tns:Binding879">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage880">
+    <wsdl:part name="Response" element="tns:ResponseElement880"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage880">
+    <wsdl:part name="Request" element="tns:RequestElement880"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType880">
+    <wsdl:operation name="Operation880">
+      <wsdl:input message="tns:RequestMessage880" name="Input880"/>
+      <wsdl:output message="tns:ResponseMessage880" name="Output880"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding880" type="tns:PortType880">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation880">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation880"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service880">
+    <wsdl:port name="Port880" binding="tns:Binding880">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage881">
+    <wsdl:part name="Response" element="tns:ResponseElement881"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage881">
+    <wsdl:part name="Request" element="tns:RequestElement881"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType881">
+    <wsdl:operation name="Operation881">
+      <wsdl:input message="tns:RequestMessage881" name="Input881"/>
+      <wsdl:output message="tns:ResponseMessage881" name="Output881"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding881" type="tns:PortType881">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation881">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation881"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service881">
+    <wsdl:port name="Port881" binding="tns:Binding881">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage882">
+    <wsdl:part name="Response" element="tns:ResponseElement882"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage882">
+    <wsdl:part name="Request" element="tns:RequestElement882"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType882">
+    <wsdl:operation name="Operation882">
+      <wsdl:input message="tns:RequestMessage882" name="Input882"/>
+      <wsdl:output message="tns:ResponseMessage882" name="Output882"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding882" type="tns:PortType882">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation882">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation882"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service882">
+    <wsdl:port name="Port882" binding="tns:Binding882">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage883">
+    <wsdl:part name="Response" element="tns:ResponseElement883"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage883">
+    <wsdl:part name="Request" element="tns:RequestElement883"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType883">
+    <wsdl:operation name="Operation883">
+      <wsdl:input message="tns:RequestMessage883" name="Input883"/>
+      <wsdl:output message="tns:ResponseMessage883" name="Output883"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding883" type="tns:PortType883">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation883">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation883"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service883">
+    <wsdl:port name="Port883" binding="tns:Binding883">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage884">
+    <wsdl:part name="Response" element="tns:ResponseElement884"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage884">
+    <wsdl:part name="Request" element="tns:RequestElement884"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType884">
+    <wsdl:operation name="Operation884">
+      <wsdl:input message="tns:RequestMessage884" name="Input884"/>
+      <wsdl:output message="tns:ResponseMessage884" name="Output884"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding884" type="tns:PortType884">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation884">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation884"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service884">
+    <wsdl:port name="Port884" binding="tns:Binding884">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage885">
+    <wsdl:part name="Response" element="tns:ResponseElement885"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage885">
+    <wsdl:part name="Request" element="tns:RequestElement885"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType885">
+    <wsdl:operation name="Operation885">
+      <wsdl:input message="tns:RequestMessage885" name="Input885"/>
+      <wsdl:output message="tns:ResponseMessage885" name="Output885"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding885" type="tns:PortType885">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation885">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation885"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service885">
+    <wsdl:port name="Port885" binding="tns:Binding885">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage886">
+    <wsdl:part name="Response" element="tns:ResponseElement886"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage886">
+    <wsdl:part name="Request" element="tns:RequestElement886"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType886">
+    <wsdl:operation name="Operation886">
+      <wsdl:input message="tns:RequestMessage886" name="Input886"/>
+      <wsdl:output message="tns:ResponseMessage886" name="Output886"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding886" type="tns:PortType886">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation886">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation886"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service886">
+    <wsdl:port name="Port886" binding="tns:Binding886">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage887">
+    <wsdl:part name="Response" element="tns:ResponseElement887"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage887">
+    <wsdl:part name="Request" element="tns:RequestElement887"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType887">
+    <wsdl:operation name="Operation887">
+      <wsdl:input message="tns:RequestMessage887" name="Input887"/>
+      <wsdl:output message="tns:ResponseMessage887" name="Output887"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding887" type="tns:PortType887">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation887">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation887"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service887">
+    <wsdl:port name="Port887" binding="tns:Binding887">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage888">
+    <wsdl:part name="Response" element="tns:ResponseElement888"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage888">
+    <wsdl:part name="Request" element="tns:RequestElement888"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType888">
+    <wsdl:operation name="Operation888">
+      <wsdl:input message="tns:RequestMessage888" name="Input888"/>
+      <wsdl:output message="tns:ResponseMessage888" name="Output888"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding888" type="tns:PortType888">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation888">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation888"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service888">
+    <wsdl:port name="Port888" binding="tns:Binding888">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage889">
+    <wsdl:part name="Response" element="tns:ResponseElement889"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage889">
+    <wsdl:part name="Request" element="tns:RequestElement889"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType889">
+    <wsdl:operation name="Operation889">
+      <wsdl:input message="tns:RequestMessage889" name="Input889"/>
+      <wsdl:output message="tns:ResponseMessage889" name="Output889"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding889" type="tns:PortType889">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation889">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation889"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service889">
+    <wsdl:port name="Port889" binding="tns:Binding889">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage890">
+    <wsdl:part name="Response" element="tns:ResponseElement890"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage890">
+    <wsdl:part name="Request" element="tns:RequestElement890"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType890">
+    <wsdl:operation name="Operation890">
+      <wsdl:input message="tns:RequestMessage890" name="Input890"/>
+      <wsdl:output message="tns:ResponseMessage890" name="Output890"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding890" type="tns:PortType890">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation890">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation890"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service890">
+    <wsdl:port name="Port890" binding="tns:Binding890">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage891">
+    <wsdl:part name="Response" element="tns:ResponseElement891"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage891">
+    <wsdl:part name="Request" element="tns:RequestElement891"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType891">
+    <wsdl:operation name="Operation891">
+      <wsdl:input message="tns:RequestMessage891" name="Input891"/>
+      <wsdl:output message="tns:ResponseMessage891" name="Output891"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding891" type="tns:PortType891">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation891">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation891"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service891">
+    <wsdl:port name="Port891" binding="tns:Binding891">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage892">
+    <wsdl:part name="Response" element="tns:ResponseElement892"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage892">
+    <wsdl:part name="Request" element="tns:RequestElement892"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType892">
+    <wsdl:operation name="Operation892">
+      <wsdl:input message="tns:RequestMessage892" name="Input892"/>
+      <wsdl:output message="tns:ResponseMessage892" name="Output892"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding892" type="tns:PortType892">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation892">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation892"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service892">
+    <wsdl:port name="Port892" binding="tns:Binding892">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage893">
+    <wsdl:part name="Response" element="tns:ResponseElement893"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage893">
+    <wsdl:part name="Request" element="tns:RequestElement893"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType893">
+    <wsdl:operation name="Operation893">
+      <wsdl:input message="tns:RequestMessage893" name="Input893"/>
+      <wsdl:output message="tns:ResponseMessage893" name="Output893"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding893" type="tns:PortType893">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation893">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation893"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service893">
+    <wsdl:port name="Port893" binding="tns:Binding893">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage894">
+    <wsdl:part name="Response" element="tns:ResponseElement894"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage894">
+    <wsdl:part name="Request" element="tns:RequestElement894"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType894">
+    <wsdl:operation name="Operation894">
+      <wsdl:input message="tns:RequestMessage894" name="Input894"/>
+      <wsdl:output message="tns:ResponseMessage894" name="Output894"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding894" type="tns:PortType894">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation894">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation894"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service894">
+    <wsdl:port name="Port894" binding="tns:Binding894">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage895">
+    <wsdl:part name="Response" element="tns:ResponseElement895"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage895">
+    <wsdl:part name="Request" element="tns:RequestElement895"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType895">
+    <wsdl:operation name="Operation895">
+      <wsdl:input message="tns:RequestMessage895" name="Input895"/>
+      <wsdl:output message="tns:ResponseMessage895" name="Output895"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding895" type="tns:PortType895">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation895">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation895"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service895">
+    <wsdl:port name="Port895" binding="tns:Binding895">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage896">
+    <wsdl:part name="Response" element="tns:ResponseElement896"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage896">
+    <wsdl:part name="Request" element="tns:RequestElement896"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType896">
+    <wsdl:operation name="Operation896">
+      <wsdl:input message="tns:RequestMessage896" name="Input896"/>
+      <wsdl:output message="tns:ResponseMessage896" name="Output896"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding896" type="tns:PortType896">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation896">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation896"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service896">
+    <wsdl:port name="Port896" binding="tns:Binding896">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage897">
+    <wsdl:part name="Response" element="tns:ResponseElement897"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage897">
+    <wsdl:part name="Request" element="tns:RequestElement897"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType897">
+    <wsdl:operation name="Operation897">
+      <wsdl:input message="tns:RequestMessage897" name="Input897"/>
+      <wsdl:output message="tns:ResponseMessage897" name="Output897"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding897" type="tns:PortType897">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation897">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation897"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service897">
+    <wsdl:port name="Port897" binding="tns:Binding897">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage898">
+    <wsdl:part name="Response" element="tns:ResponseElement898"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage898">
+    <wsdl:part name="Request" element="tns:RequestElement898"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType898">
+    <wsdl:operation name="Operation898">
+      <wsdl:input message="tns:RequestMessage898" name="Input898"/>
+      <wsdl:output message="tns:ResponseMessage898" name="Output898"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding898" type="tns:PortType898">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation898">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation898"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service898">
+    <wsdl:port name="Port898" binding="tns:Binding898">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage899">
+    <wsdl:part name="Response" element="tns:ResponseElement899"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage899">
+    <wsdl:part name="Request" element="tns:RequestElement899"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType899">
+    <wsdl:operation name="Operation899">
+      <wsdl:input message="tns:RequestMessage899" name="Input899"/>
+      <wsdl:output message="tns:ResponseMessage899" name="Output899"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding899" type="tns:PortType899">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation899">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation899"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service899">
+    <wsdl:port name="Port899" binding="tns:Binding899">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage900">
+    <wsdl:part name="Response" element="tns:ResponseElement900"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage900">
+    <wsdl:part name="Request" element="tns:RequestElement900"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType900">
+    <wsdl:operation name="Operation900">
+      <wsdl:input message="tns:RequestMessage900" name="Input900"/>
+      <wsdl:output message="tns:ResponseMessage900" name="Output900"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding900" type="tns:PortType900">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation900">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation900"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service900">
+    <wsdl:port name="Port900" binding="tns:Binding900">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage901">
+    <wsdl:part name="Response" element="tns:ResponseElement901"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage901">
+    <wsdl:part name="Request" element="tns:RequestElement901"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType901">
+    <wsdl:operation name="Operation901">
+      <wsdl:input message="tns:RequestMessage901" name="Input901"/>
+      <wsdl:output message="tns:ResponseMessage901" name="Output901"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding901" type="tns:PortType901">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation901">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation901"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service901">
+    <wsdl:port name="Port901" binding="tns:Binding901">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage902">
+    <wsdl:part name="Response" element="tns:ResponseElement902"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage902">
+    <wsdl:part name="Request" element="tns:RequestElement902"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType902">
+    <wsdl:operation name="Operation902">
+      <wsdl:input message="tns:RequestMessage902" name="Input902"/>
+      <wsdl:output message="tns:ResponseMessage902" name="Output902"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding902" type="tns:PortType902">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation902">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation902"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service902">
+    <wsdl:port name="Port902" binding="tns:Binding902">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage903">
+    <wsdl:part name="Response" element="tns:ResponseElement903"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage903">
+    <wsdl:part name="Request" element="tns:RequestElement903"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType903">
+    <wsdl:operation name="Operation903">
+      <wsdl:input message="tns:RequestMessage903" name="Input903"/>
+      <wsdl:output message="tns:ResponseMessage903" name="Output903"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding903" type="tns:PortType903">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation903">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation903"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service903">
+    <wsdl:port name="Port903" binding="tns:Binding903">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage904">
+    <wsdl:part name="Response" element="tns:ResponseElement904"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage904">
+    <wsdl:part name="Request" element="tns:RequestElement904"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType904">
+    <wsdl:operation name="Operation904">
+      <wsdl:input message="tns:RequestMessage904" name="Input904"/>
+      <wsdl:output message="tns:ResponseMessage904" name="Output904"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding904" type="tns:PortType904">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation904">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation904"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service904">
+    <wsdl:port name="Port904" binding="tns:Binding904">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage905">
+    <wsdl:part name="Response" element="tns:ResponseElement905"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage905">
+    <wsdl:part name="Request" element="tns:RequestElement905"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType905">
+    <wsdl:operation name="Operation905">
+      <wsdl:input message="tns:RequestMessage905" name="Input905"/>
+      <wsdl:output message="tns:ResponseMessage905" name="Output905"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding905" type="tns:PortType905">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation905">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation905"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service905">
+    <wsdl:port name="Port905" binding="tns:Binding905">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage906">
+    <wsdl:part name="Response" element="tns:ResponseElement906"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage906">
+    <wsdl:part name="Request" element="tns:RequestElement906"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType906">
+    <wsdl:operation name="Operation906">
+      <wsdl:input message="tns:RequestMessage906" name="Input906"/>
+      <wsdl:output message="tns:ResponseMessage906" name="Output906"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding906" type="tns:PortType906">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation906">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation906"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service906">
+    <wsdl:port name="Port906" binding="tns:Binding906">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage907">
+    <wsdl:part name="Response" element="tns:ResponseElement907"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage907">
+    <wsdl:part name="Request" element="tns:RequestElement907"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType907">
+    <wsdl:operation name="Operation907">
+      <wsdl:input message="tns:RequestMessage907" name="Input907"/>
+      <wsdl:output message="tns:ResponseMessage907" name="Output907"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding907" type="tns:PortType907">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation907">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation907"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service907">
+    <wsdl:port name="Port907" binding="tns:Binding907">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage908">
+    <wsdl:part name="Response" element="tns:ResponseElement908"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage908">
+    <wsdl:part name="Request" element="tns:RequestElement908"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType908">
+    <wsdl:operation name="Operation908">
+      <wsdl:input message="tns:RequestMessage908" name="Input908"/>
+      <wsdl:output message="tns:ResponseMessage908" name="Output908"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding908" type="tns:PortType908">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation908">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation908"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service908">
+    <wsdl:port name="Port908" binding="tns:Binding908">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage909">
+    <wsdl:part name="Response" element="tns:ResponseElement909"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage909">
+    <wsdl:part name="Request" element="tns:RequestElement909"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType909">
+    <wsdl:operation name="Operation909">
+      <wsdl:input message="tns:RequestMessage909" name="Input909"/>
+      <wsdl:output message="tns:ResponseMessage909" name="Output909"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding909" type="tns:PortType909">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation909">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation909"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service909">
+    <wsdl:port name="Port909" binding="tns:Binding909">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage910">
+    <wsdl:part name="Response" element="tns:ResponseElement910"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage910">
+    <wsdl:part name="Request" element="tns:RequestElement910"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType910">
+    <wsdl:operation name="Operation910">
+      <wsdl:input message="tns:RequestMessage910" name="Input910"/>
+      <wsdl:output message="tns:ResponseMessage910" name="Output910"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding910" type="tns:PortType910">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation910">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation910"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service910">
+    <wsdl:port name="Port910" binding="tns:Binding910">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage911">
+    <wsdl:part name="Response" element="tns:ResponseElement911"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage911">
+    <wsdl:part name="Request" element="tns:RequestElement911"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType911">
+    <wsdl:operation name="Operation911">
+      <wsdl:input message="tns:RequestMessage911" name="Input911"/>
+      <wsdl:output message="tns:ResponseMessage911" name="Output911"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding911" type="tns:PortType911">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation911">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation911"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service911">
+    <wsdl:port name="Port911" binding="tns:Binding911">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage912">
+    <wsdl:part name="Response" element="tns:ResponseElement912"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage912">
+    <wsdl:part name="Request" element="tns:RequestElement912"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType912">
+    <wsdl:operation name="Operation912">
+      <wsdl:input message="tns:RequestMessage912" name="Input912"/>
+      <wsdl:output message="tns:ResponseMessage912" name="Output912"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding912" type="tns:PortType912">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation912">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation912"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service912">
+    <wsdl:port name="Port912" binding="tns:Binding912">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage913">
+    <wsdl:part name="Response" element="tns:ResponseElement913"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage913">
+    <wsdl:part name="Request" element="tns:RequestElement913"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType913">
+    <wsdl:operation name="Operation913">
+      <wsdl:input message="tns:RequestMessage913" name="Input913"/>
+      <wsdl:output message="tns:ResponseMessage913" name="Output913"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding913" type="tns:PortType913">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation913">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation913"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service913">
+    <wsdl:port name="Port913" binding="tns:Binding913">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage914">
+    <wsdl:part name="Response" element="tns:ResponseElement914"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage914">
+    <wsdl:part name="Request" element="tns:RequestElement914"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType914">
+    <wsdl:operation name="Operation914">
+      <wsdl:input message="tns:RequestMessage914" name="Input914"/>
+      <wsdl:output message="tns:ResponseMessage914" name="Output914"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding914" type="tns:PortType914">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation914">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation914"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service914">
+    <wsdl:port name="Port914" binding="tns:Binding914">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage915">
+    <wsdl:part name="Response" element="tns:ResponseElement915"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage915">
+    <wsdl:part name="Request" element="tns:RequestElement915"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType915">
+    <wsdl:operation name="Operation915">
+      <wsdl:input message="tns:RequestMessage915" name="Input915"/>
+      <wsdl:output message="tns:ResponseMessage915" name="Output915"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding915" type="tns:PortType915">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation915">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation915"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service915">
+    <wsdl:port name="Port915" binding="tns:Binding915">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage916">
+    <wsdl:part name="Response" element="tns:ResponseElement916"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage916">
+    <wsdl:part name="Request" element="tns:RequestElement916"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType916">
+    <wsdl:operation name="Operation916">
+      <wsdl:input message="tns:RequestMessage916" name="Input916"/>
+      <wsdl:output message="tns:ResponseMessage916" name="Output916"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding916" type="tns:PortType916">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation916">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation916"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service916">
+    <wsdl:port name="Port916" binding="tns:Binding916">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage917">
+    <wsdl:part name="Response" element="tns:ResponseElement917"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage917">
+    <wsdl:part name="Request" element="tns:RequestElement917"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType917">
+    <wsdl:operation name="Operation917">
+      <wsdl:input message="tns:RequestMessage917" name="Input917"/>
+      <wsdl:output message="tns:ResponseMessage917" name="Output917"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding917" type="tns:PortType917">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation917">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation917"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service917">
+    <wsdl:port name="Port917" binding="tns:Binding917">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage918">
+    <wsdl:part name="Response" element="tns:ResponseElement918"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage918">
+    <wsdl:part name="Request" element="tns:RequestElement918"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType918">
+    <wsdl:operation name="Operation918">
+      <wsdl:input message="tns:RequestMessage918" name="Input918"/>
+      <wsdl:output message="tns:ResponseMessage918" name="Output918"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding918" type="tns:PortType918">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation918">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation918"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service918">
+    <wsdl:port name="Port918" binding="tns:Binding918">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage919">
+    <wsdl:part name="Response" element="tns:ResponseElement919"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage919">
+    <wsdl:part name="Request" element="tns:RequestElement919"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType919">
+    <wsdl:operation name="Operation919">
+      <wsdl:input message="tns:RequestMessage919" name="Input919"/>
+      <wsdl:output message="tns:ResponseMessage919" name="Output919"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding919" type="tns:PortType919">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation919">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation919"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service919">
+    <wsdl:port name="Port919" binding="tns:Binding919">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage920">
+    <wsdl:part name="Response" element="tns:ResponseElement920"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage920">
+    <wsdl:part name="Request" element="tns:RequestElement920"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType920">
+    <wsdl:operation name="Operation920">
+      <wsdl:input message="tns:RequestMessage920" name="Input920"/>
+      <wsdl:output message="tns:ResponseMessage920" name="Output920"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding920" type="tns:PortType920">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation920">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation920"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service920">
+    <wsdl:port name="Port920" binding="tns:Binding920">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage921">
+    <wsdl:part name="Response" element="tns:ResponseElement921"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage921">
+    <wsdl:part name="Request" element="tns:RequestElement921"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType921">
+    <wsdl:operation name="Operation921">
+      <wsdl:input message="tns:RequestMessage921" name="Input921"/>
+      <wsdl:output message="tns:ResponseMessage921" name="Output921"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding921" type="tns:PortType921">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation921">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation921"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service921">
+    <wsdl:port name="Port921" binding="tns:Binding921">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage922">
+    <wsdl:part name="Response" element="tns:ResponseElement922"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage922">
+    <wsdl:part name="Request" element="tns:RequestElement922"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType922">
+    <wsdl:operation name="Operation922">
+      <wsdl:input message="tns:RequestMessage922" name="Input922"/>
+      <wsdl:output message="tns:ResponseMessage922" name="Output922"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding922" type="tns:PortType922">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation922">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation922"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service922">
+    <wsdl:port name="Port922" binding="tns:Binding922">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage923">
+    <wsdl:part name="Response" element="tns:ResponseElement923"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage923">
+    <wsdl:part name="Request" element="tns:RequestElement923"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType923">
+    <wsdl:operation name="Operation923">
+      <wsdl:input message="tns:RequestMessage923" name="Input923"/>
+      <wsdl:output message="tns:ResponseMessage923" name="Output923"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding923" type="tns:PortType923">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation923">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation923"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service923">
+    <wsdl:port name="Port923" binding="tns:Binding923">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage924">
+    <wsdl:part name="Response" element="tns:ResponseElement924"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage924">
+    <wsdl:part name="Request" element="tns:RequestElement924"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType924">
+    <wsdl:operation name="Operation924">
+      <wsdl:input message="tns:RequestMessage924" name="Input924"/>
+      <wsdl:output message="tns:ResponseMessage924" name="Output924"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding924" type="tns:PortType924">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation924">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation924"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service924">
+    <wsdl:port name="Port924" binding="tns:Binding924">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage925">
+    <wsdl:part name="Response" element="tns:ResponseElement925"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage925">
+    <wsdl:part name="Request" element="tns:RequestElement925"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType925">
+    <wsdl:operation name="Operation925">
+      <wsdl:input message="tns:RequestMessage925" name="Input925"/>
+      <wsdl:output message="tns:ResponseMessage925" name="Output925"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding925" type="tns:PortType925">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation925">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation925"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service925">
+    <wsdl:port name="Port925" binding="tns:Binding925">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage926">
+    <wsdl:part name="Response" element="tns:ResponseElement926"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage926">
+    <wsdl:part name="Request" element="tns:RequestElement926"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType926">
+    <wsdl:operation name="Operation926">
+      <wsdl:input message="tns:RequestMessage926" name="Input926"/>
+      <wsdl:output message="tns:ResponseMessage926" name="Output926"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding926" type="tns:PortType926">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation926">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation926"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service926">
+    <wsdl:port name="Port926" binding="tns:Binding926">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage927">
+    <wsdl:part name="Response" element="tns:ResponseElement927"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage927">
+    <wsdl:part name="Request" element="tns:RequestElement927"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType927">
+    <wsdl:operation name="Operation927">
+      <wsdl:input message="tns:RequestMessage927" name="Input927"/>
+      <wsdl:output message="tns:ResponseMessage927" name="Output927"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding927" type="tns:PortType927">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation927">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation927"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service927">
+    <wsdl:port name="Port927" binding="tns:Binding927">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage928">
+    <wsdl:part name="Response" element="tns:ResponseElement928"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage928">
+    <wsdl:part name="Request" element="tns:RequestElement928"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType928">
+    <wsdl:operation name="Operation928">
+      <wsdl:input message="tns:RequestMessage928" name="Input928"/>
+      <wsdl:output message="tns:ResponseMessage928" name="Output928"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding928" type="tns:PortType928">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation928">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation928"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service928">
+    <wsdl:port name="Port928" binding="tns:Binding928">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage929">
+    <wsdl:part name="Response" element="tns:ResponseElement929"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage929">
+    <wsdl:part name="Request" element="tns:RequestElement929"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType929">
+    <wsdl:operation name="Operation929">
+      <wsdl:input message="tns:RequestMessage929" name="Input929"/>
+      <wsdl:output message="tns:ResponseMessage929" name="Output929"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding929" type="tns:PortType929">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation929">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation929"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service929">
+    <wsdl:port name="Port929" binding="tns:Binding929">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage930">
+    <wsdl:part name="Response" element="tns:ResponseElement930"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage930">
+    <wsdl:part name="Request" element="tns:RequestElement930"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType930">
+    <wsdl:operation name="Operation930">
+      <wsdl:input message="tns:RequestMessage930" name="Input930"/>
+      <wsdl:output message="tns:ResponseMessage930" name="Output930"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding930" type="tns:PortType930">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation930">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation930"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service930">
+    <wsdl:port name="Port930" binding="tns:Binding930">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage931">
+    <wsdl:part name="Response" element="tns:ResponseElement931"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage931">
+    <wsdl:part name="Request" element="tns:RequestElement931"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType931">
+    <wsdl:operation name="Operation931">
+      <wsdl:input message="tns:RequestMessage931" name="Input931"/>
+      <wsdl:output message="tns:ResponseMessage931" name="Output931"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding931" type="tns:PortType931">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation931">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation931"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service931">
+    <wsdl:port name="Port931" binding="tns:Binding931">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage932">
+    <wsdl:part name="Response" element="tns:ResponseElement932"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage932">
+    <wsdl:part name="Request" element="tns:RequestElement932"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType932">
+    <wsdl:operation name="Operation932">
+      <wsdl:input message="tns:RequestMessage932" name="Input932"/>
+      <wsdl:output message="tns:ResponseMessage932" name="Output932"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding932" type="tns:PortType932">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation932">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation932"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service932">
+    <wsdl:port name="Port932" binding="tns:Binding932">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage933">
+    <wsdl:part name="Response" element="tns:ResponseElement933"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage933">
+    <wsdl:part name="Request" element="tns:RequestElement933"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType933">
+    <wsdl:operation name="Operation933">
+      <wsdl:input message="tns:RequestMessage933" name="Input933"/>
+      <wsdl:output message="tns:ResponseMessage933" name="Output933"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding933" type="tns:PortType933">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation933">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation933"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service933">
+    <wsdl:port name="Port933" binding="tns:Binding933">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage934">
+    <wsdl:part name="Response" element="tns:ResponseElement934"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage934">
+    <wsdl:part name="Request" element="tns:RequestElement934"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType934">
+    <wsdl:operation name="Operation934">
+      <wsdl:input message="tns:RequestMessage934" name="Input934"/>
+      <wsdl:output message="tns:ResponseMessage934" name="Output934"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding934" type="tns:PortType934">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation934">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation934"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service934">
+    <wsdl:port name="Port934" binding="tns:Binding934">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage935">
+    <wsdl:part name="Response" element="tns:ResponseElement935"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage935">
+    <wsdl:part name="Request" element="tns:RequestElement935"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType935">
+    <wsdl:operation name="Operation935">
+      <wsdl:input message="tns:RequestMessage935" name="Input935"/>
+      <wsdl:output message="tns:ResponseMessage935" name="Output935"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding935" type="tns:PortType935">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation935">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation935"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service935">
+    <wsdl:port name="Port935" binding="tns:Binding935">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage936">
+    <wsdl:part name="Response" element="tns:ResponseElement936"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage936">
+    <wsdl:part name="Request" element="tns:RequestElement936"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType936">
+    <wsdl:operation name="Operation936">
+      <wsdl:input message="tns:RequestMessage936" name="Input936"/>
+      <wsdl:output message="tns:ResponseMessage936" name="Output936"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding936" type="tns:PortType936">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation936">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation936"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service936">
+    <wsdl:port name="Port936" binding="tns:Binding936">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage937">
+    <wsdl:part name="Response" element="tns:ResponseElement937"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage937">
+    <wsdl:part name="Request" element="tns:RequestElement937"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType937">
+    <wsdl:operation name="Operation937">
+      <wsdl:input message="tns:RequestMessage937" name="Input937"/>
+      <wsdl:output message="tns:ResponseMessage937" name="Output937"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding937" type="tns:PortType937">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation937">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation937"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service937">
+    <wsdl:port name="Port937" binding="tns:Binding937">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage938">
+    <wsdl:part name="Response" element="tns:ResponseElement938"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage938">
+    <wsdl:part name="Request" element="tns:RequestElement938"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType938">
+    <wsdl:operation name="Operation938">
+      <wsdl:input message="tns:RequestMessage938" name="Input938"/>
+      <wsdl:output message="tns:ResponseMessage938" name="Output938"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding938" type="tns:PortType938">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation938">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation938"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service938">
+    <wsdl:port name="Port938" binding="tns:Binding938">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage939">
+    <wsdl:part name="Response" element="tns:ResponseElement939"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage939">
+    <wsdl:part name="Request" element="tns:RequestElement939"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType939">
+    <wsdl:operation name="Operation939">
+      <wsdl:input message="tns:RequestMessage939" name="Input939"/>
+      <wsdl:output message="tns:ResponseMessage939" name="Output939"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding939" type="tns:PortType939">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation939">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation939"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service939">
+    <wsdl:port name="Port939" binding="tns:Binding939">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage940">
+    <wsdl:part name="Response" element="tns:ResponseElement940"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage940">
+    <wsdl:part name="Request" element="tns:RequestElement940"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType940">
+    <wsdl:operation name="Operation940">
+      <wsdl:input message="tns:RequestMessage940" name="Input940"/>
+      <wsdl:output message="tns:ResponseMessage940" name="Output940"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding940" type="tns:PortType940">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation940">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation940"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service940">
+    <wsdl:port name="Port940" binding="tns:Binding940">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage941">
+    <wsdl:part name="Response" element="tns:ResponseElement941"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage941">
+    <wsdl:part name="Request" element="tns:RequestElement941"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType941">
+    <wsdl:operation name="Operation941">
+      <wsdl:input message="tns:RequestMessage941" name="Input941"/>
+      <wsdl:output message="tns:ResponseMessage941" name="Output941"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding941" type="tns:PortType941">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation941">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation941"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service941">
+    <wsdl:port name="Port941" binding="tns:Binding941">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage942">
+    <wsdl:part name="Response" element="tns:ResponseElement942"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage942">
+    <wsdl:part name="Request" element="tns:RequestElement942"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType942">
+    <wsdl:operation name="Operation942">
+      <wsdl:input message="tns:RequestMessage942" name="Input942"/>
+      <wsdl:output message="tns:ResponseMessage942" name="Output942"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding942" type="tns:PortType942">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation942">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation942"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service942">
+    <wsdl:port name="Port942" binding="tns:Binding942">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage943">
+    <wsdl:part name="Response" element="tns:ResponseElement943"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage943">
+    <wsdl:part name="Request" element="tns:RequestElement943"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType943">
+    <wsdl:operation name="Operation943">
+      <wsdl:input message="tns:RequestMessage943" name="Input943"/>
+      <wsdl:output message="tns:ResponseMessage943" name="Output943"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding943" type="tns:PortType943">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation943">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation943"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service943">
+    <wsdl:port name="Port943" binding="tns:Binding943">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage944">
+    <wsdl:part name="Response" element="tns:ResponseElement944"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage944">
+    <wsdl:part name="Request" element="tns:RequestElement944"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType944">
+    <wsdl:operation name="Operation944">
+      <wsdl:input message="tns:RequestMessage944" name="Input944"/>
+      <wsdl:output message="tns:ResponseMessage944" name="Output944"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding944" type="tns:PortType944">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation944">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation944"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service944">
+    <wsdl:port name="Port944" binding="tns:Binding944">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage945">
+    <wsdl:part name="Response" element="tns:ResponseElement945"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage945">
+    <wsdl:part name="Request" element="tns:RequestElement945"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType945">
+    <wsdl:operation name="Operation945">
+      <wsdl:input message="tns:RequestMessage945" name="Input945"/>
+      <wsdl:output message="tns:ResponseMessage945" name="Output945"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding945" type="tns:PortType945">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation945">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation945"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service945">
+    <wsdl:port name="Port945" binding="tns:Binding945">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage946">
+    <wsdl:part name="Response" element="tns:ResponseElement946"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage946">
+    <wsdl:part name="Request" element="tns:RequestElement946"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType946">
+    <wsdl:operation name="Operation946">
+      <wsdl:input message="tns:RequestMessage946" name="Input946"/>
+      <wsdl:output message="tns:ResponseMessage946" name="Output946"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding946" type="tns:PortType946">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation946">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation946"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service946">
+    <wsdl:port name="Port946" binding="tns:Binding946">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage947">
+    <wsdl:part name="Response" element="tns:ResponseElement947"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage947">
+    <wsdl:part name="Request" element="tns:RequestElement947"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType947">
+    <wsdl:operation name="Operation947">
+      <wsdl:input message="tns:RequestMessage947" name="Input947"/>
+      <wsdl:output message="tns:ResponseMessage947" name="Output947"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding947" type="tns:PortType947">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation947">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation947"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service947">
+    <wsdl:port name="Port947" binding="tns:Binding947">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage948">
+    <wsdl:part name="Response" element="tns:ResponseElement948"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage948">
+    <wsdl:part name="Request" element="tns:RequestElement948"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType948">
+    <wsdl:operation name="Operation948">
+      <wsdl:input message="tns:RequestMessage948" name="Input948"/>
+      <wsdl:output message="tns:ResponseMessage948" name="Output948"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding948" type="tns:PortType948">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation948">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation948"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service948">
+    <wsdl:port name="Port948" binding="tns:Binding948">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage949">
+    <wsdl:part name="Response" element="tns:ResponseElement949"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage949">
+    <wsdl:part name="Request" element="tns:RequestElement949"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType949">
+    <wsdl:operation name="Operation949">
+      <wsdl:input message="tns:RequestMessage949" name="Input949"/>
+      <wsdl:output message="tns:ResponseMessage949" name="Output949"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding949" type="tns:PortType949">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation949">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation949"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service949">
+    <wsdl:port name="Port949" binding="tns:Binding949">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage950">
+    <wsdl:part name="Response" element="tns:ResponseElement950"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage950">
+    <wsdl:part name="Request" element="tns:RequestElement950"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType950">
+    <wsdl:operation name="Operation950">
+      <wsdl:input message="tns:RequestMessage950" name="Input950"/>
+      <wsdl:output message="tns:ResponseMessage950" name="Output950"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding950" type="tns:PortType950">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation950">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation950"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service950">
+    <wsdl:port name="Port950" binding="tns:Binding950">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage951">
+    <wsdl:part name="Response" element="tns:ResponseElement951"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage951">
+    <wsdl:part name="Request" element="tns:RequestElement951"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType951">
+    <wsdl:operation name="Operation951">
+      <wsdl:input message="tns:RequestMessage951" name="Input951"/>
+      <wsdl:output message="tns:ResponseMessage951" name="Output951"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding951" type="tns:PortType951">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation951">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation951"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service951">
+    <wsdl:port name="Port951" binding="tns:Binding951">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage952">
+    <wsdl:part name="Response" element="tns:ResponseElement952"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage952">
+    <wsdl:part name="Request" element="tns:RequestElement952"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType952">
+    <wsdl:operation name="Operation952">
+      <wsdl:input message="tns:RequestMessage952" name="Input952"/>
+      <wsdl:output message="tns:ResponseMessage952" name="Output952"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding952" type="tns:PortType952">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation952">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation952"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service952">
+    <wsdl:port name="Port952" binding="tns:Binding952">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage953">
+    <wsdl:part name="Response" element="tns:ResponseElement953"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage953">
+    <wsdl:part name="Request" element="tns:RequestElement953"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType953">
+    <wsdl:operation name="Operation953">
+      <wsdl:input message="tns:RequestMessage953" name="Input953"/>
+      <wsdl:output message="tns:ResponseMessage953" name="Output953"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding953" type="tns:PortType953">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation953">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation953"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service953">
+    <wsdl:port name="Port953" binding="tns:Binding953">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage954">
+    <wsdl:part name="Response" element="tns:ResponseElement954"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage954">
+    <wsdl:part name="Request" element="tns:RequestElement954"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType954">
+    <wsdl:operation name="Operation954">
+      <wsdl:input message="tns:RequestMessage954" name="Input954"/>
+      <wsdl:output message="tns:ResponseMessage954" name="Output954"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding954" type="tns:PortType954">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation954">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation954"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service954">
+    <wsdl:port name="Port954" binding="tns:Binding954">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage955">
+    <wsdl:part name="Response" element="tns:ResponseElement955"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage955">
+    <wsdl:part name="Request" element="tns:RequestElement955"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType955">
+    <wsdl:operation name="Operation955">
+      <wsdl:input message="tns:RequestMessage955" name="Input955"/>
+      <wsdl:output message="tns:ResponseMessage955" name="Output955"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding955" type="tns:PortType955">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation955">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation955"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service955">
+    <wsdl:port name="Port955" binding="tns:Binding955">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage956">
+    <wsdl:part name="Response" element="tns:ResponseElement956"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage956">
+    <wsdl:part name="Request" element="tns:RequestElement956"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType956">
+    <wsdl:operation name="Operation956">
+      <wsdl:input message="tns:RequestMessage956" name="Input956"/>
+      <wsdl:output message="tns:ResponseMessage956" name="Output956"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding956" type="tns:PortType956">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation956">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation956"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service956">
+    <wsdl:port name="Port956" binding="tns:Binding956">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage957">
+    <wsdl:part name="Response" element="tns:ResponseElement957"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage957">
+    <wsdl:part name="Request" element="tns:RequestElement957"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType957">
+    <wsdl:operation name="Operation957">
+      <wsdl:input message="tns:RequestMessage957" name="Input957"/>
+      <wsdl:output message="tns:ResponseMessage957" name="Output957"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding957" type="tns:PortType957">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation957">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation957"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service957">
+    <wsdl:port name="Port957" binding="tns:Binding957">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage958">
+    <wsdl:part name="Response" element="tns:ResponseElement958"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage958">
+    <wsdl:part name="Request" element="tns:RequestElement958"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType958">
+    <wsdl:operation name="Operation958">
+      <wsdl:input message="tns:RequestMessage958" name="Input958"/>
+      <wsdl:output message="tns:ResponseMessage958" name="Output958"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding958" type="tns:PortType958">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation958">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation958"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service958">
+    <wsdl:port name="Port958" binding="tns:Binding958">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage959">
+    <wsdl:part name="Response" element="tns:ResponseElement959"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage959">
+    <wsdl:part name="Request" element="tns:RequestElement959"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType959">
+    <wsdl:operation name="Operation959">
+      <wsdl:input message="tns:RequestMessage959" name="Input959"/>
+      <wsdl:output message="tns:ResponseMessage959" name="Output959"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding959" type="tns:PortType959">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation959">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation959"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service959">
+    <wsdl:port name="Port959" binding="tns:Binding959">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage960">
+    <wsdl:part name="Response" element="tns:ResponseElement960"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage960">
+    <wsdl:part name="Request" element="tns:RequestElement960"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType960">
+    <wsdl:operation name="Operation960">
+      <wsdl:input message="tns:RequestMessage960" name="Input960"/>
+      <wsdl:output message="tns:ResponseMessage960" name="Output960"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding960" type="tns:PortType960">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation960">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation960"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service960">
+    <wsdl:port name="Port960" binding="tns:Binding960">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage961">
+    <wsdl:part name="Response" element="tns:ResponseElement961"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage961">
+    <wsdl:part name="Request" element="tns:RequestElement961"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType961">
+    <wsdl:operation name="Operation961">
+      <wsdl:input message="tns:RequestMessage961" name="Input961"/>
+      <wsdl:output message="tns:ResponseMessage961" name="Output961"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding961" type="tns:PortType961">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation961">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation961"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service961">
+    <wsdl:port name="Port961" binding="tns:Binding961">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage962">
+    <wsdl:part name="Response" element="tns:ResponseElement962"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage962">
+    <wsdl:part name="Request" element="tns:RequestElement962"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType962">
+    <wsdl:operation name="Operation962">
+      <wsdl:input message="tns:RequestMessage962" name="Input962"/>
+      <wsdl:output message="tns:ResponseMessage962" name="Output962"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding962" type="tns:PortType962">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation962">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation962"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service962">
+    <wsdl:port name="Port962" binding="tns:Binding962">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage963">
+    <wsdl:part name="Response" element="tns:ResponseElement963"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage963">
+    <wsdl:part name="Request" element="tns:RequestElement963"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType963">
+    <wsdl:operation name="Operation963">
+      <wsdl:input message="tns:RequestMessage963" name="Input963"/>
+      <wsdl:output message="tns:ResponseMessage963" name="Output963"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding963" type="tns:PortType963">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation963">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation963"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service963">
+    <wsdl:port name="Port963" binding="tns:Binding963">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage964">
+    <wsdl:part name="Response" element="tns:ResponseElement964"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage964">
+    <wsdl:part name="Request" element="tns:RequestElement964"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType964">
+    <wsdl:operation name="Operation964">
+      <wsdl:input message="tns:RequestMessage964" name="Input964"/>
+      <wsdl:output message="tns:ResponseMessage964" name="Output964"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding964" type="tns:PortType964">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation964">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation964"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service964">
+    <wsdl:port name="Port964" binding="tns:Binding964">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage965">
+    <wsdl:part name="Response" element="tns:ResponseElement965"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage965">
+    <wsdl:part name="Request" element="tns:RequestElement965"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType965">
+    <wsdl:operation name="Operation965">
+      <wsdl:input message="tns:RequestMessage965" name="Input965"/>
+      <wsdl:output message="tns:ResponseMessage965" name="Output965"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding965" type="tns:PortType965">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation965">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation965"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service965">
+    <wsdl:port name="Port965" binding="tns:Binding965">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage966">
+    <wsdl:part name="Response" element="tns:ResponseElement966"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage966">
+    <wsdl:part name="Request" element="tns:RequestElement966"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType966">
+    <wsdl:operation name="Operation966">
+      <wsdl:input message="tns:RequestMessage966" name="Input966"/>
+      <wsdl:output message="tns:ResponseMessage966" name="Output966"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding966" type="tns:PortType966">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation966">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation966"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service966">
+    <wsdl:port name="Port966" binding="tns:Binding966">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage967">
+    <wsdl:part name="Response" element="tns:ResponseElement967"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage967">
+    <wsdl:part name="Request" element="tns:RequestElement967"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType967">
+    <wsdl:operation name="Operation967">
+      <wsdl:input message="tns:RequestMessage967" name="Input967"/>
+      <wsdl:output message="tns:ResponseMessage967" name="Output967"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding967" type="tns:PortType967">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation967">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation967"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service967">
+    <wsdl:port name="Port967" binding="tns:Binding967">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage968">
+    <wsdl:part name="Response" element="tns:ResponseElement968"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage968">
+    <wsdl:part name="Request" element="tns:RequestElement968"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType968">
+    <wsdl:operation name="Operation968">
+      <wsdl:input message="tns:RequestMessage968" name="Input968"/>
+      <wsdl:output message="tns:ResponseMessage968" name="Output968"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding968" type="tns:PortType968">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation968">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation968"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service968">
+    <wsdl:port name="Port968" binding="tns:Binding968">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage969">
+    <wsdl:part name="Response" element="tns:ResponseElement969"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage969">
+    <wsdl:part name="Request" element="tns:RequestElement969"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType969">
+    <wsdl:operation name="Operation969">
+      <wsdl:input message="tns:RequestMessage969" name="Input969"/>
+      <wsdl:output message="tns:ResponseMessage969" name="Output969"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding969" type="tns:PortType969">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation969">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation969"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service969">
+    <wsdl:port name="Port969" binding="tns:Binding969">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage970">
+    <wsdl:part name="Response" element="tns:ResponseElement970"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage970">
+    <wsdl:part name="Request" element="tns:RequestElement970"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType970">
+    <wsdl:operation name="Operation970">
+      <wsdl:input message="tns:RequestMessage970" name="Input970"/>
+      <wsdl:output message="tns:ResponseMessage970" name="Output970"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding970" type="tns:PortType970">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation970">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation970"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service970">
+    <wsdl:port name="Port970" binding="tns:Binding970">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage971">
+    <wsdl:part name="Response" element="tns:ResponseElement971"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage971">
+    <wsdl:part name="Request" element="tns:RequestElement971"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType971">
+    <wsdl:operation name="Operation971">
+      <wsdl:input message="tns:RequestMessage971" name="Input971"/>
+      <wsdl:output message="tns:ResponseMessage971" name="Output971"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding971" type="tns:PortType971">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation971">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation971"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service971">
+    <wsdl:port name="Port971" binding="tns:Binding971">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage972">
+    <wsdl:part name="Response" element="tns:ResponseElement972"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage972">
+    <wsdl:part name="Request" element="tns:RequestElement972"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType972">
+    <wsdl:operation name="Operation972">
+      <wsdl:input message="tns:RequestMessage972" name="Input972"/>
+      <wsdl:output message="tns:ResponseMessage972" name="Output972"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding972" type="tns:PortType972">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation972">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation972"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service972">
+    <wsdl:port name="Port972" binding="tns:Binding972">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage973">
+    <wsdl:part name="Response" element="tns:ResponseElement973"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage973">
+    <wsdl:part name="Request" element="tns:RequestElement973"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType973">
+    <wsdl:operation name="Operation973">
+      <wsdl:input message="tns:RequestMessage973" name="Input973"/>
+      <wsdl:output message="tns:ResponseMessage973" name="Output973"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding973" type="tns:PortType973">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation973">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation973"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service973">
+    <wsdl:port name="Port973" binding="tns:Binding973">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage974">
+    <wsdl:part name="Response" element="tns:ResponseElement974"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage974">
+    <wsdl:part name="Request" element="tns:RequestElement974"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType974">
+    <wsdl:operation name="Operation974">
+      <wsdl:input message="tns:RequestMessage974" name="Input974"/>
+      <wsdl:output message="tns:ResponseMessage974" name="Output974"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding974" type="tns:PortType974">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation974">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation974"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service974">
+    <wsdl:port name="Port974" binding="tns:Binding974">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage975">
+    <wsdl:part name="Response" element="tns:ResponseElement975"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage975">
+    <wsdl:part name="Request" element="tns:RequestElement975"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType975">
+    <wsdl:operation name="Operation975">
+      <wsdl:input message="tns:RequestMessage975" name="Input975"/>
+      <wsdl:output message="tns:ResponseMessage975" name="Output975"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding975" type="tns:PortType975">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation975">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation975"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service975">
+    <wsdl:port name="Port975" binding="tns:Binding975">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage976">
+    <wsdl:part name="Response" element="tns:ResponseElement976"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage976">
+    <wsdl:part name="Request" element="tns:RequestElement976"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType976">
+    <wsdl:operation name="Operation976">
+      <wsdl:input message="tns:RequestMessage976" name="Input976"/>
+      <wsdl:output message="tns:ResponseMessage976" name="Output976"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding976" type="tns:PortType976">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation976">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation976"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service976">
+    <wsdl:port name="Port976" binding="tns:Binding976">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage977">
+    <wsdl:part name="Response" element="tns:ResponseElement977"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage977">
+    <wsdl:part name="Request" element="tns:RequestElement977"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType977">
+    <wsdl:operation name="Operation977">
+      <wsdl:input message="tns:RequestMessage977" name="Input977"/>
+      <wsdl:output message="tns:ResponseMessage977" name="Output977"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding977" type="tns:PortType977">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation977">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation977"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service977">
+    <wsdl:port name="Port977" binding="tns:Binding977">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage978">
+    <wsdl:part name="Response" element="tns:ResponseElement978"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage978">
+    <wsdl:part name="Request" element="tns:RequestElement978"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType978">
+    <wsdl:operation name="Operation978">
+      <wsdl:input message="tns:RequestMessage978" name="Input978"/>
+      <wsdl:output message="tns:ResponseMessage978" name="Output978"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding978" type="tns:PortType978">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation978">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation978"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service978">
+    <wsdl:port name="Port978" binding="tns:Binding978">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage979">
+    <wsdl:part name="Response" element="tns:ResponseElement979"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage979">
+    <wsdl:part name="Request" element="tns:RequestElement979"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType979">
+    <wsdl:operation name="Operation979">
+      <wsdl:input message="tns:RequestMessage979" name="Input979"/>
+      <wsdl:output message="tns:ResponseMessage979" name="Output979"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding979" type="tns:PortType979">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation979">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation979"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service979">
+    <wsdl:port name="Port979" binding="tns:Binding979">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage980">
+    <wsdl:part name="Response" element="tns:ResponseElement980"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage980">
+    <wsdl:part name="Request" element="tns:RequestElement980"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType980">
+    <wsdl:operation name="Operation980">
+      <wsdl:input message="tns:RequestMessage980" name="Input980"/>
+      <wsdl:output message="tns:ResponseMessage980" name="Output980"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding980" type="tns:PortType980">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation980">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation980"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service980">
+    <wsdl:port name="Port980" binding="tns:Binding980">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage981">
+    <wsdl:part name="Response" element="tns:ResponseElement981"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage981">
+    <wsdl:part name="Request" element="tns:RequestElement981"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType981">
+    <wsdl:operation name="Operation981">
+      <wsdl:input message="tns:RequestMessage981" name="Input981"/>
+      <wsdl:output message="tns:ResponseMessage981" name="Output981"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding981" type="tns:PortType981">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation981">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation981"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service981">
+    <wsdl:port name="Port981" binding="tns:Binding981">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage982">
+    <wsdl:part name="Response" element="tns:ResponseElement982"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage982">
+    <wsdl:part name="Request" element="tns:RequestElement982"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType982">
+    <wsdl:operation name="Operation982">
+      <wsdl:input message="tns:RequestMessage982" name="Input982"/>
+      <wsdl:output message="tns:ResponseMessage982" name="Output982"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding982" type="tns:PortType982">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation982">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation982"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service982">
+    <wsdl:port name="Port982" binding="tns:Binding982">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage983">
+    <wsdl:part name="Response" element="tns:ResponseElement983"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage983">
+    <wsdl:part name="Request" element="tns:RequestElement983"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType983">
+    <wsdl:operation name="Operation983">
+      <wsdl:input message="tns:RequestMessage983" name="Input983"/>
+      <wsdl:output message="tns:ResponseMessage983" name="Output983"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding983" type="tns:PortType983">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation983">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation983"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service983">
+    <wsdl:port name="Port983" binding="tns:Binding983">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage984">
+    <wsdl:part name="Response" element="tns:ResponseElement984"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage984">
+    <wsdl:part name="Request" element="tns:RequestElement984"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType984">
+    <wsdl:operation name="Operation984">
+      <wsdl:input message="tns:RequestMessage984" name="Input984"/>
+      <wsdl:output message="tns:ResponseMessage984" name="Output984"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding984" type="tns:PortType984">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation984">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation984"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service984">
+    <wsdl:port name="Port984" binding="tns:Binding984">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage985">
+    <wsdl:part name="Response" element="tns:ResponseElement985"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage985">
+    <wsdl:part name="Request" element="tns:RequestElement985"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType985">
+    <wsdl:operation name="Operation985">
+      <wsdl:input message="tns:RequestMessage985" name="Input985"/>
+      <wsdl:output message="tns:ResponseMessage985" name="Output985"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding985" type="tns:PortType985">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation985">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation985"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service985">
+    <wsdl:port name="Port985" binding="tns:Binding985">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage986">
+    <wsdl:part name="Response" element="tns:ResponseElement986"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage986">
+    <wsdl:part name="Request" element="tns:RequestElement986"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType986">
+    <wsdl:operation name="Operation986">
+      <wsdl:input message="tns:RequestMessage986" name="Input986"/>
+      <wsdl:output message="tns:ResponseMessage986" name="Output986"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding986" type="tns:PortType986">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation986">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation986"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service986">
+    <wsdl:port name="Port986" binding="tns:Binding986">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage987">
+    <wsdl:part name="Response" element="tns:ResponseElement987"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage987">
+    <wsdl:part name="Request" element="tns:RequestElement987"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType987">
+    <wsdl:operation name="Operation987">
+      <wsdl:input message="tns:RequestMessage987" name="Input987"/>
+      <wsdl:output message="tns:ResponseMessage987" name="Output987"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding987" type="tns:PortType987">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation987">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation987"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service987">
+    <wsdl:port name="Port987" binding="tns:Binding987">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage988">
+    <wsdl:part name="Response" element="tns:ResponseElement988"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage988">
+    <wsdl:part name="Request" element="tns:RequestElement988"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType988">
+    <wsdl:operation name="Operation988">
+      <wsdl:input message="tns:RequestMessage988" name="Input988"/>
+      <wsdl:output message="tns:ResponseMessage988" name="Output988"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding988" type="tns:PortType988">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation988">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation988"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service988">
+    <wsdl:port name="Port988" binding="tns:Binding988">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage989">
+    <wsdl:part name="Response" element="tns:ResponseElement989"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage989">
+    <wsdl:part name="Request" element="tns:RequestElement989"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType989">
+    <wsdl:operation name="Operation989">
+      <wsdl:input message="tns:RequestMessage989" name="Input989"/>
+      <wsdl:output message="tns:ResponseMessage989" name="Output989"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding989" type="tns:PortType989">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation989">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation989"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service989">
+    <wsdl:port name="Port989" binding="tns:Binding989">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage990">
+    <wsdl:part name="Response" element="tns:ResponseElement990"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage990">
+    <wsdl:part name="Request" element="tns:RequestElement990"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType990">
+    <wsdl:operation name="Operation990">
+      <wsdl:input message="tns:RequestMessage990" name="Input990"/>
+      <wsdl:output message="tns:ResponseMessage990" name="Output990"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding990" type="tns:PortType990">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation990">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation990"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service990">
+    <wsdl:port name="Port990" binding="tns:Binding990">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage991">
+    <wsdl:part name="Response" element="tns:ResponseElement991"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage991">
+    <wsdl:part name="Request" element="tns:RequestElement991"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType991">
+    <wsdl:operation name="Operation991">
+      <wsdl:input message="tns:RequestMessage991" name="Input991"/>
+      <wsdl:output message="tns:ResponseMessage991" name="Output991"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding991" type="tns:PortType991">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation991">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation991"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service991">
+    <wsdl:port name="Port991" binding="tns:Binding991">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage992">
+    <wsdl:part name="Response" element="tns:ResponseElement992"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage992">
+    <wsdl:part name="Request" element="tns:RequestElement992"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType992">
+    <wsdl:operation name="Operation992">
+      <wsdl:input message="tns:RequestMessage992" name="Input992"/>
+      <wsdl:output message="tns:ResponseMessage992" name="Output992"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding992" type="tns:PortType992">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation992">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation992"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service992">
+    <wsdl:port name="Port992" binding="tns:Binding992">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage993">
+    <wsdl:part name="Response" element="tns:ResponseElement993"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage993">
+    <wsdl:part name="Request" element="tns:RequestElement993"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType993">
+    <wsdl:operation name="Operation993">
+      <wsdl:input message="tns:RequestMessage993" name="Input993"/>
+      <wsdl:output message="tns:ResponseMessage993" name="Output993"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding993" type="tns:PortType993">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation993">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation993"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service993">
+    <wsdl:port name="Port993" binding="tns:Binding993">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage994">
+    <wsdl:part name="Response" element="tns:ResponseElement994"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage994">
+    <wsdl:part name="Request" element="tns:RequestElement994"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType994">
+    <wsdl:operation name="Operation994">
+      <wsdl:input message="tns:RequestMessage994" name="Input994"/>
+      <wsdl:output message="tns:ResponseMessage994" name="Output994"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding994" type="tns:PortType994">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation994">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation994"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service994">
+    <wsdl:port name="Port994" binding="tns:Binding994">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage995">
+    <wsdl:part name="Response" element="tns:ResponseElement995"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage995">
+    <wsdl:part name="Request" element="tns:RequestElement995"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType995">
+    <wsdl:operation name="Operation995">
+      <wsdl:input message="tns:RequestMessage995" name="Input995"/>
+      <wsdl:output message="tns:ResponseMessage995" name="Output995"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding995" type="tns:PortType995">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation995">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation995"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service995">
+    <wsdl:port name="Port995" binding="tns:Binding995">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage996">
+    <wsdl:part name="Response" element="tns:ResponseElement996"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage996">
+    <wsdl:part name="Request" element="tns:RequestElement996"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType996">
+    <wsdl:operation name="Operation996">
+      <wsdl:input message="tns:RequestMessage996" name="Input996"/>
+      <wsdl:output message="tns:ResponseMessage996" name="Output996"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding996" type="tns:PortType996">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation996">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation996"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service996">
+    <wsdl:port name="Port996" binding="tns:Binding996">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage997">
+    <wsdl:part name="Response" element="tns:ResponseElement997"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage997">
+    <wsdl:part name="Request" element="tns:RequestElement997"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType997">
+    <wsdl:operation name="Operation997">
+      <wsdl:input message="tns:RequestMessage997" name="Input997"/>
+      <wsdl:output message="tns:ResponseMessage997" name="Output997"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding997" type="tns:PortType997">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation997">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation997"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service997">
+    <wsdl:port name="Port997" binding="tns:Binding997">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage998">
+    <wsdl:part name="Response" element="tns:ResponseElement998"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage998">
+    <wsdl:part name="Request" element="tns:RequestElement998"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType998">
+    <wsdl:operation name="Operation998">
+      <wsdl:input message="tns:RequestMessage998" name="Input998"/>
+      <wsdl:output message="tns:ResponseMessage998" name="Output998"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding998" type="tns:PortType998">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation998">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation998"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service998">
+    <wsdl:port name="Port998" binding="tns:Binding998">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage999">
+    <wsdl:part name="Response" element="tns:ResponseElement999"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage999">
+    <wsdl:part name="Request" element="tns:RequestElement999"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType999">
+    <wsdl:operation name="Operation999">
+      <wsdl:input message="tns:RequestMessage999" name="Input999"/>
+      <wsdl:output message="tns:ResponseMessage999" name="Output999"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding999" type="tns:PortType999">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation999">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation999"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service999">
+    <wsdl:port name="Port999" binding="tns:Binding999">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/data/200KB.wsdl b/tests/org.eclipse.wst.wsdl.tests.performance/data/200KB.wsdl
new file mode 100644
index 0000000..01d3706
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/data/200KB.wsdl
@@ -0,0 +1,6207 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Definition" targetNamespace="http://www.eclipse.org/webtools" xmlns:tns="http://www.eclipse.org/webtools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools">
+      <xsd:element name="ResponseElement0" type="xsd:string"/>
+      <xsd:element name="RequestElement0" type="xsd:string"/>
+      <xsd:element name="ResponseElement1" type="xsd:string"/>
+      <xsd:element name="RequestElement1" type="xsd:string"/>
+      <xsd:element name="ResponseElement2" type="xsd:string"/>
+      <xsd:element name="RequestElement2" type="xsd:string"/>
+      <xsd:element name="ResponseElement3" type="xsd:string"/>
+      <xsd:element name="RequestElement3" type="xsd:string"/>
+      <xsd:element name="ResponseElement4" type="xsd:string"/>
+      <xsd:element name="RequestElement4" type="xsd:string"/>
+      <xsd:element name="ResponseElement5" type="xsd:string"/>
+      <xsd:element name="RequestElement5" type="xsd:string"/>
+      <xsd:element name="ResponseElement6" type="xsd:string"/>
+      <xsd:element name="RequestElement6" type="xsd:string"/>
+      <xsd:element name="ResponseElement7" type="xsd:string"/>
+      <xsd:element name="RequestElement7" type="xsd:string"/>
+      <xsd:element name="ResponseElement8" type="xsd:string"/>
+      <xsd:element name="RequestElement8" type="xsd:string"/>
+      <xsd:element name="ResponseElement9" type="xsd:string"/>
+      <xsd:element name="RequestElement9" type="xsd:string"/>
+      <xsd:element name="ResponseElement10" type="xsd:string"/>
+      <xsd:element name="RequestElement10" type="xsd:string"/>
+      <xsd:element name="ResponseElement11" type="xsd:string"/>
+      <xsd:element name="RequestElement11" type="xsd:string"/>
+      <xsd:element name="ResponseElement12" type="xsd:string"/>
+      <xsd:element name="RequestElement12" type="xsd:string"/>
+      <xsd:element name="ResponseElement13" type="xsd:string"/>
+      <xsd:element name="RequestElement13" type="xsd:string"/>
+      <xsd:element name="ResponseElement14" type="xsd:string"/>
+      <xsd:element name="RequestElement14" type="xsd:string"/>
+      <xsd:element name="ResponseElement15" type="xsd:string"/>
+      <xsd:element name="RequestElement15" type="xsd:string"/>
+      <xsd:element name="ResponseElement16" type="xsd:string"/>
+      <xsd:element name="RequestElement16" type="xsd:string"/>
+      <xsd:element name="ResponseElement17" type="xsd:string"/>
+      <xsd:element name="RequestElement17" type="xsd:string"/>
+      <xsd:element name="ResponseElement18" type="xsd:string"/>
+      <xsd:element name="RequestElement18" type="xsd:string"/>
+      <xsd:element name="ResponseElement19" type="xsd:string"/>
+      <xsd:element name="RequestElement19" type="xsd:string"/>
+      <xsd:element name="ResponseElement20" type="xsd:string"/>
+      <xsd:element name="RequestElement20" type="xsd:string"/>
+      <xsd:element name="ResponseElement21" type="xsd:string"/>
+      <xsd:element name="RequestElement21" type="xsd:string"/>
+      <xsd:element name="ResponseElement22" type="xsd:string"/>
+      <xsd:element name="RequestElement22" type="xsd:string"/>
+      <xsd:element name="ResponseElement23" type="xsd:string"/>
+      <xsd:element name="RequestElement23" type="xsd:string"/>
+      <xsd:element name="ResponseElement24" type="xsd:string"/>
+      <xsd:element name="RequestElement24" type="xsd:string"/>
+      <xsd:element name="ResponseElement25" type="xsd:string"/>
+      <xsd:element name="RequestElement25" type="xsd:string"/>
+      <xsd:element name="ResponseElement26" type="xsd:string"/>
+      <xsd:element name="RequestElement26" type="xsd:string"/>
+      <xsd:element name="ResponseElement27" type="xsd:string"/>
+      <xsd:element name="RequestElement27" type="xsd:string"/>
+      <xsd:element name="ResponseElement28" type="xsd:string"/>
+      <xsd:element name="RequestElement28" type="xsd:string"/>
+      <xsd:element name="ResponseElement29" type="xsd:string"/>
+      <xsd:element name="RequestElement29" type="xsd:string"/>
+      <xsd:element name="ResponseElement30" type="xsd:string"/>
+      <xsd:element name="RequestElement30" type="xsd:string"/>
+      <xsd:element name="ResponseElement31" type="xsd:string"/>
+      <xsd:element name="RequestElement31" type="xsd:string"/>
+      <xsd:element name="ResponseElement32" type="xsd:string"/>
+      <xsd:element name="RequestElement32" type="xsd:string"/>
+      <xsd:element name="ResponseElement33" type="xsd:string"/>
+      <xsd:element name="RequestElement33" type="xsd:string"/>
+      <xsd:element name="ResponseElement34" type="xsd:string"/>
+      <xsd:element name="RequestElement34" type="xsd:string"/>
+      <xsd:element name="ResponseElement35" type="xsd:string"/>
+      <xsd:element name="RequestElement35" type="xsd:string"/>
+      <xsd:element name="ResponseElement36" type="xsd:string"/>
+      <xsd:element name="RequestElement36" type="xsd:string"/>
+      <xsd:element name="ResponseElement37" type="xsd:string"/>
+      <xsd:element name="RequestElement37" type="xsd:string"/>
+      <xsd:element name="ResponseElement38" type="xsd:string"/>
+      <xsd:element name="RequestElement38" type="xsd:string"/>
+      <xsd:element name="ResponseElement39" type="xsd:string"/>
+      <xsd:element name="RequestElement39" type="xsd:string"/>
+      <xsd:element name="ResponseElement40" type="xsd:string"/>
+      <xsd:element name="RequestElement40" type="xsd:string"/>
+      <xsd:element name="ResponseElement41" type="xsd:string"/>
+      <xsd:element name="RequestElement41" type="xsd:string"/>
+      <xsd:element name="ResponseElement42" type="xsd:string"/>
+      <xsd:element name="RequestElement42" type="xsd:string"/>
+      <xsd:element name="ResponseElement43" type="xsd:string"/>
+      <xsd:element name="RequestElement43" type="xsd:string"/>
+      <xsd:element name="ResponseElement44" type="xsd:string"/>
+      <xsd:element name="RequestElement44" type="xsd:string"/>
+      <xsd:element name="ResponseElement45" type="xsd:string"/>
+      <xsd:element name="RequestElement45" type="xsd:string"/>
+      <xsd:element name="ResponseElement46" type="xsd:string"/>
+      <xsd:element name="RequestElement46" type="xsd:string"/>
+      <xsd:element name="ResponseElement47" type="xsd:string"/>
+      <xsd:element name="RequestElement47" type="xsd:string"/>
+      <xsd:element name="ResponseElement48" type="xsd:string"/>
+      <xsd:element name="RequestElement48" type="xsd:string"/>
+      <xsd:element name="ResponseElement49" type="xsd:string"/>
+      <xsd:element name="RequestElement49" type="xsd:string"/>
+      <xsd:element name="ResponseElement50" type="xsd:string"/>
+      <xsd:element name="RequestElement50" type="xsd:string"/>
+      <xsd:element name="ResponseElement51" type="xsd:string"/>
+      <xsd:element name="RequestElement51" type="xsd:string"/>
+      <xsd:element name="ResponseElement52" type="xsd:string"/>
+      <xsd:element name="RequestElement52" type="xsd:string"/>
+      <xsd:element name="ResponseElement53" type="xsd:string"/>
+      <xsd:element name="RequestElement53" type="xsd:string"/>
+      <xsd:element name="ResponseElement54" type="xsd:string"/>
+      <xsd:element name="RequestElement54" type="xsd:string"/>
+      <xsd:element name="ResponseElement55" type="xsd:string"/>
+      <xsd:element name="RequestElement55" type="xsd:string"/>
+      <xsd:element name="ResponseElement56" type="xsd:string"/>
+      <xsd:element name="RequestElement56" type="xsd:string"/>
+      <xsd:element name="ResponseElement57" type="xsd:string"/>
+      <xsd:element name="RequestElement57" type="xsd:string"/>
+      <xsd:element name="ResponseElement58" type="xsd:string"/>
+      <xsd:element name="RequestElement58" type="xsd:string"/>
+      <xsd:element name="ResponseElement59" type="xsd:string"/>
+      <xsd:element name="RequestElement59" type="xsd:string"/>
+      <xsd:element name="ResponseElement60" type="xsd:string"/>
+      <xsd:element name="RequestElement60" type="xsd:string"/>
+      <xsd:element name="ResponseElement61" type="xsd:string"/>
+      <xsd:element name="RequestElement61" type="xsd:string"/>
+      <xsd:element name="ResponseElement62" type="xsd:string"/>
+      <xsd:element name="RequestElement62" type="xsd:string"/>
+      <xsd:element name="ResponseElement63" type="xsd:string"/>
+      <xsd:element name="RequestElement63" type="xsd:string"/>
+      <xsd:element name="ResponseElement64" type="xsd:string"/>
+      <xsd:element name="RequestElement64" type="xsd:string"/>
+      <xsd:element name="ResponseElement65" type="xsd:string"/>
+      <xsd:element name="RequestElement65" type="xsd:string"/>
+      <xsd:element name="ResponseElement66" type="xsd:string"/>
+      <xsd:element name="RequestElement66" type="xsd:string"/>
+      <xsd:element name="ResponseElement67" type="xsd:string"/>
+      <xsd:element name="RequestElement67" type="xsd:string"/>
+      <xsd:element name="ResponseElement68" type="xsd:string"/>
+      <xsd:element name="RequestElement68" type="xsd:string"/>
+      <xsd:element name="ResponseElement69" type="xsd:string"/>
+      <xsd:element name="RequestElement69" type="xsd:string"/>
+      <xsd:element name="ResponseElement70" type="xsd:string"/>
+      <xsd:element name="RequestElement70" type="xsd:string"/>
+      <xsd:element name="ResponseElement71" type="xsd:string"/>
+      <xsd:element name="RequestElement71" type="xsd:string"/>
+      <xsd:element name="ResponseElement72" type="xsd:string"/>
+      <xsd:element name="RequestElement72" type="xsd:string"/>
+      <xsd:element name="ResponseElement73" type="xsd:string"/>
+      <xsd:element name="RequestElement73" type="xsd:string"/>
+      <xsd:element name="ResponseElement74" type="xsd:string"/>
+      <xsd:element name="RequestElement74" type="xsd:string"/>
+      <xsd:element name="ResponseElement75" type="xsd:string"/>
+      <xsd:element name="RequestElement75" type="xsd:string"/>
+      <xsd:element name="ResponseElement76" type="xsd:string"/>
+      <xsd:element name="RequestElement76" type="xsd:string"/>
+      <xsd:element name="ResponseElement77" type="xsd:string"/>
+      <xsd:element name="RequestElement77" type="xsd:string"/>
+      <xsd:element name="ResponseElement78" type="xsd:string"/>
+      <xsd:element name="RequestElement78" type="xsd:string"/>
+      <xsd:element name="ResponseElement79" type="xsd:string"/>
+      <xsd:element name="RequestElement79" type="xsd:string"/>
+      <xsd:element name="ResponseElement80" type="xsd:string"/>
+      <xsd:element name="RequestElement80" type="xsd:string"/>
+      <xsd:element name="ResponseElement81" type="xsd:string"/>
+      <xsd:element name="RequestElement81" type="xsd:string"/>
+      <xsd:element name="ResponseElement82" type="xsd:string"/>
+      <xsd:element name="RequestElement82" type="xsd:string"/>
+      <xsd:element name="ResponseElement83" type="xsd:string"/>
+      <xsd:element name="RequestElement83" type="xsd:string"/>
+      <xsd:element name="ResponseElement84" type="xsd:string"/>
+      <xsd:element name="RequestElement84" type="xsd:string"/>
+      <xsd:element name="ResponseElement85" type="xsd:string"/>
+      <xsd:element name="RequestElement85" type="xsd:string"/>
+      <xsd:element name="ResponseElement86" type="xsd:string"/>
+      <xsd:element name="RequestElement86" type="xsd:string"/>
+      <xsd:element name="ResponseElement87" type="xsd:string"/>
+      <xsd:element name="RequestElement87" type="xsd:string"/>
+      <xsd:element name="ResponseElement88" type="xsd:string"/>
+      <xsd:element name="RequestElement88" type="xsd:string"/>
+      <xsd:element name="ResponseElement89" type="xsd:string"/>
+      <xsd:element name="RequestElement89" type="xsd:string"/>
+      <xsd:element name="ResponseElement90" type="xsd:string"/>
+      <xsd:element name="RequestElement90" type="xsd:string"/>
+      <xsd:element name="ResponseElement91" type="xsd:string"/>
+      <xsd:element name="RequestElement91" type="xsd:string"/>
+      <xsd:element name="ResponseElement92" type="xsd:string"/>
+      <xsd:element name="RequestElement92" type="xsd:string"/>
+      <xsd:element name="ResponseElement93" type="xsd:string"/>
+      <xsd:element name="RequestElement93" type="xsd:string"/>
+      <xsd:element name="ResponseElement94" type="xsd:string"/>
+      <xsd:element name="RequestElement94" type="xsd:string"/>
+      <xsd:element name="ResponseElement95" type="xsd:string"/>
+      <xsd:element name="RequestElement95" type="xsd:string"/>
+      <xsd:element name="ResponseElement96" type="xsd:string"/>
+      <xsd:element name="RequestElement96" type="xsd:string"/>
+      <xsd:element name="ResponseElement97" type="xsd:string"/>
+      <xsd:element name="RequestElement97" type="xsd:string"/>
+      <xsd:element name="ResponseElement98" type="xsd:string"/>
+      <xsd:element name="RequestElement98" type="xsd:string"/>
+      <xsd:element name="ResponseElement99" type="xsd:string"/>
+      <xsd:element name="RequestElement99" type="xsd:string"/>
+      <xsd:element name="ResponseElement100" type="xsd:string"/>
+      <xsd:element name="RequestElement100" type="xsd:string"/>
+      <xsd:element name="ResponseElement101" type="xsd:string"/>
+      <xsd:element name="RequestElement101" type="xsd:string"/>
+      <xsd:element name="ResponseElement102" type="xsd:string"/>
+      <xsd:element name="RequestElement102" type="xsd:string"/>
+      <xsd:element name="ResponseElement103" type="xsd:string"/>
+      <xsd:element name="RequestElement103" type="xsd:string"/>
+      <xsd:element name="ResponseElement104" type="xsd:string"/>
+      <xsd:element name="RequestElement104" type="xsd:string"/>
+      <xsd:element name="ResponseElement105" type="xsd:string"/>
+      <xsd:element name="RequestElement105" type="xsd:string"/>
+      <xsd:element name="ResponseElement106" type="xsd:string"/>
+      <xsd:element name="RequestElement106" type="xsd:string"/>
+      <xsd:element name="ResponseElement107" type="xsd:string"/>
+      <xsd:element name="RequestElement107" type="xsd:string"/>
+      <xsd:element name="ResponseElement108" type="xsd:string"/>
+      <xsd:element name="RequestElement108" type="xsd:string"/>
+      <xsd:element name="ResponseElement109" type="xsd:string"/>
+      <xsd:element name="RequestElement109" type="xsd:string"/>
+      <xsd:element name="ResponseElement110" type="xsd:string"/>
+      <xsd:element name="RequestElement110" type="xsd:string"/>
+      <xsd:element name="ResponseElement111" type="xsd:string"/>
+      <xsd:element name="RequestElement111" type="xsd:string"/>
+      <xsd:element name="ResponseElement112" type="xsd:string"/>
+      <xsd:element name="RequestElement112" type="xsd:string"/>
+      <xsd:element name="ResponseElement113" type="xsd:string"/>
+      <xsd:element name="RequestElement113" type="xsd:string"/>
+      <xsd:element name="ResponseElement114" type="xsd:string"/>
+      <xsd:element name="RequestElement114" type="xsd:string"/>
+      <xsd:element name="ResponseElement115" type="xsd:string"/>
+      <xsd:element name="RequestElement115" type="xsd:string"/>
+      <xsd:element name="ResponseElement116" type="xsd:string"/>
+      <xsd:element name="RequestElement116" type="xsd:string"/>
+      <xsd:element name="ResponseElement117" type="xsd:string"/>
+      <xsd:element name="RequestElement117" type="xsd:string"/>
+      <xsd:element name="ResponseElement118" type="xsd:string"/>
+      <xsd:element name="RequestElement118" type="xsd:string"/>
+      <xsd:element name="ResponseElement119" type="xsd:string"/>
+      <xsd:element name="RequestElement119" type="xsd:string"/>
+      <xsd:element name="ResponseElement120" type="xsd:string"/>
+      <xsd:element name="RequestElement120" type="xsd:string"/>
+      <xsd:element name="ResponseElement121" type="xsd:string"/>
+      <xsd:element name="RequestElement121" type="xsd:string"/>
+      <xsd:element name="ResponseElement122" type="xsd:string"/>
+      <xsd:element name="RequestElement122" type="xsd:string"/>
+      <xsd:element name="ResponseElement123" type="xsd:string"/>
+      <xsd:element name="RequestElement123" type="xsd:string"/>
+      <xsd:element name="ResponseElement124" type="xsd:string"/>
+      <xsd:element name="RequestElement124" type="xsd:string"/>
+      <xsd:element name="ResponseElement125" type="xsd:string"/>
+      <xsd:element name="RequestElement125" type="xsd:string"/>
+      <xsd:element name="ResponseElement126" type="xsd:string"/>
+      <xsd:element name="RequestElement126" type="xsd:string"/>
+      <xsd:element name="ResponseElement127" type="xsd:string"/>
+      <xsd:element name="RequestElement127" type="xsd:string"/>
+      <xsd:element name="ResponseElement128" type="xsd:string"/>
+      <xsd:element name="RequestElement128" type="xsd:string"/>
+      <xsd:element name="ResponseElement129" type="xsd:string"/>
+      <xsd:element name="RequestElement129" type="xsd:string"/>
+      <xsd:element name="ResponseElement130" type="xsd:string"/>
+      <xsd:element name="RequestElement130" type="xsd:string"/>
+      <xsd:element name="ResponseElement131" type="xsd:string"/>
+      <xsd:element name="RequestElement131" type="xsd:string"/>
+      <xsd:element name="ResponseElement132" type="xsd:string"/>
+      <xsd:element name="RequestElement132" type="xsd:string"/>
+      <xsd:element name="ResponseElement133" type="xsd:string"/>
+      <xsd:element name="RequestElement133" type="xsd:string"/>
+      <xsd:element name="ResponseElement134" type="xsd:string"/>
+      <xsd:element name="RequestElement134" type="xsd:string"/>
+      <xsd:element name="ResponseElement135" type="xsd:string"/>
+      <xsd:element name="RequestElement135" type="xsd:string"/>
+      <xsd:element name="ResponseElement136" type="xsd:string"/>
+      <xsd:element name="RequestElement136" type="xsd:string"/>
+      <xsd:element name="ResponseElement137" type="xsd:string"/>
+      <xsd:element name="RequestElement137" type="xsd:string"/>
+      <xsd:element name="ResponseElement138" type="xsd:string"/>
+      <xsd:element name="RequestElement138" type="xsd:string"/>
+      <xsd:element name="ResponseElement139" type="xsd:string"/>
+      <xsd:element name="RequestElement139" type="xsd:string"/>
+      <xsd:element name="ResponseElement140" type="xsd:string"/>
+      <xsd:element name="RequestElement140" type="xsd:string"/>
+      <xsd:element name="ResponseElement141" type="xsd:string"/>
+      <xsd:element name="RequestElement141" type="xsd:string"/>
+      <xsd:element name="ResponseElement142" type="xsd:string"/>
+      <xsd:element name="RequestElement142" type="xsd:string"/>
+      <xsd:element name="ResponseElement143" type="xsd:string"/>
+      <xsd:element name="RequestElement143" type="xsd:string"/>
+      <xsd:element name="ResponseElement144" type="xsd:string"/>
+      <xsd:element name="RequestElement144" type="xsd:string"/>
+      <xsd:element name="ResponseElement145" type="xsd:string"/>
+      <xsd:element name="RequestElement145" type="xsd:string"/>
+      <xsd:element name="ResponseElement146" type="xsd:string"/>
+      <xsd:element name="RequestElement146" type="xsd:string"/>
+      <xsd:element name="ResponseElement147" type="xsd:string"/>
+      <xsd:element name="RequestElement147" type="xsd:string"/>
+      <xsd:element name="ResponseElement148" type="xsd:string"/>
+      <xsd:element name="RequestElement148" type="xsd:string"/>
+      <xsd:element name="ResponseElement149" type="xsd:string"/>
+      <xsd:element name="RequestElement149" type="xsd:string"/>
+      <xsd:element name="ResponseElement150" type="xsd:string"/>
+      <xsd:element name="RequestElement150" type="xsd:string"/>
+      <xsd:element name="ResponseElement151" type="xsd:string"/>
+      <xsd:element name="RequestElement151" type="xsd:string"/>
+      <xsd:element name="ResponseElement152" type="xsd:string"/>
+      <xsd:element name="RequestElement152" type="xsd:string"/>
+      <xsd:element name="ResponseElement153" type="xsd:string"/>
+      <xsd:element name="RequestElement153" type="xsd:string"/>
+      <xsd:element name="ResponseElement154" type="xsd:string"/>
+      <xsd:element name="RequestElement154" type="xsd:string"/>
+      <xsd:element name="ResponseElement155" type="xsd:string"/>
+      <xsd:element name="RequestElement155" type="xsd:string"/>
+      <xsd:element name="ResponseElement156" type="xsd:string"/>
+      <xsd:element name="RequestElement156" type="xsd:string"/>
+      <xsd:element name="ResponseElement157" type="xsd:string"/>
+      <xsd:element name="RequestElement157" type="xsd:string"/>
+      <xsd:element name="ResponseElement158" type="xsd:string"/>
+      <xsd:element name="RequestElement158" type="xsd:string"/>
+      <xsd:element name="ResponseElement159" type="xsd:string"/>
+      <xsd:element name="RequestElement159" type="xsd:string"/>
+      <xsd:element name="ResponseElement160" type="xsd:string"/>
+      <xsd:element name="RequestElement160" type="xsd:string"/>
+      <xsd:element name="ResponseElement161" type="xsd:string"/>
+      <xsd:element name="RequestElement161" type="xsd:string"/>
+      <xsd:element name="ResponseElement162" type="xsd:string"/>
+      <xsd:element name="RequestElement162" type="xsd:string"/>
+      <xsd:element name="ResponseElement163" type="xsd:string"/>
+      <xsd:element name="RequestElement163" type="xsd:string"/>
+      <xsd:element name="ResponseElement164" type="xsd:string"/>
+      <xsd:element name="RequestElement164" type="xsd:string"/>
+      <xsd:element name="ResponseElement165" type="xsd:string"/>
+      <xsd:element name="RequestElement165" type="xsd:string"/>
+      <xsd:element name="ResponseElement166" type="xsd:string"/>
+      <xsd:element name="RequestElement166" type="xsd:string"/>
+      <xsd:element name="ResponseElement167" type="xsd:string"/>
+      <xsd:element name="RequestElement167" type="xsd:string"/>
+      <xsd:element name="ResponseElement168" type="xsd:string"/>
+      <xsd:element name="RequestElement168" type="xsd:string"/>
+      <xsd:element name="ResponseElement169" type="xsd:string"/>
+      <xsd:element name="RequestElement169" type="xsd:string"/>
+      <xsd:element name="ResponseElement170" type="xsd:string"/>
+      <xsd:element name="RequestElement170" type="xsd:string"/>
+      <xsd:element name="ResponseElement171" type="xsd:string"/>
+      <xsd:element name="RequestElement171" type="xsd:string"/>
+      <xsd:element name="ResponseElement172" type="xsd:string"/>
+      <xsd:element name="RequestElement172" type="xsd:string"/>
+      <xsd:element name="ResponseElement173" type="xsd:string"/>
+      <xsd:element name="RequestElement173" type="xsd:string"/>
+      <xsd:element name="ResponseElement174" type="xsd:string"/>
+      <xsd:element name="RequestElement174" type="xsd:string"/>
+      <xsd:element name="ResponseElement175" type="xsd:string"/>
+      <xsd:element name="RequestElement175" type="xsd:string"/>
+      <xsd:element name="ResponseElement176" type="xsd:string"/>
+      <xsd:element name="RequestElement176" type="xsd:string"/>
+      <xsd:element name="ResponseElement177" type="xsd:string"/>
+      <xsd:element name="RequestElement177" type="xsd:string"/>
+      <xsd:element name="ResponseElement178" type="xsd:string"/>
+      <xsd:element name="RequestElement178" type="xsd:string"/>
+      <xsd:element name="ResponseElement179" type="xsd:string"/>
+      <xsd:element name="RequestElement179" type="xsd:string"/>
+      <xsd:element name="ResponseElement180" type="xsd:string"/>
+      <xsd:element name="RequestElement180" type="xsd:string"/>
+      <xsd:element name="ResponseElement181" type="xsd:string"/>
+      <xsd:element name="RequestElement181" type="xsd:string"/>
+      <xsd:element name="ResponseElement182" type="xsd:string"/>
+      <xsd:element name="RequestElement182" type="xsd:string"/>
+      <xsd:element name="ResponseElement183" type="xsd:string"/>
+      <xsd:element name="RequestElement183" type="xsd:string"/>
+      <xsd:element name="ResponseElement184" type="xsd:string"/>
+      <xsd:element name="RequestElement184" type="xsd:string"/>
+      <xsd:element name="ResponseElement185" type="xsd:string"/>
+      <xsd:element name="RequestElement185" type="xsd:string"/>
+      <xsd:element name="ResponseElement186" type="xsd:string"/>
+      <xsd:element name="RequestElement186" type="xsd:string"/>
+      <xsd:element name="ResponseElement187" type="xsd:string"/>
+      <xsd:element name="RequestElement187" type="xsd:string"/>
+      <xsd:element name="ResponseElement188" type="xsd:string"/>
+      <xsd:element name="RequestElement188" type="xsd:string"/>
+      <xsd:element name="ResponseElement189" type="xsd:string"/>
+      <xsd:element name="RequestElement189" type="xsd:string"/>
+      <xsd:element name="ResponseElement190" type="xsd:string"/>
+      <xsd:element name="RequestElement190" type="xsd:string"/>
+      <xsd:element name="ResponseElement191" type="xsd:string"/>
+      <xsd:element name="RequestElement191" type="xsd:string"/>
+      <xsd:element name="ResponseElement192" type="xsd:string"/>
+      <xsd:element name="RequestElement192" type="xsd:string"/>
+      <xsd:element name="ResponseElement193" type="xsd:string"/>
+      <xsd:element name="RequestElement193" type="xsd:string"/>
+      <xsd:element name="ResponseElement194" type="xsd:string"/>
+      <xsd:element name="RequestElement194" type="xsd:string"/>
+      <xsd:element name="ResponseElement195" type="xsd:string"/>
+      <xsd:element name="RequestElement195" type="xsd:string"/>
+      <xsd:element name="ResponseElement196" type="xsd:string"/>
+      <xsd:element name="RequestElement196" type="xsd:string"/>
+      <xsd:element name="ResponseElement197" type="xsd:string"/>
+      <xsd:element name="RequestElement197" type="xsd:string"/>
+      <xsd:element name="ResponseElement198" type="xsd:string"/>
+      <xsd:element name="RequestElement198" type="xsd:string"/>
+      <xsd:element name="ResponseElement199" type="xsd:string"/>
+      <xsd:element name="RequestElement199" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="ResponseMessage0">
+    <wsdl:part name="Response" element="tns:ResponseElement0"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage0">
+    <wsdl:part name="Request" element="tns:RequestElement0"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType0">
+    <wsdl:operation name="Operation0">
+      <wsdl:input message="tns:RequestMessage0" name="Input0"/>
+      <wsdl:output message="tns:ResponseMessage0" name="Output0"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding0" type="tns:PortType0">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation0">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation0"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service0">
+    <wsdl:port name="Port0" binding="tns:Binding0">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage1">
+    <wsdl:part name="Response" element="tns:ResponseElement1"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage1">
+    <wsdl:part name="Request" element="tns:RequestElement1"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType1">
+    <wsdl:operation name="Operation1">
+      <wsdl:input message="tns:RequestMessage1" name="Input1"/>
+      <wsdl:output message="tns:ResponseMessage1" name="Output1"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding1" type="tns:PortType1">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation1">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation1"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service1">
+    <wsdl:port name="Port1" binding="tns:Binding1">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage2">
+    <wsdl:part name="Response" element="tns:ResponseElement2"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage2">
+    <wsdl:part name="Request" element="tns:RequestElement2"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType2">
+    <wsdl:operation name="Operation2">
+      <wsdl:input message="tns:RequestMessage2" name="Input2"/>
+      <wsdl:output message="tns:ResponseMessage2" name="Output2"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding2" type="tns:PortType2">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation2">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation2"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service2">
+    <wsdl:port name="Port2" binding="tns:Binding2">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage3">
+    <wsdl:part name="Response" element="tns:ResponseElement3"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage3">
+    <wsdl:part name="Request" element="tns:RequestElement3"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType3">
+    <wsdl:operation name="Operation3">
+      <wsdl:input message="tns:RequestMessage3" name="Input3"/>
+      <wsdl:output message="tns:ResponseMessage3" name="Output3"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding3" type="tns:PortType3">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation3">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation3"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service3">
+    <wsdl:port name="Port3" binding="tns:Binding3">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage4">
+    <wsdl:part name="Response" element="tns:ResponseElement4"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage4">
+    <wsdl:part name="Request" element="tns:RequestElement4"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType4">
+    <wsdl:operation name="Operation4">
+      <wsdl:input message="tns:RequestMessage4" name="Input4"/>
+      <wsdl:output message="tns:ResponseMessage4" name="Output4"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding4" type="tns:PortType4">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation4">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation4"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service4">
+    <wsdl:port name="Port4" binding="tns:Binding4">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage5">
+    <wsdl:part name="Response" element="tns:ResponseElement5"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage5">
+    <wsdl:part name="Request" element="tns:RequestElement5"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType5">
+    <wsdl:operation name="Operation5">
+      <wsdl:input message="tns:RequestMessage5" name="Input5"/>
+      <wsdl:output message="tns:ResponseMessage5" name="Output5"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding5" type="tns:PortType5">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation5">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation5"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service5">
+    <wsdl:port name="Port5" binding="tns:Binding5">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage6">
+    <wsdl:part name="Response" element="tns:ResponseElement6"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage6">
+    <wsdl:part name="Request" element="tns:RequestElement6"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType6">
+    <wsdl:operation name="Operation6">
+      <wsdl:input message="tns:RequestMessage6" name="Input6"/>
+      <wsdl:output message="tns:ResponseMessage6" name="Output6"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding6" type="tns:PortType6">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation6">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation6"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service6">
+    <wsdl:port name="Port6" binding="tns:Binding6">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage7">
+    <wsdl:part name="Response" element="tns:ResponseElement7"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage7">
+    <wsdl:part name="Request" element="tns:RequestElement7"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType7">
+    <wsdl:operation name="Operation7">
+      <wsdl:input message="tns:RequestMessage7" name="Input7"/>
+      <wsdl:output message="tns:ResponseMessage7" name="Output7"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding7" type="tns:PortType7">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation7">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation7"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service7">
+    <wsdl:port name="Port7" binding="tns:Binding7">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage8">
+    <wsdl:part name="Response" element="tns:ResponseElement8"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage8">
+    <wsdl:part name="Request" element="tns:RequestElement8"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType8">
+    <wsdl:operation name="Operation8">
+      <wsdl:input message="tns:RequestMessage8" name="Input8"/>
+      <wsdl:output message="tns:ResponseMessage8" name="Output8"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding8" type="tns:PortType8">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation8">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation8"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service8">
+    <wsdl:port name="Port8" binding="tns:Binding8">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage9">
+    <wsdl:part name="Response" element="tns:ResponseElement9"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage9">
+    <wsdl:part name="Request" element="tns:RequestElement9"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType9">
+    <wsdl:operation name="Operation9">
+      <wsdl:input message="tns:RequestMessage9" name="Input9"/>
+      <wsdl:output message="tns:ResponseMessage9" name="Output9"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding9" type="tns:PortType9">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation9">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation9"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service9">
+    <wsdl:port name="Port9" binding="tns:Binding9">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage10">
+    <wsdl:part name="Response" element="tns:ResponseElement10"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage10">
+    <wsdl:part name="Request" element="tns:RequestElement10"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType10">
+    <wsdl:operation name="Operation10">
+      <wsdl:input message="tns:RequestMessage10" name="Input10"/>
+      <wsdl:output message="tns:ResponseMessage10" name="Output10"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding10" type="tns:PortType10">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation10">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation10"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service10">
+    <wsdl:port name="Port10" binding="tns:Binding10">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage11">
+    <wsdl:part name="Response" element="tns:ResponseElement11"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage11">
+    <wsdl:part name="Request" element="tns:RequestElement11"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType11">
+    <wsdl:operation name="Operation11">
+      <wsdl:input message="tns:RequestMessage11" name="Input11"/>
+      <wsdl:output message="tns:ResponseMessage11" name="Output11"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding11" type="tns:PortType11">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation11">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation11"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service11">
+    <wsdl:port name="Port11" binding="tns:Binding11">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage12">
+    <wsdl:part name="Response" element="tns:ResponseElement12"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage12">
+    <wsdl:part name="Request" element="tns:RequestElement12"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType12">
+    <wsdl:operation name="Operation12">
+      <wsdl:input message="tns:RequestMessage12" name="Input12"/>
+      <wsdl:output message="tns:ResponseMessage12" name="Output12"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding12" type="tns:PortType12">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation12">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation12"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service12">
+    <wsdl:port name="Port12" binding="tns:Binding12">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage13">
+    <wsdl:part name="Response" element="tns:ResponseElement13"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage13">
+    <wsdl:part name="Request" element="tns:RequestElement13"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType13">
+    <wsdl:operation name="Operation13">
+      <wsdl:input message="tns:RequestMessage13" name="Input13"/>
+      <wsdl:output message="tns:ResponseMessage13" name="Output13"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding13" type="tns:PortType13">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation13">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation13"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service13">
+    <wsdl:port name="Port13" binding="tns:Binding13">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage14">
+    <wsdl:part name="Response" element="tns:ResponseElement14"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage14">
+    <wsdl:part name="Request" element="tns:RequestElement14"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType14">
+    <wsdl:operation name="Operation14">
+      <wsdl:input message="tns:RequestMessage14" name="Input14"/>
+      <wsdl:output message="tns:ResponseMessage14" name="Output14"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding14" type="tns:PortType14">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation14">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation14"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service14">
+    <wsdl:port name="Port14" binding="tns:Binding14">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage15">
+    <wsdl:part name="Response" element="tns:ResponseElement15"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage15">
+    <wsdl:part name="Request" element="tns:RequestElement15"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType15">
+    <wsdl:operation name="Operation15">
+      <wsdl:input message="tns:RequestMessage15" name="Input15"/>
+      <wsdl:output message="tns:ResponseMessage15" name="Output15"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding15" type="tns:PortType15">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation15">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation15"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service15">
+    <wsdl:port name="Port15" binding="tns:Binding15">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage16">
+    <wsdl:part name="Response" element="tns:ResponseElement16"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage16">
+    <wsdl:part name="Request" element="tns:RequestElement16"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType16">
+    <wsdl:operation name="Operation16">
+      <wsdl:input message="tns:RequestMessage16" name="Input16"/>
+      <wsdl:output message="tns:ResponseMessage16" name="Output16"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding16" type="tns:PortType16">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation16">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation16"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service16">
+    <wsdl:port name="Port16" binding="tns:Binding16">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage17">
+    <wsdl:part name="Response" element="tns:ResponseElement17"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage17">
+    <wsdl:part name="Request" element="tns:RequestElement17"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType17">
+    <wsdl:operation name="Operation17">
+      <wsdl:input message="tns:RequestMessage17" name="Input17"/>
+      <wsdl:output message="tns:ResponseMessage17" name="Output17"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding17" type="tns:PortType17">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation17">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation17"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service17">
+    <wsdl:port name="Port17" binding="tns:Binding17">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage18">
+    <wsdl:part name="Response" element="tns:ResponseElement18"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage18">
+    <wsdl:part name="Request" element="tns:RequestElement18"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType18">
+    <wsdl:operation name="Operation18">
+      <wsdl:input message="tns:RequestMessage18" name="Input18"/>
+      <wsdl:output message="tns:ResponseMessage18" name="Output18"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding18" type="tns:PortType18">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation18">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation18"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service18">
+    <wsdl:port name="Port18" binding="tns:Binding18">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage19">
+    <wsdl:part name="Response" element="tns:ResponseElement19"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage19">
+    <wsdl:part name="Request" element="tns:RequestElement19"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType19">
+    <wsdl:operation name="Operation19">
+      <wsdl:input message="tns:RequestMessage19" name="Input19"/>
+      <wsdl:output message="tns:ResponseMessage19" name="Output19"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding19" type="tns:PortType19">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation19">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation19"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service19">
+    <wsdl:port name="Port19" binding="tns:Binding19">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage20">
+    <wsdl:part name="Response" element="tns:ResponseElement20"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage20">
+    <wsdl:part name="Request" element="tns:RequestElement20"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType20">
+    <wsdl:operation name="Operation20">
+      <wsdl:input message="tns:RequestMessage20" name="Input20"/>
+      <wsdl:output message="tns:ResponseMessage20" name="Output20"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding20" type="tns:PortType20">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation20">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation20"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service20">
+    <wsdl:port name="Port20" binding="tns:Binding20">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage21">
+    <wsdl:part name="Response" element="tns:ResponseElement21"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage21">
+    <wsdl:part name="Request" element="tns:RequestElement21"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType21">
+    <wsdl:operation name="Operation21">
+      <wsdl:input message="tns:RequestMessage21" name="Input21"/>
+      <wsdl:output message="tns:ResponseMessage21" name="Output21"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding21" type="tns:PortType21">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation21">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation21"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service21">
+    <wsdl:port name="Port21" binding="tns:Binding21">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage22">
+    <wsdl:part name="Response" element="tns:ResponseElement22"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage22">
+    <wsdl:part name="Request" element="tns:RequestElement22"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType22">
+    <wsdl:operation name="Operation22">
+      <wsdl:input message="tns:RequestMessage22" name="Input22"/>
+      <wsdl:output message="tns:ResponseMessage22" name="Output22"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding22" type="tns:PortType22">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation22">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation22"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service22">
+    <wsdl:port name="Port22" binding="tns:Binding22">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage23">
+    <wsdl:part name="Response" element="tns:ResponseElement23"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage23">
+    <wsdl:part name="Request" element="tns:RequestElement23"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType23">
+    <wsdl:operation name="Operation23">
+      <wsdl:input message="tns:RequestMessage23" name="Input23"/>
+      <wsdl:output message="tns:ResponseMessage23" name="Output23"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding23" type="tns:PortType23">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation23">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation23"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service23">
+    <wsdl:port name="Port23" binding="tns:Binding23">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage24">
+    <wsdl:part name="Response" element="tns:ResponseElement24"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage24">
+    <wsdl:part name="Request" element="tns:RequestElement24"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType24">
+    <wsdl:operation name="Operation24">
+      <wsdl:input message="tns:RequestMessage24" name="Input24"/>
+      <wsdl:output message="tns:ResponseMessage24" name="Output24"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding24" type="tns:PortType24">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation24">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation24"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service24">
+    <wsdl:port name="Port24" binding="tns:Binding24">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage25">
+    <wsdl:part name="Response" element="tns:ResponseElement25"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage25">
+    <wsdl:part name="Request" element="tns:RequestElement25"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType25">
+    <wsdl:operation name="Operation25">
+      <wsdl:input message="tns:RequestMessage25" name="Input25"/>
+      <wsdl:output message="tns:ResponseMessage25" name="Output25"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding25" type="tns:PortType25">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation25">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation25"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service25">
+    <wsdl:port name="Port25" binding="tns:Binding25">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage26">
+    <wsdl:part name="Response" element="tns:ResponseElement26"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage26">
+    <wsdl:part name="Request" element="tns:RequestElement26"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType26">
+    <wsdl:operation name="Operation26">
+      <wsdl:input message="tns:RequestMessage26" name="Input26"/>
+      <wsdl:output message="tns:ResponseMessage26" name="Output26"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding26" type="tns:PortType26">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation26">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation26"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service26">
+    <wsdl:port name="Port26" binding="tns:Binding26">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage27">
+    <wsdl:part name="Response" element="tns:ResponseElement27"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage27">
+    <wsdl:part name="Request" element="tns:RequestElement27"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType27">
+    <wsdl:operation name="Operation27">
+      <wsdl:input message="tns:RequestMessage27" name="Input27"/>
+      <wsdl:output message="tns:ResponseMessage27" name="Output27"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding27" type="tns:PortType27">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation27">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation27"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service27">
+    <wsdl:port name="Port27" binding="tns:Binding27">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage28">
+    <wsdl:part name="Response" element="tns:ResponseElement28"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage28">
+    <wsdl:part name="Request" element="tns:RequestElement28"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType28">
+    <wsdl:operation name="Operation28">
+      <wsdl:input message="tns:RequestMessage28" name="Input28"/>
+      <wsdl:output message="tns:ResponseMessage28" name="Output28"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding28" type="tns:PortType28">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation28">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation28"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service28">
+    <wsdl:port name="Port28" binding="tns:Binding28">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage29">
+    <wsdl:part name="Response" element="tns:ResponseElement29"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage29">
+    <wsdl:part name="Request" element="tns:RequestElement29"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType29">
+    <wsdl:operation name="Operation29">
+      <wsdl:input message="tns:RequestMessage29" name="Input29"/>
+      <wsdl:output message="tns:ResponseMessage29" name="Output29"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding29" type="tns:PortType29">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation29">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation29"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service29">
+    <wsdl:port name="Port29" binding="tns:Binding29">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage30">
+    <wsdl:part name="Response" element="tns:ResponseElement30"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage30">
+    <wsdl:part name="Request" element="tns:RequestElement30"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType30">
+    <wsdl:operation name="Operation30">
+      <wsdl:input message="tns:RequestMessage30" name="Input30"/>
+      <wsdl:output message="tns:ResponseMessage30" name="Output30"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding30" type="tns:PortType30">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation30">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation30"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service30">
+    <wsdl:port name="Port30" binding="tns:Binding30">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage31">
+    <wsdl:part name="Response" element="tns:ResponseElement31"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage31">
+    <wsdl:part name="Request" element="tns:RequestElement31"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType31">
+    <wsdl:operation name="Operation31">
+      <wsdl:input message="tns:RequestMessage31" name="Input31"/>
+      <wsdl:output message="tns:ResponseMessage31" name="Output31"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding31" type="tns:PortType31">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation31">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation31"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service31">
+    <wsdl:port name="Port31" binding="tns:Binding31">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage32">
+    <wsdl:part name="Response" element="tns:ResponseElement32"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage32">
+    <wsdl:part name="Request" element="tns:RequestElement32"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType32">
+    <wsdl:operation name="Operation32">
+      <wsdl:input message="tns:RequestMessage32" name="Input32"/>
+      <wsdl:output message="tns:ResponseMessage32" name="Output32"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding32" type="tns:PortType32">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation32">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation32"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service32">
+    <wsdl:port name="Port32" binding="tns:Binding32">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage33">
+    <wsdl:part name="Response" element="tns:ResponseElement33"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage33">
+    <wsdl:part name="Request" element="tns:RequestElement33"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType33">
+    <wsdl:operation name="Operation33">
+      <wsdl:input message="tns:RequestMessage33" name="Input33"/>
+      <wsdl:output message="tns:ResponseMessage33" name="Output33"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding33" type="tns:PortType33">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation33">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation33"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service33">
+    <wsdl:port name="Port33" binding="tns:Binding33">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage34">
+    <wsdl:part name="Response" element="tns:ResponseElement34"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage34">
+    <wsdl:part name="Request" element="tns:RequestElement34"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType34">
+    <wsdl:operation name="Operation34">
+      <wsdl:input message="tns:RequestMessage34" name="Input34"/>
+      <wsdl:output message="tns:ResponseMessage34" name="Output34"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding34" type="tns:PortType34">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation34">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation34"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service34">
+    <wsdl:port name="Port34" binding="tns:Binding34">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage35">
+    <wsdl:part name="Response" element="tns:ResponseElement35"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage35">
+    <wsdl:part name="Request" element="tns:RequestElement35"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType35">
+    <wsdl:operation name="Operation35">
+      <wsdl:input message="tns:RequestMessage35" name="Input35"/>
+      <wsdl:output message="tns:ResponseMessage35" name="Output35"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding35" type="tns:PortType35">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation35">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation35"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service35">
+    <wsdl:port name="Port35" binding="tns:Binding35">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage36">
+    <wsdl:part name="Response" element="tns:ResponseElement36"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage36">
+    <wsdl:part name="Request" element="tns:RequestElement36"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType36">
+    <wsdl:operation name="Operation36">
+      <wsdl:input message="tns:RequestMessage36" name="Input36"/>
+      <wsdl:output message="tns:ResponseMessage36" name="Output36"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding36" type="tns:PortType36">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation36">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation36"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service36">
+    <wsdl:port name="Port36" binding="tns:Binding36">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage37">
+    <wsdl:part name="Response" element="tns:ResponseElement37"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage37">
+    <wsdl:part name="Request" element="tns:RequestElement37"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType37">
+    <wsdl:operation name="Operation37">
+      <wsdl:input message="tns:RequestMessage37" name="Input37"/>
+      <wsdl:output message="tns:ResponseMessage37" name="Output37"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding37" type="tns:PortType37">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation37">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation37"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service37">
+    <wsdl:port name="Port37" binding="tns:Binding37">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage38">
+    <wsdl:part name="Response" element="tns:ResponseElement38"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage38">
+    <wsdl:part name="Request" element="tns:RequestElement38"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType38">
+    <wsdl:operation name="Operation38">
+      <wsdl:input message="tns:RequestMessage38" name="Input38"/>
+      <wsdl:output message="tns:ResponseMessage38" name="Output38"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding38" type="tns:PortType38">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation38">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation38"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service38">
+    <wsdl:port name="Port38" binding="tns:Binding38">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage39">
+    <wsdl:part name="Response" element="tns:ResponseElement39"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage39">
+    <wsdl:part name="Request" element="tns:RequestElement39"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType39">
+    <wsdl:operation name="Operation39">
+      <wsdl:input message="tns:RequestMessage39" name="Input39"/>
+      <wsdl:output message="tns:ResponseMessage39" name="Output39"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding39" type="tns:PortType39">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation39">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation39"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service39">
+    <wsdl:port name="Port39" binding="tns:Binding39">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage40">
+    <wsdl:part name="Response" element="tns:ResponseElement40"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage40">
+    <wsdl:part name="Request" element="tns:RequestElement40"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType40">
+    <wsdl:operation name="Operation40">
+      <wsdl:input message="tns:RequestMessage40" name="Input40"/>
+      <wsdl:output message="tns:ResponseMessage40" name="Output40"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding40" type="tns:PortType40">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation40">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation40"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service40">
+    <wsdl:port name="Port40" binding="tns:Binding40">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage41">
+    <wsdl:part name="Response" element="tns:ResponseElement41"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage41">
+    <wsdl:part name="Request" element="tns:RequestElement41"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType41">
+    <wsdl:operation name="Operation41">
+      <wsdl:input message="tns:RequestMessage41" name="Input41"/>
+      <wsdl:output message="tns:ResponseMessage41" name="Output41"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding41" type="tns:PortType41">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation41">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation41"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service41">
+    <wsdl:port name="Port41" binding="tns:Binding41">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage42">
+    <wsdl:part name="Response" element="tns:ResponseElement42"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage42">
+    <wsdl:part name="Request" element="tns:RequestElement42"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType42">
+    <wsdl:operation name="Operation42">
+      <wsdl:input message="tns:RequestMessage42" name="Input42"/>
+      <wsdl:output message="tns:ResponseMessage42" name="Output42"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding42" type="tns:PortType42">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation42">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation42"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service42">
+    <wsdl:port name="Port42" binding="tns:Binding42">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage43">
+    <wsdl:part name="Response" element="tns:ResponseElement43"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage43">
+    <wsdl:part name="Request" element="tns:RequestElement43"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType43">
+    <wsdl:operation name="Operation43">
+      <wsdl:input message="tns:RequestMessage43" name="Input43"/>
+      <wsdl:output message="tns:ResponseMessage43" name="Output43"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding43" type="tns:PortType43">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation43">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation43"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service43">
+    <wsdl:port name="Port43" binding="tns:Binding43">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage44">
+    <wsdl:part name="Response" element="tns:ResponseElement44"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage44">
+    <wsdl:part name="Request" element="tns:RequestElement44"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType44">
+    <wsdl:operation name="Operation44">
+      <wsdl:input message="tns:RequestMessage44" name="Input44"/>
+      <wsdl:output message="tns:ResponseMessage44" name="Output44"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding44" type="tns:PortType44">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation44">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation44"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service44">
+    <wsdl:port name="Port44" binding="tns:Binding44">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage45">
+    <wsdl:part name="Response" element="tns:ResponseElement45"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage45">
+    <wsdl:part name="Request" element="tns:RequestElement45"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType45">
+    <wsdl:operation name="Operation45">
+      <wsdl:input message="tns:RequestMessage45" name="Input45"/>
+      <wsdl:output message="tns:ResponseMessage45" name="Output45"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding45" type="tns:PortType45">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation45">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation45"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service45">
+    <wsdl:port name="Port45" binding="tns:Binding45">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage46">
+    <wsdl:part name="Response" element="tns:ResponseElement46"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage46">
+    <wsdl:part name="Request" element="tns:RequestElement46"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType46">
+    <wsdl:operation name="Operation46">
+      <wsdl:input message="tns:RequestMessage46" name="Input46"/>
+      <wsdl:output message="tns:ResponseMessage46" name="Output46"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding46" type="tns:PortType46">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation46">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation46"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service46">
+    <wsdl:port name="Port46" binding="tns:Binding46">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage47">
+    <wsdl:part name="Response" element="tns:ResponseElement47"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage47">
+    <wsdl:part name="Request" element="tns:RequestElement47"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType47">
+    <wsdl:operation name="Operation47">
+      <wsdl:input message="tns:RequestMessage47" name="Input47"/>
+      <wsdl:output message="tns:ResponseMessage47" name="Output47"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding47" type="tns:PortType47">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation47">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation47"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service47">
+    <wsdl:port name="Port47" binding="tns:Binding47">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage48">
+    <wsdl:part name="Response" element="tns:ResponseElement48"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage48">
+    <wsdl:part name="Request" element="tns:RequestElement48"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType48">
+    <wsdl:operation name="Operation48">
+      <wsdl:input message="tns:RequestMessage48" name="Input48"/>
+      <wsdl:output message="tns:ResponseMessage48" name="Output48"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding48" type="tns:PortType48">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation48">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation48"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service48">
+    <wsdl:port name="Port48" binding="tns:Binding48">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage49">
+    <wsdl:part name="Response" element="tns:ResponseElement49"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage49">
+    <wsdl:part name="Request" element="tns:RequestElement49"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType49">
+    <wsdl:operation name="Operation49">
+      <wsdl:input message="tns:RequestMessage49" name="Input49"/>
+      <wsdl:output message="tns:ResponseMessage49" name="Output49"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding49" type="tns:PortType49">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation49">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation49"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service49">
+    <wsdl:port name="Port49" binding="tns:Binding49">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage50">
+    <wsdl:part name="Response" element="tns:ResponseElement50"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage50">
+    <wsdl:part name="Request" element="tns:RequestElement50"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType50">
+    <wsdl:operation name="Operation50">
+      <wsdl:input message="tns:RequestMessage50" name="Input50"/>
+      <wsdl:output message="tns:ResponseMessage50" name="Output50"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding50" type="tns:PortType50">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation50">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation50"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service50">
+    <wsdl:port name="Port50" binding="tns:Binding50">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage51">
+    <wsdl:part name="Response" element="tns:ResponseElement51"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage51">
+    <wsdl:part name="Request" element="tns:RequestElement51"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType51">
+    <wsdl:operation name="Operation51">
+      <wsdl:input message="tns:RequestMessage51" name="Input51"/>
+      <wsdl:output message="tns:ResponseMessage51" name="Output51"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding51" type="tns:PortType51">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation51">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation51"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service51">
+    <wsdl:port name="Port51" binding="tns:Binding51">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage52">
+    <wsdl:part name="Response" element="tns:ResponseElement52"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage52">
+    <wsdl:part name="Request" element="tns:RequestElement52"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType52">
+    <wsdl:operation name="Operation52">
+      <wsdl:input message="tns:RequestMessage52" name="Input52"/>
+      <wsdl:output message="tns:ResponseMessage52" name="Output52"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding52" type="tns:PortType52">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation52">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation52"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service52">
+    <wsdl:port name="Port52" binding="tns:Binding52">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage53">
+    <wsdl:part name="Response" element="tns:ResponseElement53"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage53">
+    <wsdl:part name="Request" element="tns:RequestElement53"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType53">
+    <wsdl:operation name="Operation53">
+      <wsdl:input message="tns:RequestMessage53" name="Input53"/>
+      <wsdl:output message="tns:ResponseMessage53" name="Output53"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding53" type="tns:PortType53">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation53">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation53"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service53">
+    <wsdl:port name="Port53" binding="tns:Binding53">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage54">
+    <wsdl:part name="Response" element="tns:ResponseElement54"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage54">
+    <wsdl:part name="Request" element="tns:RequestElement54"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType54">
+    <wsdl:operation name="Operation54">
+      <wsdl:input message="tns:RequestMessage54" name="Input54"/>
+      <wsdl:output message="tns:ResponseMessage54" name="Output54"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding54" type="tns:PortType54">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation54">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation54"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service54">
+    <wsdl:port name="Port54" binding="tns:Binding54">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage55">
+    <wsdl:part name="Response" element="tns:ResponseElement55"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage55">
+    <wsdl:part name="Request" element="tns:RequestElement55"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType55">
+    <wsdl:operation name="Operation55">
+      <wsdl:input message="tns:RequestMessage55" name="Input55"/>
+      <wsdl:output message="tns:ResponseMessage55" name="Output55"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding55" type="tns:PortType55">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation55">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation55"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service55">
+    <wsdl:port name="Port55" binding="tns:Binding55">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage56">
+    <wsdl:part name="Response" element="tns:ResponseElement56"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage56">
+    <wsdl:part name="Request" element="tns:RequestElement56"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType56">
+    <wsdl:operation name="Operation56">
+      <wsdl:input message="tns:RequestMessage56" name="Input56"/>
+      <wsdl:output message="tns:ResponseMessage56" name="Output56"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding56" type="tns:PortType56">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation56">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation56"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service56">
+    <wsdl:port name="Port56" binding="tns:Binding56">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage57">
+    <wsdl:part name="Response" element="tns:ResponseElement57"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage57">
+    <wsdl:part name="Request" element="tns:RequestElement57"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType57">
+    <wsdl:operation name="Operation57">
+      <wsdl:input message="tns:RequestMessage57" name="Input57"/>
+      <wsdl:output message="tns:ResponseMessage57" name="Output57"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding57" type="tns:PortType57">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation57">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation57"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service57">
+    <wsdl:port name="Port57" binding="tns:Binding57">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage58">
+    <wsdl:part name="Response" element="tns:ResponseElement58"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage58">
+    <wsdl:part name="Request" element="tns:RequestElement58"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType58">
+    <wsdl:operation name="Operation58">
+      <wsdl:input message="tns:RequestMessage58" name="Input58"/>
+      <wsdl:output message="tns:ResponseMessage58" name="Output58"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding58" type="tns:PortType58">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation58">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation58"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service58">
+    <wsdl:port name="Port58" binding="tns:Binding58">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage59">
+    <wsdl:part name="Response" element="tns:ResponseElement59"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage59">
+    <wsdl:part name="Request" element="tns:RequestElement59"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType59">
+    <wsdl:operation name="Operation59">
+      <wsdl:input message="tns:RequestMessage59" name="Input59"/>
+      <wsdl:output message="tns:ResponseMessage59" name="Output59"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding59" type="tns:PortType59">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation59">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation59"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service59">
+    <wsdl:port name="Port59" binding="tns:Binding59">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage60">
+    <wsdl:part name="Response" element="tns:ResponseElement60"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage60">
+    <wsdl:part name="Request" element="tns:RequestElement60"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType60">
+    <wsdl:operation name="Operation60">
+      <wsdl:input message="tns:RequestMessage60" name="Input60"/>
+      <wsdl:output message="tns:ResponseMessage60" name="Output60"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding60" type="tns:PortType60">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation60">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation60"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service60">
+    <wsdl:port name="Port60" binding="tns:Binding60">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage61">
+    <wsdl:part name="Response" element="tns:ResponseElement61"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage61">
+    <wsdl:part name="Request" element="tns:RequestElement61"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType61">
+    <wsdl:operation name="Operation61">
+      <wsdl:input message="tns:RequestMessage61" name="Input61"/>
+      <wsdl:output message="tns:ResponseMessage61" name="Output61"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding61" type="tns:PortType61">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation61">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation61"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service61">
+    <wsdl:port name="Port61" binding="tns:Binding61">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage62">
+    <wsdl:part name="Response" element="tns:ResponseElement62"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage62">
+    <wsdl:part name="Request" element="tns:RequestElement62"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType62">
+    <wsdl:operation name="Operation62">
+      <wsdl:input message="tns:RequestMessage62" name="Input62"/>
+      <wsdl:output message="tns:ResponseMessage62" name="Output62"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding62" type="tns:PortType62">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation62">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation62"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service62">
+    <wsdl:port name="Port62" binding="tns:Binding62">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage63">
+    <wsdl:part name="Response" element="tns:ResponseElement63"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage63">
+    <wsdl:part name="Request" element="tns:RequestElement63"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType63">
+    <wsdl:operation name="Operation63">
+      <wsdl:input message="tns:RequestMessage63" name="Input63"/>
+      <wsdl:output message="tns:ResponseMessage63" name="Output63"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding63" type="tns:PortType63">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation63">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation63"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service63">
+    <wsdl:port name="Port63" binding="tns:Binding63">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage64">
+    <wsdl:part name="Response" element="tns:ResponseElement64"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage64">
+    <wsdl:part name="Request" element="tns:RequestElement64"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType64">
+    <wsdl:operation name="Operation64">
+      <wsdl:input message="tns:RequestMessage64" name="Input64"/>
+      <wsdl:output message="tns:ResponseMessage64" name="Output64"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding64" type="tns:PortType64">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation64">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation64"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service64">
+    <wsdl:port name="Port64" binding="tns:Binding64">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage65">
+    <wsdl:part name="Response" element="tns:ResponseElement65"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage65">
+    <wsdl:part name="Request" element="tns:RequestElement65"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType65">
+    <wsdl:operation name="Operation65">
+      <wsdl:input message="tns:RequestMessage65" name="Input65"/>
+      <wsdl:output message="tns:ResponseMessage65" name="Output65"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding65" type="tns:PortType65">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation65">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation65"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service65">
+    <wsdl:port name="Port65" binding="tns:Binding65">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage66">
+    <wsdl:part name="Response" element="tns:ResponseElement66"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage66">
+    <wsdl:part name="Request" element="tns:RequestElement66"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType66">
+    <wsdl:operation name="Operation66">
+      <wsdl:input message="tns:RequestMessage66" name="Input66"/>
+      <wsdl:output message="tns:ResponseMessage66" name="Output66"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding66" type="tns:PortType66">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation66">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation66"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service66">
+    <wsdl:port name="Port66" binding="tns:Binding66">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage67">
+    <wsdl:part name="Response" element="tns:ResponseElement67"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage67">
+    <wsdl:part name="Request" element="tns:RequestElement67"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType67">
+    <wsdl:operation name="Operation67">
+      <wsdl:input message="tns:RequestMessage67" name="Input67"/>
+      <wsdl:output message="tns:ResponseMessage67" name="Output67"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding67" type="tns:PortType67">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation67">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation67"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service67">
+    <wsdl:port name="Port67" binding="tns:Binding67">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage68">
+    <wsdl:part name="Response" element="tns:ResponseElement68"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage68">
+    <wsdl:part name="Request" element="tns:RequestElement68"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType68">
+    <wsdl:operation name="Operation68">
+      <wsdl:input message="tns:RequestMessage68" name="Input68"/>
+      <wsdl:output message="tns:ResponseMessage68" name="Output68"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding68" type="tns:PortType68">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation68">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation68"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service68">
+    <wsdl:port name="Port68" binding="tns:Binding68">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage69">
+    <wsdl:part name="Response" element="tns:ResponseElement69"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage69">
+    <wsdl:part name="Request" element="tns:RequestElement69"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType69">
+    <wsdl:operation name="Operation69">
+      <wsdl:input message="tns:RequestMessage69" name="Input69"/>
+      <wsdl:output message="tns:ResponseMessage69" name="Output69"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding69" type="tns:PortType69">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation69">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation69"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service69">
+    <wsdl:port name="Port69" binding="tns:Binding69">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage70">
+    <wsdl:part name="Response" element="tns:ResponseElement70"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage70">
+    <wsdl:part name="Request" element="tns:RequestElement70"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType70">
+    <wsdl:operation name="Operation70">
+      <wsdl:input message="tns:RequestMessage70" name="Input70"/>
+      <wsdl:output message="tns:ResponseMessage70" name="Output70"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding70" type="tns:PortType70">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation70">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation70"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service70">
+    <wsdl:port name="Port70" binding="tns:Binding70">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage71">
+    <wsdl:part name="Response" element="tns:ResponseElement71"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage71">
+    <wsdl:part name="Request" element="tns:RequestElement71"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType71">
+    <wsdl:operation name="Operation71">
+      <wsdl:input message="tns:RequestMessage71" name="Input71"/>
+      <wsdl:output message="tns:ResponseMessage71" name="Output71"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding71" type="tns:PortType71">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation71">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation71"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service71">
+    <wsdl:port name="Port71" binding="tns:Binding71">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage72">
+    <wsdl:part name="Response" element="tns:ResponseElement72"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage72">
+    <wsdl:part name="Request" element="tns:RequestElement72"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType72">
+    <wsdl:operation name="Operation72">
+      <wsdl:input message="tns:RequestMessage72" name="Input72"/>
+      <wsdl:output message="tns:ResponseMessage72" name="Output72"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding72" type="tns:PortType72">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation72">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation72"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service72">
+    <wsdl:port name="Port72" binding="tns:Binding72">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage73">
+    <wsdl:part name="Response" element="tns:ResponseElement73"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage73">
+    <wsdl:part name="Request" element="tns:RequestElement73"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType73">
+    <wsdl:operation name="Operation73">
+      <wsdl:input message="tns:RequestMessage73" name="Input73"/>
+      <wsdl:output message="tns:ResponseMessage73" name="Output73"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding73" type="tns:PortType73">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation73">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation73"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service73">
+    <wsdl:port name="Port73" binding="tns:Binding73">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage74">
+    <wsdl:part name="Response" element="tns:ResponseElement74"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage74">
+    <wsdl:part name="Request" element="tns:RequestElement74"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType74">
+    <wsdl:operation name="Operation74">
+      <wsdl:input message="tns:RequestMessage74" name="Input74"/>
+      <wsdl:output message="tns:ResponseMessage74" name="Output74"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding74" type="tns:PortType74">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation74">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation74"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service74">
+    <wsdl:port name="Port74" binding="tns:Binding74">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage75">
+    <wsdl:part name="Response" element="tns:ResponseElement75"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage75">
+    <wsdl:part name="Request" element="tns:RequestElement75"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType75">
+    <wsdl:operation name="Operation75">
+      <wsdl:input message="tns:RequestMessage75" name="Input75"/>
+      <wsdl:output message="tns:ResponseMessage75" name="Output75"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding75" type="tns:PortType75">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation75">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation75"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service75">
+    <wsdl:port name="Port75" binding="tns:Binding75">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage76">
+    <wsdl:part name="Response" element="tns:ResponseElement76"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage76">
+    <wsdl:part name="Request" element="tns:RequestElement76"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType76">
+    <wsdl:operation name="Operation76">
+      <wsdl:input message="tns:RequestMessage76" name="Input76"/>
+      <wsdl:output message="tns:ResponseMessage76" name="Output76"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding76" type="tns:PortType76">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation76">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation76"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service76">
+    <wsdl:port name="Port76" binding="tns:Binding76">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage77">
+    <wsdl:part name="Response" element="tns:ResponseElement77"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage77">
+    <wsdl:part name="Request" element="tns:RequestElement77"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType77">
+    <wsdl:operation name="Operation77">
+      <wsdl:input message="tns:RequestMessage77" name="Input77"/>
+      <wsdl:output message="tns:ResponseMessage77" name="Output77"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding77" type="tns:PortType77">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation77">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation77"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service77">
+    <wsdl:port name="Port77" binding="tns:Binding77">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage78">
+    <wsdl:part name="Response" element="tns:ResponseElement78"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage78">
+    <wsdl:part name="Request" element="tns:RequestElement78"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType78">
+    <wsdl:operation name="Operation78">
+      <wsdl:input message="tns:RequestMessage78" name="Input78"/>
+      <wsdl:output message="tns:ResponseMessage78" name="Output78"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding78" type="tns:PortType78">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation78">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation78"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service78">
+    <wsdl:port name="Port78" binding="tns:Binding78">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage79">
+    <wsdl:part name="Response" element="tns:ResponseElement79"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage79">
+    <wsdl:part name="Request" element="tns:RequestElement79"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType79">
+    <wsdl:operation name="Operation79">
+      <wsdl:input message="tns:RequestMessage79" name="Input79"/>
+      <wsdl:output message="tns:ResponseMessage79" name="Output79"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding79" type="tns:PortType79">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation79">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation79"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service79">
+    <wsdl:port name="Port79" binding="tns:Binding79">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage80">
+    <wsdl:part name="Response" element="tns:ResponseElement80"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage80">
+    <wsdl:part name="Request" element="tns:RequestElement80"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType80">
+    <wsdl:operation name="Operation80">
+      <wsdl:input message="tns:RequestMessage80" name="Input80"/>
+      <wsdl:output message="tns:ResponseMessage80" name="Output80"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding80" type="tns:PortType80">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation80">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation80"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service80">
+    <wsdl:port name="Port80" binding="tns:Binding80">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage81">
+    <wsdl:part name="Response" element="tns:ResponseElement81"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage81">
+    <wsdl:part name="Request" element="tns:RequestElement81"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType81">
+    <wsdl:operation name="Operation81">
+      <wsdl:input message="tns:RequestMessage81" name="Input81"/>
+      <wsdl:output message="tns:ResponseMessage81" name="Output81"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding81" type="tns:PortType81">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation81">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation81"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service81">
+    <wsdl:port name="Port81" binding="tns:Binding81">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage82">
+    <wsdl:part name="Response" element="tns:ResponseElement82"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage82">
+    <wsdl:part name="Request" element="tns:RequestElement82"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType82">
+    <wsdl:operation name="Operation82">
+      <wsdl:input message="tns:RequestMessage82" name="Input82"/>
+      <wsdl:output message="tns:ResponseMessage82" name="Output82"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding82" type="tns:PortType82">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation82">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation82"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service82">
+    <wsdl:port name="Port82" binding="tns:Binding82">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage83">
+    <wsdl:part name="Response" element="tns:ResponseElement83"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage83">
+    <wsdl:part name="Request" element="tns:RequestElement83"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType83">
+    <wsdl:operation name="Operation83">
+      <wsdl:input message="tns:RequestMessage83" name="Input83"/>
+      <wsdl:output message="tns:ResponseMessage83" name="Output83"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding83" type="tns:PortType83">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation83">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation83"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service83">
+    <wsdl:port name="Port83" binding="tns:Binding83">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage84">
+    <wsdl:part name="Response" element="tns:ResponseElement84"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage84">
+    <wsdl:part name="Request" element="tns:RequestElement84"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType84">
+    <wsdl:operation name="Operation84">
+      <wsdl:input message="tns:RequestMessage84" name="Input84"/>
+      <wsdl:output message="tns:ResponseMessage84" name="Output84"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding84" type="tns:PortType84">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation84">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation84"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service84">
+    <wsdl:port name="Port84" binding="tns:Binding84">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage85">
+    <wsdl:part name="Response" element="tns:ResponseElement85"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage85">
+    <wsdl:part name="Request" element="tns:RequestElement85"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType85">
+    <wsdl:operation name="Operation85">
+      <wsdl:input message="tns:RequestMessage85" name="Input85"/>
+      <wsdl:output message="tns:ResponseMessage85" name="Output85"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding85" type="tns:PortType85">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation85">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation85"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service85">
+    <wsdl:port name="Port85" binding="tns:Binding85">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage86">
+    <wsdl:part name="Response" element="tns:ResponseElement86"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage86">
+    <wsdl:part name="Request" element="tns:RequestElement86"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType86">
+    <wsdl:operation name="Operation86">
+      <wsdl:input message="tns:RequestMessage86" name="Input86"/>
+      <wsdl:output message="tns:ResponseMessage86" name="Output86"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding86" type="tns:PortType86">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation86">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation86"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service86">
+    <wsdl:port name="Port86" binding="tns:Binding86">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage87">
+    <wsdl:part name="Response" element="tns:ResponseElement87"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage87">
+    <wsdl:part name="Request" element="tns:RequestElement87"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType87">
+    <wsdl:operation name="Operation87">
+      <wsdl:input message="tns:RequestMessage87" name="Input87"/>
+      <wsdl:output message="tns:ResponseMessage87" name="Output87"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding87" type="tns:PortType87">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation87">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation87"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service87">
+    <wsdl:port name="Port87" binding="tns:Binding87">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage88">
+    <wsdl:part name="Response" element="tns:ResponseElement88"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage88">
+    <wsdl:part name="Request" element="tns:RequestElement88"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType88">
+    <wsdl:operation name="Operation88">
+      <wsdl:input message="tns:RequestMessage88" name="Input88"/>
+      <wsdl:output message="tns:ResponseMessage88" name="Output88"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding88" type="tns:PortType88">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation88">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation88"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service88">
+    <wsdl:port name="Port88" binding="tns:Binding88">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage89">
+    <wsdl:part name="Response" element="tns:ResponseElement89"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage89">
+    <wsdl:part name="Request" element="tns:RequestElement89"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType89">
+    <wsdl:operation name="Operation89">
+      <wsdl:input message="tns:RequestMessage89" name="Input89"/>
+      <wsdl:output message="tns:ResponseMessage89" name="Output89"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding89" type="tns:PortType89">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation89">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation89"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service89">
+    <wsdl:port name="Port89" binding="tns:Binding89">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage90">
+    <wsdl:part name="Response" element="tns:ResponseElement90"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage90">
+    <wsdl:part name="Request" element="tns:RequestElement90"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType90">
+    <wsdl:operation name="Operation90">
+      <wsdl:input message="tns:RequestMessage90" name="Input90"/>
+      <wsdl:output message="tns:ResponseMessage90" name="Output90"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding90" type="tns:PortType90">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation90">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation90"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service90">
+    <wsdl:port name="Port90" binding="tns:Binding90">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage91">
+    <wsdl:part name="Response" element="tns:ResponseElement91"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage91">
+    <wsdl:part name="Request" element="tns:RequestElement91"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType91">
+    <wsdl:operation name="Operation91">
+      <wsdl:input message="tns:RequestMessage91" name="Input91"/>
+      <wsdl:output message="tns:ResponseMessage91" name="Output91"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding91" type="tns:PortType91">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation91">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation91"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service91">
+    <wsdl:port name="Port91" binding="tns:Binding91">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage92">
+    <wsdl:part name="Response" element="tns:ResponseElement92"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage92">
+    <wsdl:part name="Request" element="tns:RequestElement92"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType92">
+    <wsdl:operation name="Operation92">
+      <wsdl:input message="tns:RequestMessage92" name="Input92"/>
+      <wsdl:output message="tns:ResponseMessage92" name="Output92"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding92" type="tns:PortType92">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation92">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation92"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service92">
+    <wsdl:port name="Port92" binding="tns:Binding92">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage93">
+    <wsdl:part name="Response" element="tns:ResponseElement93"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage93">
+    <wsdl:part name="Request" element="tns:RequestElement93"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType93">
+    <wsdl:operation name="Operation93">
+      <wsdl:input message="tns:RequestMessage93" name="Input93"/>
+      <wsdl:output message="tns:ResponseMessage93" name="Output93"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding93" type="tns:PortType93">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation93">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation93"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service93">
+    <wsdl:port name="Port93" binding="tns:Binding93">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage94">
+    <wsdl:part name="Response" element="tns:ResponseElement94"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage94">
+    <wsdl:part name="Request" element="tns:RequestElement94"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType94">
+    <wsdl:operation name="Operation94">
+      <wsdl:input message="tns:RequestMessage94" name="Input94"/>
+      <wsdl:output message="tns:ResponseMessage94" name="Output94"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding94" type="tns:PortType94">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation94">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation94"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service94">
+    <wsdl:port name="Port94" binding="tns:Binding94">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage95">
+    <wsdl:part name="Response" element="tns:ResponseElement95"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage95">
+    <wsdl:part name="Request" element="tns:RequestElement95"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType95">
+    <wsdl:operation name="Operation95">
+      <wsdl:input message="tns:RequestMessage95" name="Input95"/>
+      <wsdl:output message="tns:ResponseMessage95" name="Output95"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding95" type="tns:PortType95">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation95">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation95"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service95">
+    <wsdl:port name="Port95" binding="tns:Binding95">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage96">
+    <wsdl:part name="Response" element="tns:ResponseElement96"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage96">
+    <wsdl:part name="Request" element="tns:RequestElement96"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType96">
+    <wsdl:operation name="Operation96">
+      <wsdl:input message="tns:RequestMessage96" name="Input96"/>
+      <wsdl:output message="tns:ResponseMessage96" name="Output96"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding96" type="tns:PortType96">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation96">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation96"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service96">
+    <wsdl:port name="Port96" binding="tns:Binding96">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage97">
+    <wsdl:part name="Response" element="tns:ResponseElement97"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage97">
+    <wsdl:part name="Request" element="tns:RequestElement97"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType97">
+    <wsdl:operation name="Operation97">
+      <wsdl:input message="tns:RequestMessage97" name="Input97"/>
+      <wsdl:output message="tns:ResponseMessage97" name="Output97"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding97" type="tns:PortType97">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation97">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation97"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service97">
+    <wsdl:port name="Port97" binding="tns:Binding97">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage98">
+    <wsdl:part name="Response" element="tns:ResponseElement98"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage98">
+    <wsdl:part name="Request" element="tns:RequestElement98"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType98">
+    <wsdl:operation name="Operation98">
+      <wsdl:input message="tns:RequestMessage98" name="Input98"/>
+      <wsdl:output message="tns:ResponseMessage98" name="Output98"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding98" type="tns:PortType98">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation98">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation98"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service98">
+    <wsdl:port name="Port98" binding="tns:Binding98">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage99">
+    <wsdl:part name="Response" element="tns:ResponseElement99"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage99">
+    <wsdl:part name="Request" element="tns:RequestElement99"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType99">
+    <wsdl:operation name="Operation99">
+      <wsdl:input message="tns:RequestMessage99" name="Input99"/>
+      <wsdl:output message="tns:ResponseMessage99" name="Output99"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding99" type="tns:PortType99">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation99">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation99"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service99">
+    <wsdl:port name="Port99" binding="tns:Binding99">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage100">
+    <wsdl:part name="Response" element="tns:ResponseElement100"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage100">
+    <wsdl:part name="Request" element="tns:RequestElement100"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType100">
+    <wsdl:operation name="Operation100">
+      <wsdl:input message="tns:RequestMessage100" name="Input100"/>
+      <wsdl:output message="tns:ResponseMessage100" name="Output100"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding100" type="tns:PortType100">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation100">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation100"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service100">
+    <wsdl:port name="Port100" binding="tns:Binding100">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage101">
+    <wsdl:part name="Response" element="tns:ResponseElement101"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage101">
+    <wsdl:part name="Request" element="tns:RequestElement101"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType101">
+    <wsdl:operation name="Operation101">
+      <wsdl:input message="tns:RequestMessage101" name="Input101"/>
+      <wsdl:output message="tns:ResponseMessage101" name="Output101"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding101" type="tns:PortType101">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation101">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation101"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service101">
+    <wsdl:port name="Port101" binding="tns:Binding101">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage102">
+    <wsdl:part name="Response" element="tns:ResponseElement102"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage102">
+    <wsdl:part name="Request" element="tns:RequestElement102"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType102">
+    <wsdl:operation name="Operation102">
+      <wsdl:input message="tns:RequestMessage102" name="Input102"/>
+      <wsdl:output message="tns:ResponseMessage102" name="Output102"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding102" type="tns:PortType102">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation102">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation102"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service102">
+    <wsdl:port name="Port102" binding="tns:Binding102">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage103">
+    <wsdl:part name="Response" element="tns:ResponseElement103"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage103">
+    <wsdl:part name="Request" element="tns:RequestElement103"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType103">
+    <wsdl:operation name="Operation103">
+      <wsdl:input message="tns:RequestMessage103" name="Input103"/>
+      <wsdl:output message="tns:ResponseMessage103" name="Output103"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding103" type="tns:PortType103">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation103">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation103"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service103">
+    <wsdl:port name="Port103" binding="tns:Binding103">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage104">
+    <wsdl:part name="Response" element="tns:ResponseElement104"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage104">
+    <wsdl:part name="Request" element="tns:RequestElement104"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType104">
+    <wsdl:operation name="Operation104">
+      <wsdl:input message="tns:RequestMessage104" name="Input104"/>
+      <wsdl:output message="tns:ResponseMessage104" name="Output104"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding104" type="tns:PortType104">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation104">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation104"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service104">
+    <wsdl:port name="Port104" binding="tns:Binding104">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage105">
+    <wsdl:part name="Response" element="tns:ResponseElement105"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage105">
+    <wsdl:part name="Request" element="tns:RequestElement105"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType105">
+    <wsdl:operation name="Operation105">
+      <wsdl:input message="tns:RequestMessage105" name="Input105"/>
+      <wsdl:output message="tns:ResponseMessage105" name="Output105"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding105" type="tns:PortType105">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation105">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation105"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service105">
+    <wsdl:port name="Port105" binding="tns:Binding105">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage106">
+    <wsdl:part name="Response" element="tns:ResponseElement106"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage106">
+    <wsdl:part name="Request" element="tns:RequestElement106"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType106">
+    <wsdl:operation name="Operation106">
+      <wsdl:input message="tns:RequestMessage106" name="Input106"/>
+      <wsdl:output message="tns:ResponseMessage106" name="Output106"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding106" type="tns:PortType106">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation106">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation106"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service106">
+    <wsdl:port name="Port106" binding="tns:Binding106">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage107">
+    <wsdl:part name="Response" element="tns:ResponseElement107"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage107">
+    <wsdl:part name="Request" element="tns:RequestElement107"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType107">
+    <wsdl:operation name="Operation107">
+      <wsdl:input message="tns:RequestMessage107" name="Input107"/>
+      <wsdl:output message="tns:ResponseMessage107" name="Output107"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding107" type="tns:PortType107">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation107">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation107"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service107">
+    <wsdl:port name="Port107" binding="tns:Binding107">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage108">
+    <wsdl:part name="Response" element="tns:ResponseElement108"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage108">
+    <wsdl:part name="Request" element="tns:RequestElement108"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType108">
+    <wsdl:operation name="Operation108">
+      <wsdl:input message="tns:RequestMessage108" name="Input108"/>
+      <wsdl:output message="tns:ResponseMessage108" name="Output108"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding108" type="tns:PortType108">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation108">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation108"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service108">
+    <wsdl:port name="Port108" binding="tns:Binding108">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage109">
+    <wsdl:part name="Response" element="tns:ResponseElement109"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage109">
+    <wsdl:part name="Request" element="tns:RequestElement109"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType109">
+    <wsdl:operation name="Operation109">
+      <wsdl:input message="tns:RequestMessage109" name="Input109"/>
+      <wsdl:output message="tns:ResponseMessage109" name="Output109"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding109" type="tns:PortType109">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation109">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation109"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service109">
+    <wsdl:port name="Port109" binding="tns:Binding109">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage110">
+    <wsdl:part name="Response" element="tns:ResponseElement110"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage110">
+    <wsdl:part name="Request" element="tns:RequestElement110"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType110">
+    <wsdl:operation name="Operation110">
+      <wsdl:input message="tns:RequestMessage110" name="Input110"/>
+      <wsdl:output message="tns:ResponseMessage110" name="Output110"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding110" type="tns:PortType110">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation110">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation110"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service110">
+    <wsdl:port name="Port110" binding="tns:Binding110">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage111">
+    <wsdl:part name="Response" element="tns:ResponseElement111"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage111">
+    <wsdl:part name="Request" element="tns:RequestElement111"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType111">
+    <wsdl:operation name="Operation111">
+      <wsdl:input message="tns:RequestMessage111" name="Input111"/>
+      <wsdl:output message="tns:ResponseMessage111" name="Output111"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding111" type="tns:PortType111">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation111">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation111"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service111">
+    <wsdl:port name="Port111" binding="tns:Binding111">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage112">
+    <wsdl:part name="Response" element="tns:ResponseElement112"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage112">
+    <wsdl:part name="Request" element="tns:RequestElement112"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType112">
+    <wsdl:operation name="Operation112">
+      <wsdl:input message="tns:RequestMessage112" name="Input112"/>
+      <wsdl:output message="tns:ResponseMessage112" name="Output112"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding112" type="tns:PortType112">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation112">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation112"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service112">
+    <wsdl:port name="Port112" binding="tns:Binding112">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage113">
+    <wsdl:part name="Response" element="tns:ResponseElement113"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage113">
+    <wsdl:part name="Request" element="tns:RequestElement113"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType113">
+    <wsdl:operation name="Operation113">
+      <wsdl:input message="tns:RequestMessage113" name="Input113"/>
+      <wsdl:output message="tns:ResponseMessage113" name="Output113"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding113" type="tns:PortType113">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation113">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation113"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service113">
+    <wsdl:port name="Port113" binding="tns:Binding113">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage114">
+    <wsdl:part name="Response" element="tns:ResponseElement114"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage114">
+    <wsdl:part name="Request" element="tns:RequestElement114"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType114">
+    <wsdl:operation name="Operation114">
+      <wsdl:input message="tns:RequestMessage114" name="Input114"/>
+      <wsdl:output message="tns:ResponseMessage114" name="Output114"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding114" type="tns:PortType114">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation114">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation114"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service114">
+    <wsdl:port name="Port114" binding="tns:Binding114">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage115">
+    <wsdl:part name="Response" element="tns:ResponseElement115"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage115">
+    <wsdl:part name="Request" element="tns:RequestElement115"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType115">
+    <wsdl:operation name="Operation115">
+      <wsdl:input message="tns:RequestMessage115" name="Input115"/>
+      <wsdl:output message="tns:ResponseMessage115" name="Output115"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding115" type="tns:PortType115">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation115">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation115"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service115">
+    <wsdl:port name="Port115" binding="tns:Binding115">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage116">
+    <wsdl:part name="Response" element="tns:ResponseElement116"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage116">
+    <wsdl:part name="Request" element="tns:RequestElement116"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType116">
+    <wsdl:operation name="Operation116">
+      <wsdl:input message="tns:RequestMessage116" name="Input116"/>
+      <wsdl:output message="tns:ResponseMessage116" name="Output116"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding116" type="tns:PortType116">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation116">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation116"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service116">
+    <wsdl:port name="Port116" binding="tns:Binding116">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage117">
+    <wsdl:part name="Response" element="tns:ResponseElement117"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage117">
+    <wsdl:part name="Request" element="tns:RequestElement117"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType117">
+    <wsdl:operation name="Operation117">
+      <wsdl:input message="tns:RequestMessage117" name="Input117"/>
+      <wsdl:output message="tns:ResponseMessage117" name="Output117"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding117" type="tns:PortType117">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation117">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation117"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service117">
+    <wsdl:port name="Port117" binding="tns:Binding117">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage118">
+    <wsdl:part name="Response" element="tns:ResponseElement118"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage118">
+    <wsdl:part name="Request" element="tns:RequestElement118"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType118">
+    <wsdl:operation name="Operation118">
+      <wsdl:input message="tns:RequestMessage118" name="Input118"/>
+      <wsdl:output message="tns:ResponseMessage118" name="Output118"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding118" type="tns:PortType118">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation118">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation118"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service118">
+    <wsdl:port name="Port118" binding="tns:Binding118">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage119">
+    <wsdl:part name="Response" element="tns:ResponseElement119"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage119">
+    <wsdl:part name="Request" element="tns:RequestElement119"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType119">
+    <wsdl:operation name="Operation119">
+      <wsdl:input message="tns:RequestMessage119" name="Input119"/>
+      <wsdl:output message="tns:ResponseMessage119" name="Output119"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding119" type="tns:PortType119">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation119">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation119"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service119">
+    <wsdl:port name="Port119" binding="tns:Binding119">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage120">
+    <wsdl:part name="Response" element="tns:ResponseElement120"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage120">
+    <wsdl:part name="Request" element="tns:RequestElement120"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType120">
+    <wsdl:operation name="Operation120">
+      <wsdl:input message="tns:RequestMessage120" name="Input120"/>
+      <wsdl:output message="tns:ResponseMessage120" name="Output120"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding120" type="tns:PortType120">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation120">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation120"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service120">
+    <wsdl:port name="Port120" binding="tns:Binding120">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage121">
+    <wsdl:part name="Response" element="tns:ResponseElement121"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage121">
+    <wsdl:part name="Request" element="tns:RequestElement121"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType121">
+    <wsdl:operation name="Operation121">
+      <wsdl:input message="tns:RequestMessage121" name="Input121"/>
+      <wsdl:output message="tns:ResponseMessage121" name="Output121"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding121" type="tns:PortType121">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation121">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation121"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service121">
+    <wsdl:port name="Port121" binding="tns:Binding121">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage122">
+    <wsdl:part name="Response" element="tns:ResponseElement122"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage122">
+    <wsdl:part name="Request" element="tns:RequestElement122"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType122">
+    <wsdl:operation name="Operation122">
+      <wsdl:input message="tns:RequestMessage122" name="Input122"/>
+      <wsdl:output message="tns:ResponseMessage122" name="Output122"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding122" type="tns:PortType122">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation122">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation122"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service122">
+    <wsdl:port name="Port122" binding="tns:Binding122">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage123">
+    <wsdl:part name="Response" element="tns:ResponseElement123"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage123">
+    <wsdl:part name="Request" element="tns:RequestElement123"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType123">
+    <wsdl:operation name="Operation123">
+      <wsdl:input message="tns:RequestMessage123" name="Input123"/>
+      <wsdl:output message="tns:ResponseMessage123" name="Output123"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding123" type="tns:PortType123">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation123">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation123"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service123">
+    <wsdl:port name="Port123" binding="tns:Binding123">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage124">
+    <wsdl:part name="Response" element="tns:ResponseElement124"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage124">
+    <wsdl:part name="Request" element="tns:RequestElement124"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType124">
+    <wsdl:operation name="Operation124">
+      <wsdl:input message="tns:RequestMessage124" name="Input124"/>
+      <wsdl:output message="tns:ResponseMessage124" name="Output124"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding124" type="tns:PortType124">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation124">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation124"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service124">
+    <wsdl:port name="Port124" binding="tns:Binding124">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage125">
+    <wsdl:part name="Response" element="tns:ResponseElement125"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage125">
+    <wsdl:part name="Request" element="tns:RequestElement125"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType125">
+    <wsdl:operation name="Operation125">
+      <wsdl:input message="tns:RequestMessage125" name="Input125"/>
+      <wsdl:output message="tns:ResponseMessage125" name="Output125"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding125" type="tns:PortType125">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation125">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation125"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service125">
+    <wsdl:port name="Port125" binding="tns:Binding125">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage126">
+    <wsdl:part name="Response" element="tns:ResponseElement126"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage126">
+    <wsdl:part name="Request" element="tns:RequestElement126"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType126">
+    <wsdl:operation name="Operation126">
+      <wsdl:input message="tns:RequestMessage126" name="Input126"/>
+      <wsdl:output message="tns:ResponseMessage126" name="Output126"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding126" type="tns:PortType126">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation126">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation126"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service126">
+    <wsdl:port name="Port126" binding="tns:Binding126">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage127">
+    <wsdl:part name="Response" element="tns:ResponseElement127"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage127">
+    <wsdl:part name="Request" element="tns:RequestElement127"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType127">
+    <wsdl:operation name="Operation127">
+      <wsdl:input message="tns:RequestMessage127" name="Input127"/>
+      <wsdl:output message="tns:ResponseMessage127" name="Output127"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding127" type="tns:PortType127">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation127">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation127"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service127">
+    <wsdl:port name="Port127" binding="tns:Binding127">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage128">
+    <wsdl:part name="Response" element="tns:ResponseElement128"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage128">
+    <wsdl:part name="Request" element="tns:RequestElement128"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType128">
+    <wsdl:operation name="Operation128">
+      <wsdl:input message="tns:RequestMessage128" name="Input128"/>
+      <wsdl:output message="tns:ResponseMessage128" name="Output128"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding128" type="tns:PortType128">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation128">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation128"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service128">
+    <wsdl:port name="Port128" binding="tns:Binding128">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage129">
+    <wsdl:part name="Response" element="tns:ResponseElement129"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage129">
+    <wsdl:part name="Request" element="tns:RequestElement129"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType129">
+    <wsdl:operation name="Operation129">
+      <wsdl:input message="tns:RequestMessage129" name="Input129"/>
+      <wsdl:output message="tns:ResponseMessage129" name="Output129"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding129" type="tns:PortType129">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation129">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation129"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service129">
+    <wsdl:port name="Port129" binding="tns:Binding129">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage130">
+    <wsdl:part name="Response" element="tns:ResponseElement130"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage130">
+    <wsdl:part name="Request" element="tns:RequestElement130"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType130">
+    <wsdl:operation name="Operation130">
+      <wsdl:input message="tns:RequestMessage130" name="Input130"/>
+      <wsdl:output message="tns:ResponseMessage130" name="Output130"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding130" type="tns:PortType130">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation130">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation130"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service130">
+    <wsdl:port name="Port130" binding="tns:Binding130">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage131">
+    <wsdl:part name="Response" element="tns:ResponseElement131"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage131">
+    <wsdl:part name="Request" element="tns:RequestElement131"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType131">
+    <wsdl:operation name="Operation131">
+      <wsdl:input message="tns:RequestMessage131" name="Input131"/>
+      <wsdl:output message="tns:ResponseMessage131" name="Output131"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding131" type="tns:PortType131">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation131">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation131"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service131">
+    <wsdl:port name="Port131" binding="tns:Binding131">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage132">
+    <wsdl:part name="Response" element="tns:ResponseElement132"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage132">
+    <wsdl:part name="Request" element="tns:RequestElement132"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType132">
+    <wsdl:operation name="Operation132">
+      <wsdl:input message="tns:RequestMessage132" name="Input132"/>
+      <wsdl:output message="tns:ResponseMessage132" name="Output132"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding132" type="tns:PortType132">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation132">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation132"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service132">
+    <wsdl:port name="Port132" binding="tns:Binding132">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage133">
+    <wsdl:part name="Response" element="tns:ResponseElement133"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage133">
+    <wsdl:part name="Request" element="tns:RequestElement133"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType133">
+    <wsdl:operation name="Operation133">
+      <wsdl:input message="tns:RequestMessage133" name="Input133"/>
+      <wsdl:output message="tns:ResponseMessage133" name="Output133"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding133" type="tns:PortType133">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation133">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation133"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service133">
+    <wsdl:port name="Port133" binding="tns:Binding133">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage134">
+    <wsdl:part name="Response" element="tns:ResponseElement134"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage134">
+    <wsdl:part name="Request" element="tns:RequestElement134"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType134">
+    <wsdl:operation name="Operation134">
+      <wsdl:input message="tns:RequestMessage134" name="Input134"/>
+      <wsdl:output message="tns:ResponseMessage134" name="Output134"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding134" type="tns:PortType134">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation134">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation134"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service134">
+    <wsdl:port name="Port134" binding="tns:Binding134">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage135">
+    <wsdl:part name="Response" element="tns:ResponseElement135"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage135">
+    <wsdl:part name="Request" element="tns:RequestElement135"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType135">
+    <wsdl:operation name="Operation135">
+      <wsdl:input message="tns:RequestMessage135" name="Input135"/>
+      <wsdl:output message="tns:ResponseMessage135" name="Output135"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding135" type="tns:PortType135">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation135">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation135"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service135">
+    <wsdl:port name="Port135" binding="tns:Binding135">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage136">
+    <wsdl:part name="Response" element="tns:ResponseElement136"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage136">
+    <wsdl:part name="Request" element="tns:RequestElement136"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType136">
+    <wsdl:operation name="Operation136">
+      <wsdl:input message="tns:RequestMessage136" name="Input136"/>
+      <wsdl:output message="tns:ResponseMessage136" name="Output136"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding136" type="tns:PortType136">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation136">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation136"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service136">
+    <wsdl:port name="Port136" binding="tns:Binding136">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage137">
+    <wsdl:part name="Response" element="tns:ResponseElement137"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage137">
+    <wsdl:part name="Request" element="tns:RequestElement137"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType137">
+    <wsdl:operation name="Operation137">
+      <wsdl:input message="tns:RequestMessage137" name="Input137"/>
+      <wsdl:output message="tns:ResponseMessage137" name="Output137"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding137" type="tns:PortType137">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation137">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation137"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service137">
+    <wsdl:port name="Port137" binding="tns:Binding137">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage138">
+    <wsdl:part name="Response" element="tns:ResponseElement138"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage138">
+    <wsdl:part name="Request" element="tns:RequestElement138"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType138">
+    <wsdl:operation name="Operation138">
+      <wsdl:input message="tns:RequestMessage138" name="Input138"/>
+      <wsdl:output message="tns:ResponseMessage138" name="Output138"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding138" type="tns:PortType138">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation138">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation138"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service138">
+    <wsdl:port name="Port138" binding="tns:Binding138">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage139">
+    <wsdl:part name="Response" element="tns:ResponseElement139"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage139">
+    <wsdl:part name="Request" element="tns:RequestElement139"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType139">
+    <wsdl:operation name="Operation139">
+      <wsdl:input message="tns:RequestMessage139" name="Input139"/>
+      <wsdl:output message="tns:ResponseMessage139" name="Output139"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding139" type="tns:PortType139">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation139">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation139"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service139">
+    <wsdl:port name="Port139" binding="tns:Binding139">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage140">
+    <wsdl:part name="Response" element="tns:ResponseElement140"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage140">
+    <wsdl:part name="Request" element="tns:RequestElement140"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType140">
+    <wsdl:operation name="Operation140">
+      <wsdl:input message="tns:RequestMessage140" name="Input140"/>
+      <wsdl:output message="tns:ResponseMessage140" name="Output140"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding140" type="tns:PortType140">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation140">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation140"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service140">
+    <wsdl:port name="Port140" binding="tns:Binding140">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage141">
+    <wsdl:part name="Response" element="tns:ResponseElement141"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage141">
+    <wsdl:part name="Request" element="tns:RequestElement141"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType141">
+    <wsdl:operation name="Operation141">
+      <wsdl:input message="tns:RequestMessage141" name="Input141"/>
+      <wsdl:output message="tns:ResponseMessage141" name="Output141"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding141" type="tns:PortType141">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation141">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation141"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service141">
+    <wsdl:port name="Port141" binding="tns:Binding141">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage142">
+    <wsdl:part name="Response" element="tns:ResponseElement142"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage142">
+    <wsdl:part name="Request" element="tns:RequestElement142"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType142">
+    <wsdl:operation name="Operation142">
+      <wsdl:input message="tns:RequestMessage142" name="Input142"/>
+      <wsdl:output message="tns:ResponseMessage142" name="Output142"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding142" type="tns:PortType142">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation142">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation142"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service142">
+    <wsdl:port name="Port142" binding="tns:Binding142">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage143">
+    <wsdl:part name="Response" element="tns:ResponseElement143"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage143">
+    <wsdl:part name="Request" element="tns:RequestElement143"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType143">
+    <wsdl:operation name="Operation143">
+      <wsdl:input message="tns:RequestMessage143" name="Input143"/>
+      <wsdl:output message="tns:ResponseMessage143" name="Output143"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding143" type="tns:PortType143">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation143">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation143"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service143">
+    <wsdl:port name="Port143" binding="tns:Binding143">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage144">
+    <wsdl:part name="Response" element="tns:ResponseElement144"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage144">
+    <wsdl:part name="Request" element="tns:RequestElement144"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType144">
+    <wsdl:operation name="Operation144">
+      <wsdl:input message="tns:RequestMessage144" name="Input144"/>
+      <wsdl:output message="tns:ResponseMessage144" name="Output144"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding144" type="tns:PortType144">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation144">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation144"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service144">
+    <wsdl:port name="Port144" binding="tns:Binding144">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage145">
+    <wsdl:part name="Response" element="tns:ResponseElement145"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage145">
+    <wsdl:part name="Request" element="tns:RequestElement145"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType145">
+    <wsdl:operation name="Operation145">
+      <wsdl:input message="tns:RequestMessage145" name="Input145"/>
+      <wsdl:output message="tns:ResponseMessage145" name="Output145"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding145" type="tns:PortType145">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation145">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation145"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service145">
+    <wsdl:port name="Port145" binding="tns:Binding145">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage146">
+    <wsdl:part name="Response" element="tns:ResponseElement146"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage146">
+    <wsdl:part name="Request" element="tns:RequestElement146"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType146">
+    <wsdl:operation name="Operation146">
+      <wsdl:input message="tns:RequestMessage146" name="Input146"/>
+      <wsdl:output message="tns:ResponseMessage146" name="Output146"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding146" type="tns:PortType146">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation146">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation146"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service146">
+    <wsdl:port name="Port146" binding="tns:Binding146">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage147">
+    <wsdl:part name="Response" element="tns:ResponseElement147"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage147">
+    <wsdl:part name="Request" element="tns:RequestElement147"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType147">
+    <wsdl:operation name="Operation147">
+      <wsdl:input message="tns:RequestMessage147" name="Input147"/>
+      <wsdl:output message="tns:ResponseMessage147" name="Output147"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding147" type="tns:PortType147">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation147">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation147"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service147">
+    <wsdl:port name="Port147" binding="tns:Binding147">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage148">
+    <wsdl:part name="Response" element="tns:ResponseElement148"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage148">
+    <wsdl:part name="Request" element="tns:RequestElement148"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType148">
+    <wsdl:operation name="Operation148">
+      <wsdl:input message="tns:RequestMessage148" name="Input148"/>
+      <wsdl:output message="tns:ResponseMessage148" name="Output148"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding148" type="tns:PortType148">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation148">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation148"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service148">
+    <wsdl:port name="Port148" binding="tns:Binding148">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage149">
+    <wsdl:part name="Response" element="tns:ResponseElement149"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage149">
+    <wsdl:part name="Request" element="tns:RequestElement149"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType149">
+    <wsdl:operation name="Operation149">
+      <wsdl:input message="tns:RequestMessage149" name="Input149"/>
+      <wsdl:output message="tns:ResponseMessage149" name="Output149"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding149" type="tns:PortType149">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation149">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation149"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service149">
+    <wsdl:port name="Port149" binding="tns:Binding149">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage150">
+    <wsdl:part name="Response" element="tns:ResponseElement150"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage150">
+    <wsdl:part name="Request" element="tns:RequestElement150"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType150">
+    <wsdl:operation name="Operation150">
+      <wsdl:input message="tns:RequestMessage150" name="Input150"/>
+      <wsdl:output message="tns:ResponseMessage150" name="Output150"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding150" type="tns:PortType150">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation150">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation150"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service150">
+    <wsdl:port name="Port150" binding="tns:Binding150">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage151">
+    <wsdl:part name="Response" element="tns:ResponseElement151"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage151">
+    <wsdl:part name="Request" element="tns:RequestElement151"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType151">
+    <wsdl:operation name="Operation151">
+      <wsdl:input message="tns:RequestMessage151" name="Input151"/>
+      <wsdl:output message="tns:ResponseMessage151" name="Output151"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding151" type="tns:PortType151">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation151">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation151"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service151">
+    <wsdl:port name="Port151" binding="tns:Binding151">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage152">
+    <wsdl:part name="Response" element="tns:ResponseElement152"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage152">
+    <wsdl:part name="Request" element="tns:RequestElement152"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType152">
+    <wsdl:operation name="Operation152">
+      <wsdl:input message="tns:RequestMessage152" name="Input152"/>
+      <wsdl:output message="tns:ResponseMessage152" name="Output152"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding152" type="tns:PortType152">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation152">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation152"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service152">
+    <wsdl:port name="Port152" binding="tns:Binding152">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage153">
+    <wsdl:part name="Response" element="tns:ResponseElement153"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage153">
+    <wsdl:part name="Request" element="tns:RequestElement153"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType153">
+    <wsdl:operation name="Operation153">
+      <wsdl:input message="tns:RequestMessage153" name="Input153"/>
+      <wsdl:output message="tns:ResponseMessage153" name="Output153"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding153" type="tns:PortType153">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation153">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation153"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service153">
+    <wsdl:port name="Port153" binding="tns:Binding153">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage154">
+    <wsdl:part name="Response" element="tns:ResponseElement154"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage154">
+    <wsdl:part name="Request" element="tns:RequestElement154"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType154">
+    <wsdl:operation name="Operation154">
+      <wsdl:input message="tns:RequestMessage154" name="Input154"/>
+      <wsdl:output message="tns:ResponseMessage154" name="Output154"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding154" type="tns:PortType154">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation154">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation154"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service154">
+    <wsdl:port name="Port154" binding="tns:Binding154">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage155">
+    <wsdl:part name="Response" element="tns:ResponseElement155"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage155">
+    <wsdl:part name="Request" element="tns:RequestElement155"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType155">
+    <wsdl:operation name="Operation155">
+      <wsdl:input message="tns:RequestMessage155" name="Input155"/>
+      <wsdl:output message="tns:ResponseMessage155" name="Output155"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding155" type="tns:PortType155">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation155">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation155"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service155">
+    <wsdl:port name="Port155" binding="tns:Binding155">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage156">
+    <wsdl:part name="Response" element="tns:ResponseElement156"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage156">
+    <wsdl:part name="Request" element="tns:RequestElement156"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType156">
+    <wsdl:operation name="Operation156">
+      <wsdl:input message="tns:RequestMessage156" name="Input156"/>
+      <wsdl:output message="tns:ResponseMessage156" name="Output156"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding156" type="tns:PortType156">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation156">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation156"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service156">
+    <wsdl:port name="Port156" binding="tns:Binding156">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage157">
+    <wsdl:part name="Response" element="tns:ResponseElement157"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage157">
+    <wsdl:part name="Request" element="tns:RequestElement157"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType157">
+    <wsdl:operation name="Operation157">
+      <wsdl:input message="tns:RequestMessage157" name="Input157"/>
+      <wsdl:output message="tns:ResponseMessage157" name="Output157"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding157" type="tns:PortType157">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation157">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation157"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service157">
+    <wsdl:port name="Port157" binding="tns:Binding157">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage158">
+    <wsdl:part name="Response" element="tns:ResponseElement158"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage158">
+    <wsdl:part name="Request" element="tns:RequestElement158"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType158">
+    <wsdl:operation name="Operation158">
+      <wsdl:input message="tns:RequestMessage158" name="Input158"/>
+      <wsdl:output message="tns:ResponseMessage158" name="Output158"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding158" type="tns:PortType158">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation158">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation158"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service158">
+    <wsdl:port name="Port158" binding="tns:Binding158">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage159">
+    <wsdl:part name="Response" element="tns:ResponseElement159"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage159">
+    <wsdl:part name="Request" element="tns:RequestElement159"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType159">
+    <wsdl:operation name="Operation159">
+      <wsdl:input message="tns:RequestMessage159" name="Input159"/>
+      <wsdl:output message="tns:ResponseMessage159" name="Output159"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding159" type="tns:PortType159">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation159">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation159"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service159">
+    <wsdl:port name="Port159" binding="tns:Binding159">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage160">
+    <wsdl:part name="Response" element="tns:ResponseElement160"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage160">
+    <wsdl:part name="Request" element="tns:RequestElement160"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType160">
+    <wsdl:operation name="Operation160">
+      <wsdl:input message="tns:RequestMessage160" name="Input160"/>
+      <wsdl:output message="tns:ResponseMessage160" name="Output160"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding160" type="tns:PortType160">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation160">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation160"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service160">
+    <wsdl:port name="Port160" binding="tns:Binding160">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage161">
+    <wsdl:part name="Response" element="tns:ResponseElement161"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage161">
+    <wsdl:part name="Request" element="tns:RequestElement161"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType161">
+    <wsdl:operation name="Operation161">
+      <wsdl:input message="tns:RequestMessage161" name="Input161"/>
+      <wsdl:output message="tns:ResponseMessage161" name="Output161"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding161" type="tns:PortType161">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation161">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation161"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service161">
+    <wsdl:port name="Port161" binding="tns:Binding161">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage162">
+    <wsdl:part name="Response" element="tns:ResponseElement162"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage162">
+    <wsdl:part name="Request" element="tns:RequestElement162"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType162">
+    <wsdl:operation name="Operation162">
+      <wsdl:input message="tns:RequestMessage162" name="Input162"/>
+      <wsdl:output message="tns:ResponseMessage162" name="Output162"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding162" type="tns:PortType162">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation162">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation162"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service162">
+    <wsdl:port name="Port162" binding="tns:Binding162">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage163">
+    <wsdl:part name="Response" element="tns:ResponseElement163"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage163">
+    <wsdl:part name="Request" element="tns:RequestElement163"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType163">
+    <wsdl:operation name="Operation163">
+      <wsdl:input message="tns:RequestMessage163" name="Input163"/>
+      <wsdl:output message="tns:ResponseMessage163" name="Output163"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding163" type="tns:PortType163">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation163">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation163"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service163">
+    <wsdl:port name="Port163" binding="tns:Binding163">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage164">
+    <wsdl:part name="Response" element="tns:ResponseElement164"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage164">
+    <wsdl:part name="Request" element="tns:RequestElement164"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType164">
+    <wsdl:operation name="Operation164">
+      <wsdl:input message="tns:RequestMessage164" name="Input164"/>
+      <wsdl:output message="tns:ResponseMessage164" name="Output164"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding164" type="tns:PortType164">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation164">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation164"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service164">
+    <wsdl:port name="Port164" binding="tns:Binding164">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage165">
+    <wsdl:part name="Response" element="tns:ResponseElement165"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage165">
+    <wsdl:part name="Request" element="tns:RequestElement165"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType165">
+    <wsdl:operation name="Operation165">
+      <wsdl:input message="tns:RequestMessage165" name="Input165"/>
+      <wsdl:output message="tns:ResponseMessage165" name="Output165"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding165" type="tns:PortType165">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation165">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation165"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service165">
+    <wsdl:port name="Port165" binding="tns:Binding165">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage166">
+    <wsdl:part name="Response" element="tns:ResponseElement166"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage166">
+    <wsdl:part name="Request" element="tns:RequestElement166"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType166">
+    <wsdl:operation name="Operation166">
+      <wsdl:input message="tns:RequestMessage166" name="Input166"/>
+      <wsdl:output message="tns:ResponseMessage166" name="Output166"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding166" type="tns:PortType166">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation166">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation166"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service166">
+    <wsdl:port name="Port166" binding="tns:Binding166">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage167">
+    <wsdl:part name="Response" element="tns:ResponseElement167"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage167">
+    <wsdl:part name="Request" element="tns:RequestElement167"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType167">
+    <wsdl:operation name="Operation167">
+      <wsdl:input message="tns:RequestMessage167" name="Input167"/>
+      <wsdl:output message="tns:ResponseMessage167" name="Output167"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding167" type="tns:PortType167">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation167">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation167"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service167">
+    <wsdl:port name="Port167" binding="tns:Binding167">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage168">
+    <wsdl:part name="Response" element="tns:ResponseElement168"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage168">
+    <wsdl:part name="Request" element="tns:RequestElement168"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType168">
+    <wsdl:operation name="Operation168">
+      <wsdl:input message="tns:RequestMessage168" name="Input168"/>
+      <wsdl:output message="tns:ResponseMessage168" name="Output168"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding168" type="tns:PortType168">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation168">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation168"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service168">
+    <wsdl:port name="Port168" binding="tns:Binding168">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage169">
+    <wsdl:part name="Response" element="tns:ResponseElement169"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage169">
+    <wsdl:part name="Request" element="tns:RequestElement169"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType169">
+    <wsdl:operation name="Operation169">
+      <wsdl:input message="tns:RequestMessage169" name="Input169"/>
+      <wsdl:output message="tns:ResponseMessage169" name="Output169"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding169" type="tns:PortType169">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation169">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation169"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service169">
+    <wsdl:port name="Port169" binding="tns:Binding169">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage170">
+    <wsdl:part name="Response" element="tns:ResponseElement170"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage170">
+    <wsdl:part name="Request" element="tns:RequestElement170"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType170">
+    <wsdl:operation name="Operation170">
+      <wsdl:input message="tns:RequestMessage170" name="Input170"/>
+      <wsdl:output message="tns:ResponseMessage170" name="Output170"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding170" type="tns:PortType170">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation170">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation170"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service170">
+    <wsdl:port name="Port170" binding="tns:Binding170">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage171">
+    <wsdl:part name="Response" element="tns:ResponseElement171"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage171">
+    <wsdl:part name="Request" element="tns:RequestElement171"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType171">
+    <wsdl:operation name="Operation171">
+      <wsdl:input message="tns:RequestMessage171" name="Input171"/>
+      <wsdl:output message="tns:ResponseMessage171" name="Output171"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding171" type="tns:PortType171">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation171">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation171"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service171">
+    <wsdl:port name="Port171" binding="tns:Binding171">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage172">
+    <wsdl:part name="Response" element="tns:ResponseElement172"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage172">
+    <wsdl:part name="Request" element="tns:RequestElement172"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType172">
+    <wsdl:operation name="Operation172">
+      <wsdl:input message="tns:RequestMessage172" name="Input172"/>
+      <wsdl:output message="tns:ResponseMessage172" name="Output172"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding172" type="tns:PortType172">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation172">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation172"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service172">
+    <wsdl:port name="Port172" binding="tns:Binding172">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage173">
+    <wsdl:part name="Response" element="tns:ResponseElement173"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage173">
+    <wsdl:part name="Request" element="tns:RequestElement173"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType173">
+    <wsdl:operation name="Operation173">
+      <wsdl:input message="tns:RequestMessage173" name="Input173"/>
+      <wsdl:output message="tns:ResponseMessage173" name="Output173"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding173" type="tns:PortType173">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation173">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation173"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service173">
+    <wsdl:port name="Port173" binding="tns:Binding173">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage174">
+    <wsdl:part name="Response" element="tns:ResponseElement174"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage174">
+    <wsdl:part name="Request" element="tns:RequestElement174"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType174">
+    <wsdl:operation name="Operation174">
+      <wsdl:input message="tns:RequestMessage174" name="Input174"/>
+      <wsdl:output message="tns:ResponseMessage174" name="Output174"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding174" type="tns:PortType174">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation174">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation174"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service174">
+    <wsdl:port name="Port174" binding="tns:Binding174">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage175">
+    <wsdl:part name="Response" element="tns:ResponseElement175"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage175">
+    <wsdl:part name="Request" element="tns:RequestElement175"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType175">
+    <wsdl:operation name="Operation175">
+      <wsdl:input message="tns:RequestMessage175" name="Input175"/>
+      <wsdl:output message="tns:ResponseMessage175" name="Output175"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding175" type="tns:PortType175">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation175">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation175"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service175">
+    <wsdl:port name="Port175" binding="tns:Binding175">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage176">
+    <wsdl:part name="Response" element="tns:ResponseElement176"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage176">
+    <wsdl:part name="Request" element="tns:RequestElement176"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType176">
+    <wsdl:operation name="Operation176">
+      <wsdl:input message="tns:RequestMessage176" name="Input176"/>
+      <wsdl:output message="tns:ResponseMessage176" name="Output176"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding176" type="tns:PortType176">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation176">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation176"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service176">
+    <wsdl:port name="Port176" binding="tns:Binding176">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage177">
+    <wsdl:part name="Response" element="tns:ResponseElement177"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage177">
+    <wsdl:part name="Request" element="tns:RequestElement177"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType177">
+    <wsdl:operation name="Operation177">
+      <wsdl:input message="tns:RequestMessage177" name="Input177"/>
+      <wsdl:output message="tns:ResponseMessage177" name="Output177"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding177" type="tns:PortType177">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation177">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation177"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service177">
+    <wsdl:port name="Port177" binding="tns:Binding177">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage178">
+    <wsdl:part name="Response" element="tns:ResponseElement178"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage178">
+    <wsdl:part name="Request" element="tns:RequestElement178"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType178">
+    <wsdl:operation name="Operation178">
+      <wsdl:input message="tns:RequestMessage178" name="Input178"/>
+      <wsdl:output message="tns:ResponseMessage178" name="Output178"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding178" type="tns:PortType178">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation178">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation178"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service178">
+    <wsdl:port name="Port178" binding="tns:Binding178">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage179">
+    <wsdl:part name="Response" element="tns:ResponseElement179"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage179">
+    <wsdl:part name="Request" element="tns:RequestElement179"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType179">
+    <wsdl:operation name="Operation179">
+      <wsdl:input message="tns:RequestMessage179" name="Input179"/>
+      <wsdl:output message="tns:ResponseMessage179" name="Output179"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding179" type="tns:PortType179">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation179">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation179"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service179">
+    <wsdl:port name="Port179" binding="tns:Binding179">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage180">
+    <wsdl:part name="Response" element="tns:ResponseElement180"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage180">
+    <wsdl:part name="Request" element="tns:RequestElement180"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType180">
+    <wsdl:operation name="Operation180">
+      <wsdl:input message="tns:RequestMessage180" name="Input180"/>
+      <wsdl:output message="tns:ResponseMessage180" name="Output180"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding180" type="tns:PortType180">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation180">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation180"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service180">
+    <wsdl:port name="Port180" binding="tns:Binding180">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage181">
+    <wsdl:part name="Response" element="tns:ResponseElement181"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage181">
+    <wsdl:part name="Request" element="tns:RequestElement181"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType181">
+    <wsdl:operation name="Operation181">
+      <wsdl:input message="tns:RequestMessage181" name="Input181"/>
+      <wsdl:output message="tns:ResponseMessage181" name="Output181"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding181" type="tns:PortType181">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation181">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation181"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service181">
+    <wsdl:port name="Port181" binding="tns:Binding181">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage182">
+    <wsdl:part name="Response" element="tns:ResponseElement182"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage182">
+    <wsdl:part name="Request" element="tns:RequestElement182"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType182">
+    <wsdl:operation name="Operation182">
+      <wsdl:input message="tns:RequestMessage182" name="Input182"/>
+      <wsdl:output message="tns:ResponseMessage182" name="Output182"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding182" type="tns:PortType182">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation182">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation182"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service182">
+    <wsdl:port name="Port182" binding="tns:Binding182">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage183">
+    <wsdl:part name="Response" element="tns:ResponseElement183"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage183">
+    <wsdl:part name="Request" element="tns:RequestElement183"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType183">
+    <wsdl:operation name="Operation183">
+      <wsdl:input message="tns:RequestMessage183" name="Input183"/>
+      <wsdl:output message="tns:ResponseMessage183" name="Output183"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding183" type="tns:PortType183">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation183">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation183"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service183">
+    <wsdl:port name="Port183" binding="tns:Binding183">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage184">
+    <wsdl:part name="Response" element="tns:ResponseElement184"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage184">
+    <wsdl:part name="Request" element="tns:RequestElement184"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType184">
+    <wsdl:operation name="Operation184">
+      <wsdl:input message="tns:RequestMessage184" name="Input184"/>
+      <wsdl:output message="tns:ResponseMessage184" name="Output184"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding184" type="tns:PortType184">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation184">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation184"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service184">
+    <wsdl:port name="Port184" binding="tns:Binding184">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage185">
+    <wsdl:part name="Response" element="tns:ResponseElement185"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage185">
+    <wsdl:part name="Request" element="tns:RequestElement185"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType185">
+    <wsdl:operation name="Operation185">
+      <wsdl:input message="tns:RequestMessage185" name="Input185"/>
+      <wsdl:output message="tns:ResponseMessage185" name="Output185"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding185" type="tns:PortType185">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation185">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation185"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service185">
+    <wsdl:port name="Port185" binding="tns:Binding185">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage186">
+    <wsdl:part name="Response" element="tns:ResponseElement186"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage186">
+    <wsdl:part name="Request" element="tns:RequestElement186"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType186">
+    <wsdl:operation name="Operation186">
+      <wsdl:input message="tns:RequestMessage186" name="Input186"/>
+      <wsdl:output message="tns:ResponseMessage186" name="Output186"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding186" type="tns:PortType186">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation186">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation186"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service186">
+    <wsdl:port name="Port186" binding="tns:Binding186">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage187">
+    <wsdl:part name="Response" element="tns:ResponseElement187"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage187">
+    <wsdl:part name="Request" element="tns:RequestElement187"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType187">
+    <wsdl:operation name="Operation187">
+      <wsdl:input message="tns:RequestMessage187" name="Input187"/>
+      <wsdl:output message="tns:ResponseMessage187" name="Output187"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding187" type="tns:PortType187">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation187">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation187"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service187">
+    <wsdl:port name="Port187" binding="tns:Binding187">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage188">
+    <wsdl:part name="Response" element="tns:ResponseElement188"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage188">
+    <wsdl:part name="Request" element="tns:RequestElement188"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType188">
+    <wsdl:operation name="Operation188">
+      <wsdl:input message="tns:RequestMessage188" name="Input188"/>
+      <wsdl:output message="tns:ResponseMessage188" name="Output188"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding188" type="tns:PortType188">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation188">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation188"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service188">
+    <wsdl:port name="Port188" binding="tns:Binding188">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage189">
+    <wsdl:part name="Response" element="tns:ResponseElement189"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage189">
+    <wsdl:part name="Request" element="tns:RequestElement189"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType189">
+    <wsdl:operation name="Operation189">
+      <wsdl:input message="tns:RequestMessage189" name="Input189"/>
+      <wsdl:output message="tns:ResponseMessage189" name="Output189"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding189" type="tns:PortType189">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation189">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation189"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service189">
+    <wsdl:port name="Port189" binding="tns:Binding189">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage190">
+    <wsdl:part name="Response" element="tns:ResponseElement190"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage190">
+    <wsdl:part name="Request" element="tns:RequestElement190"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType190">
+    <wsdl:operation name="Operation190">
+      <wsdl:input message="tns:RequestMessage190" name="Input190"/>
+      <wsdl:output message="tns:ResponseMessage190" name="Output190"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding190" type="tns:PortType190">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation190">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation190"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service190">
+    <wsdl:port name="Port190" binding="tns:Binding190">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage191">
+    <wsdl:part name="Response" element="tns:ResponseElement191"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage191">
+    <wsdl:part name="Request" element="tns:RequestElement191"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType191">
+    <wsdl:operation name="Operation191">
+      <wsdl:input message="tns:RequestMessage191" name="Input191"/>
+      <wsdl:output message="tns:ResponseMessage191" name="Output191"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding191" type="tns:PortType191">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation191">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation191"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service191">
+    <wsdl:port name="Port191" binding="tns:Binding191">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage192">
+    <wsdl:part name="Response" element="tns:ResponseElement192"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage192">
+    <wsdl:part name="Request" element="tns:RequestElement192"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType192">
+    <wsdl:operation name="Operation192">
+      <wsdl:input message="tns:RequestMessage192" name="Input192"/>
+      <wsdl:output message="tns:ResponseMessage192" name="Output192"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding192" type="tns:PortType192">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation192">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation192"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service192">
+    <wsdl:port name="Port192" binding="tns:Binding192">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage193">
+    <wsdl:part name="Response" element="tns:ResponseElement193"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage193">
+    <wsdl:part name="Request" element="tns:RequestElement193"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType193">
+    <wsdl:operation name="Operation193">
+      <wsdl:input message="tns:RequestMessage193" name="Input193"/>
+      <wsdl:output message="tns:ResponseMessage193" name="Output193"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding193" type="tns:PortType193">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation193">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation193"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service193">
+    <wsdl:port name="Port193" binding="tns:Binding193">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage194">
+    <wsdl:part name="Response" element="tns:ResponseElement194"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage194">
+    <wsdl:part name="Request" element="tns:RequestElement194"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType194">
+    <wsdl:operation name="Operation194">
+      <wsdl:input message="tns:RequestMessage194" name="Input194"/>
+      <wsdl:output message="tns:ResponseMessage194" name="Output194"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding194" type="tns:PortType194">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation194">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation194"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service194">
+    <wsdl:port name="Port194" binding="tns:Binding194">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage195">
+    <wsdl:part name="Response" element="tns:ResponseElement195"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage195">
+    <wsdl:part name="Request" element="tns:RequestElement195"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType195">
+    <wsdl:operation name="Operation195">
+      <wsdl:input message="tns:RequestMessage195" name="Input195"/>
+      <wsdl:output message="tns:ResponseMessage195" name="Output195"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding195" type="tns:PortType195">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation195">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation195"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service195">
+    <wsdl:port name="Port195" binding="tns:Binding195">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage196">
+    <wsdl:part name="Response" element="tns:ResponseElement196"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage196">
+    <wsdl:part name="Request" element="tns:RequestElement196"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType196">
+    <wsdl:operation name="Operation196">
+      <wsdl:input message="tns:RequestMessage196" name="Input196"/>
+      <wsdl:output message="tns:ResponseMessage196" name="Output196"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding196" type="tns:PortType196">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation196">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation196"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service196">
+    <wsdl:port name="Port196" binding="tns:Binding196">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage197">
+    <wsdl:part name="Response" element="tns:ResponseElement197"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage197">
+    <wsdl:part name="Request" element="tns:RequestElement197"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType197">
+    <wsdl:operation name="Operation197">
+      <wsdl:input message="tns:RequestMessage197" name="Input197"/>
+      <wsdl:output message="tns:ResponseMessage197" name="Output197"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding197" type="tns:PortType197">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation197">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation197"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service197">
+    <wsdl:port name="Port197" binding="tns:Binding197">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage198">
+    <wsdl:part name="Response" element="tns:ResponseElement198"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage198">
+    <wsdl:part name="Request" element="tns:RequestElement198"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType198">
+    <wsdl:operation name="Operation198">
+      <wsdl:input message="tns:RequestMessage198" name="Input198"/>
+      <wsdl:output message="tns:ResponseMessage198" name="Output198"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding198" type="tns:PortType198">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation198">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation198"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service198">
+    <wsdl:port name="Port198" binding="tns:Binding198">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage199">
+    <wsdl:part name="Response" element="tns:ResponseElement199"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage199">
+    <wsdl:part name="Request" element="tns:RequestElement199"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType199">
+    <wsdl:operation name="Operation199">
+      <wsdl:input message="tns:RequestMessage199" name="Input199"/>
+      <wsdl:output message="tns:ResponseMessage199" name="Output199"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding199" type="tns:PortType199">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation199">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation199"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service199">
+    <wsdl:port name="Port199" binding="tns:Binding199">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/data/500KB.wsdl b/tests/org.eclipse.wst.wsdl.tests.performance/data/500KB.wsdl
new file mode 100644
index 0000000..3eab839
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/data/500KB.wsdl
@@ -0,0 +1,15507 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Definition" targetNamespace="http://www.eclipse.org/webtools" xmlns:tns="http://www.eclipse.org/webtools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools">
+      <xsd:element name="ResponseElement0" type="xsd:string"/>
+      <xsd:element name="RequestElement0" type="xsd:string"/>
+      <xsd:element name="ResponseElement1" type="xsd:string"/>
+      <xsd:element name="RequestElement1" type="xsd:string"/>
+      <xsd:element name="ResponseElement2" type="xsd:string"/>
+      <xsd:element name="RequestElement2" type="xsd:string"/>
+      <xsd:element name="ResponseElement3" type="xsd:string"/>
+      <xsd:element name="RequestElement3" type="xsd:string"/>
+      <xsd:element name="ResponseElement4" type="xsd:string"/>
+      <xsd:element name="RequestElement4" type="xsd:string"/>
+      <xsd:element name="ResponseElement5" type="xsd:string"/>
+      <xsd:element name="RequestElement5" type="xsd:string"/>
+      <xsd:element name="ResponseElement6" type="xsd:string"/>
+      <xsd:element name="RequestElement6" type="xsd:string"/>
+      <xsd:element name="ResponseElement7" type="xsd:string"/>
+      <xsd:element name="RequestElement7" type="xsd:string"/>
+      <xsd:element name="ResponseElement8" type="xsd:string"/>
+      <xsd:element name="RequestElement8" type="xsd:string"/>
+      <xsd:element name="ResponseElement9" type="xsd:string"/>
+      <xsd:element name="RequestElement9" type="xsd:string"/>
+      <xsd:element name="ResponseElement10" type="xsd:string"/>
+      <xsd:element name="RequestElement10" type="xsd:string"/>
+      <xsd:element name="ResponseElement11" type="xsd:string"/>
+      <xsd:element name="RequestElement11" type="xsd:string"/>
+      <xsd:element name="ResponseElement12" type="xsd:string"/>
+      <xsd:element name="RequestElement12" type="xsd:string"/>
+      <xsd:element name="ResponseElement13" type="xsd:string"/>
+      <xsd:element name="RequestElement13" type="xsd:string"/>
+      <xsd:element name="ResponseElement14" type="xsd:string"/>
+      <xsd:element name="RequestElement14" type="xsd:string"/>
+      <xsd:element name="ResponseElement15" type="xsd:string"/>
+      <xsd:element name="RequestElement15" type="xsd:string"/>
+      <xsd:element name="ResponseElement16" type="xsd:string"/>
+      <xsd:element name="RequestElement16" type="xsd:string"/>
+      <xsd:element name="ResponseElement17" type="xsd:string"/>
+      <xsd:element name="RequestElement17" type="xsd:string"/>
+      <xsd:element name="ResponseElement18" type="xsd:string"/>
+      <xsd:element name="RequestElement18" type="xsd:string"/>
+      <xsd:element name="ResponseElement19" type="xsd:string"/>
+      <xsd:element name="RequestElement19" type="xsd:string"/>
+      <xsd:element name="ResponseElement20" type="xsd:string"/>
+      <xsd:element name="RequestElement20" type="xsd:string"/>
+      <xsd:element name="ResponseElement21" type="xsd:string"/>
+      <xsd:element name="RequestElement21" type="xsd:string"/>
+      <xsd:element name="ResponseElement22" type="xsd:string"/>
+      <xsd:element name="RequestElement22" type="xsd:string"/>
+      <xsd:element name="ResponseElement23" type="xsd:string"/>
+      <xsd:element name="RequestElement23" type="xsd:string"/>
+      <xsd:element name="ResponseElement24" type="xsd:string"/>
+      <xsd:element name="RequestElement24" type="xsd:string"/>
+      <xsd:element name="ResponseElement25" type="xsd:string"/>
+      <xsd:element name="RequestElement25" type="xsd:string"/>
+      <xsd:element name="ResponseElement26" type="xsd:string"/>
+      <xsd:element name="RequestElement26" type="xsd:string"/>
+      <xsd:element name="ResponseElement27" type="xsd:string"/>
+      <xsd:element name="RequestElement27" type="xsd:string"/>
+      <xsd:element name="ResponseElement28" type="xsd:string"/>
+      <xsd:element name="RequestElement28" type="xsd:string"/>
+      <xsd:element name="ResponseElement29" type="xsd:string"/>
+      <xsd:element name="RequestElement29" type="xsd:string"/>
+      <xsd:element name="ResponseElement30" type="xsd:string"/>
+      <xsd:element name="RequestElement30" type="xsd:string"/>
+      <xsd:element name="ResponseElement31" type="xsd:string"/>
+      <xsd:element name="RequestElement31" type="xsd:string"/>
+      <xsd:element name="ResponseElement32" type="xsd:string"/>
+      <xsd:element name="RequestElement32" type="xsd:string"/>
+      <xsd:element name="ResponseElement33" type="xsd:string"/>
+      <xsd:element name="RequestElement33" type="xsd:string"/>
+      <xsd:element name="ResponseElement34" type="xsd:string"/>
+      <xsd:element name="RequestElement34" type="xsd:string"/>
+      <xsd:element name="ResponseElement35" type="xsd:string"/>
+      <xsd:element name="RequestElement35" type="xsd:string"/>
+      <xsd:element name="ResponseElement36" type="xsd:string"/>
+      <xsd:element name="RequestElement36" type="xsd:string"/>
+      <xsd:element name="ResponseElement37" type="xsd:string"/>
+      <xsd:element name="RequestElement37" type="xsd:string"/>
+      <xsd:element name="ResponseElement38" type="xsd:string"/>
+      <xsd:element name="RequestElement38" type="xsd:string"/>
+      <xsd:element name="ResponseElement39" type="xsd:string"/>
+      <xsd:element name="RequestElement39" type="xsd:string"/>
+      <xsd:element name="ResponseElement40" type="xsd:string"/>
+      <xsd:element name="RequestElement40" type="xsd:string"/>
+      <xsd:element name="ResponseElement41" type="xsd:string"/>
+      <xsd:element name="RequestElement41" type="xsd:string"/>
+      <xsd:element name="ResponseElement42" type="xsd:string"/>
+      <xsd:element name="RequestElement42" type="xsd:string"/>
+      <xsd:element name="ResponseElement43" type="xsd:string"/>
+      <xsd:element name="RequestElement43" type="xsd:string"/>
+      <xsd:element name="ResponseElement44" type="xsd:string"/>
+      <xsd:element name="RequestElement44" type="xsd:string"/>
+      <xsd:element name="ResponseElement45" type="xsd:string"/>
+      <xsd:element name="RequestElement45" type="xsd:string"/>
+      <xsd:element name="ResponseElement46" type="xsd:string"/>
+      <xsd:element name="RequestElement46" type="xsd:string"/>
+      <xsd:element name="ResponseElement47" type="xsd:string"/>
+      <xsd:element name="RequestElement47" type="xsd:string"/>
+      <xsd:element name="ResponseElement48" type="xsd:string"/>
+      <xsd:element name="RequestElement48" type="xsd:string"/>
+      <xsd:element name="ResponseElement49" type="xsd:string"/>
+      <xsd:element name="RequestElement49" type="xsd:string"/>
+      <xsd:element name="ResponseElement50" type="xsd:string"/>
+      <xsd:element name="RequestElement50" type="xsd:string"/>
+      <xsd:element name="ResponseElement51" type="xsd:string"/>
+      <xsd:element name="RequestElement51" type="xsd:string"/>
+      <xsd:element name="ResponseElement52" type="xsd:string"/>
+      <xsd:element name="RequestElement52" type="xsd:string"/>
+      <xsd:element name="ResponseElement53" type="xsd:string"/>
+      <xsd:element name="RequestElement53" type="xsd:string"/>
+      <xsd:element name="ResponseElement54" type="xsd:string"/>
+      <xsd:element name="RequestElement54" type="xsd:string"/>
+      <xsd:element name="ResponseElement55" type="xsd:string"/>
+      <xsd:element name="RequestElement55" type="xsd:string"/>
+      <xsd:element name="ResponseElement56" type="xsd:string"/>
+      <xsd:element name="RequestElement56" type="xsd:string"/>
+      <xsd:element name="ResponseElement57" type="xsd:string"/>
+      <xsd:element name="RequestElement57" type="xsd:string"/>
+      <xsd:element name="ResponseElement58" type="xsd:string"/>
+      <xsd:element name="RequestElement58" type="xsd:string"/>
+      <xsd:element name="ResponseElement59" type="xsd:string"/>
+      <xsd:element name="RequestElement59" type="xsd:string"/>
+      <xsd:element name="ResponseElement60" type="xsd:string"/>
+      <xsd:element name="RequestElement60" type="xsd:string"/>
+      <xsd:element name="ResponseElement61" type="xsd:string"/>
+      <xsd:element name="RequestElement61" type="xsd:string"/>
+      <xsd:element name="ResponseElement62" type="xsd:string"/>
+      <xsd:element name="RequestElement62" type="xsd:string"/>
+      <xsd:element name="ResponseElement63" type="xsd:string"/>
+      <xsd:element name="RequestElement63" type="xsd:string"/>
+      <xsd:element name="ResponseElement64" type="xsd:string"/>
+      <xsd:element name="RequestElement64" type="xsd:string"/>
+      <xsd:element name="ResponseElement65" type="xsd:string"/>
+      <xsd:element name="RequestElement65" type="xsd:string"/>
+      <xsd:element name="ResponseElement66" type="xsd:string"/>
+      <xsd:element name="RequestElement66" type="xsd:string"/>
+      <xsd:element name="ResponseElement67" type="xsd:string"/>
+      <xsd:element name="RequestElement67" type="xsd:string"/>
+      <xsd:element name="ResponseElement68" type="xsd:string"/>
+      <xsd:element name="RequestElement68" type="xsd:string"/>
+      <xsd:element name="ResponseElement69" type="xsd:string"/>
+      <xsd:element name="RequestElement69" type="xsd:string"/>
+      <xsd:element name="ResponseElement70" type="xsd:string"/>
+      <xsd:element name="RequestElement70" type="xsd:string"/>
+      <xsd:element name="ResponseElement71" type="xsd:string"/>
+      <xsd:element name="RequestElement71" type="xsd:string"/>
+      <xsd:element name="ResponseElement72" type="xsd:string"/>
+      <xsd:element name="RequestElement72" type="xsd:string"/>
+      <xsd:element name="ResponseElement73" type="xsd:string"/>
+      <xsd:element name="RequestElement73" type="xsd:string"/>
+      <xsd:element name="ResponseElement74" type="xsd:string"/>
+      <xsd:element name="RequestElement74" type="xsd:string"/>
+      <xsd:element name="ResponseElement75" type="xsd:string"/>
+      <xsd:element name="RequestElement75" type="xsd:string"/>
+      <xsd:element name="ResponseElement76" type="xsd:string"/>
+      <xsd:element name="RequestElement76" type="xsd:string"/>
+      <xsd:element name="ResponseElement77" type="xsd:string"/>
+      <xsd:element name="RequestElement77" type="xsd:string"/>
+      <xsd:element name="ResponseElement78" type="xsd:string"/>
+      <xsd:element name="RequestElement78" type="xsd:string"/>
+      <xsd:element name="ResponseElement79" type="xsd:string"/>
+      <xsd:element name="RequestElement79" type="xsd:string"/>
+      <xsd:element name="ResponseElement80" type="xsd:string"/>
+      <xsd:element name="RequestElement80" type="xsd:string"/>
+      <xsd:element name="ResponseElement81" type="xsd:string"/>
+      <xsd:element name="RequestElement81" type="xsd:string"/>
+      <xsd:element name="ResponseElement82" type="xsd:string"/>
+      <xsd:element name="RequestElement82" type="xsd:string"/>
+      <xsd:element name="ResponseElement83" type="xsd:string"/>
+      <xsd:element name="RequestElement83" type="xsd:string"/>
+      <xsd:element name="ResponseElement84" type="xsd:string"/>
+      <xsd:element name="RequestElement84" type="xsd:string"/>
+      <xsd:element name="ResponseElement85" type="xsd:string"/>
+      <xsd:element name="RequestElement85" type="xsd:string"/>
+      <xsd:element name="ResponseElement86" type="xsd:string"/>
+      <xsd:element name="RequestElement86" type="xsd:string"/>
+      <xsd:element name="ResponseElement87" type="xsd:string"/>
+      <xsd:element name="RequestElement87" type="xsd:string"/>
+      <xsd:element name="ResponseElement88" type="xsd:string"/>
+      <xsd:element name="RequestElement88" type="xsd:string"/>
+      <xsd:element name="ResponseElement89" type="xsd:string"/>
+      <xsd:element name="RequestElement89" type="xsd:string"/>
+      <xsd:element name="ResponseElement90" type="xsd:string"/>
+      <xsd:element name="RequestElement90" type="xsd:string"/>
+      <xsd:element name="ResponseElement91" type="xsd:string"/>
+      <xsd:element name="RequestElement91" type="xsd:string"/>
+      <xsd:element name="ResponseElement92" type="xsd:string"/>
+      <xsd:element name="RequestElement92" type="xsd:string"/>
+      <xsd:element name="ResponseElement93" type="xsd:string"/>
+      <xsd:element name="RequestElement93" type="xsd:string"/>
+      <xsd:element name="ResponseElement94" type="xsd:string"/>
+      <xsd:element name="RequestElement94" type="xsd:string"/>
+      <xsd:element name="ResponseElement95" type="xsd:string"/>
+      <xsd:element name="RequestElement95" type="xsd:string"/>
+      <xsd:element name="ResponseElement96" type="xsd:string"/>
+      <xsd:element name="RequestElement96" type="xsd:string"/>
+      <xsd:element name="ResponseElement97" type="xsd:string"/>
+      <xsd:element name="RequestElement97" type="xsd:string"/>
+      <xsd:element name="ResponseElement98" type="xsd:string"/>
+      <xsd:element name="RequestElement98" type="xsd:string"/>
+      <xsd:element name="ResponseElement99" type="xsd:string"/>
+      <xsd:element name="RequestElement99" type="xsd:string"/>
+      <xsd:element name="ResponseElement100" type="xsd:string"/>
+      <xsd:element name="RequestElement100" type="xsd:string"/>
+      <xsd:element name="ResponseElement101" type="xsd:string"/>
+      <xsd:element name="RequestElement101" type="xsd:string"/>
+      <xsd:element name="ResponseElement102" type="xsd:string"/>
+      <xsd:element name="RequestElement102" type="xsd:string"/>
+      <xsd:element name="ResponseElement103" type="xsd:string"/>
+      <xsd:element name="RequestElement103" type="xsd:string"/>
+      <xsd:element name="ResponseElement104" type="xsd:string"/>
+      <xsd:element name="RequestElement104" type="xsd:string"/>
+      <xsd:element name="ResponseElement105" type="xsd:string"/>
+      <xsd:element name="RequestElement105" type="xsd:string"/>
+      <xsd:element name="ResponseElement106" type="xsd:string"/>
+      <xsd:element name="RequestElement106" type="xsd:string"/>
+      <xsd:element name="ResponseElement107" type="xsd:string"/>
+      <xsd:element name="RequestElement107" type="xsd:string"/>
+      <xsd:element name="ResponseElement108" type="xsd:string"/>
+      <xsd:element name="RequestElement108" type="xsd:string"/>
+      <xsd:element name="ResponseElement109" type="xsd:string"/>
+      <xsd:element name="RequestElement109" type="xsd:string"/>
+      <xsd:element name="ResponseElement110" type="xsd:string"/>
+      <xsd:element name="RequestElement110" type="xsd:string"/>
+      <xsd:element name="ResponseElement111" type="xsd:string"/>
+      <xsd:element name="RequestElement111" type="xsd:string"/>
+      <xsd:element name="ResponseElement112" type="xsd:string"/>
+      <xsd:element name="RequestElement112" type="xsd:string"/>
+      <xsd:element name="ResponseElement113" type="xsd:string"/>
+      <xsd:element name="RequestElement113" type="xsd:string"/>
+      <xsd:element name="ResponseElement114" type="xsd:string"/>
+      <xsd:element name="RequestElement114" type="xsd:string"/>
+      <xsd:element name="ResponseElement115" type="xsd:string"/>
+      <xsd:element name="RequestElement115" type="xsd:string"/>
+      <xsd:element name="ResponseElement116" type="xsd:string"/>
+      <xsd:element name="RequestElement116" type="xsd:string"/>
+      <xsd:element name="ResponseElement117" type="xsd:string"/>
+      <xsd:element name="RequestElement117" type="xsd:string"/>
+      <xsd:element name="ResponseElement118" type="xsd:string"/>
+      <xsd:element name="RequestElement118" type="xsd:string"/>
+      <xsd:element name="ResponseElement119" type="xsd:string"/>
+      <xsd:element name="RequestElement119" type="xsd:string"/>
+      <xsd:element name="ResponseElement120" type="xsd:string"/>
+      <xsd:element name="RequestElement120" type="xsd:string"/>
+      <xsd:element name="ResponseElement121" type="xsd:string"/>
+      <xsd:element name="RequestElement121" type="xsd:string"/>
+      <xsd:element name="ResponseElement122" type="xsd:string"/>
+      <xsd:element name="RequestElement122" type="xsd:string"/>
+      <xsd:element name="ResponseElement123" type="xsd:string"/>
+      <xsd:element name="RequestElement123" type="xsd:string"/>
+      <xsd:element name="ResponseElement124" type="xsd:string"/>
+      <xsd:element name="RequestElement124" type="xsd:string"/>
+      <xsd:element name="ResponseElement125" type="xsd:string"/>
+      <xsd:element name="RequestElement125" type="xsd:string"/>
+      <xsd:element name="ResponseElement126" type="xsd:string"/>
+      <xsd:element name="RequestElement126" type="xsd:string"/>
+      <xsd:element name="ResponseElement127" type="xsd:string"/>
+      <xsd:element name="RequestElement127" type="xsd:string"/>
+      <xsd:element name="ResponseElement128" type="xsd:string"/>
+      <xsd:element name="RequestElement128" type="xsd:string"/>
+      <xsd:element name="ResponseElement129" type="xsd:string"/>
+      <xsd:element name="RequestElement129" type="xsd:string"/>
+      <xsd:element name="ResponseElement130" type="xsd:string"/>
+      <xsd:element name="RequestElement130" type="xsd:string"/>
+      <xsd:element name="ResponseElement131" type="xsd:string"/>
+      <xsd:element name="RequestElement131" type="xsd:string"/>
+      <xsd:element name="ResponseElement132" type="xsd:string"/>
+      <xsd:element name="RequestElement132" type="xsd:string"/>
+      <xsd:element name="ResponseElement133" type="xsd:string"/>
+      <xsd:element name="RequestElement133" type="xsd:string"/>
+      <xsd:element name="ResponseElement134" type="xsd:string"/>
+      <xsd:element name="RequestElement134" type="xsd:string"/>
+      <xsd:element name="ResponseElement135" type="xsd:string"/>
+      <xsd:element name="RequestElement135" type="xsd:string"/>
+      <xsd:element name="ResponseElement136" type="xsd:string"/>
+      <xsd:element name="RequestElement136" type="xsd:string"/>
+      <xsd:element name="ResponseElement137" type="xsd:string"/>
+      <xsd:element name="RequestElement137" type="xsd:string"/>
+      <xsd:element name="ResponseElement138" type="xsd:string"/>
+      <xsd:element name="RequestElement138" type="xsd:string"/>
+      <xsd:element name="ResponseElement139" type="xsd:string"/>
+      <xsd:element name="RequestElement139" type="xsd:string"/>
+      <xsd:element name="ResponseElement140" type="xsd:string"/>
+      <xsd:element name="RequestElement140" type="xsd:string"/>
+      <xsd:element name="ResponseElement141" type="xsd:string"/>
+      <xsd:element name="RequestElement141" type="xsd:string"/>
+      <xsd:element name="ResponseElement142" type="xsd:string"/>
+      <xsd:element name="RequestElement142" type="xsd:string"/>
+      <xsd:element name="ResponseElement143" type="xsd:string"/>
+      <xsd:element name="RequestElement143" type="xsd:string"/>
+      <xsd:element name="ResponseElement144" type="xsd:string"/>
+      <xsd:element name="RequestElement144" type="xsd:string"/>
+      <xsd:element name="ResponseElement145" type="xsd:string"/>
+      <xsd:element name="RequestElement145" type="xsd:string"/>
+      <xsd:element name="ResponseElement146" type="xsd:string"/>
+      <xsd:element name="RequestElement146" type="xsd:string"/>
+      <xsd:element name="ResponseElement147" type="xsd:string"/>
+      <xsd:element name="RequestElement147" type="xsd:string"/>
+      <xsd:element name="ResponseElement148" type="xsd:string"/>
+      <xsd:element name="RequestElement148" type="xsd:string"/>
+      <xsd:element name="ResponseElement149" type="xsd:string"/>
+      <xsd:element name="RequestElement149" type="xsd:string"/>
+      <xsd:element name="ResponseElement150" type="xsd:string"/>
+      <xsd:element name="RequestElement150" type="xsd:string"/>
+      <xsd:element name="ResponseElement151" type="xsd:string"/>
+      <xsd:element name="RequestElement151" type="xsd:string"/>
+      <xsd:element name="ResponseElement152" type="xsd:string"/>
+      <xsd:element name="RequestElement152" type="xsd:string"/>
+      <xsd:element name="ResponseElement153" type="xsd:string"/>
+      <xsd:element name="RequestElement153" type="xsd:string"/>
+      <xsd:element name="ResponseElement154" type="xsd:string"/>
+      <xsd:element name="RequestElement154" type="xsd:string"/>
+      <xsd:element name="ResponseElement155" type="xsd:string"/>
+      <xsd:element name="RequestElement155" type="xsd:string"/>
+      <xsd:element name="ResponseElement156" type="xsd:string"/>
+      <xsd:element name="RequestElement156" type="xsd:string"/>
+      <xsd:element name="ResponseElement157" type="xsd:string"/>
+      <xsd:element name="RequestElement157" type="xsd:string"/>
+      <xsd:element name="ResponseElement158" type="xsd:string"/>
+      <xsd:element name="RequestElement158" type="xsd:string"/>
+      <xsd:element name="ResponseElement159" type="xsd:string"/>
+      <xsd:element name="RequestElement159" type="xsd:string"/>
+      <xsd:element name="ResponseElement160" type="xsd:string"/>
+      <xsd:element name="RequestElement160" type="xsd:string"/>
+      <xsd:element name="ResponseElement161" type="xsd:string"/>
+      <xsd:element name="RequestElement161" type="xsd:string"/>
+      <xsd:element name="ResponseElement162" type="xsd:string"/>
+      <xsd:element name="RequestElement162" type="xsd:string"/>
+      <xsd:element name="ResponseElement163" type="xsd:string"/>
+      <xsd:element name="RequestElement163" type="xsd:string"/>
+      <xsd:element name="ResponseElement164" type="xsd:string"/>
+      <xsd:element name="RequestElement164" type="xsd:string"/>
+      <xsd:element name="ResponseElement165" type="xsd:string"/>
+      <xsd:element name="RequestElement165" type="xsd:string"/>
+      <xsd:element name="ResponseElement166" type="xsd:string"/>
+      <xsd:element name="RequestElement166" type="xsd:string"/>
+      <xsd:element name="ResponseElement167" type="xsd:string"/>
+      <xsd:element name="RequestElement167" type="xsd:string"/>
+      <xsd:element name="ResponseElement168" type="xsd:string"/>
+      <xsd:element name="RequestElement168" type="xsd:string"/>
+      <xsd:element name="ResponseElement169" type="xsd:string"/>
+      <xsd:element name="RequestElement169" type="xsd:string"/>
+      <xsd:element name="ResponseElement170" type="xsd:string"/>
+      <xsd:element name="RequestElement170" type="xsd:string"/>
+      <xsd:element name="ResponseElement171" type="xsd:string"/>
+      <xsd:element name="RequestElement171" type="xsd:string"/>
+      <xsd:element name="ResponseElement172" type="xsd:string"/>
+      <xsd:element name="RequestElement172" type="xsd:string"/>
+      <xsd:element name="ResponseElement173" type="xsd:string"/>
+      <xsd:element name="RequestElement173" type="xsd:string"/>
+      <xsd:element name="ResponseElement174" type="xsd:string"/>
+      <xsd:element name="RequestElement174" type="xsd:string"/>
+      <xsd:element name="ResponseElement175" type="xsd:string"/>
+      <xsd:element name="RequestElement175" type="xsd:string"/>
+      <xsd:element name="ResponseElement176" type="xsd:string"/>
+      <xsd:element name="RequestElement176" type="xsd:string"/>
+      <xsd:element name="ResponseElement177" type="xsd:string"/>
+      <xsd:element name="RequestElement177" type="xsd:string"/>
+      <xsd:element name="ResponseElement178" type="xsd:string"/>
+      <xsd:element name="RequestElement178" type="xsd:string"/>
+      <xsd:element name="ResponseElement179" type="xsd:string"/>
+      <xsd:element name="RequestElement179" type="xsd:string"/>
+      <xsd:element name="ResponseElement180" type="xsd:string"/>
+      <xsd:element name="RequestElement180" type="xsd:string"/>
+      <xsd:element name="ResponseElement181" type="xsd:string"/>
+      <xsd:element name="RequestElement181" type="xsd:string"/>
+      <xsd:element name="ResponseElement182" type="xsd:string"/>
+      <xsd:element name="RequestElement182" type="xsd:string"/>
+      <xsd:element name="ResponseElement183" type="xsd:string"/>
+      <xsd:element name="RequestElement183" type="xsd:string"/>
+      <xsd:element name="ResponseElement184" type="xsd:string"/>
+      <xsd:element name="RequestElement184" type="xsd:string"/>
+      <xsd:element name="ResponseElement185" type="xsd:string"/>
+      <xsd:element name="RequestElement185" type="xsd:string"/>
+      <xsd:element name="ResponseElement186" type="xsd:string"/>
+      <xsd:element name="RequestElement186" type="xsd:string"/>
+      <xsd:element name="ResponseElement187" type="xsd:string"/>
+      <xsd:element name="RequestElement187" type="xsd:string"/>
+      <xsd:element name="ResponseElement188" type="xsd:string"/>
+      <xsd:element name="RequestElement188" type="xsd:string"/>
+      <xsd:element name="ResponseElement189" type="xsd:string"/>
+      <xsd:element name="RequestElement189" type="xsd:string"/>
+      <xsd:element name="ResponseElement190" type="xsd:string"/>
+      <xsd:element name="RequestElement190" type="xsd:string"/>
+      <xsd:element name="ResponseElement191" type="xsd:string"/>
+      <xsd:element name="RequestElement191" type="xsd:string"/>
+      <xsd:element name="ResponseElement192" type="xsd:string"/>
+      <xsd:element name="RequestElement192" type="xsd:string"/>
+      <xsd:element name="ResponseElement193" type="xsd:string"/>
+      <xsd:element name="RequestElement193" type="xsd:string"/>
+      <xsd:element name="ResponseElement194" type="xsd:string"/>
+      <xsd:element name="RequestElement194" type="xsd:string"/>
+      <xsd:element name="ResponseElement195" type="xsd:string"/>
+      <xsd:element name="RequestElement195" type="xsd:string"/>
+      <xsd:element name="ResponseElement196" type="xsd:string"/>
+      <xsd:element name="RequestElement196" type="xsd:string"/>
+      <xsd:element name="ResponseElement197" type="xsd:string"/>
+      <xsd:element name="RequestElement197" type="xsd:string"/>
+      <xsd:element name="ResponseElement198" type="xsd:string"/>
+      <xsd:element name="RequestElement198" type="xsd:string"/>
+      <xsd:element name="ResponseElement199" type="xsd:string"/>
+      <xsd:element name="RequestElement199" type="xsd:string"/>
+      <xsd:element name="ResponseElement200" type="xsd:string"/>
+      <xsd:element name="RequestElement200" type="xsd:string"/>
+      <xsd:element name="ResponseElement201" type="xsd:string"/>
+      <xsd:element name="RequestElement201" type="xsd:string"/>
+      <xsd:element name="ResponseElement202" type="xsd:string"/>
+      <xsd:element name="RequestElement202" type="xsd:string"/>
+      <xsd:element name="ResponseElement203" type="xsd:string"/>
+      <xsd:element name="RequestElement203" type="xsd:string"/>
+      <xsd:element name="ResponseElement204" type="xsd:string"/>
+      <xsd:element name="RequestElement204" type="xsd:string"/>
+      <xsd:element name="ResponseElement205" type="xsd:string"/>
+      <xsd:element name="RequestElement205" type="xsd:string"/>
+      <xsd:element name="ResponseElement206" type="xsd:string"/>
+      <xsd:element name="RequestElement206" type="xsd:string"/>
+      <xsd:element name="ResponseElement207" type="xsd:string"/>
+      <xsd:element name="RequestElement207" type="xsd:string"/>
+      <xsd:element name="ResponseElement208" type="xsd:string"/>
+      <xsd:element name="RequestElement208" type="xsd:string"/>
+      <xsd:element name="ResponseElement209" type="xsd:string"/>
+      <xsd:element name="RequestElement209" type="xsd:string"/>
+      <xsd:element name="ResponseElement210" type="xsd:string"/>
+      <xsd:element name="RequestElement210" type="xsd:string"/>
+      <xsd:element name="ResponseElement211" type="xsd:string"/>
+      <xsd:element name="RequestElement211" type="xsd:string"/>
+      <xsd:element name="ResponseElement212" type="xsd:string"/>
+      <xsd:element name="RequestElement212" type="xsd:string"/>
+      <xsd:element name="ResponseElement213" type="xsd:string"/>
+      <xsd:element name="RequestElement213" type="xsd:string"/>
+      <xsd:element name="ResponseElement214" type="xsd:string"/>
+      <xsd:element name="RequestElement214" type="xsd:string"/>
+      <xsd:element name="ResponseElement215" type="xsd:string"/>
+      <xsd:element name="RequestElement215" type="xsd:string"/>
+      <xsd:element name="ResponseElement216" type="xsd:string"/>
+      <xsd:element name="RequestElement216" type="xsd:string"/>
+      <xsd:element name="ResponseElement217" type="xsd:string"/>
+      <xsd:element name="RequestElement217" type="xsd:string"/>
+      <xsd:element name="ResponseElement218" type="xsd:string"/>
+      <xsd:element name="RequestElement218" type="xsd:string"/>
+      <xsd:element name="ResponseElement219" type="xsd:string"/>
+      <xsd:element name="RequestElement219" type="xsd:string"/>
+      <xsd:element name="ResponseElement220" type="xsd:string"/>
+      <xsd:element name="RequestElement220" type="xsd:string"/>
+      <xsd:element name="ResponseElement221" type="xsd:string"/>
+      <xsd:element name="RequestElement221" type="xsd:string"/>
+      <xsd:element name="ResponseElement222" type="xsd:string"/>
+      <xsd:element name="RequestElement222" type="xsd:string"/>
+      <xsd:element name="ResponseElement223" type="xsd:string"/>
+      <xsd:element name="RequestElement223" type="xsd:string"/>
+      <xsd:element name="ResponseElement224" type="xsd:string"/>
+      <xsd:element name="RequestElement224" type="xsd:string"/>
+      <xsd:element name="ResponseElement225" type="xsd:string"/>
+      <xsd:element name="RequestElement225" type="xsd:string"/>
+      <xsd:element name="ResponseElement226" type="xsd:string"/>
+      <xsd:element name="RequestElement226" type="xsd:string"/>
+      <xsd:element name="ResponseElement227" type="xsd:string"/>
+      <xsd:element name="RequestElement227" type="xsd:string"/>
+      <xsd:element name="ResponseElement228" type="xsd:string"/>
+      <xsd:element name="RequestElement228" type="xsd:string"/>
+      <xsd:element name="ResponseElement229" type="xsd:string"/>
+      <xsd:element name="RequestElement229" type="xsd:string"/>
+      <xsd:element name="ResponseElement230" type="xsd:string"/>
+      <xsd:element name="RequestElement230" type="xsd:string"/>
+      <xsd:element name="ResponseElement231" type="xsd:string"/>
+      <xsd:element name="RequestElement231" type="xsd:string"/>
+      <xsd:element name="ResponseElement232" type="xsd:string"/>
+      <xsd:element name="RequestElement232" type="xsd:string"/>
+      <xsd:element name="ResponseElement233" type="xsd:string"/>
+      <xsd:element name="RequestElement233" type="xsd:string"/>
+      <xsd:element name="ResponseElement234" type="xsd:string"/>
+      <xsd:element name="RequestElement234" type="xsd:string"/>
+      <xsd:element name="ResponseElement235" type="xsd:string"/>
+      <xsd:element name="RequestElement235" type="xsd:string"/>
+      <xsd:element name="ResponseElement236" type="xsd:string"/>
+      <xsd:element name="RequestElement236" type="xsd:string"/>
+      <xsd:element name="ResponseElement237" type="xsd:string"/>
+      <xsd:element name="RequestElement237" type="xsd:string"/>
+      <xsd:element name="ResponseElement238" type="xsd:string"/>
+      <xsd:element name="RequestElement238" type="xsd:string"/>
+      <xsd:element name="ResponseElement239" type="xsd:string"/>
+      <xsd:element name="RequestElement239" type="xsd:string"/>
+      <xsd:element name="ResponseElement240" type="xsd:string"/>
+      <xsd:element name="RequestElement240" type="xsd:string"/>
+      <xsd:element name="ResponseElement241" type="xsd:string"/>
+      <xsd:element name="RequestElement241" type="xsd:string"/>
+      <xsd:element name="ResponseElement242" type="xsd:string"/>
+      <xsd:element name="RequestElement242" type="xsd:string"/>
+      <xsd:element name="ResponseElement243" type="xsd:string"/>
+      <xsd:element name="RequestElement243" type="xsd:string"/>
+      <xsd:element name="ResponseElement244" type="xsd:string"/>
+      <xsd:element name="RequestElement244" type="xsd:string"/>
+      <xsd:element name="ResponseElement245" type="xsd:string"/>
+      <xsd:element name="RequestElement245" type="xsd:string"/>
+      <xsd:element name="ResponseElement246" type="xsd:string"/>
+      <xsd:element name="RequestElement246" type="xsd:string"/>
+      <xsd:element name="ResponseElement247" type="xsd:string"/>
+      <xsd:element name="RequestElement247" type="xsd:string"/>
+      <xsd:element name="ResponseElement248" type="xsd:string"/>
+      <xsd:element name="RequestElement248" type="xsd:string"/>
+      <xsd:element name="ResponseElement249" type="xsd:string"/>
+      <xsd:element name="RequestElement249" type="xsd:string"/>
+      <xsd:element name="ResponseElement250" type="xsd:string"/>
+      <xsd:element name="RequestElement250" type="xsd:string"/>
+      <xsd:element name="ResponseElement251" type="xsd:string"/>
+      <xsd:element name="RequestElement251" type="xsd:string"/>
+      <xsd:element name="ResponseElement252" type="xsd:string"/>
+      <xsd:element name="RequestElement252" type="xsd:string"/>
+      <xsd:element name="ResponseElement253" type="xsd:string"/>
+      <xsd:element name="RequestElement253" type="xsd:string"/>
+      <xsd:element name="ResponseElement254" type="xsd:string"/>
+      <xsd:element name="RequestElement254" type="xsd:string"/>
+      <xsd:element name="ResponseElement255" type="xsd:string"/>
+      <xsd:element name="RequestElement255" type="xsd:string"/>
+      <xsd:element name="ResponseElement256" type="xsd:string"/>
+      <xsd:element name="RequestElement256" type="xsd:string"/>
+      <xsd:element name="ResponseElement257" type="xsd:string"/>
+      <xsd:element name="RequestElement257" type="xsd:string"/>
+      <xsd:element name="ResponseElement258" type="xsd:string"/>
+      <xsd:element name="RequestElement258" type="xsd:string"/>
+      <xsd:element name="ResponseElement259" type="xsd:string"/>
+      <xsd:element name="RequestElement259" type="xsd:string"/>
+      <xsd:element name="ResponseElement260" type="xsd:string"/>
+      <xsd:element name="RequestElement260" type="xsd:string"/>
+      <xsd:element name="ResponseElement261" type="xsd:string"/>
+      <xsd:element name="RequestElement261" type="xsd:string"/>
+      <xsd:element name="ResponseElement262" type="xsd:string"/>
+      <xsd:element name="RequestElement262" type="xsd:string"/>
+      <xsd:element name="ResponseElement263" type="xsd:string"/>
+      <xsd:element name="RequestElement263" type="xsd:string"/>
+      <xsd:element name="ResponseElement264" type="xsd:string"/>
+      <xsd:element name="RequestElement264" type="xsd:string"/>
+      <xsd:element name="ResponseElement265" type="xsd:string"/>
+      <xsd:element name="RequestElement265" type="xsd:string"/>
+      <xsd:element name="ResponseElement266" type="xsd:string"/>
+      <xsd:element name="RequestElement266" type="xsd:string"/>
+      <xsd:element name="ResponseElement267" type="xsd:string"/>
+      <xsd:element name="RequestElement267" type="xsd:string"/>
+      <xsd:element name="ResponseElement268" type="xsd:string"/>
+      <xsd:element name="RequestElement268" type="xsd:string"/>
+      <xsd:element name="ResponseElement269" type="xsd:string"/>
+      <xsd:element name="RequestElement269" type="xsd:string"/>
+      <xsd:element name="ResponseElement270" type="xsd:string"/>
+      <xsd:element name="RequestElement270" type="xsd:string"/>
+      <xsd:element name="ResponseElement271" type="xsd:string"/>
+      <xsd:element name="RequestElement271" type="xsd:string"/>
+      <xsd:element name="ResponseElement272" type="xsd:string"/>
+      <xsd:element name="RequestElement272" type="xsd:string"/>
+      <xsd:element name="ResponseElement273" type="xsd:string"/>
+      <xsd:element name="RequestElement273" type="xsd:string"/>
+      <xsd:element name="ResponseElement274" type="xsd:string"/>
+      <xsd:element name="RequestElement274" type="xsd:string"/>
+      <xsd:element name="ResponseElement275" type="xsd:string"/>
+      <xsd:element name="RequestElement275" type="xsd:string"/>
+      <xsd:element name="ResponseElement276" type="xsd:string"/>
+      <xsd:element name="RequestElement276" type="xsd:string"/>
+      <xsd:element name="ResponseElement277" type="xsd:string"/>
+      <xsd:element name="RequestElement277" type="xsd:string"/>
+      <xsd:element name="ResponseElement278" type="xsd:string"/>
+      <xsd:element name="RequestElement278" type="xsd:string"/>
+      <xsd:element name="ResponseElement279" type="xsd:string"/>
+      <xsd:element name="RequestElement279" type="xsd:string"/>
+      <xsd:element name="ResponseElement280" type="xsd:string"/>
+      <xsd:element name="RequestElement280" type="xsd:string"/>
+      <xsd:element name="ResponseElement281" type="xsd:string"/>
+      <xsd:element name="RequestElement281" type="xsd:string"/>
+      <xsd:element name="ResponseElement282" type="xsd:string"/>
+      <xsd:element name="RequestElement282" type="xsd:string"/>
+      <xsd:element name="ResponseElement283" type="xsd:string"/>
+      <xsd:element name="RequestElement283" type="xsd:string"/>
+      <xsd:element name="ResponseElement284" type="xsd:string"/>
+      <xsd:element name="RequestElement284" type="xsd:string"/>
+      <xsd:element name="ResponseElement285" type="xsd:string"/>
+      <xsd:element name="RequestElement285" type="xsd:string"/>
+      <xsd:element name="ResponseElement286" type="xsd:string"/>
+      <xsd:element name="RequestElement286" type="xsd:string"/>
+      <xsd:element name="ResponseElement287" type="xsd:string"/>
+      <xsd:element name="RequestElement287" type="xsd:string"/>
+      <xsd:element name="ResponseElement288" type="xsd:string"/>
+      <xsd:element name="RequestElement288" type="xsd:string"/>
+      <xsd:element name="ResponseElement289" type="xsd:string"/>
+      <xsd:element name="RequestElement289" type="xsd:string"/>
+      <xsd:element name="ResponseElement290" type="xsd:string"/>
+      <xsd:element name="RequestElement290" type="xsd:string"/>
+      <xsd:element name="ResponseElement291" type="xsd:string"/>
+      <xsd:element name="RequestElement291" type="xsd:string"/>
+      <xsd:element name="ResponseElement292" type="xsd:string"/>
+      <xsd:element name="RequestElement292" type="xsd:string"/>
+      <xsd:element name="ResponseElement293" type="xsd:string"/>
+      <xsd:element name="RequestElement293" type="xsd:string"/>
+      <xsd:element name="ResponseElement294" type="xsd:string"/>
+      <xsd:element name="RequestElement294" type="xsd:string"/>
+      <xsd:element name="ResponseElement295" type="xsd:string"/>
+      <xsd:element name="RequestElement295" type="xsd:string"/>
+      <xsd:element name="ResponseElement296" type="xsd:string"/>
+      <xsd:element name="RequestElement296" type="xsd:string"/>
+      <xsd:element name="ResponseElement297" type="xsd:string"/>
+      <xsd:element name="RequestElement297" type="xsd:string"/>
+      <xsd:element name="ResponseElement298" type="xsd:string"/>
+      <xsd:element name="RequestElement298" type="xsd:string"/>
+      <xsd:element name="ResponseElement299" type="xsd:string"/>
+      <xsd:element name="RequestElement299" type="xsd:string"/>
+      <xsd:element name="ResponseElement300" type="xsd:string"/>
+      <xsd:element name="RequestElement300" type="xsd:string"/>
+      <xsd:element name="ResponseElement301" type="xsd:string"/>
+      <xsd:element name="RequestElement301" type="xsd:string"/>
+      <xsd:element name="ResponseElement302" type="xsd:string"/>
+      <xsd:element name="RequestElement302" type="xsd:string"/>
+      <xsd:element name="ResponseElement303" type="xsd:string"/>
+      <xsd:element name="RequestElement303" type="xsd:string"/>
+      <xsd:element name="ResponseElement304" type="xsd:string"/>
+      <xsd:element name="RequestElement304" type="xsd:string"/>
+      <xsd:element name="ResponseElement305" type="xsd:string"/>
+      <xsd:element name="RequestElement305" type="xsd:string"/>
+      <xsd:element name="ResponseElement306" type="xsd:string"/>
+      <xsd:element name="RequestElement306" type="xsd:string"/>
+      <xsd:element name="ResponseElement307" type="xsd:string"/>
+      <xsd:element name="RequestElement307" type="xsd:string"/>
+      <xsd:element name="ResponseElement308" type="xsd:string"/>
+      <xsd:element name="RequestElement308" type="xsd:string"/>
+      <xsd:element name="ResponseElement309" type="xsd:string"/>
+      <xsd:element name="RequestElement309" type="xsd:string"/>
+      <xsd:element name="ResponseElement310" type="xsd:string"/>
+      <xsd:element name="RequestElement310" type="xsd:string"/>
+      <xsd:element name="ResponseElement311" type="xsd:string"/>
+      <xsd:element name="RequestElement311" type="xsd:string"/>
+      <xsd:element name="ResponseElement312" type="xsd:string"/>
+      <xsd:element name="RequestElement312" type="xsd:string"/>
+      <xsd:element name="ResponseElement313" type="xsd:string"/>
+      <xsd:element name="RequestElement313" type="xsd:string"/>
+      <xsd:element name="ResponseElement314" type="xsd:string"/>
+      <xsd:element name="RequestElement314" type="xsd:string"/>
+      <xsd:element name="ResponseElement315" type="xsd:string"/>
+      <xsd:element name="RequestElement315" type="xsd:string"/>
+      <xsd:element name="ResponseElement316" type="xsd:string"/>
+      <xsd:element name="RequestElement316" type="xsd:string"/>
+      <xsd:element name="ResponseElement317" type="xsd:string"/>
+      <xsd:element name="RequestElement317" type="xsd:string"/>
+      <xsd:element name="ResponseElement318" type="xsd:string"/>
+      <xsd:element name="RequestElement318" type="xsd:string"/>
+      <xsd:element name="ResponseElement319" type="xsd:string"/>
+      <xsd:element name="RequestElement319" type="xsd:string"/>
+      <xsd:element name="ResponseElement320" type="xsd:string"/>
+      <xsd:element name="RequestElement320" type="xsd:string"/>
+      <xsd:element name="ResponseElement321" type="xsd:string"/>
+      <xsd:element name="RequestElement321" type="xsd:string"/>
+      <xsd:element name="ResponseElement322" type="xsd:string"/>
+      <xsd:element name="RequestElement322" type="xsd:string"/>
+      <xsd:element name="ResponseElement323" type="xsd:string"/>
+      <xsd:element name="RequestElement323" type="xsd:string"/>
+      <xsd:element name="ResponseElement324" type="xsd:string"/>
+      <xsd:element name="RequestElement324" type="xsd:string"/>
+      <xsd:element name="ResponseElement325" type="xsd:string"/>
+      <xsd:element name="RequestElement325" type="xsd:string"/>
+      <xsd:element name="ResponseElement326" type="xsd:string"/>
+      <xsd:element name="RequestElement326" type="xsd:string"/>
+      <xsd:element name="ResponseElement327" type="xsd:string"/>
+      <xsd:element name="RequestElement327" type="xsd:string"/>
+      <xsd:element name="ResponseElement328" type="xsd:string"/>
+      <xsd:element name="RequestElement328" type="xsd:string"/>
+      <xsd:element name="ResponseElement329" type="xsd:string"/>
+      <xsd:element name="RequestElement329" type="xsd:string"/>
+      <xsd:element name="ResponseElement330" type="xsd:string"/>
+      <xsd:element name="RequestElement330" type="xsd:string"/>
+      <xsd:element name="ResponseElement331" type="xsd:string"/>
+      <xsd:element name="RequestElement331" type="xsd:string"/>
+      <xsd:element name="ResponseElement332" type="xsd:string"/>
+      <xsd:element name="RequestElement332" type="xsd:string"/>
+      <xsd:element name="ResponseElement333" type="xsd:string"/>
+      <xsd:element name="RequestElement333" type="xsd:string"/>
+      <xsd:element name="ResponseElement334" type="xsd:string"/>
+      <xsd:element name="RequestElement334" type="xsd:string"/>
+      <xsd:element name="ResponseElement335" type="xsd:string"/>
+      <xsd:element name="RequestElement335" type="xsd:string"/>
+      <xsd:element name="ResponseElement336" type="xsd:string"/>
+      <xsd:element name="RequestElement336" type="xsd:string"/>
+      <xsd:element name="ResponseElement337" type="xsd:string"/>
+      <xsd:element name="RequestElement337" type="xsd:string"/>
+      <xsd:element name="ResponseElement338" type="xsd:string"/>
+      <xsd:element name="RequestElement338" type="xsd:string"/>
+      <xsd:element name="ResponseElement339" type="xsd:string"/>
+      <xsd:element name="RequestElement339" type="xsd:string"/>
+      <xsd:element name="ResponseElement340" type="xsd:string"/>
+      <xsd:element name="RequestElement340" type="xsd:string"/>
+      <xsd:element name="ResponseElement341" type="xsd:string"/>
+      <xsd:element name="RequestElement341" type="xsd:string"/>
+      <xsd:element name="ResponseElement342" type="xsd:string"/>
+      <xsd:element name="RequestElement342" type="xsd:string"/>
+      <xsd:element name="ResponseElement343" type="xsd:string"/>
+      <xsd:element name="RequestElement343" type="xsd:string"/>
+      <xsd:element name="ResponseElement344" type="xsd:string"/>
+      <xsd:element name="RequestElement344" type="xsd:string"/>
+      <xsd:element name="ResponseElement345" type="xsd:string"/>
+      <xsd:element name="RequestElement345" type="xsd:string"/>
+      <xsd:element name="ResponseElement346" type="xsd:string"/>
+      <xsd:element name="RequestElement346" type="xsd:string"/>
+      <xsd:element name="ResponseElement347" type="xsd:string"/>
+      <xsd:element name="RequestElement347" type="xsd:string"/>
+      <xsd:element name="ResponseElement348" type="xsd:string"/>
+      <xsd:element name="RequestElement348" type="xsd:string"/>
+      <xsd:element name="ResponseElement349" type="xsd:string"/>
+      <xsd:element name="RequestElement349" type="xsd:string"/>
+      <xsd:element name="ResponseElement350" type="xsd:string"/>
+      <xsd:element name="RequestElement350" type="xsd:string"/>
+      <xsd:element name="ResponseElement351" type="xsd:string"/>
+      <xsd:element name="RequestElement351" type="xsd:string"/>
+      <xsd:element name="ResponseElement352" type="xsd:string"/>
+      <xsd:element name="RequestElement352" type="xsd:string"/>
+      <xsd:element name="ResponseElement353" type="xsd:string"/>
+      <xsd:element name="RequestElement353" type="xsd:string"/>
+      <xsd:element name="ResponseElement354" type="xsd:string"/>
+      <xsd:element name="RequestElement354" type="xsd:string"/>
+      <xsd:element name="ResponseElement355" type="xsd:string"/>
+      <xsd:element name="RequestElement355" type="xsd:string"/>
+      <xsd:element name="ResponseElement356" type="xsd:string"/>
+      <xsd:element name="RequestElement356" type="xsd:string"/>
+      <xsd:element name="ResponseElement357" type="xsd:string"/>
+      <xsd:element name="RequestElement357" type="xsd:string"/>
+      <xsd:element name="ResponseElement358" type="xsd:string"/>
+      <xsd:element name="RequestElement358" type="xsd:string"/>
+      <xsd:element name="ResponseElement359" type="xsd:string"/>
+      <xsd:element name="RequestElement359" type="xsd:string"/>
+      <xsd:element name="ResponseElement360" type="xsd:string"/>
+      <xsd:element name="RequestElement360" type="xsd:string"/>
+      <xsd:element name="ResponseElement361" type="xsd:string"/>
+      <xsd:element name="RequestElement361" type="xsd:string"/>
+      <xsd:element name="ResponseElement362" type="xsd:string"/>
+      <xsd:element name="RequestElement362" type="xsd:string"/>
+      <xsd:element name="ResponseElement363" type="xsd:string"/>
+      <xsd:element name="RequestElement363" type="xsd:string"/>
+      <xsd:element name="ResponseElement364" type="xsd:string"/>
+      <xsd:element name="RequestElement364" type="xsd:string"/>
+      <xsd:element name="ResponseElement365" type="xsd:string"/>
+      <xsd:element name="RequestElement365" type="xsd:string"/>
+      <xsd:element name="ResponseElement366" type="xsd:string"/>
+      <xsd:element name="RequestElement366" type="xsd:string"/>
+      <xsd:element name="ResponseElement367" type="xsd:string"/>
+      <xsd:element name="RequestElement367" type="xsd:string"/>
+      <xsd:element name="ResponseElement368" type="xsd:string"/>
+      <xsd:element name="RequestElement368" type="xsd:string"/>
+      <xsd:element name="ResponseElement369" type="xsd:string"/>
+      <xsd:element name="RequestElement369" type="xsd:string"/>
+      <xsd:element name="ResponseElement370" type="xsd:string"/>
+      <xsd:element name="RequestElement370" type="xsd:string"/>
+      <xsd:element name="ResponseElement371" type="xsd:string"/>
+      <xsd:element name="RequestElement371" type="xsd:string"/>
+      <xsd:element name="ResponseElement372" type="xsd:string"/>
+      <xsd:element name="RequestElement372" type="xsd:string"/>
+      <xsd:element name="ResponseElement373" type="xsd:string"/>
+      <xsd:element name="RequestElement373" type="xsd:string"/>
+      <xsd:element name="ResponseElement374" type="xsd:string"/>
+      <xsd:element name="RequestElement374" type="xsd:string"/>
+      <xsd:element name="ResponseElement375" type="xsd:string"/>
+      <xsd:element name="RequestElement375" type="xsd:string"/>
+      <xsd:element name="ResponseElement376" type="xsd:string"/>
+      <xsd:element name="RequestElement376" type="xsd:string"/>
+      <xsd:element name="ResponseElement377" type="xsd:string"/>
+      <xsd:element name="RequestElement377" type="xsd:string"/>
+      <xsd:element name="ResponseElement378" type="xsd:string"/>
+      <xsd:element name="RequestElement378" type="xsd:string"/>
+      <xsd:element name="ResponseElement379" type="xsd:string"/>
+      <xsd:element name="RequestElement379" type="xsd:string"/>
+      <xsd:element name="ResponseElement380" type="xsd:string"/>
+      <xsd:element name="RequestElement380" type="xsd:string"/>
+      <xsd:element name="ResponseElement381" type="xsd:string"/>
+      <xsd:element name="RequestElement381" type="xsd:string"/>
+      <xsd:element name="ResponseElement382" type="xsd:string"/>
+      <xsd:element name="RequestElement382" type="xsd:string"/>
+      <xsd:element name="ResponseElement383" type="xsd:string"/>
+      <xsd:element name="RequestElement383" type="xsd:string"/>
+      <xsd:element name="ResponseElement384" type="xsd:string"/>
+      <xsd:element name="RequestElement384" type="xsd:string"/>
+      <xsd:element name="ResponseElement385" type="xsd:string"/>
+      <xsd:element name="RequestElement385" type="xsd:string"/>
+      <xsd:element name="ResponseElement386" type="xsd:string"/>
+      <xsd:element name="RequestElement386" type="xsd:string"/>
+      <xsd:element name="ResponseElement387" type="xsd:string"/>
+      <xsd:element name="RequestElement387" type="xsd:string"/>
+      <xsd:element name="ResponseElement388" type="xsd:string"/>
+      <xsd:element name="RequestElement388" type="xsd:string"/>
+      <xsd:element name="ResponseElement389" type="xsd:string"/>
+      <xsd:element name="RequestElement389" type="xsd:string"/>
+      <xsd:element name="ResponseElement390" type="xsd:string"/>
+      <xsd:element name="RequestElement390" type="xsd:string"/>
+      <xsd:element name="ResponseElement391" type="xsd:string"/>
+      <xsd:element name="RequestElement391" type="xsd:string"/>
+      <xsd:element name="ResponseElement392" type="xsd:string"/>
+      <xsd:element name="RequestElement392" type="xsd:string"/>
+      <xsd:element name="ResponseElement393" type="xsd:string"/>
+      <xsd:element name="RequestElement393" type="xsd:string"/>
+      <xsd:element name="ResponseElement394" type="xsd:string"/>
+      <xsd:element name="RequestElement394" type="xsd:string"/>
+      <xsd:element name="ResponseElement395" type="xsd:string"/>
+      <xsd:element name="RequestElement395" type="xsd:string"/>
+      <xsd:element name="ResponseElement396" type="xsd:string"/>
+      <xsd:element name="RequestElement396" type="xsd:string"/>
+      <xsd:element name="ResponseElement397" type="xsd:string"/>
+      <xsd:element name="RequestElement397" type="xsd:string"/>
+      <xsd:element name="ResponseElement398" type="xsd:string"/>
+      <xsd:element name="RequestElement398" type="xsd:string"/>
+      <xsd:element name="ResponseElement399" type="xsd:string"/>
+      <xsd:element name="RequestElement399" type="xsd:string"/>
+      <xsd:element name="ResponseElement400" type="xsd:string"/>
+      <xsd:element name="RequestElement400" type="xsd:string"/>
+      <xsd:element name="ResponseElement401" type="xsd:string"/>
+      <xsd:element name="RequestElement401" type="xsd:string"/>
+      <xsd:element name="ResponseElement402" type="xsd:string"/>
+      <xsd:element name="RequestElement402" type="xsd:string"/>
+      <xsd:element name="ResponseElement403" type="xsd:string"/>
+      <xsd:element name="RequestElement403" type="xsd:string"/>
+      <xsd:element name="ResponseElement404" type="xsd:string"/>
+      <xsd:element name="RequestElement404" type="xsd:string"/>
+      <xsd:element name="ResponseElement405" type="xsd:string"/>
+      <xsd:element name="RequestElement405" type="xsd:string"/>
+      <xsd:element name="ResponseElement406" type="xsd:string"/>
+      <xsd:element name="RequestElement406" type="xsd:string"/>
+      <xsd:element name="ResponseElement407" type="xsd:string"/>
+      <xsd:element name="RequestElement407" type="xsd:string"/>
+      <xsd:element name="ResponseElement408" type="xsd:string"/>
+      <xsd:element name="RequestElement408" type="xsd:string"/>
+      <xsd:element name="ResponseElement409" type="xsd:string"/>
+      <xsd:element name="RequestElement409" type="xsd:string"/>
+      <xsd:element name="ResponseElement410" type="xsd:string"/>
+      <xsd:element name="RequestElement410" type="xsd:string"/>
+      <xsd:element name="ResponseElement411" type="xsd:string"/>
+      <xsd:element name="RequestElement411" type="xsd:string"/>
+      <xsd:element name="ResponseElement412" type="xsd:string"/>
+      <xsd:element name="RequestElement412" type="xsd:string"/>
+      <xsd:element name="ResponseElement413" type="xsd:string"/>
+      <xsd:element name="RequestElement413" type="xsd:string"/>
+      <xsd:element name="ResponseElement414" type="xsd:string"/>
+      <xsd:element name="RequestElement414" type="xsd:string"/>
+      <xsd:element name="ResponseElement415" type="xsd:string"/>
+      <xsd:element name="RequestElement415" type="xsd:string"/>
+      <xsd:element name="ResponseElement416" type="xsd:string"/>
+      <xsd:element name="RequestElement416" type="xsd:string"/>
+      <xsd:element name="ResponseElement417" type="xsd:string"/>
+      <xsd:element name="RequestElement417" type="xsd:string"/>
+      <xsd:element name="ResponseElement418" type="xsd:string"/>
+      <xsd:element name="RequestElement418" type="xsd:string"/>
+      <xsd:element name="ResponseElement419" type="xsd:string"/>
+      <xsd:element name="RequestElement419" type="xsd:string"/>
+      <xsd:element name="ResponseElement420" type="xsd:string"/>
+      <xsd:element name="RequestElement420" type="xsd:string"/>
+      <xsd:element name="ResponseElement421" type="xsd:string"/>
+      <xsd:element name="RequestElement421" type="xsd:string"/>
+      <xsd:element name="ResponseElement422" type="xsd:string"/>
+      <xsd:element name="RequestElement422" type="xsd:string"/>
+      <xsd:element name="ResponseElement423" type="xsd:string"/>
+      <xsd:element name="RequestElement423" type="xsd:string"/>
+      <xsd:element name="ResponseElement424" type="xsd:string"/>
+      <xsd:element name="RequestElement424" type="xsd:string"/>
+      <xsd:element name="ResponseElement425" type="xsd:string"/>
+      <xsd:element name="RequestElement425" type="xsd:string"/>
+      <xsd:element name="ResponseElement426" type="xsd:string"/>
+      <xsd:element name="RequestElement426" type="xsd:string"/>
+      <xsd:element name="ResponseElement427" type="xsd:string"/>
+      <xsd:element name="RequestElement427" type="xsd:string"/>
+      <xsd:element name="ResponseElement428" type="xsd:string"/>
+      <xsd:element name="RequestElement428" type="xsd:string"/>
+      <xsd:element name="ResponseElement429" type="xsd:string"/>
+      <xsd:element name="RequestElement429" type="xsd:string"/>
+      <xsd:element name="ResponseElement430" type="xsd:string"/>
+      <xsd:element name="RequestElement430" type="xsd:string"/>
+      <xsd:element name="ResponseElement431" type="xsd:string"/>
+      <xsd:element name="RequestElement431" type="xsd:string"/>
+      <xsd:element name="ResponseElement432" type="xsd:string"/>
+      <xsd:element name="RequestElement432" type="xsd:string"/>
+      <xsd:element name="ResponseElement433" type="xsd:string"/>
+      <xsd:element name="RequestElement433" type="xsd:string"/>
+      <xsd:element name="ResponseElement434" type="xsd:string"/>
+      <xsd:element name="RequestElement434" type="xsd:string"/>
+      <xsd:element name="ResponseElement435" type="xsd:string"/>
+      <xsd:element name="RequestElement435" type="xsd:string"/>
+      <xsd:element name="ResponseElement436" type="xsd:string"/>
+      <xsd:element name="RequestElement436" type="xsd:string"/>
+      <xsd:element name="ResponseElement437" type="xsd:string"/>
+      <xsd:element name="RequestElement437" type="xsd:string"/>
+      <xsd:element name="ResponseElement438" type="xsd:string"/>
+      <xsd:element name="RequestElement438" type="xsd:string"/>
+      <xsd:element name="ResponseElement439" type="xsd:string"/>
+      <xsd:element name="RequestElement439" type="xsd:string"/>
+      <xsd:element name="ResponseElement440" type="xsd:string"/>
+      <xsd:element name="RequestElement440" type="xsd:string"/>
+      <xsd:element name="ResponseElement441" type="xsd:string"/>
+      <xsd:element name="RequestElement441" type="xsd:string"/>
+      <xsd:element name="ResponseElement442" type="xsd:string"/>
+      <xsd:element name="RequestElement442" type="xsd:string"/>
+      <xsd:element name="ResponseElement443" type="xsd:string"/>
+      <xsd:element name="RequestElement443" type="xsd:string"/>
+      <xsd:element name="ResponseElement444" type="xsd:string"/>
+      <xsd:element name="RequestElement444" type="xsd:string"/>
+      <xsd:element name="ResponseElement445" type="xsd:string"/>
+      <xsd:element name="RequestElement445" type="xsd:string"/>
+      <xsd:element name="ResponseElement446" type="xsd:string"/>
+      <xsd:element name="RequestElement446" type="xsd:string"/>
+      <xsd:element name="ResponseElement447" type="xsd:string"/>
+      <xsd:element name="RequestElement447" type="xsd:string"/>
+      <xsd:element name="ResponseElement448" type="xsd:string"/>
+      <xsd:element name="RequestElement448" type="xsd:string"/>
+      <xsd:element name="ResponseElement449" type="xsd:string"/>
+      <xsd:element name="RequestElement449" type="xsd:string"/>
+      <xsd:element name="ResponseElement450" type="xsd:string"/>
+      <xsd:element name="RequestElement450" type="xsd:string"/>
+      <xsd:element name="ResponseElement451" type="xsd:string"/>
+      <xsd:element name="RequestElement451" type="xsd:string"/>
+      <xsd:element name="ResponseElement452" type="xsd:string"/>
+      <xsd:element name="RequestElement452" type="xsd:string"/>
+      <xsd:element name="ResponseElement453" type="xsd:string"/>
+      <xsd:element name="RequestElement453" type="xsd:string"/>
+      <xsd:element name="ResponseElement454" type="xsd:string"/>
+      <xsd:element name="RequestElement454" type="xsd:string"/>
+      <xsd:element name="ResponseElement455" type="xsd:string"/>
+      <xsd:element name="RequestElement455" type="xsd:string"/>
+      <xsd:element name="ResponseElement456" type="xsd:string"/>
+      <xsd:element name="RequestElement456" type="xsd:string"/>
+      <xsd:element name="ResponseElement457" type="xsd:string"/>
+      <xsd:element name="RequestElement457" type="xsd:string"/>
+      <xsd:element name="ResponseElement458" type="xsd:string"/>
+      <xsd:element name="RequestElement458" type="xsd:string"/>
+      <xsd:element name="ResponseElement459" type="xsd:string"/>
+      <xsd:element name="RequestElement459" type="xsd:string"/>
+      <xsd:element name="ResponseElement460" type="xsd:string"/>
+      <xsd:element name="RequestElement460" type="xsd:string"/>
+      <xsd:element name="ResponseElement461" type="xsd:string"/>
+      <xsd:element name="RequestElement461" type="xsd:string"/>
+      <xsd:element name="ResponseElement462" type="xsd:string"/>
+      <xsd:element name="RequestElement462" type="xsd:string"/>
+      <xsd:element name="ResponseElement463" type="xsd:string"/>
+      <xsd:element name="RequestElement463" type="xsd:string"/>
+      <xsd:element name="ResponseElement464" type="xsd:string"/>
+      <xsd:element name="RequestElement464" type="xsd:string"/>
+      <xsd:element name="ResponseElement465" type="xsd:string"/>
+      <xsd:element name="RequestElement465" type="xsd:string"/>
+      <xsd:element name="ResponseElement466" type="xsd:string"/>
+      <xsd:element name="RequestElement466" type="xsd:string"/>
+      <xsd:element name="ResponseElement467" type="xsd:string"/>
+      <xsd:element name="RequestElement467" type="xsd:string"/>
+      <xsd:element name="ResponseElement468" type="xsd:string"/>
+      <xsd:element name="RequestElement468" type="xsd:string"/>
+      <xsd:element name="ResponseElement469" type="xsd:string"/>
+      <xsd:element name="RequestElement469" type="xsd:string"/>
+      <xsd:element name="ResponseElement470" type="xsd:string"/>
+      <xsd:element name="RequestElement470" type="xsd:string"/>
+      <xsd:element name="ResponseElement471" type="xsd:string"/>
+      <xsd:element name="RequestElement471" type="xsd:string"/>
+      <xsd:element name="ResponseElement472" type="xsd:string"/>
+      <xsd:element name="RequestElement472" type="xsd:string"/>
+      <xsd:element name="ResponseElement473" type="xsd:string"/>
+      <xsd:element name="RequestElement473" type="xsd:string"/>
+      <xsd:element name="ResponseElement474" type="xsd:string"/>
+      <xsd:element name="RequestElement474" type="xsd:string"/>
+      <xsd:element name="ResponseElement475" type="xsd:string"/>
+      <xsd:element name="RequestElement475" type="xsd:string"/>
+      <xsd:element name="ResponseElement476" type="xsd:string"/>
+      <xsd:element name="RequestElement476" type="xsd:string"/>
+      <xsd:element name="ResponseElement477" type="xsd:string"/>
+      <xsd:element name="RequestElement477" type="xsd:string"/>
+      <xsd:element name="ResponseElement478" type="xsd:string"/>
+      <xsd:element name="RequestElement478" type="xsd:string"/>
+      <xsd:element name="ResponseElement479" type="xsd:string"/>
+      <xsd:element name="RequestElement479" type="xsd:string"/>
+      <xsd:element name="ResponseElement480" type="xsd:string"/>
+      <xsd:element name="RequestElement480" type="xsd:string"/>
+      <xsd:element name="ResponseElement481" type="xsd:string"/>
+      <xsd:element name="RequestElement481" type="xsd:string"/>
+      <xsd:element name="ResponseElement482" type="xsd:string"/>
+      <xsd:element name="RequestElement482" type="xsd:string"/>
+      <xsd:element name="ResponseElement483" type="xsd:string"/>
+      <xsd:element name="RequestElement483" type="xsd:string"/>
+      <xsd:element name="ResponseElement484" type="xsd:string"/>
+      <xsd:element name="RequestElement484" type="xsd:string"/>
+      <xsd:element name="ResponseElement485" type="xsd:string"/>
+      <xsd:element name="RequestElement485" type="xsd:string"/>
+      <xsd:element name="ResponseElement486" type="xsd:string"/>
+      <xsd:element name="RequestElement486" type="xsd:string"/>
+      <xsd:element name="ResponseElement487" type="xsd:string"/>
+      <xsd:element name="RequestElement487" type="xsd:string"/>
+      <xsd:element name="ResponseElement488" type="xsd:string"/>
+      <xsd:element name="RequestElement488" type="xsd:string"/>
+      <xsd:element name="ResponseElement489" type="xsd:string"/>
+      <xsd:element name="RequestElement489" type="xsd:string"/>
+      <xsd:element name="ResponseElement490" type="xsd:string"/>
+      <xsd:element name="RequestElement490" type="xsd:string"/>
+      <xsd:element name="ResponseElement491" type="xsd:string"/>
+      <xsd:element name="RequestElement491" type="xsd:string"/>
+      <xsd:element name="ResponseElement492" type="xsd:string"/>
+      <xsd:element name="RequestElement492" type="xsd:string"/>
+      <xsd:element name="ResponseElement493" type="xsd:string"/>
+      <xsd:element name="RequestElement493" type="xsd:string"/>
+      <xsd:element name="ResponseElement494" type="xsd:string"/>
+      <xsd:element name="RequestElement494" type="xsd:string"/>
+      <xsd:element name="ResponseElement495" type="xsd:string"/>
+      <xsd:element name="RequestElement495" type="xsd:string"/>
+      <xsd:element name="ResponseElement496" type="xsd:string"/>
+      <xsd:element name="RequestElement496" type="xsd:string"/>
+      <xsd:element name="ResponseElement497" type="xsd:string"/>
+      <xsd:element name="RequestElement497" type="xsd:string"/>
+      <xsd:element name="ResponseElement498" type="xsd:string"/>
+      <xsd:element name="RequestElement498" type="xsd:string"/>
+      <xsd:element name="ResponseElement499" type="xsd:string"/>
+      <xsd:element name="RequestElement499" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="ResponseMessage0">
+    <wsdl:part name="Response" element="tns:ResponseElement0"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage0">
+    <wsdl:part name="Request" element="tns:RequestElement0"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType0">
+    <wsdl:operation name="Operation0">
+      <wsdl:input message="tns:RequestMessage0" name="Input0"/>
+      <wsdl:output message="tns:ResponseMessage0" name="Output0"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding0" type="tns:PortType0">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation0">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation0"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service0">
+    <wsdl:port name="Port0" binding="tns:Binding0">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage1">
+    <wsdl:part name="Response" element="tns:ResponseElement1"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage1">
+    <wsdl:part name="Request" element="tns:RequestElement1"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType1">
+    <wsdl:operation name="Operation1">
+      <wsdl:input message="tns:RequestMessage1" name="Input1"/>
+      <wsdl:output message="tns:ResponseMessage1" name="Output1"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding1" type="tns:PortType1">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation1">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation1"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service1">
+    <wsdl:port name="Port1" binding="tns:Binding1">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage2">
+    <wsdl:part name="Response" element="tns:ResponseElement2"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage2">
+    <wsdl:part name="Request" element="tns:RequestElement2"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType2">
+    <wsdl:operation name="Operation2">
+      <wsdl:input message="tns:RequestMessage2" name="Input2"/>
+      <wsdl:output message="tns:ResponseMessage2" name="Output2"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding2" type="tns:PortType2">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation2">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation2"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service2">
+    <wsdl:port name="Port2" binding="tns:Binding2">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage3">
+    <wsdl:part name="Response" element="tns:ResponseElement3"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage3">
+    <wsdl:part name="Request" element="tns:RequestElement3"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType3">
+    <wsdl:operation name="Operation3">
+      <wsdl:input message="tns:RequestMessage3" name="Input3"/>
+      <wsdl:output message="tns:ResponseMessage3" name="Output3"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding3" type="tns:PortType3">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation3">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation3"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service3">
+    <wsdl:port name="Port3" binding="tns:Binding3">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage4">
+    <wsdl:part name="Response" element="tns:ResponseElement4"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage4">
+    <wsdl:part name="Request" element="tns:RequestElement4"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType4">
+    <wsdl:operation name="Operation4">
+      <wsdl:input message="tns:RequestMessage4" name="Input4"/>
+      <wsdl:output message="tns:ResponseMessage4" name="Output4"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding4" type="tns:PortType4">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation4">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation4"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service4">
+    <wsdl:port name="Port4" binding="tns:Binding4">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage5">
+    <wsdl:part name="Response" element="tns:ResponseElement5"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage5">
+    <wsdl:part name="Request" element="tns:RequestElement5"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType5">
+    <wsdl:operation name="Operation5">
+      <wsdl:input message="tns:RequestMessage5" name="Input5"/>
+      <wsdl:output message="tns:ResponseMessage5" name="Output5"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding5" type="tns:PortType5">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation5">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation5"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service5">
+    <wsdl:port name="Port5" binding="tns:Binding5">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage6">
+    <wsdl:part name="Response" element="tns:ResponseElement6"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage6">
+    <wsdl:part name="Request" element="tns:RequestElement6"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType6">
+    <wsdl:operation name="Operation6">
+      <wsdl:input message="tns:RequestMessage6" name="Input6"/>
+      <wsdl:output message="tns:ResponseMessage6" name="Output6"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding6" type="tns:PortType6">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation6">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation6"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service6">
+    <wsdl:port name="Port6" binding="tns:Binding6">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage7">
+    <wsdl:part name="Response" element="tns:ResponseElement7"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage7">
+    <wsdl:part name="Request" element="tns:RequestElement7"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType7">
+    <wsdl:operation name="Operation7">
+      <wsdl:input message="tns:RequestMessage7" name="Input7"/>
+      <wsdl:output message="tns:ResponseMessage7" name="Output7"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding7" type="tns:PortType7">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation7">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation7"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service7">
+    <wsdl:port name="Port7" binding="tns:Binding7">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage8">
+    <wsdl:part name="Response" element="tns:ResponseElement8"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage8">
+    <wsdl:part name="Request" element="tns:RequestElement8"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType8">
+    <wsdl:operation name="Operation8">
+      <wsdl:input message="tns:RequestMessage8" name="Input8"/>
+      <wsdl:output message="tns:ResponseMessage8" name="Output8"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding8" type="tns:PortType8">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation8">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation8"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service8">
+    <wsdl:port name="Port8" binding="tns:Binding8">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage9">
+    <wsdl:part name="Response" element="tns:ResponseElement9"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage9">
+    <wsdl:part name="Request" element="tns:RequestElement9"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType9">
+    <wsdl:operation name="Operation9">
+      <wsdl:input message="tns:RequestMessage9" name="Input9"/>
+      <wsdl:output message="tns:ResponseMessage9" name="Output9"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding9" type="tns:PortType9">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation9">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation9"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service9">
+    <wsdl:port name="Port9" binding="tns:Binding9">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage10">
+    <wsdl:part name="Response" element="tns:ResponseElement10"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage10">
+    <wsdl:part name="Request" element="tns:RequestElement10"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType10">
+    <wsdl:operation name="Operation10">
+      <wsdl:input message="tns:RequestMessage10" name="Input10"/>
+      <wsdl:output message="tns:ResponseMessage10" name="Output10"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding10" type="tns:PortType10">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation10">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation10"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service10">
+    <wsdl:port name="Port10" binding="tns:Binding10">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage11">
+    <wsdl:part name="Response" element="tns:ResponseElement11"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage11">
+    <wsdl:part name="Request" element="tns:RequestElement11"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType11">
+    <wsdl:operation name="Operation11">
+      <wsdl:input message="tns:RequestMessage11" name="Input11"/>
+      <wsdl:output message="tns:ResponseMessage11" name="Output11"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding11" type="tns:PortType11">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation11">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation11"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service11">
+    <wsdl:port name="Port11" binding="tns:Binding11">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage12">
+    <wsdl:part name="Response" element="tns:ResponseElement12"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage12">
+    <wsdl:part name="Request" element="tns:RequestElement12"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType12">
+    <wsdl:operation name="Operation12">
+      <wsdl:input message="tns:RequestMessage12" name="Input12"/>
+      <wsdl:output message="tns:ResponseMessage12" name="Output12"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding12" type="tns:PortType12">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation12">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation12"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service12">
+    <wsdl:port name="Port12" binding="tns:Binding12">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage13">
+    <wsdl:part name="Response" element="tns:ResponseElement13"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage13">
+    <wsdl:part name="Request" element="tns:RequestElement13"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType13">
+    <wsdl:operation name="Operation13">
+      <wsdl:input message="tns:RequestMessage13" name="Input13"/>
+      <wsdl:output message="tns:ResponseMessage13" name="Output13"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding13" type="tns:PortType13">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation13">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation13"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service13">
+    <wsdl:port name="Port13" binding="tns:Binding13">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage14">
+    <wsdl:part name="Response" element="tns:ResponseElement14"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage14">
+    <wsdl:part name="Request" element="tns:RequestElement14"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType14">
+    <wsdl:operation name="Operation14">
+      <wsdl:input message="tns:RequestMessage14" name="Input14"/>
+      <wsdl:output message="tns:ResponseMessage14" name="Output14"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding14" type="tns:PortType14">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation14">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation14"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service14">
+    <wsdl:port name="Port14" binding="tns:Binding14">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage15">
+    <wsdl:part name="Response" element="tns:ResponseElement15"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage15">
+    <wsdl:part name="Request" element="tns:RequestElement15"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType15">
+    <wsdl:operation name="Operation15">
+      <wsdl:input message="tns:RequestMessage15" name="Input15"/>
+      <wsdl:output message="tns:ResponseMessage15" name="Output15"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding15" type="tns:PortType15">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation15">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation15"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service15">
+    <wsdl:port name="Port15" binding="tns:Binding15">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage16">
+    <wsdl:part name="Response" element="tns:ResponseElement16"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage16">
+    <wsdl:part name="Request" element="tns:RequestElement16"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType16">
+    <wsdl:operation name="Operation16">
+      <wsdl:input message="tns:RequestMessage16" name="Input16"/>
+      <wsdl:output message="tns:ResponseMessage16" name="Output16"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding16" type="tns:PortType16">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation16">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation16"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service16">
+    <wsdl:port name="Port16" binding="tns:Binding16">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage17">
+    <wsdl:part name="Response" element="tns:ResponseElement17"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage17">
+    <wsdl:part name="Request" element="tns:RequestElement17"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType17">
+    <wsdl:operation name="Operation17">
+      <wsdl:input message="tns:RequestMessage17" name="Input17"/>
+      <wsdl:output message="tns:ResponseMessage17" name="Output17"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding17" type="tns:PortType17">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation17">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation17"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service17">
+    <wsdl:port name="Port17" binding="tns:Binding17">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage18">
+    <wsdl:part name="Response" element="tns:ResponseElement18"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage18">
+    <wsdl:part name="Request" element="tns:RequestElement18"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType18">
+    <wsdl:operation name="Operation18">
+      <wsdl:input message="tns:RequestMessage18" name="Input18"/>
+      <wsdl:output message="tns:ResponseMessage18" name="Output18"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding18" type="tns:PortType18">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation18">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation18"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service18">
+    <wsdl:port name="Port18" binding="tns:Binding18">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage19">
+    <wsdl:part name="Response" element="tns:ResponseElement19"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage19">
+    <wsdl:part name="Request" element="tns:RequestElement19"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType19">
+    <wsdl:operation name="Operation19">
+      <wsdl:input message="tns:RequestMessage19" name="Input19"/>
+      <wsdl:output message="tns:ResponseMessage19" name="Output19"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding19" type="tns:PortType19">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation19">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation19"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service19">
+    <wsdl:port name="Port19" binding="tns:Binding19">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage20">
+    <wsdl:part name="Response" element="tns:ResponseElement20"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage20">
+    <wsdl:part name="Request" element="tns:RequestElement20"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType20">
+    <wsdl:operation name="Operation20">
+      <wsdl:input message="tns:RequestMessage20" name="Input20"/>
+      <wsdl:output message="tns:ResponseMessage20" name="Output20"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding20" type="tns:PortType20">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation20">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation20"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service20">
+    <wsdl:port name="Port20" binding="tns:Binding20">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage21">
+    <wsdl:part name="Response" element="tns:ResponseElement21"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage21">
+    <wsdl:part name="Request" element="tns:RequestElement21"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType21">
+    <wsdl:operation name="Operation21">
+      <wsdl:input message="tns:RequestMessage21" name="Input21"/>
+      <wsdl:output message="tns:ResponseMessage21" name="Output21"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding21" type="tns:PortType21">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation21">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation21"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service21">
+    <wsdl:port name="Port21" binding="tns:Binding21">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage22">
+    <wsdl:part name="Response" element="tns:ResponseElement22"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage22">
+    <wsdl:part name="Request" element="tns:RequestElement22"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType22">
+    <wsdl:operation name="Operation22">
+      <wsdl:input message="tns:RequestMessage22" name="Input22"/>
+      <wsdl:output message="tns:ResponseMessage22" name="Output22"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding22" type="tns:PortType22">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation22">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation22"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service22">
+    <wsdl:port name="Port22" binding="tns:Binding22">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage23">
+    <wsdl:part name="Response" element="tns:ResponseElement23"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage23">
+    <wsdl:part name="Request" element="tns:RequestElement23"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType23">
+    <wsdl:operation name="Operation23">
+      <wsdl:input message="tns:RequestMessage23" name="Input23"/>
+      <wsdl:output message="tns:ResponseMessage23" name="Output23"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding23" type="tns:PortType23">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation23">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation23"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service23">
+    <wsdl:port name="Port23" binding="tns:Binding23">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage24">
+    <wsdl:part name="Response" element="tns:ResponseElement24"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage24">
+    <wsdl:part name="Request" element="tns:RequestElement24"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType24">
+    <wsdl:operation name="Operation24">
+      <wsdl:input message="tns:RequestMessage24" name="Input24"/>
+      <wsdl:output message="tns:ResponseMessage24" name="Output24"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding24" type="tns:PortType24">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation24">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation24"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service24">
+    <wsdl:port name="Port24" binding="tns:Binding24">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage25">
+    <wsdl:part name="Response" element="tns:ResponseElement25"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage25">
+    <wsdl:part name="Request" element="tns:RequestElement25"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType25">
+    <wsdl:operation name="Operation25">
+      <wsdl:input message="tns:RequestMessage25" name="Input25"/>
+      <wsdl:output message="tns:ResponseMessage25" name="Output25"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding25" type="tns:PortType25">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation25">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation25"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service25">
+    <wsdl:port name="Port25" binding="tns:Binding25">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage26">
+    <wsdl:part name="Response" element="tns:ResponseElement26"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage26">
+    <wsdl:part name="Request" element="tns:RequestElement26"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType26">
+    <wsdl:operation name="Operation26">
+      <wsdl:input message="tns:RequestMessage26" name="Input26"/>
+      <wsdl:output message="tns:ResponseMessage26" name="Output26"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding26" type="tns:PortType26">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation26">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation26"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service26">
+    <wsdl:port name="Port26" binding="tns:Binding26">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage27">
+    <wsdl:part name="Response" element="tns:ResponseElement27"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage27">
+    <wsdl:part name="Request" element="tns:RequestElement27"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType27">
+    <wsdl:operation name="Operation27">
+      <wsdl:input message="tns:RequestMessage27" name="Input27"/>
+      <wsdl:output message="tns:ResponseMessage27" name="Output27"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding27" type="tns:PortType27">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation27">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation27"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service27">
+    <wsdl:port name="Port27" binding="tns:Binding27">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage28">
+    <wsdl:part name="Response" element="tns:ResponseElement28"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage28">
+    <wsdl:part name="Request" element="tns:RequestElement28"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType28">
+    <wsdl:operation name="Operation28">
+      <wsdl:input message="tns:RequestMessage28" name="Input28"/>
+      <wsdl:output message="tns:ResponseMessage28" name="Output28"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding28" type="tns:PortType28">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation28">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation28"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service28">
+    <wsdl:port name="Port28" binding="tns:Binding28">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage29">
+    <wsdl:part name="Response" element="tns:ResponseElement29"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage29">
+    <wsdl:part name="Request" element="tns:RequestElement29"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType29">
+    <wsdl:operation name="Operation29">
+      <wsdl:input message="tns:RequestMessage29" name="Input29"/>
+      <wsdl:output message="tns:ResponseMessage29" name="Output29"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding29" type="tns:PortType29">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation29">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation29"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service29">
+    <wsdl:port name="Port29" binding="tns:Binding29">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage30">
+    <wsdl:part name="Response" element="tns:ResponseElement30"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage30">
+    <wsdl:part name="Request" element="tns:RequestElement30"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType30">
+    <wsdl:operation name="Operation30">
+      <wsdl:input message="tns:RequestMessage30" name="Input30"/>
+      <wsdl:output message="tns:ResponseMessage30" name="Output30"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding30" type="tns:PortType30">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation30">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation30"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service30">
+    <wsdl:port name="Port30" binding="tns:Binding30">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage31">
+    <wsdl:part name="Response" element="tns:ResponseElement31"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage31">
+    <wsdl:part name="Request" element="tns:RequestElement31"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType31">
+    <wsdl:operation name="Operation31">
+      <wsdl:input message="tns:RequestMessage31" name="Input31"/>
+      <wsdl:output message="tns:ResponseMessage31" name="Output31"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding31" type="tns:PortType31">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation31">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation31"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service31">
+    <wsdl:port name="Port31" binding="tns:Binding31">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage32">
+    <wsdl:part name="Response" element="tns:ResponseElement32"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage32">
+    <wsdl:part name="Request" element="tns:RequestElement32"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType32">
+    <wsdl:operation name="Operation32">
+      <wsdl:input message="tns:RequestMessage32" name="Input32"/>
+      <wsdl:output message="tns:ResponseMessage32" name="Output32"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding32" type="tns:PortType32">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation32">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation32"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service32">
+    <wsdl:port name="Port32" binding="tns:Binding32">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage33">
+    <wsdl:part name="Response" element="tns:ResponseElement33"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage33">
+    <wsdl:part name="Request" element="tns:RequestElement33"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType33">
+    <wsdl:operation name="Operation33">
+      <wsdl:input message="tns:RequestMessage33" name="Input33"/>
+      <wsdl:output message="tns:ResponseMessage33" name="Output33"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding33" type="tns:PortType33">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation33">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation33"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service33">
+    <wsdl:port name="Port33" binding="tns:Binding33">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage34">
+    <wsdl:part name="Response" element="tns:ResponseElement34"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage34">
+    <wsdl:part name="Request" element="tns:RequestElement34"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType34">
+    <wsdl:operation name="Operation34">
+      <wsdl:input message="tns:RequestMessage34" name="Input34"/>
+      <wsdl:output message="tns:ResponseMessage34" name="Output34"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding34" type="tns:PortType34">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation34">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation34"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service34">
+    <wsdl:port name="Port34" binding="tns:Binding34">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage35">
+    <wsdl:part name="Response" element="tns:ResponseElement35"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage35">
+    <wsdl:part name="Request" element="tns:RequestElement35"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType35">
+    <wsdl:operation name="Operation35">
+      <wsdl:input message="tns:RequestMessage35" name="Input35"/>
+      <wsdl:output message="tns:ResponseMessage35" name="Output35"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding35" type="tns:PortType35">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation35">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation35"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service35">
+    <wsdl:port name="Port35" binding="tns:Binding35">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage36">
+    <wsdl:part name="Response" element="tns:ResponseElement36"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage36">
+    <wsdl:part name="Request" element="tns:RequestElement36"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType36">
+    <wsdl:operation name="Operation36">
+      <wsdl:input message="tns:RequestMessage36" name="Input36"/>
+      <wsdl:output message="tns:ResponseMessage36" name="Output36"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding36" type="tns:PortType36">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation36">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation36"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service36">
+    <wsdl:port name="Port36" binding="tns:Binding36">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage37">
+    <wsdl:part name="Response" element="tns:ResponseElement37"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage37">
+    <wsdl:part name="Request" element="tns:RequestElement37"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType37">
+    <wsdl:operation name="Operation37">
+      <wsdl:input message="tns:RequestMessage37" name="Input37"/>
+      <wsdl:output message="tns:ResponseMessage37" name="Output37"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding37" type="tns:PortType37">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation37">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation37"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service37">
+    <wsdl:port name="Port37" binding="tns:Binding37">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage38">
+    <wsdl:part name="Response" element="tns:ResponseElement38"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage38">
+    <wsdl:part name="Request" element="tns:RequestElement38"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType38">
+    <wsdl:operation name="Operation38">
+      <wsdl:input message="tns:RequestMessage38" name="Input38"/>
+      <wsdl:output message="tns:ResponseMessage38" name="Output38"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding38" type="tns:PortType38">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation38">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation38"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service38">
+    <wsdl:port name="Port38" binding="tns:Binding38">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage39">
+    <wsdl:part name="Response" element="tns:ResponseElement39"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage39">
+    <wsdl:part name="Request" element="tns:RequestElement39"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType39">
+    <wsdl:operation name="Operation39">
+      <wsdl:input message="tns:RequestMessage39" name="Input39"/>
+      <wsdl:output message="tns:ResponseMessage39" name="Output39"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding39" type="tns:PortType39">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation39">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation39"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service39">
+    <wsdl:port name="Port39" binding="tns:Binding39">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage40">
+    <wsdl:part name="Response" element="tns:ResponseElement40"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage40">
+    <wsdl:part name="Request" element="tns:RequestElement40"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType40">
+    <wsdl:operation name="Operation40">
+      <wsdl:input message="tns:RequestMessage40" name="Input40"/>
+      <wsdl:output message="tns:ResponseMessage40" name="Output40"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding40" type="tns:PortType40">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation40">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation40"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service40">
+    <wsdl:port name="Port40" binding="tns:Binding40">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage41">
+    <wsdl:part name="Response" element="tns:ResponseElement41"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage41">
+    <wsdl:part name="Request" element="tns:RequestElement41"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType41">
+    <wsdl:operation name="Operation41">
+      <wsdl:input message="tns:RequestMessage41" name="Input41"/>
+      <wsdl:output message="tns:ResponseMessage41" name="Output41"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding41" type="tns:PortType41">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation41">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation41"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service41">
+    <wsdl:port name="Port41" binding="tns:Binding41">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage42">
+    <wsdl:part name="Response" element="tns:ResponseElement42"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage42">
+    <wsdl:part name="Request" element="tns:RequestElement42"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType42">
+    <wsdl:operation name="Operation42">
+      <wsdl:input message="tns:RequestMessage42" name="Input42"/>
+      <wsdl:output message="tns:ResponseMessage42" name="Output42"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding42" type="tns:PortType42">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation42">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation42"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service42">
+    <wsdl:port name="Port42" binding="tns:Binding42">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage43">
+    <wsdl:part name="Response" element="tns:ResponseElement43"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage43">
+    <wsdl:part name="Request" element="tns:RequestElement43"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType43">
+    <wsdl:operation name="Operation43">
+      <wsdl:input message="tns:RequestMessage43" name="Input43"/>
+      <wsdl:output message="tns:ResponseMessage43" name="Output43"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding43" type="tns:PortType43">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation43">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation43"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service43">
+    <wsdl:port name="Port43" binding="tns:Binding43">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage44">
+    <wsdl:part name="Response" element="tns:ResponseElement44"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage44">
+    <wsdl:part name="Request" element="tns:RequestElement44"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType44">
+    <wsdl:operation name="Operation44">
+      <wsdl:input message="tns:RequestMessage44" name="Input44"/>
+      <wsdl:output message="tns:ResponseMessage44" name="Output44"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding44" type="tns:PortType44">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation44">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation44"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service44">
+    <wsdl:port name="Port44" binding="tns:Binding44">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage45">
+    <wsdl:part name="Response" element="tns:ResponseElement45"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage45">
+    <wsdl:part name="Request" element="tns:RequestElement45"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType45">
+    <wsdl:operation name="Operation45">
+      <wsdl:input message="tns:RequestMessage45" name="Input45"/>
+      <wsdl:output message="tns:ResponseMessage45" name="Output45"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding45" type="tns:PortType45">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation45">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation45"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service45">
+    <wsdl:port name="Port45" binding="tns:Binding45">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage46">
+    <wsdl:part name="Response" element="tns:ResponseElement46"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage46">
+    <wsdl:part name="Request" element="tns:RequestElement46"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType46">
+    <wsdl:operation name="Operation46">
+      <wsdl:input message="tns:RequestMessage46" name="Input46"/>
+      <wsdl:output message="tns:ResponseMessage46" name="Output46"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding46" type="tns:PortType46">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation46">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation46"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service46">
+    <wsdl:port name="Port46" binding="tns:Binding46">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage47">
+    <wsdl:part name="Response" element="tns:ResponseElement47"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage47">
+    <wsdl:part name="Request" element="tns:RequestElement47"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType47">
+    <wsdl:operation name="Operation47">
+      <wsdl:input message="tns:RequestMessage47" name="Input47"/>
+      <wsdl:output message="tns:ResponseMessage47" name="Output47"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding47" type="tns:PortType47">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation47">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation47"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service47">
+    <wsdl:port name="Port47" binding="tns:Binding47">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage48">
+    <wsdl:part name="Response" element="tns:ResponseElement48"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage48">
+    <wsdl:part name="Request" element="tns:RequestElement48"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType48">
+    <wsdl:operation name="Operation48">
+      <wsdl:input message="tns:RequestMessage48" name="Input48"/>
+      <wsdl:output message="tns:ResponseMessage48" name="Output48"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding48" type="tns:PortType48">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation48">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation48"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service48">
+    <wsdl:port name="Port48" binding="tns:Binding48">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage49">
+    <wsdl:part name="Response" element="tns:ResponseElement49"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage49">
+    <wsdl:part name="Request" element="tns:RequestElement49"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType49">
+    <wsdl:operation name="Operation49">
+      <wsdl:input message="tns:RequestMessage49" name="Input49"/>
+      <wsdl:output message="tns:ResponseMessage49" name="Output49"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding49" type="tns:PortType49">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation49">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation49"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service49">
+    <wsdl:port name="Port49" binding="tns:Binding49">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage50">
+    <wsdl:part name="Response" element="tns:ResponseElement50"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage50">
+    <wsdl:part name="Request" element="tns:RequestElement50"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType50">
+    <wsdl:operation name="Operation50">
+      <wsdl:input message="tns:RequestMessage50" name="Input50"/>
+      <wsdl:output message="tns:ResponseMessage50" name="Output50"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding50" type="tns:PortType50">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation50">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation50"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service50">
+    <wsdl:port name="Port50" binding="tns:Binding50">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage51">
+    <wsdl:part name="Response" element="tns:ResponseElement51"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage51">
+    <wsdl:part name="Request" element="tns:RequestElement51"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType51">
+    <wsdl:operation name="Operation51">
+      <wsdl:input message="tns:RequestMessage51" name="Input51"/>
+      <wsdl:output message="tns:ResponseMessage51" name="Output51"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding51" type="tns:PortType51">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation51">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation51"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service51">
+    <wsdl:port name="Port51" binding="tns:Binding51">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage52">
+    <wsdl:part name="Response" element="tns:ResponseElement52"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage52">
+    <wsdl:part name="Request" element="tns:RequestElement52"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType52">
+    <wsdl:operation name="Operation52">
+      <wsdl:input message="tns:RequestMessage52" name="Input52"/>
+      <wsdl:output message="tns:ResponseMessage52" name="Output52"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding52" type="tns:PortType52">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation52">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation52"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service52">
+    <wsdl:port name="Port52" binding="tns:Binding52">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage53">
+    <wsdl:part name="Response" element="tns:ResponseElement53"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage53">
+    <wsdl:part name="Request" element="tns:RequestElement53"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType53">
+    <wsdl:operation name="Operation53">
+      <wsdl:input message="tns:RequestMessage53" name="Input53"/>
+      <wsdl:output message="tns:ResponseMessage53" name="Output53"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding53" type="tns:PortType53">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation53">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation53"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service53">
+    <wsdl:port name="Port53" binding="tns:Binding53">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage54">
+    <wsdl:part name="Response" element="tns:ResponseElement54"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage54">
+    <wsdl:part name="Request" element="tns:RequestElement54"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType54">
+    <wsdl:operation name="Operation54">
+      <wsdl:input message="tns:RequestMessage54" name="Input54"/>
+      <wsdl:output message="tns:ResponseMessage54" name="Output54"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding54" type="tns:PortType54">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation54">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation54"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service54">
+    <wsdl:port name="Port54" binding="tns:Binding54">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage55">
+    <wsdl:part name="Response" element="tns:ResponseElement55"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage55">
+    <wsdl:part name="Request" element="tns:RequestElement55"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType55">
+    <wsdl:operation name="Operation55">
+      <wsdl:input message="tns:RequestMessage55" name="Input55"/>
+      <wsdl:output message="tns:ResponseMessage55" name="Output55"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding55" type="tns:PortType55">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation55">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation55"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service55">
+    <wsdl:port name="Port55" binding="tns:Binding55">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage56">
+    <wsdl:part name="Response" element="tns:ResponseElement56"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage56">
+    <wsdl:part name="Request" element="tns:RequestElement56"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType56">
+    <wsdl:operation name="Operation56">
+      <wsdl:input message="tns:RequestMessage56" name="Input56"/>
+      <wsdl:output message="tns:ResponseMessage56" name="Output56"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding56" type="tns:PortType56">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation56">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation56"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service56">
+    <wsdl:port name="Port56" binding="tns:Binding56">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage57">
+    <wsdl:part name="Response" element="tns:ResponseElement57"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage57">
+    <wsdl:part name="Request" element="tns:RequestElement57"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType57">
+    <wsdl:operation name="Operation57">
+      <wsdl:input message="tns:RequestMessage57" name="Input57"/>
+      <wsdl:output message="tns:ResponseMessage57" name="Output57"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding57" type="tns:PortType57">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation57">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation57"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service57">
+    <wsdl:port name="Port57" binding="tns:Binding57">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage58">
+    <wsdl:part name="Response" element="tns:ResponseElement58"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage58">
+    <wsdl:part name="Request" element="tns:RequestElement58"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType58">
+    <wsdl:operation name="Operation58">
+      <wsdl:input message="tns:RequestMessage58" name="Input58"/>
+      <wsdl:output message="tns:ResponseMessage58" name="Output58"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding58" type="tns:PortType58">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation58">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation58"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service58">
+    <wsdl:port name="Port58" binding="tns:Binding58">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage59">
+    <wsdl:part name="Response" element="tns:ResponseElement59"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage59">
+    <wsdl:part name="Request" element="tns:RequestElement59"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType59">
+    <wsdl:operation name="Operation59">
+      <wsdl:input message="tns:RequestMessage59" name="Input59"/>
+      <wsdl:output message="tns:ResponseMessage59" name="Output59"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding59" type="tns:PortType59">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation59">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation59"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service59">
+    <wsdl:port name="Port59" binding="tns:Binding59">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage60">
+    <wsdl:part name="Response" element="tns:ResponseElement60"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage60">
+    <wsdl:part name="Request" element="tns:RequestElement60"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType60">
+    <wsdl:operation name="Operation60">
+      <wsdl:input message="tns:RequestMessage60" name="Input60"/>
+      <wsdl:output message="tns:ResponseMessage60" name="Output60"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding60" type="tns:PortType60">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation60">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation60"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service60">
+    <wsdl:port name="Port60" binding="tns:Binding60">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage61">
+    <wsdl:part name="Response" element="tns:ResponseElement61"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage61">
+    <wsdl:part name="Request" element="tns:RequestElement61"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType61">
+    <wsdl:operation name="Operation61">
+      <wsdl:input message="tns:RequestMessage61" name="Input61"/>
+      <wsdl:output message="tns:ResponseMessage61" name="Output61"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding61" type="tns:PortType61">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation61">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation61"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service61">
+    <wsdl:port name="Port61" binding="tns:Binding61">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage62">
+    <wsdl:part name="Response" element="tns:ResponseElement62"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage62">
+    <wsdl:part name="Request" element="tns:RequestElement62"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType62">
+    <wsdl:operation name="Operation62">
+      <wsdl:input message="tns:RequestMessage62" name="Input62"/>
+      <wsdl:output message="tns:ResponseMessage62" name="Output62"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding62" type="tns:PortType62">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation62">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation62"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service62">
+    <wsdl:port name="Port62" binding="tns:Binding62">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage63">
+    <wsdl:part name="Response" element="tns:ResponseElement63"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage63">
+    <wsdl:part name="Request" element="tns:RequestElement63"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType63">
+    <wsdl:operation name="Operation63">
+      <wsdl:input message="tns:RequestMessage63" name="Input63"/>
+      <wsdl:output message="tns:ResponseMessage63" name="Output63"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding63" type="tns:PortType63">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation63">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation63"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service63">
+    <wsdl:port name="Port63" binding="tns:Binding63">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage64">
+    <wsdl:part name="Response" element="tns:ResponseElement64"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage64">
+    <wsdl:part name="Request" element="tns:RequestElement64"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType64">
+    <wsdl:operation name="Operation64">
+      <wsdl:input message="tns:RequestMessage64" name="Input64"/>
+      <wsdl:output message="tns:ResponseMessage64" name="Output64"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding64" type="tns:PortType64">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation64">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation64"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service64">
+    <wsdl:port name="Port64" binding="tns:Binding64">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage65">
+    <wsdl:part name="Response" element="tns:ResponseElement65"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage65">
+    <wsdl:part name="Request" element="tns:RequestElement65"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType65">
+    <wsdl:operation name="Operation65">
+      <wsdl:input message="tns:RequestMessage65" name="Input65"/>
+      <wsdl:output message="tns:ResponseMessage65" name="Output65"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding65" type="tns:PortType65">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation65">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation65"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service65">
+    <wsdl:port name="Port65" binding="tns:Binding65">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage66">
+    <wsdl:part name="Response" element="tns:ResponseElement66"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage66">
+    <wsdl:part name="Request" element="tns:RequestElement66"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType66">
+    <wsdl:operation name="Operation66">
+      <wsdl:input message="tns:RequestMessage66" name="Input66"/>
+      <wsdl:output message="tns:ResponseMessage66" name="Output66"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding66" type="tns:PortType66">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation66">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation66"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service66">
+    <wsdl:port name="Port66" binding="tns:Binding66">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage67">
+    <wsdl:part name="Response" element="tns:ResponseElement67"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage67">
+    <wsdl:part name="Request" element="tns:RequestElement67"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType67">
+    <wsdl:operation name="Operation67">
+      <wsdl:input message="tns:RequestMessage67" name="Input67"/>
+      <wsdl:output message="tns:ResponseMessage67" name="Output67"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding67" type="tns:PortType67">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation67">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation67"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service67">
+    <wsdl:port name="Port67" binding="tns:Binding67">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage68">
+    <wsdl:part name="Response" element="tns:ResponseElement68"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage68">
+    <wsdl:part name="Request" element="tns:RequestElement68"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType68">
+    <wsdl:operation name="Operation68">
+      <wsdl:input message="tns:RequestMessage68" name="Input68"/>
+      <wsdl:output message="tns:ResponseMessage68" name="Output68"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding68" type="tns:PortType68">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation68">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation68"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service68">
+    <wsdl:port name="Port68" binding="tns:Binding68">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage69">
+    <wsdl:part name="Response" element="tns:ResponseElement69"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage69">
+    <wsdl:part name="Request" element="tns:RequestElement69"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType69">
+    <wsdl:operation name="Operation69">
+      <wsdl:input message="tns:RequestMessage69" name="Input69"/>
+      <wsdl:output message="tns:ResponseMessage69" name="Output69"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding69" type="tns:PortType69">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation69">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation69"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service69">
+    <wsdl:port name="Port69" binding="tns:Binding69">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage70">
+    <wsdl:part name="Response" element="tns:ResponseElement70"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage70">
+    <wsdl:part name="Request" element="tns:RequestElement70"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType70">
+    <wsdl:operation name="Operation70">
+      <wsdl:input message="tns:RequestMessage70" name="Input70"/>
+      <wsdl:output message="tns:ResponseMessage70" name="Output70"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding70" type="tns:PortType70">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation70">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation70"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service70">
+    <wsdl:port name="Port70" binding="tns:Binding70">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage71">
+    <wsdl:part name="Response" element="tns:ResponseElement71"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage71">
+    <wsdl:part name="Request" element="tns:RequestElement71"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType71">
+    <wsdl:operation name="Operation71">
+      <wsdl:input message="tns:RequestMessage71" name="Input71"/>
+      <wsdl:output message="tns:ResponseMessage71" name="Output71"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding71" type="tns:PortType71">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation71">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation71"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service71">
+    <wsdl:port name="Port71" binding="tns:Binding71">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage72">
+    <wsdl:part name="Response" element="tns:ResponseElement72"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage72">
+    <wsdl:part name="Request" element="tns:RequestElement72"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType72">
+    <wsdl:operation name="Operation72">
+      <wsdl:input message="tns:RequestMessage72" name="Input72"/>
+      <wsdl:output message="tns:ResponseMessage72" name="Output72"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding72" type="tns:PortType72">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation72">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation72"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service72">
+    <wsdl:port name="Port72" binding="tns:Binding72">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage73">
+    <wsdl:part name="Response" element="tns:ResponseElement73"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage73">
+    <wsdl:part name="Request" element="tns:RequestElement73"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType73">
+    <wsdl:operation name="Operation73">
+      <wsdl:input message="tns:RequestMessage73" name="Input73"/>
+      <wsdl:output message="tns:ResponseMessage73" name="Output73"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding73" type="tns:PortType73">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation73">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation73"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service73">
+    <wsdl:port name="Port73" binding="tns:Binding73">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage74">
+    <wsdl:part name="Response" element="tns:ResponseElement74"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage74">
+    <wsdl:part name="Request" element="tns:RequestElement74"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType74">
+    <wsdl:operation name="Operation74">
+      <wsdl:input message="tns:RequestMessage74" name="Input74"/>
+      <wsdl:output message="tns:ResponseMessage74" name="Output74"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding74" type="tns:PortType74">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation74">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation74"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service74">
+    <wsdl:port name="Port74" binding="tns:Binding74">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage75">
+    <wsdl:part name="Response" element="tns:ResponseElement75"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage75">
+    <wsdl:part name="Request" element="tns:RequestElement75"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType75">
+    <wsdl:operation name="Operation75">
+      <wsdl:input message="tns:RequestMessage75" name="Input75"/>
+      <wsdl:output message="tns:ResponseMessage75" name="Output75"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding75" type="tns:PortType75">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation75">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation75"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service75">
+    <wsdl:port name="Port75" binding="tns:Binding75">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage76">
+    <wsdl:part name="Response" element="tns:ResponseElement76"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage76">
+    <wsdl:part name="Request" element="tns:RequestElement76"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType76">
+    <wsdl:operation name="Operation76">
+      <wsdl:input message="tns:RequestMessage76" name="Input76"/>
+      <wsdl:output message="tns:ResponseMessage76" name="Output76"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding76" type="tns:PortType76">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation76">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation76"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service76">
+    <wsdl:port name="Port76" binding="tns:Binding76">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage77">
+    <wsdl:part name="Response" element="tns:ResponseElement77"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage77">
+    <wsdl:part name="Request" element="tns:RequestElement77"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType77">
+    <wsdl:operation name="Operation77">
+      <wsdl:input message="tns:RequestMessage77" name="Input77"/>
+      <wsdl:output message="tns:ResponseMessage77" name="Output77"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding77" type="tns:PortType77">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation77">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation77"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service77">
+    <wsdl:port name="Port77" binding="tns:Binding77">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage78">
+    <wsdl:part name="Response" element="tns:ResponseElement78"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage78">
+    <wsdl:part name="Request" element="tns:RequestElement78"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType78">
+    <wsdl:operation name="Operation78">
+      <wsdl:input message="tns:RequestMessage78" name="Input78"/>
+      <wsdl:output message="tns:ResponseMessage78" name="Output78"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding78" type="tns:PortType78">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation78">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation78"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service78">
+    <wsdl:port name="Port78" binding="tns:Binding78">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage79">
+    <wsdl:part name="Response" element="tns:ResponseElement79"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage79">
+    <wsdl:part name="Request" element="tns:RequestElement79"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType79">
+    <wsdl:operation name="Operation79">
+      <wsdl:input message="tns:RequestMessage79" name="Input79"/>
+      <wsdl:output message="tns:ResponseMessage79" name="Output79"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding79" type="tns:PortType79">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation79">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation79"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service79">
+    <wsdl:port name="Port79" binding="tns:Binding79">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage80">
+    <wsdl:part name="Response" element="tns:ResponseElement80"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage80">
+    <wsdl:part name="Request" element="tns:RequestElement80"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType80">
+    <wsdl:operation name="Operation80">
+      <wsdl:input message="tns:RequestMessage80" name="Input80"/>
+      <wsdl:output message="tns:ResponseMessage80" name="Output80"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding80" type="tns:PortType80">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation80">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation80"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service80">
+    <wsdl:port name="Port80" binding="tns:Binding80">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage81">
+    <wsdl:part name="Response" element="tns:ResponseElement81"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage81">
+    <wsdl:part name="Request" element="tns:RequestElement81"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType81">
+    <wsdl:operation name="Operation81">
+      <wsdl:input message="tns:RequestMessage81" name="Input81"/>
+      <wsdl:output message="tns:ResponseMessage81" name="Output81"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding81" type="tns:PortType81">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation81">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation81"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service81">
+    <wsdl:port name="Port81" binding="tns:Binding81">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage82">
+    <wsdl:part name="Response" element="tns:ResponseElement82"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage82">
+    <wsdl:part name="Request" element="tns:RequestElement82"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType82">
+    <wsdl:operation name="Operation82">
+      <wsdl:input message="tns:RequestMessage82" name="Input82"/>
+      <wsdl:output message="tns:ResponseMessage82" name="Output82"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding82" type="tns:PortType82">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation82">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation82"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service82">
+    <wsdl:port name="Port82" binding="tns:Binding82">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage83">
+    <wsdl:part name="Response" element="tns:ResponseElement83"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage83">
+    <wsdl:part name="Request" element="tns:RequestElement83"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType83">
+    <wsdl:operation name="Operation83">
+      <wsdl:input message="tns:RequestMessage83" name="Input83"/>
+      <wsdl:output message="tns:ResponseMessage83" name="Output83"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding83" type="tns:PortType83">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation83">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation83"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service83">
+    <wsdl:port name="Port83" binding="tns:Binding83">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage84">
+    <wsdl:part name="Response" element="tns:ResponseElement84"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage84">
+    <wsdl:part name="Request" element="tns:RequestElement84"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType84">
+    <wsdl:operation name="Operation84">
+      <wsdl:input message="tns:RequestMessage84" name="Input84"/>
+      <wsdl:output message="tns:ResponseMessage84" name="Output84"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding84" type="tns:PortType84">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation84">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation84"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service84">
+    <wsdl:port name="Port84" binding="tns:Binding84">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage85">
+    <wsdl:part name="Response" element="tns:ResponseElement85"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage85">
+    <wsdl:part name="Request" element="tns:RequestElement85"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType85">
+    <wsdl:operation name="Operation85">
+      <wsdl:input message="tns:RequestMessage85" name="Input85"/>
+      <wsdl:output message="tns:ResponseMessage85" name="Output85"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding85" type="tns:PortType85">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation85">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation85"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service85">
+    <wsdl:port name="Port85" binding="tns:Binding85">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage86">
+    <wsdl:part name="Response" element="tns:ResponseElement86"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage86">
+    <wsdl:part name="Request" element="tns:RequestElement86"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType86">
+    <wsdl:operation name="Operation86">
+      <wsdl:input message="tns:RequestMessage86" name="Input86"/>
+      <wsdl:output message="tns:ResponseMessage86" name="Output86"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding86" type="tns:PortType86">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation86">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation86"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service86">
+    <wsdl:port name="Port86" binding="tns:Binding86">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage87">
+    <wsdl:part name="Response" element="tns:ResponseElement87"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage87">
+    <wsdl:part name="Request" element="tns:RequestElement87"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType87">
+    <wsdl:operation name="Operation87">
+      <wsdl:input message="tns:RequestMessage87" name="Input87"/>
+      <wsdl:output message="tns:ResponseMessage87" name="Output87"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding87" type="tns:PortType87">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation87">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation87"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service87">
+    <wsdl:port name="Port87" binding="tns:Binding87">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage88">
+    <wsdl:part name="Response" element="tns:ResponseElement88"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage88">
+    <wsdl:part name="Request" element="tns:RequestElement88"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType88">
+    <wsdl:operation name="Operation88">
+      <wsdl:input message="tns:RequestMessage88" name="Input88"/>
+      <wsdl:output message="tns:ResponseMessage88" name="Output88"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding88" type="tns:PortType88">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation88">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation88"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service88">
+    <wsdl:port name="Port88" binding="tns:Binding88">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage89">
+    <wsdl:part name="Response" element="tns:ResponseElement89"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage89">
+    <wsdl:part name="Request" element="tns:RequestElement89"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType89">
+    <wsdl:operation name="Operation89">
+      <wsdl:input message="tns:RequestMessage89" name="Input89"/>
+      <wsdl:output message="tns:ResponseMessage89" name="Output89"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding89" type="tns:PortType89">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation89">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation89"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service89">
+    <wsdl:port name="Port89" binding="tns:Binding89">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage90">
+    <wsdl:part name="Response" element="tns:ResponseElement90"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage90">
+    <wsdl:part name="Request" element="tns:RequestElement90"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType90">
+    <wsdl:operation name="Operation90">
+      <wsdl:input message="tns:RequestMessage90" name="Input90"/>
+      <wsdl:output message="tns:ResponseMessage90" name="Output90"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding90" type="tns:PortType90">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation90">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation90"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service90">
+    <wsdl:port name="Port90" binding="tns:Binding90">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage91">
+    <wsdl:part name="Response" element="tns:ResponseElement91"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage91">
+    <wsdl:part name="Request" element="tns:RequestElement91"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType91">
+    <wsdl:operation name="Operation91">
+      <wsdl:input message="tns:RequestMessage91" name="Input91"/>
+      <wsdl:output message="tns:ResponseMessage91" name="Output91"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding91" type="tns:PortType91">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation91">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation91"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service91">
+    <wsdl:port name="Port91" binding="tns:Binding91">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage92">
+    <wsdl:part name="Response" element="tns:ResponseElement92"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage92">
+    <wsdl:part name="Request" element="tns:RequestElement92"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType92">
+    <wsdl:operation name="Operation92">
+      <wsdl:input message="tns:RequestMessage92" name="Input92"/>
+      <wsdl:output message="tns:ResponseMessage92" name="Output92"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding92" type="tns:PortType92">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation92">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation92"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service92">
+    <wsdl:port name="Port92" binding="tns:Binding92">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage93">
+    <wsdl:part name="Response" element="tns:ResponseElement93"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage93">
+    <wsdl:part name="Request" element="tns:RequestElement93"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType93">
+    <wsdl:operation name="Operation93">
+      <wsdl:input message="tns:RequestMessage93" name="Input93"/>
+      <wsdl:output message="tns:ResponseMessage93" name="Output93"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding93" type="tns:PortType93">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation93">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation93"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service93">
+    <wsdl:port name="Port93" binding="tns:Binding93">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage94">
+    <wsdl:part name="Response" element="tns:ResponseElement94"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage94">
+    <wsdl:part name="Request" element="tns:RequestElement94"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType94">
+    <wsdl:operation name="Operation94">
+      <wsdl:input message="tns:RequestMessage94" name="Input94"/>
+      <wsdl:output message="tns:ResponseMessage94" name="Output94"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding94" type="tns:PortType94">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation94">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation94"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service94">
+    <wsdl:port name="Port94" binding="tns:Binding94">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage95">
+    <wsdl:part name="Response" element="tns:ResponseElement95"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage95">
+    <wsdl:part name="Request" element="tns:RequestElement95"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType95">
+    <wsdl:operation name="Operation95">
+      <wsdl:input message="tns:RequestMessage95" name="Input95"/>
+      <wsdl:output message="tns:ResponseMessage95" name="Output95"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding95" type="tns:PortType95">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation95">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation95"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service95">
+    <wsdl:port name="Port95" binding="tns:Binding95">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage96">
+    <wsdl:part name="Response" element="tns:ResponseElement96"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage96">
+    <wsdl:part name="Request" element="tns:RequestElement96"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType96">
+    <wsdl:operation name="Operation96">
+      <wsdl:input message="tns:RequestMessage96" name="Input96"/>
+      <wsdl:output message="tns:ResponseMessage96" name="Output96"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding96" type="tns:PortType96">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation96">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation96"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service96">
+    <wsdl:port name="Port96" binding="tns:Binding96">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage97">
+    <wsdl:part name="Response" element="tns:ResponseElement97"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage97">
+    <wsdl:part name="Request" element="tns:RequestElement97"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType97">
+    <wsdl:operation name="Operation97">
+      <wsdl:input message="tns:RequestMessage97" name="Input97"/>
+      <wsdl:output message="tns:ResponseMessage97" name="Output97"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding97" type="tns:PortType97">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation97">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation97"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service97">
+    <wsdl:port name="Port97" binding="tns:Binding97">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage98">
+    <wsdl:part name="Response" element="tns:ResponseElement98"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage98">
+    <wsdl:part name="Request" element="tns:RequestElement98"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType98">
+    <wsdl:operation name="Operation98">
+      <wsdl:input message="tns:RequestMessage98" name="Input98"/>
+      <wsdl:output message="tns:ResponseMessage98" name="Output98"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding98" type="tns:PortType98">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation98">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation98"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service98">
+    <wsdl:port name="Port98" binding="tns:Binding98">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage99">
+    <wsdl:part name="Response" element="tns:ResponseElement99"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage99">
+    <wsdl:part name="Request" element="tns:RequestElement99"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType99">
+    <wsdl:operation name="Operation99">
+      <wsdl:input message="tns:RequestMessage99" name="Input99"/>
+      <wsdl:output message="tns:ResponseMessage99" name="Output99"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding99" type="tns:PortType99">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation99">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation99"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service99">
+    <wsdl:port name="Port99" binding="tns:Binding99">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage100">
+    <wsdl:part name="Response" element="tns:ResponseElement100"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage100">
+    <wsdl:part name="Request" element="tns:RequestElement100"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType100">
+    <wsdl:operation name="Operation100">
+      <wsdl:input message="tns:RequestMessage100" name="Input100"/>
+      <wsdl:output message="tns:ResponseMessage100" name="Output100"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding100" type="tns:PortType100">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation100">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation100"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service100">
+    <wsdl:port name="Port100" binding="tns:Binding100">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage101">
+    <wsdl:part name="Response" element="tns:ResponseElement101"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage101">
+    <wsdl:part name="Request" element="tns:RequestElement101"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType101">
+    <wsdl:operation name="Operation101">
+      <wsdl:input message="tns:RequestMessage101" name="Input101"/>
+      <wsdl:output message="tns:ResponseMessage101" name="Output101"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding101" type="tns:PortType101">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation101">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation101"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service101">
+    <wsdl:port name="Port101" binding="tns:Binding101">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage102">
+    <wsdl:part name="Response" element="tns:ResponseElement102"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage102">
+    <wsdl:part name="Request" element="tns:RequestElement102"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType102">
+    <wsdl:operation name="Operation102">
+      <wsdl:input message="tns:RequestMessage102" name="Input102"/>
+      <wsdl:output message="tns:ResponseMessage102" name="Output102"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding102" type="tns:PortType102">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation102">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation102"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service102">
+    <wsdl:port name="Port102" binding="tns:Binding102">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage103">
+    <wsdl:part name="Response" element="tns:ResponseElement103"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage103">
+    <wsdl:part name="Request" element="tns:RequestElement103"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType103">
+    <wsdl:operation name="Operation103">
+      <wsdl:input message="tns:RequestMessage103" name="Input103"/>
+      <wsdl:output message="tns:ResponseMessage103" name="Output103"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding103" type="tns:PortType103">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation103">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation103"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service103">
+    <wsdl:port name="Port103" binding="tns:Binding103">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage104">
+    <wsdl:part name="Response" element="tns:ResponseElement104"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage104">
+    <wsdl:part name="Request" element="tns:RequestElement104"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType104">
+    <wsdl:operation name="Operation104">
+      <wsdl:input message="tns:RequestMessage104" name="Input104"/>
+      <wsdl:output message="tns:ResponseMessage104" name="Output104"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding104" type="tns:PortType104">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation104">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation104"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service104">
+    <wsdl:port name="Port104" binding="tns:Binding104">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage105">
+    <wsdl:part name="Response" element="tns:ResponseElement105"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage105">
+    <wsdl:part name="Request" element="tns:RequestElement105"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType105">
+    <wsdl:operation name="Operation105">
+      <wsdl:input message="tns:RequestMessage105" name="Input105"/>
+      <wsdl:output message="tns:ResponseMessage105" name="Output105"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding105" type="tns:PortType105">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation105">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation105"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service105">
+    <wsdl:port name="Port105" binding="tns:Binding105">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage106">
+    <wsdl:part name="Response" element="tns:ResponseElement106"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage106">
+    <wsdl:part name="Request" element="tns:RequestElement106"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType106">
+    <wsdl:operation name="Operation106">
+      <wsdl:input message="tns:RequestMessage106" name="Input106"/>
+      <wsdl:output message="tns:ResponseMessage106" name="Output106"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding106" type="tns:PortType106">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation106">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation106"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service106">
+    <wsdl:port name="Port106" binding="tns:Binding106">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage107">
+    <wsdl:part name="Response" element="tns:ResponseElement107"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage107">
+    <wsdl:part name="Request" element="tns:RequestElement107"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType107">
+    <wsdl:operation name="Operation107">
+      <wsdl:input message="tns:RequestMessage107" name="Input107"/>
+      <wsdl:output message="tns:ResponseMessage107" name="Output107"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding107" type="tns:PortType107">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation107">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation107"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service107">
+    <wsdl:port name="Port107" binding="tns:Binding107">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage108">
+    <wsdl:part name="Response" element="tns:ResponseElement108"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage108">
+    <wsdl:part name="Request" element="tns:RequestElement108"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType108">
+    <wsdl:operation name="Operation108">
+      <wsdl:input message="tns:RequestMessage108" name="Input108"/>
+      <wsdl:output message="tns:ResponseMessage108" name="Output108"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding108" type="tns:PortType108">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation108">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation108"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service108">
+    <wsdl:port name="Port108" binding="tns:Binding108">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage109">
+    <wsdl:part name="Response" element="tns:ResponseElement109"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage109">
+    <wsdl:part name="Request" element="tns:RequestElement109"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType109">
+    <wsdl:operation name="Operation109">
+      <wsdl:input message="tns:RequestMessage109" name="Input109"/>
+      <wsdl:output message="tns:ResponseMessage109" name="Output109"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding109" type="tns:PortType109">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation109">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation109"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service109">
+    <wsdl:port name="Port109" binding="tns:Binding109">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage110">
+    <wsdl:part name="Response" element="tns:ResponseElement110"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage110">
+    <wsdl:part name="Request" element="tns:RequestElement110"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType110">
+    <wsdl:operation name="Operation110">
+      <wsdl:input message="tns:RequestMessage110" name="Input110"/>
+      <wsdl:output message="tns:ResponseMessage110" name="Output110"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding110" type="tns:PortType110">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation110">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation110"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service110">
+    <wsdl:port name="Port110" binding="tns:Binding110">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage111">
+    <wsdl:part name="Response" element="tns:ResponseElement111"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage111">
+    <wsdl:part name="Request" element="tns:RequestElement111"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType111">
+    <wsdl:operation name="Operation111">
+      <wsdl:input message="tns:RequestMessage111" name="Input111"/>
+      <wsdl:output message="tns:ResponseMessage111" name="Output111"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding111" type="tns:PortType111">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation111">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation111"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service111">
+    <wsdl:port name="Port111" binding="tns:Binding111">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage112">
+    <wsdl:part name="Response" element="tns:ResponseElement112"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage112">
+    <wsdl:part name="Request" element="tns:RequestElement112"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType112">
+    <wsdl:operation name="Operation112">
+      <wsdl:input message="tns:RequestMessage112" name="Input112"/>
+      <wsdl:output message="tns:ResponseMessage112" name="Output112"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding112" type="tns:PortType112">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation112">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation112"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service112">
+    <wsdl:port name="Port112" binding="tns:Binding112">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage113">
+    <wsdl:part name="Response" element="tns:ResponseElement113"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage113">
+    <wsdl:part name="Request" element="tns:RequestElement113"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType113">
+    <wsdl:operation name="Operation113">
+      <wsdl:input message="tns:RequestMessage113" name="Input113"/>
+      <wsdl:output message="tns:ResponseMessage113" name="Output113"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding113" type="tns:PortType113">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation113">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation113"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service113">
+    <wsdl:port name="Port113" binding="tns:Binding113">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage114">
+    <wsdl:part name="Response" element="tns:ResponseElement114"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage114">
+    <wsdl:part name="Request" element="tns:RequestElement114"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType114">
+    <wsdl:operation name="Operation114">
+      <wsdl:input message="tns:RequestMessage114" name="Input114"/>
+      <wsdl:output message="tns:ResponseMessage114" name="Output114"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding114" type="tns:PortType114">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation114">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation114"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service114">
+    <wsdl:port name="Port114" binding="tns:Binding114">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage115">
+    <wsdl:part name="Response" element="tns:ResponseElement115"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage115">
+    <wsdl:part name="Request" element="tns:RequestElement115"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType115">
+    <wsdl:operation name="Operation115">
+      <wsdl:input message="tns:RequestMessage115" name="Input115"/>
+      <wsdl:output message="tns:ResponseMessage115" name="Output115"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding115" type="tns:PortType115">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation115">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation115"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service115">
+    <wsdl:port name="Port115" binding="tns:Binding115">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage116">
+    <wsdl:part name="Response" element="tns:ResponseElement116"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage116">
+    <wsdl:part name="Request" element="tns:RequestElement116"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType116">
+    <wsdl:operation name="Operation116">
+      <wsdl:input message="tns:RequestMessage116" name="Input116"/>
+      <wsdl:output message="tns:ResponseMessage116" name="Output116"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding116" type="tns:PortType116">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation116">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation116"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service116">
+    <wsdl:port name="Port116" binding="tns:Binding116">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage117">
+    <wsdl:part name="Response" element="tns:ResponseElement117"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage117">
+    <wsdl:part name="Request" element="tns:RequestElement117"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType117">
+    <wsdl:operation name="Operation117">
+      <wsdl:input message="tns:RequestMessage117" name="Input117"/>
+      <wsdl:output message="tns:ResponseMessage117" name="Output117"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding117" type="tns:PortType117">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation117">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation117"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service117">
+    <wsdl:port name="Port117" binding="tns:Binding117">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage118">
+    <wsdl:part name="Response" element="tns:ResponseElement118"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage118">
+    <wsdl:part name="Request" element="tns:RequestElement118"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType118">
+    <wsdl:operation name="Operation118">
+      <wsdl:input message="tns:RequestMessage118" name="Input118"/>
+      <wsdl:output message="tns:ResponseMessage118" name="Output118"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding118" type="tns:PortType118">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation118">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation118"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service118">
+    <wsdl:port name="Port118" binding="tns:Binding118">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage119">
+    <wsdl:part name="Response" element="tns:ResponseElement119"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage119">
+    <wsdl:part name="Request" element="tns:RequestElement119"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType119">
+    <wsdl:operation name="Operation119">
+      <wsdl:input message="tns:RequestMessage119" name="Input119"/>
+      <wsdl:output message="tns:ResponseMessage119" name="Output119"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding119" type="tns:PortType119">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation119">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation119"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service119">
+    <wsdl:port name="Port119" binding="tns:Binding119">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage120">
+    <wsdl:part name="Response" element="tns:ResponseElement120"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage120">
+    <wsdl:part name="Request" element="tns:RequestElement120"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType120">
+    <wsdl:operation name="Operation120">
+      <wsdl:input message="tns:RequestMessage120" name="Input120"/>
+      <wsdl:output message="tns:ResponseMessage120" name="Output120"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding120" type="tns:PortType120">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation120">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation120"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service120">
+    <wsdl:port name="Port120" binding="tns:Binding120">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage121">
+    <wsdl:part name="Response" element="tns:ResponseElement121"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage121">
+    <wsdl:part name="Request" element="tns:RequestElement121"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType121">
+    <wsdl:operation name="Operation121">
+      <wsdl:input message="tns:RequestMessage121" name="Input121"/>
+      <wsdl:output message="tns:ResponseMessage121" name="Output121"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding121" type="tns:PortType121">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation121">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation121"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service121">
+    <wsdl:port name="Port121" binding="tns:Binding121">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage122">
+    <wsdl:part name="Response" element="tns:ResponseElement122"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage122">
+    <wsdl:part name="Request" element="tns:RequestElement122"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType122">
+    <wsdl:operation name="Operation122">
+      <wsdl:input message="tns:RequestMessage122" name="Input122"/>
+      <wsdl:output message="tns:ResponseMessage122" name="Output122"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding122" type="tns:PortType122">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation122">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation122"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service122">
+    <wsdl:port name="Port122" binding="tns:Binding122">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage123">
+    <wsdl:part name="Response" element="tns:ResponseElement123"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage123">
+    <wsdl:part name="Request" element="tns:RequestElement123"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType123">
+    <wsdl:operation name="Operation123">
+      <wsdl:input message="tns:RequestMessage123" name="Input123"/>
+      <wsdl:output message="tns:ResponseMessage123" name="Output123"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding123" type="tns:PortType123">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation123">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation123"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service123">
+    <wsdl:port name="Port123" binding="tns:Binding123">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage124">
+    <wsdl:part name="Response" element="tns:ResponseElement124"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage124">
+    <wsdl:part name="Request" element="tns:RequestElement124"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType124">
+    <wsdl:operation name="Operation124">
+      <wsdl:input message="tns:RequestMessage124" name="Input124"/>
+      <wsdl:output message="tns:ResponseMessage124" name="Output124"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding124" type="tns:PortType124">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation124">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation124"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service124">
+    <wsdl:port name="Port124" binding="tns:Binding124">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage125">
+    <wsdl:part name="Response" element="tns:ResponseElement125"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage125">
+    <wsdl:part name="Request" element="tns:RequestElement125"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType125">
+    <wsdl:operation name="Operation125">
+      <wsdl:input message="tns:RequestMessage125" name="Input125"/>
+      <wsdl:output message="tns:ResponseMessage125" name="Output125"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding125" type="tns:PortType125">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation125">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation125"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service125">
+    <wsdl:port name="Port125" binding="tns:Binding125">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage126">
+    <wsdl:part name="Response" element="tns:ResponseElement126"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage126">
+    <wsdl:part name="Request" element="tns:RequestElement126"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType126">
+    <wsdl:operation name="Operation126">
+      <wsdl:input message="tns:RequestMessage126" name="Input126"/>
+      <wsdl:output message="tns:ResponseMessage126" name="Output126"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding126" type="tns:PortType126">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation126">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation126"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service126">
+    <wsdl:port name="Port126" binding="tns:Binding126">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage127">
+    <wsdl:part name="Response" element="tns:ResponseElement127"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage127">
+    <wsdl:part name="Request" element="tns:RequestElement127"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType127">
+    <wsdl:operation name="Operation127">
+      <wsdl:input message="tns:RequestMessage127" name="Input127"/>
+      <wsdl:output message="tns:ResponseMessage127" name="Output127"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding127" type="tns:PortType127">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation127">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation127"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service127">
+    <wsdl:port name="Port127" binding="tns:Binding127">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage128">
+    <wsdl:part name="Response" element="tns:ResponseElement128"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage128">
+    <wsdl:part name="Request" element="tns:RequestElement128"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType128">
+    <wsdl:operation name="Operation128">
+      <wsdl:input message="tns:RequestMessage128" name="Input128"/>
+      <wsdl:output message="tns:ResponseMessage128" name="Output128"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding128" type="tns:PortType128">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation128">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation128"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service128">
+    <wsdl:port name="Port128" binding="tns:Binding128">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage129">
+    <wsdl:part name="Response" element="tns:ResponseElement129"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage129">
+    <wsdl:part name="Request" element="tns:RequestElement129"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType129">
+    <wsdl:operation name="Operation129">
+      <wsdl:input message="tns:RequestMessage129" name="Input129"/>
+      <wsdl:output message="tns:ResponseMessage129" name="Output129"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding129" type="tns:PortType129">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation129">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation129"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service129">
+    <wsdl:port name="Port129" binding="tns:Binding129">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage130">
+    <wsdl:part name="Response" element="tns:ResponseElement130"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage130">
+    <wsdl:part name="Request" element="tns:RequestElement130"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType130">
+    <wsdl:operation name="Operation130">
+      <wsdl:input message="tns:RequestMessage130" name="Input130"/>
+      <wsdl:output message="tns:ResponseMessage130" name="Output130"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding130" type="tns:PortType130">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation130">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation130"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service130">
+    <wsdl:port name="Port130" binding="tns:Binding130">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage131">
+    <wsdl:part name="Response" element="tns:ResponseElement131"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage131">
+    <wsdl:part name="Request" element="tns:RequestElement131"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType131">
+    <wsdl:operation name="Operation131">
+      <wsdl:input message="tns:RequestMessage131" name="Input131"/>
+      <wsdl:output message="tns:ResponseMessage131" name="Output131"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding131" type="tns:PortType131">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation131">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation131"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service131">
+    <wsdl:port name="Port131" binding="tns:Binding131">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage132">
+    <wsdl:part name="Response" element="tns:ResponseElement132"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage132">
+    <wsdl:part name="Request" element="tns:RequestElement132"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType132">
+    <wsdl:operation name="Operation132">
+      <wsdl:input message="tns:RequestMessage132" name="Input132"/>
+      <wsdl:output message="tns:ResponseMessage132" name="Output132"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding132" type="tns:PortType132">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation132">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation132"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service132">
+    <wsdl:port name="Port132" binding="tns:Binding132">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage133">
+    <wsdl:part name="Response" element="tns:ResponseElement133"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage133">
+    <wsdl:part name="Request" element="tns:RequestElement133"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType133">
+    <wsdl:operation name="Operation133">
+      <wsdl:input message="tns:RequestMessage133" name="Input133"/>
+      <wsdl:output message="tns:ResponseMessage133" name="Output133"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding133" type="tns:PortType133">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation133">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation133"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service133">
+    <wsdl:port name="Port133" binding="tns:Binding133">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage134">
+    <wsdl:part name="Response" element="tns:ResponseElement134"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage134">
+    <wsdl:part name="Request" element="tns:RequestElement134"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType134">
+    <wsdl:operation name="Operation134">
+      <wsdl:input message="tns:RequestMessage134" name="Input134"/>
+      <wsdl:output message="tns:ResponseMessage134" name="Output134"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding134" type="tns:PortType134">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation134">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation134"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service134">
+    <wsdl:port name="Port134" binding="tns:Binding134">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage135">
+    <wsdl:part name="Response" element="tns:ResponseElement135"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage135">
+    <wsdl:part name="Request" element="tns:RequestElement135"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType135">
+    <wsdl:operation name="Operation135">
+      <wsdl:input message="tns:RequestMessage135" name="Input135"/>
+      <wsdl:output message="tns:ResponseMessage135" name="Output135"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding135" type="tns:PortType135">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation135">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation135"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service135">
+    <wsdl:port name="Port135" binding="tns:Binding135">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage136">
+    <wsdl:part name="Response" element="tns:ResponseElement136"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage136">
+    <wsdl:part name="Request" element="tns:RequestElement136"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType136">
+    <wsdl:operation name="Operation136">
+      <wsdl:input message="tns:RequestMessage136" name="Input136"/>
+      <wsdl:output message="tns:ResponseMessage136" name="Output136"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding136" type="tns:PortType136">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation136">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation136"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service136">
+    <wsdl:port name="Port136" binding="tns:Binding136">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage137">
+    <wsdl:part name="Response" element="tns:ResponseElement137"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage137">
+    <wsdl:part name="Request" element="tns:RequestElement137"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType137">
+    <wsdl:operation name="Operation137">
+      <wsdl:input message="tns:RequestMessage137" name="Input137"/>
+      <wsdl:output message="tns:ResponseMessage137" name="Output137"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding137" type="tns:PortType137">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation137">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation137"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service137">
+    <wsdl:port name="Port137" binding="tns:Binding137">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage138">
+    <wsdl:part name="Response" element="tns:ResponseElement138"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage138">
+    <wsdl:part name="Request" element="tns:RequestElement138"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType138">
+    <wsdl:operation name="Operation138">
+      <wsdl:input message="tns:RequestMessage138" name="Input138"/>
+      <wsdl:output message="tns:ResponseMessage138" name="Output138"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding138" type="tns:PortType138">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation138">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation138"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service138">
+    <wsdl:port name="Port138" binding="tns:Binding138">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage139">
+    <wsdl:part name="Response" element="tns:ResponseElement139"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage139">
+    <wsdl:part name="Request" element="tns:RequestElement139"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType139">
+    <wsdl:operation name="Operation139">
+      <wsdl:input message="tns:RequestMessage139" name="Input139"/>
+      <wsdl:output message="tns:ResponseMessage139" name="Output139"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding139" type="tns:PortType139">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation139">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation139"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service139">
+    <wsdl:port name="Port139" binding="tns:Binding139">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage140">
+    <wsdl:part name="Response" element="tns:ResponseElement140"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage140">
+    <wsdl:part name="Request" element="tns:RequestElement140"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType140">
+    <wsdl:operation name="Operation140">
+      <wsdl:input message="tns:RequestMessage140" name="Input140"/>
+      <wsdl:output message="tns:ResponseMessage140" name="Output140"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding140" type="tns:PortType140">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation140">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation140"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service140">
+    <wsdl:port name="Port140" binding="tns:Binding140">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage141">
+    <wsdl:part name="Response" element="tns:ResponseElement141"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage141">
+    <wsdl:part name="Request" element="tns:RequestElement141"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType141">
+    <wsdl:operation name="Operation141">
+      <wsdl:input message="tns:RequestMessage141" name="Input141"/>
+      <wsdl:output message="tns:ResponseMessage141" name="Output141"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding141" type="tns:PortType141">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation141">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation141"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service141">
+    <wsdl:port name="Port141" binding="tns:Binding141">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage142">
+    <wsdl:part name="Response" element="tns:ResponseElement142"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage142">
+    <wsdl:part name="Request" element="tns:RequestElement142"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType142">
+    <wsdl:operation name="Operation142">
+      <wsdl:input message="tns:RequestMessage142" name="Input142"/>
+      <wsdl:output message="tns:ResponseMessage142" name="Output142"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding142" type="tns:PortType142">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation142">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation142"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service142">
+    <wsdl:port name="Port142" binding="tns:Binding142">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage143">
+    <wsdl:part name="Response" element="tns:ResponseElement143"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage143">
+    <wsdl:part name="Request" element="tns:RequestElement143"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType143">
+    <wsdl:operation name="Operation143">
+      <wsdl:input message="tns:RequestMessage143" name="Input143"/>
+      <wsdl:output message="tns:ResponseMessage143" name="Output143"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding143" type="tns:PortType143">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation143">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation143"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service143">
+    <wsdl:port name="Port143" binding="tns:Binding143">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage144">
+    <wsdl:part name="Response" element="tns:ResponseElement144"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage144">
+    <wsdl:part name="Request" element="tns:RequestElement144"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType144">
+    <wsdl:operation name="Operation144">
+      <wsdl:input message="tns:RequestMessage144" name="Input144"/>
+      <wsdl:output message="tns:ResponseMessage144" name="Output144"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding144" type="tns:PortType144">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation144">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation144"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service144">
+    <wsdl:port name="Port144" binding="tns:Binding144">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage145">
+    <wsdl:part name="Response" element="tns:ResponseElement145"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage145">
+    <wsdl:part name="Request" element="tns:RequestElement145"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType145">
+    <wsdl:operation name="Operation145">
+      <wsdl:input message="tns:RequestMessage145" name="Input145"/>
+      <wsdl:output message="tns:ResponseMessage145" name="Output145"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding145" type="tns:PortType145">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation145">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation145"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service145">
+    <wsdl:port name="Port145" binding="tns:Binding145">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage146">
+    <wsdl:part name="Response" element="tns:ResponseElement146"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage146">
+    <wsdl:part name="Request" element="tns:RequestElement146"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType146">
+    <wsdl:operation name="Operation146">
+      <wsdl:input message="tns:RequestMessage146" name="Input146"/>
+      <wsdl:output message="tns:ResponseMessage146" name="Output146"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding146" type="tns:PortType146">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation146">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation146"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service146">
+    <wsdl:port name="Port146" binding="tns:Binding146">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage147">
+    <wsdl:part name="Response" element="tns:ResponseElement147"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage147">
+    <wsdl:part name="Request" element="tns:RequestElement147"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType147">
+    <wsdl:operation name="Operation147">
+      <wsdl:input message="tns:RequestMessage147" name="Input147"/>
+      <wsdl:output message="tns:ResponseMessage147" name="Output147"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding147" type="tns:PortType147">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation147">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation147"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service147">
+    <wsdl:port name="Port147" binding="tns:Binding147">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage148">
+    <wsdl:part name="Response" element="tns:ResponseElement148"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage148">
+    <wsdl:part name="Request" element="tns:RequestElement148"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType148">
+    <wsdl:operation name="Operation148">
+      <wsdl:input message="tns:RequestMessage148" name="Input148"/>
+      <wsdl:output message="tns:ResponseMessage148" name="Output148"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding148" type="tns:PortType148">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation148">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation148"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service148">
+    <wsdl:port name="Port148" binding="tns:Binding148">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage149">
+    <wsdl:part name="Response" element="tns:ResponseElement149"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage149">
+    <wsdl:part name="Request" element="tns:RequestElement149"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType149">
+    <wsdl:operation name="Operation149">
+      <wsdl:input message="tns:RequestMessage149" name="Input149"/>
+      <wsdl:output message="tns:ResponseMessage149" name="Output149"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding149" type="tns:PortType149">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation149">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation149"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service149">
+    <wsdl:port name="Port149" binding="tns:Binding149">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage150">
+    <wsdl:part name="Response" element="tns:ResponseElement150"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage150">
+    <wsdl:part name="Request" element="tns:RequestElement150"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType150">
+    <wsdl:operation name="Operation150">
+      <wsdl:input message="tns:RequestMessage150" name="Input150"/>
+      <wsdl:output message="tns:ResponseMessage150" name="Output150"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding150" type="tns:PortType150">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation150">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation150"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service150">
+    <wsdl:port name="Port150" binding="tns:Binding150">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage151">
+    <wsdl:part name="Response" element="tns:ResponseElement151"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage151">
+    <wsdl:part name="Request" element="tns:RequestElement151"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType151">
+    <wsdl:operation name="Operation151">
+      <wsdl:input message="tns:RequestMessage151" name="Input151"/>
+      <wsdl:output message="tns:ResponseMessage151" name="Output151"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding151" type="tns:PortType151">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation151">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation151"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service151">
+    <wsdl:port name="Port151" binding="tns:Binding151">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage152">
+    <wsdl:part name="Response" element="tns:ResponseElement152"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage152">
+    <wsdl:part name="Request" element="tns:RequestElement152"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType152">
+    <wsdl:operation name="Operation152">
+      <wsdl:input message="tns:RequestMessage152" name="Input152"/>
+      <wsdl:output message="tns:ResponseMessage152" name="Output152"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding152" type="tns:PortType152">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation152">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation152"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service152">
+    <wsdl:port name="Port152" binding="tns:Binding152">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage153">
+    <wsdl:part name="Response" element="tns:ResponseElement153"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage153">
+    <wsdl:part name="Request" element="tns:RequestElement153"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType153">
+    <wsdl:operation name="Operation153">
+      <wsdl:input message="tns:RequestMessage153" name="Input153"/>
+      <wsdl:output message="tns:ResponseMessage153" name="Output153"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding153" type="tns:PortType153">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation153">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation153"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service153">
+    <wsdl:port name="Port153" binding="tns:Binding153">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage154">
+    <wsdl:part name="Response" element="tns:ResponseElement154"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage154">
+    <wsdl:part name="Request" element="tns:RequestElement154"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType154">
+    <wsdl:operation name="Operation154">
+      <wsdl:input message="tns:RequestMessage154" name="Input154"/>
+      <wsdl:output message="tns:ResponseMessage154" name="Output154"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding154" type="tns:PortType154">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation154">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation154"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service154">
+    <wsdl:port name="Port154" binding="tns:Binding154">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage155">
+    <wsdl:part name="Response" element="tns:ResponseElement155"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage155">
+    <wsdl:part name="Request" element="tns:RequestElement155"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType155">
+    <wsdl:operation name="Operation155">
+      <wsdl:input message="tns:RequestMessage155" name="Input155"/>
+      <wsdl:output message="tns:ResponseMessage155" name="Output155"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding155" type="tns:PortType155">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation155">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation155"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service155">
+    <wsdl:port name="Port155" binding="tns:Binding155">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage156">
+    <wsdl:part name="Response" element="tns:ResponseElement156"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage156">
+    <wsdl:part name="Request" element="tns:RequestElement156"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType156">
+    <wsdl:operation name="Operation156">
+      <wsdl:input message="tns:RequestMessage156" name="Input156"/>
+      <wsdl:output message="tns:ResponseMessage156" name="Output156"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding156" type="tns:PortType156">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation156">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation156"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service156">
+    <wsdl:port name="Port156" binding="tns:Binding156">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage157">
+    <wsdl:part name="Response" element="tns:ResponseElement157"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage157">
+    <wsdl:part name="Request" element="tns:RequestElement157"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType157">
+    <wsdl:operation name="Operation157">
+      <wsdl:input message="tns:RequestMessage157" name="Input157"/>
+      <wsdl:output message="tns:ResponseMessage157" name="Output157"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding157" type="tns:PortType157">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation157">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation157"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service157">
+    <wsdl:port name="Port157" binding="tns:Binding157">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage158">
+    <wsdl:part name="Response" element="tns:ResponseElement158"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage158">
+    <wsdl:part name="Request" element="tns:RequestElement158"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType158">
+    <wsdl:operation name="Operation158">
+      <wsdl:input message="tns:RequestMessage158" name="Input158"/>
+      <wsdl:output message="tns:ResponseMessage158" name="Output158"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding158" type="tns:PortType158">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation158">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation158"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service158">
+    <wsdl:port name="Port158" binding="tns:Binding158">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage159">
+    <wsdl:part name="Response" element="tns:ResponseElement159"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage159">
+    <wsdl:part name="Request" element="tns:RequestElement159"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType159">
+    <wsdl:operation name="Operation159">
+      <wsdl:input message="tns:RequestMessage159" name="Input159"/>
+      <wsdl:output message="tns:ResponseMessage159" name="Output159"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding159" type="tns:PortType159">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation159">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation159"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service159">
+    <wsdl:port name="Port159" binding="tns:Binding159">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage160">
+    <wsdl:part name="Response" element="tns:ResponseElement160"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage160">
+    <wsdl:part name="Request" element="tns:RequestElement160"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType160">
+    <wsdl:operation name="Operation160">
+      <wsdl:input message="tns:RequestMessage160" name="Input160"/>
+      <wsdl:output message="tns:ResponseMessage160" name="Output160"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding160" type="tns:PortType160">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation160">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation160"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service160">
+    <wsdl:port name="Port160" binding="tns:Binding160">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage161">
+    <wsdl:part name="Response" element="tns:ResponseElement161"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage161">
+    <wsdl:part name="Request" element="tns:RequestElement161"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType161">
+    <wsdl:operation name="Operation161">
+      <wsdl:input message="tns:RequestMessage161" name="Input161"/>
+      <wsdl:output message="tns:ResponseMessage161" name="Output161"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding161" type="tns:PortType161">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation161">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation161"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service161">
+    <wsdl:port name="Port161" binding="tns:Binding161">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage162">
+    <wsdl:part name="Response" element="tns:ResponseElement162"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage162">
+    <wsdl:part name="Request" element="tns:RequestElement162"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType162">
+    <wsdl:operation name="Operation162">
+      <wsdl:input message="tns:RequestMessage162" name="Input162"/>
+      <wsdl:output message="tns:ResponseMessage162" name="Output162"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding162" type="tns:PortType162">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation162">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation162"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service162">
+    <wsdl:port name="Port162" binding="tns:Binding162">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage163">
+    <wsdl:part name="Response" element="tns:ResponseElement163"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage163">
+    <wsdl:part name="Request" element="tns:RequestElement163"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType163">
+    <wsdl:operation name="Operation163">
+      <wsdl:input message="tns:RequestMessage163" name="Input163"/>
+      <wsdl:output message="tns:ResponseMessage163" name="Output163"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding163" type="tns:PortType163">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation163">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation163"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service163">
+    <wsdl:port name="Port163" binding="tns:Binding163">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage164">
+    <wsdl:part name="Response" element="tns:ResponseElement164"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage164">
+    <wsdl:part name="Request" element="tns:RequestElement164"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType164">
+    <wsdl:operation name="Operation164">
+      <wsdl:input message="tns:RequestMessage164" name="Input164"/>
+      <wsdl:output message="tns:ResponseMessage164" name="Output164"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding164" type="tns:PortType164">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation164">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation164"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service164">
+    <wsdl:port name="Port164" binding="tns:Binding164">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage165">
+    <wsdl:part name="Response" element="tns:ResponseElement165"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage165">
+    <wsdl:part name="Request" element="tns:RequestElement165"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType165">
+    <wsdl:operation name="Operation165">
+      <wsdl:input message="tns:RequestMessage165" name="Input165"/>
+      <wsdl:output message="tns:ResponseMessage165" name="Output165"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding165" type="tns:PortType165">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation165">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation165"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service165">
+    <wsdl:port name="Port165" binding="tns:Binding165">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage166">
+    <wsdl:part name="Response" element="tns:ResponseElement166"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage166">
+    <wsdl:part name="Request" element="tns:RequestElement166"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType166">
+    <wsdl:operation name="Operation166">
+      <wsdl:input message="tns:RequestMessage166" name="Input166"/>
+      <wsdl:output message="tns:ResponseMessage166" name="Output166"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding166" type="tns:PortType166">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation166">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation166"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service166">
+    <wsdl:port name="Port166" binding="tns:Binding166">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage167">
+    <wsdl:part name="Response" element="tns:ResponseElement167"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage167">
+    <wsdl:part name="Request" element="tns:RequestElement167"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType167">
+    <wsdl:operation name="Operation167">
+      <wsdl:input message="tns:RequestMessage167" name="Input167"/>
+      <wsdl:output message="tns:ResponseMessage167" name="Output167"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding167" type="tns:PortType167">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation167">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation167"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service167">
+    <wsdl:port name="Port167" binding="tns:Binding167">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage168">
+    <wsdl:part name="Response" element="tns:ResponseElement168"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage168">
+    <wsdl:part name="Request" element="tns:RequestElement168"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType168">
+    <wsdl:operation name="Operation168">
+      <wsdl:input message="tns:RequestMessage168" name="Input168"/>
+      <wsdl:output message="tns:ResponseMessage168" name="Output168"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding168" type="tns:PortType168">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation168">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation168"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service168">
+    <wsdl:port name="Port168" binding="tns:Binding168">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage169">
+    <wsdl:part name="Response" element="tns:ResponseElement169"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage169">
+    <wsdl:part name="Request" element="tns:RequestElement169"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType169">
+    <wsdl:operation name="Operation169">
+      <wsdl:input message="tns:RequestMessage169" name="Input169"/>
+      <wsdl:output message="tns:ResponseMessage169" name="Output169"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding169" type="tns:PortType169">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation169">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation169"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service169">
+    <wsdl:port name="Port169" binding="tns:Binding169">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage170">
+    <wsdl:part name="Response" element="tns:ResponseElement170"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage170">
+    <wsdl:part name="Request" element="tns:RequestElement170"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType170">
+    <wsdl:operation name="Operation170">
+      <wsdl:input message="tns:RequestMessage170" name="Input170"/>
+      <wsdl:output message="tns:ResponseMessage170" name="Output170"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding170" type="tns:PortType170">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation170">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation170"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service170">
+    <wsdl:port name="Port170" binding="tns:Binding170">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage171">
+    <wsdl:part name="Response" element="tns:ResponseElement171"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage171">
+    <wsdl:part name="Request" element="tns:RequestElement171"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType171">
+    <wsdl:operation name="Operation171">
+      <wsdl:input message="tns:RequestMessage171" name="Input171"/>
+      <wsdl:output message="tns:ResponseMessage171" name="Output171"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding171" type="tns:PortType171">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation171">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation171"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service171">
+    <wsdl:port name="Port171" binding="tns:Binding171">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage172">
+    <wsdl:part name="Response" element="tns:ResponseElement172"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage172">
+    <wsdl:part name="Request" element="tns:RequestElement172"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType172">
+    <wsdl:operation name="Operation172">
+      <wsdl:input message="tns:RequestMessage172" name="Input172"/>
+      <wsdl:output message="tns:ResponseMessage172" name="Output172"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding172" type="tns:PortType172">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation172">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation172"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service172">
+    <wsdl:port name="Port172" binding="tns:Binding172">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage173">
+    <wsdl:part name="Response" element="tns:ResponseElement173"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage173">
+    <wsdl:part name="Request" element="tns:RequestElement173"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType173">
+    <wsdl:operation name="Operation173">
+      <wsdl:input message="tns:RequestMessage173" name="Input173"/>
+      <wsdl:output message="tns:ResponseMessage173" name="Output173"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding173" type="tns:PortType173">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation173">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation173"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service173">
+    <wsdl:port name="Port173" binding="tns:Binding173">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage174">
+    <wsdl:part name="Response" element="tns:ResponseElement174"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage174">
+    <wsdl:part name="Request" element="tns:RequestElement174"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType174">
+    <wsdl:operation name="Operation174">
+      <wsdl:input message="tns:RequestMessage174" name="Input174"/>
+      <wsdl:output message="tns:ResponseMessage174" name="Output174"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding174" type="tns:PortType174">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation174">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation174"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service174">
+    <wsdl:port name="Port174" binding="tns:Binding174">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage175">
+    <wsdl:part name="Response" element="tns:ResponseElement175"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage175">
+    <wsdl:part name="Request" element="tns:RequestElement175"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType175">
+    <wsdl:operation name="Operation175">
+      <wsdl:input message="tns:RequestMessage175" name="Input175"/>
+      <wsdl:output message="tns:ResponseMessage175" name="Output175"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding175" type="tns:PortType175">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation175">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation175"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service175">
+    <wsdl:port name="Port175" binding="tns:Binding175">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage176">
+    <wsdl:part name="Response" element="tns:ResponseElement176"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage176">
+    <wsdl:part name="Request" element="tns:RequestElement176"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType176">
+    <wsdl:operation name="Operation176">
+      <wsdl:input message="tns:RequestMessage176" name="Input176"/>
+      <wsdl:output message="tns:ResponseMessage176" name="Output176"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding176" type="tns:PortType176">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation176">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation176"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service176">
+    <wsdl:port name="Port176" binding="tns:Binding176">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage177">
+    <wsdl:part name="Response" element="tns:ResponseElement177"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage177">
+    <wsdl:part name="Request" element="tns:RequestElement177"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType177">
+    <wsdl:operation name="Operation177">
+      <wsdl:input message="tns:RequestMessage177" name="Input177"/>
+      <wsdl:output message="tns:ResponseMessage177" name="Output177"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding177" type="tns:PortType177">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation177">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation177"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service177">
+    <wsdl:port name="Port177" binding="tns:Binding177">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage178">
+    <wsdl:part name="Response" element="tns:ResponseElement178"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage178">
+    <wsdl:part name="Request" element="tns:RequestElement178"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType178">
+    <wsdl:operation name="Operation178">
+      <wsdl:input message="tns:RequestMessage178" name="Input178"/>
+      <wsdl:output message="tns:ResponseMessage178" name="Output178"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding178" type="tns:PortType178">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation178">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation178"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service178">
+    <wsdl:port name="Port178" binding="tns:Binding178">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage179">
+    <wsdl:part name="Response" element="tns:ResponseElement179"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage179">
+    <wsdl:part name="Request" element="tns:RequestElement179"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType179">
+    <wsdl:operation name="Operation179">
+      <wsdl:input message="tns:RequestMessage179" name="Input179"/>
+      <wsdl:output message="tns:ResponseMessage179" name="Output179"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding179" type="tns:PortType179">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation179">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation179"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service179">
+    <wsdl:port name="Port179" binding="tns:Binding179">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage180">
+    <wsdl:part name="Response" element="tns:ResponseElement180"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage180">
+    <wsdl:part name="Request" element="tns:RequestElement180"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType180">
+    <wsdl:operation name="Operation180">
+      <wsdl:input message="tns:RequestMessage180" name="Input180"/>
+      <wsdl:output message="tns:ResponseMessage180" name="Output180"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding180" type="tns:PortType180">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation180">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation180"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service180">
+    <wsdl:port name="Port180" binding="tns:Binding180">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage181">
+    <wsdl:part name="Response" element="tns:ResponseElement181"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage181">
+    <wsdl:part name="Request" element="tns:RequestElement181"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType181">
+    <wsdl:operation name="Operation181">
+      <wsdl:input message="tns:RequestMessage181" name="Input181"/>
+      <wsdl:output message="tns:ResponseMessage181" name="Output181"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding181" type="tns:PortType181">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation181">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation181"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service181">
+    <wsdl:port name="Port181" binding="tns:Binding181">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage182">
+    <wsdl:part name="Response" element="tns:ResponseElement182"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage182">
+    <wsdl:part name="Request" element="tns:RequestElement182"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType182">
+    <wsdl:operation name="Operation182">
+      <wsdl:input message="tns:RequestMessage182" name="Input182"/>
+      <wsdl:output message="tns:ResponseMessage182" name="Output182"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding182" type="tns:PortType182">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation182">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation182"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service182">
+    <wsdl:port name="Port182" binding="tns:Binding182">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage183">
+    <wsdl:part name="Response" element="tns:ResponseElement183"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage183">
+    <wsdl:part name="Request" element="tns:RequestElement183"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType183">
+    <wsdl:operation name="Operation183">
+      <wsdl:input message="tns:RequestMessage183" name="Input183"/>
+      <wsdl:output message="tns:ResponseMessage183" name="Output183"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding183" type="tns:PortType183">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation183">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation183"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service183">
+    <wsdl:port name="Port183" binding="tns:Binding183">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage184">
+    <wsdl:part name="Response" element="tns:ResponseElement184"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage184">
+    <wsdl:part name="Request" element="tns:RequestElement184"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType184">
+    <wsdl:operation name="Operation184">
+      <wsdl:input message="tns:RequestMessage184" name="Input184"/>
+      <wsdl:output message="tns:ResponseMessage184" name="Output184"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding184" type="tns:PortType184">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation184">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation184"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service184">
+    <wsdl:port name="Port184" binding="tns:Binding184">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage185">
+    <wsdl:part name="Response" element="tns:ResponseElement185"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage185">
+    <wsdl:part name="Request" element="tns:RequestElement185"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType185">
+    <wsdl:operation name="Operation185">
+      <wsdl:input message="tns:RequestMessage185" name="Input185"/>
+      <wsdl:output message="tns:ResponseMessage185" name="Output185"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding185" type="tns:PortType185">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation185">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation185"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service185">
+    <wsdl:port name="Port185" binding="tns:Binding185">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage186">
+    <wsdl:part name="Response" element="tns:ResponseElement186"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage186">
+    <wsdl:part name="Request" element="tns:RequestElement186"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType186">
+    <wsdl:operation name="Operation186">
+      <wsdl:input message="tns:RequestMessage186" name="Input186"/>
+      <wsdl:output message="tns:ResponseMessage186" name="Output186"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding186" type="tns:PortType186">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation186">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation186"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service186">
+    <wsdl:port name="Port186" binding="tns:Binding186">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage187">
+    <wsdl:part name="Response" element="tns:ResponseElement187"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage187">
+    <wsdl:part name="Request" element="tns:RequestElement187"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType187">
+    <wsdl:operation name="Operation187">
+      <wsdl:input message="tns:RequestMessage187" name="Input187"/>
+      <wsdl:output message="tns:ResponseMessage187" name="Output187"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding187" type="tns:PortType187">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation187">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation187"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service187">
+    <wsdl:port name="Port187" binding="tns:Binding187">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage188">
+    <wsdl:part name="Response" element="tns:ResponseElement188"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage188">
+    <wsdl:part name="Request" element="tns:RequestElement188"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType188">
+    <wsdl:operation name="Operation188">
+      <wsdl:input message="tns:RequestMessage188" name="Input188"/>
+      <wsdl:output message="tns:ResponseMessage188" name="Output188"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding188" type="tns:PortType188">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation188">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation188"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service188">
+    <wsdl:port name="Port188" binding="tns:Binding188">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage189">
+    <wsdl:part name="Response" element="tns:ResponseElement189"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage189">
+    <wsdl:part name="Request" element="tns:RequestElement189"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType189">
+    <wsdl:operation name="Operation189">
+      <wsdl:input message="tns:RequestMessage189" name="Input189"/>
+      <wsdl:output message="tns:ResponseMessage189" name="Output189"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding189" type="tns:PortType189">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation189">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation189"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service189">
+    <wsdl:port name="Port189" binding="tns:Binding189">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage190">
+    <wsdl:part name="Response" element="tns:ResponseElement190"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage190">
+    <wsdl:part name="Request" element="tns:RequestElement190"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType190">
+    <wsdl:operation name="Operation190">
+      <wsdl:input message="tns:RequestMessage190" name="Input190"/>
+      <wsdl:output message="tns:ResponseMessage190" name="Output190"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding190" type="tns:PortType190">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation190">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation190"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service190">
+    <wsdl:port name="Port190" binding="tns:Binding190">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage191">
+    <wsdl:part name="Response" element="tns:ResponseElement191"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage191">
+    <wsdl:part name="Request" element="tns:RequestElement191"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType191">
+    <wsdl:operation name="Operation191">
+      <wsdl:input message="tns:RequestMessage191" name="Input191"/>
+      <wsdl:output message="tns:ResponseMessage191" name="Output191"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding191" type="tns:PortType191">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation191">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation191"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service191">
+    <wsdl:port name="Port191" binding="tns:Binding191">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage192">
+    <wsdl:part name="Response" element="tns:ResponseElement192"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage192">
+    <wsdl:part name="Request" element="tns:RequestElement192"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType192">
+    <wsdl:operation name="Operation192">
+      <wsdl:input message="tns:RequestMessage192" name="Input192"/>
+      <wsdl:output message="tns:ResponseMessage192" name="Output192"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding192" type="tns:PortType192">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation192">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation192"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service192">
+    <wsdl:port name="Port192" binding="tns:Binding192">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage193">
+    <wsdl:part name="Response" element="tns:ResponseElement193"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage193">
+    <wsdl:part name="Request" element="tns:RequestElement193"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType193">
+    <wsdl:operation name="Operation193">
+      <wsdl:input message="tns:RequestMessage193" name="Input193"/>
+      <wsdl:output message="tns:ResponseMessage193" name="Output193"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding193" type="tns:PortType193">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation193">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation193"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service193">
+    <wsdl:port name="Port193" binding="tns:Binding193">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage194">
+    <wsdl:part name="Response" element="tns:ResponseElement194"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage194">
+    <wsdl:part name="Request" element="tns:RequestElement194"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType194">
+    <wsdl:operation name="Operation194">
+      <wsdl:input message="tns:RequestMessage194" name="Input194"/>
+      <wsdl:output message="tns:ResponseMessage194" name="Output194"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding194" type="tns:PortType194">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation194">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation194"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service194">
+    <wsdl:port name="Port194" binding="tns:Binding194">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage195">
+    <wsdl:part name="Response" element="tns:ResponseElement195"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage195">
+    <wsdl:part name="Request" element="tns:RequestElement195"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType195">
+    <wsdl:operation name="Operation195">
+      <wsdl:input message="tns:RequestMessage195" name="Input195"/>
+      <wsdl:output message="tns:ResponseMessage195" name="Output195"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding195" type="tns:PortType195">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation195">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation195"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service195">
+    <wsdl:port name="Port195" binding="tns:Binding195">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage196">
+    <wsdl:part name="Response" element="tns:ResponseElement196"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage196">
+    <wsdl:part name="Request" element="tns:RequestElement196"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType196">
+    <wsdl:operation name="Operation196">
+      <wsdl:input message="tns:RequestMessage196" name="Input196"/>
+      <wsdl:output message="tns:ResponseMessage196" name="Output196"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding196" type="tns:PortType196">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation196">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation196"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service196">
+    <wsdl:port name="Port196" binding="tns:Binding196">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage197">
+    <wsdl:part name="Response" element="tns:ResponseElement197"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage197">
+    <wsdl:part name="Request" element="tns:RequestElement197"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType197">
+    <wsdl:operation name="Operation197">
+      <wsdl:input message="tns:RequestMessage197" name="Input197"/>
+      <wsdl:output message="tns:ResponseMessage197" name="Output197"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding197" type="tns:PortType197">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation197">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation197"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service197">
+    <wsdl:port name="Port197" binding="tns:Binding197">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage198">
+    <wsdl:part name="Response" element="tns:ResponseElement198"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage198">
+    <wsdl:part name="Request" element="tns:RequestElement198"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType198">
+    <wsdl:operation name="Operation198">
+      <wsdl:input message="tns:RequestMessage198" name="Input198"/>
+      <wsdl:output message="tns:ResponseMessage198" name="Output198"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding198" type="tns:PortType198">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation198">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation198"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service198">
+    <wsdl:port name="Port198" binding="tns:Binding198">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage199">
+    <wsdl:part name="Response" element="tns:ResponseElement199"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage199">
+    <wsdl:part name="Request" element="tns:RequestElement199"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType199">
+    <wsdl:operation name="Operation199">
+      <wsdl:input message="tns:RequestMessage199" name="Input199"/>
+      <wsdl:output message="tns:ResponseMessage199" name="Output199"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding199" type="tns:PortType199">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation199">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation199"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service199">
+    <wsdl:port name="Port199" binding="tns:Binding199">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage200">
+    <wsdl:part name="Response" element="tns:ResponseElement200"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage200">
+    <wsdl:part name="Request" element="tns:RequestElement200"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType200">
+    <wsdl:operation name="Operation200">
+      <wsdl:input message="tns:RequestMessage200" name="Input200"/>
+      <wsdl:output message="tns:ResponseMessage200" name="Output200"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding200" type="tns:PortType200">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation200">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation200"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service200">
+    <wsdl:port name="Port200" binding="tns:Binding200">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage201">
+    <wsdl:part name="Response" element="tns:ResponseElement201"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage201">
+    <wsdl:part name="Request" element="tns:RequestElement201"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType201">
+    <wsdl:operation name="Operation201">
+      <wsdl:input message="tns:RequestMessage201" name="Input201"/>
+      <wsdl:output message="tns:ResponseMessage201" name="Output201"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding201" type="tns:PortType201">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation201">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation201"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service201">
+    <wsdl:port name="Port201" binding="tns:Binding201">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage202">
+    <wsdl:part name="Response" element="tns:ResponseElement202"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage202">
+    <wsdl:part name="Request" element="tns:RequestElement202"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType202">
+    <wsdl:operation name="Operation202">
+      <wsdl:input message="tns:RequestMessage202" name="Input202"/>
+      <wsdl:output message="tns:ResponseMessage202" name="Output202"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding202" type="tns:PortType202">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation202">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation202"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service202">
+    <wsdl:port name="Port202" binding="tns:Binding202">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage203">
+    <wsdl:part name="Response" element="tns:ResponseElement203"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage203">
+    <wsdl:part name="Request" element="tns:RequestElement203"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType203">
+    <wsdl:operation name="Operation203">
+      <wsdl:input message="tns:RequestMessage203" name="Input203"/>
+      <wsdl:output message="tns:ResponseMessage203" name="Output203"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding203" type="tns:PortType203">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation203">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation203"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service203">
+    <wsdl:port name="Port203" binding="tns:Binding203">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage204">
+    <wsdl:part name="Response" element="tns:ResponseElement204"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage204">
+    <wsdl:part name="Request" element="tns:RequestElement204"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType204">
+    <wsdl:operation name="Operation204">
+      <wsdl:input message="tns:RequestMessage204" name="Input204"/>
+      <wsdl:output message="tns:ResponseMessage204" name="Output204"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding204" type="tns:PortType204">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation204">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation204"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service204">
+    <wsdl:port name="Port204" binding="tns:Binding204">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage205">
+    <wsdl:part name="Response" element="tns:ResponseElement205"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage205">
+    <wsdl:part name="Request" element="tns:RequestElement205"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType205">
+    <wsdl:operation name="Operation205">
+      <wsdl:input message="tns:RequestMessage205" name="Input205"/>
+      <wsdl:output message="tns:ResponseMessage205" name="Output205"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding205" type="tns:PortType205">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation205">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation205"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service205">
+    <wsdl:port name="Port205" binding="tns:Binding205">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage206">
+    <wsdl:part name="Response" element="tns:ResponseElement206"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage206">
+    <wsdl:part name="Request" element="tns:RequestElement206"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType206">
+    <wsdl:operation name="Operation206">
+      <wsdl:input message="tns:RequestMessage206" name="Input206"/>
+      <wsdl:output message="tns:ResponseMessage206" name="Output206"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding206" type="tns:PortType206">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation206">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation206"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service206">
+    <wsdl:port name="Port206" binding="tns:Binding206">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage207">
+    <wsdl:part name="Response" element="tns:ResponseElement207"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage207">
+    <wsdl:part name="Request" element="tns:RequestElement207"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType207">
+    <wsdl:operation name="Operation207">
+      <wsdl:input message="tns:RequestMessage207" name="Input207"/>
+      <wsdl:output message="tns:ResponseMessage207" name="Output207"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding207" type="tns:PortType207">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation207">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation207"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service207">
+    <wsdl:port name="Port207" binding="tns:Binding207">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage208">
+    <wsdl:part name="Response" element="tns:ResponseElement208"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage208">
+    <wsdl:part name="Request" element="tns:RequestElement208"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType208">
+    <wsdl:operation name="Operation208">
+      <wsdl:input message="tns:RequestMessage208" name="Input208"/>
+      <wsdl:output message="tns:ResponseMessage208" name="Output208"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding208" type="tns:PortType208">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation208">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation208"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service208">
+    <wsdl:port name="Port208" binding="tns:Binding208">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage209">
+    <wsdl:part name="Response" element="tns:ResponseElement209"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage209">
+    <wsdl:part name="Request" element="tns:RequestElement209"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType209">
+    <wsdl:operation name="Operation209">
+      <wsdl:input message="tns:RequestMessage209" name="Input209"/>
+      <wsdl:output message="tns:ResponseMessage209" name="Output209"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding209" type="tns:PortType209">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation209">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation209"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service209">
+    <wsdl:port name="Port209" binding="tns:Binding209">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage210">
+    <wsdl:part name="Response" element="tns:ResponseElement210"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage210">
+    <wsdl:part name="Request" element="tns:RequestElement210"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType210">
+    <wsdl:operation name="Operation210">
+      <wsdl:input message="tns:RequestMessage210" name="Input210"/>
+      <wsdl:output message="tns:ResponseMessage210" name="Output210"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding210" type="tns:PortType210">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation210">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation210"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service210">
+    <wsdl:port name="Port210" binding="tns:Binding210">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage211">
+    <wsdl:part name="Response" element="tns:ResponseElement211"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage211">
+    <wsdl:part name="Request" element="tns:RequestElement211"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType211">
+    <wsdl:operation name="Operation211">
+      <wsdl:input message="tns:RequestMessage211" name="Input211"/>
+      <wsdl:output message="tns:ResponseMessage211" name="Output211"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding211" type="tns:PortType211">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation211">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation211"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service211">
+    <wsdl:port name="Port211" binding="tns:Binding211">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage212">
+    <wsdl:part name="Response" element="tns:ResponseElement212"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage212">
+    <wsdl:part name="Request" element="tns:RequestElement212"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType212">
+    <wsdl:operation name="Operation212">
+      <wsdl:input message="tns:RequestMessage212" name="Input212"/>
+      <wsdl:output message="tns:ResponseMessage212" name="Output212"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding212" type="tns:PortType212">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation212">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation212"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service212">
+    <wsdl:port name="Port212" binding="tns:Binding212">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage213">
+    <wsdl:part name="Response" element="tns:ResponseElement213"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage213">
+    <wsdl:part name="Request" element="tns:RequestElement213"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType213">
+    <wsdl:operation name="Operation213">
+      <wsdl:input message="tns:RequestMessage213" name="Input213"/>
+      <wsdl:output message="tns:ResponseMessage213" name="Output213"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding213" type="tns:PortType213">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation213">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation213"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service213">
+    <wsdl:port name="Port213" binding="tns:Binding213">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage214">
+    <wsdl:part name="Response" element="tns:ResponseElement214"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage214">
+    <wsdl:part name="Request" element="tns:RequestElement214"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType214">
+    <wsdl:operation name="Operation214">
+      <wsdl:input message="tns:RequestMessage214" name="Input214"/>
+      <wsdl:output message="tns:ResponseMessage214" name="Output214"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding214" type="tns:PortType214">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation214">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation214"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service214">
+    <wsdl:port name="Port214" binding="tns:Binding214">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage215">
+    <wsdl:part name="Response" element="tns:ResponseElement215"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage215">
+    <wsdl:part name="Request" element="tns:RequestElement215"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType215">
+    <wsdl:operation name="Operation215">
+      <wsdl:input message="tns:RequestMessage215" name="Input215"/>
+      <wsdl:output message="tns:ResponseMessage215" name="Output215"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding215" type="tns:PortType215">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation215">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation215"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service215">
+    <wsdl:port name="Port215" binding="tns:Binding215">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage216">
+    <wsdl:part name="Response" element="tns:ResponseElement216"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage216">
+    <wsdl:part name="Request" element="tns:RequestElement216"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType216">
+    <wsdl:operation name="Operation216">
+      <wsdl:input message="tns:RequestMessage216" name="Input216"/>
+      <wsdl:output message="tns:ResponseMessage216" name="Output216"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding216" type="tns:PortType216">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation216">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation216"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service216">
+    <wsdl:port name="Port216" binding="tns:Binding216">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage217">
+    <wsdl:part name="Response" element="tns:ResponseElement217"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage217">
+    <wsdl:part name="Request" element="tns:RequestElement217"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType217">
+    <wsdl:operation name="Operation217">
+      <wsdl:input message="tns:RequestMessage217" name="Input217"/>
+      <wsdl:output message="tns:ResponseMessage217" name="Output217"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding217" type="tns:PortType217">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation217">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation217"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service217">
+    <wsdl:port name="Port217" binding="tns:Binding217">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage218">
+    <wsdl:part name="Response" element="tns:ResponseElement218"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage218">
+    <wsdl:part name="Request" element="tns:RequestElement218"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType218">
+    <wsdl:operation name="Operation218">
+      <wsdl:input message="tns:RequestMessage218" name="Input218"/>
+      <wsdl:output message="tns:ResponseMessage218" name="Output218"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding218" type="tns:PortType218">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation218">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation218"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service218">
+    <wsdl:port name="Port218" binding="tns:Binding218">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage219">
+    <wsdl:part name="Response" element="tns:ResponseElement219"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage219">
+    <wsdl:part name="Request" element="tns:RequestElement219"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType219">
+    <wsdl:operation name="Operation219">
+      <wsdl:input message="tns:RequestMessage219" name="Input219"/>
+      <wsdl:output message="tns:ResponseMessage219" name="Output219"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding219" type="tns:PortType219">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation219">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation219"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service219">
+    <wsdl:port name="Port219" binding="tns:Binding219">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage220">
+    <wsdl:part name="Response" element="tns:ResponseElement220"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage220">
+    <wsdl:part name="Request" element="tns:RequestElement220"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType220">
+    <wsdl:operation name="Operation220">
+      <wsdl:input message="tns:RequestMessage220" name="Input220"/>
+      <wsdl:output message="tns:ResponseMessage220" name="Output220"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding220" type="tns:PortType220">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation220">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation220"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service220">
+    <wsdl:port name="Port220" binding="tns:Binding220">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage221">
+    <wsdl:part name="Response" element="tns:ResponseElement221"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage221">
+    <wsdl:part name="Request" element="tns:RequestElement221"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType221">
+    <wsdl:operation name="Operation221">
+      <wsdl:input message="tns:RequestMessage221" name="Input221"/>
+      <wsdl:output message="tns:ResponseMessage221" name="Output221"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding221" type="tns:PortType221">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation221">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation221"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service221">
+    <wsdl:port name="Port221" binding="tns:Binding221">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage222">
+    <wsdl:part name="Response" element="tns:ResponseElement222"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage222">
+    <wsdl:part name="Request" element="tns:RequestElement222"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType222">
+    <wsdl:operation name="Operation222">
+      <wsdl:input message="tns:RequestMessage222" name="Input222"/>
+      <wsdl:output message="tns:ResponseMessage222" name="Output222"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding222" type="tns:PortType222">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation222">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation222"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service222">
+    <wsdl:port name="Port222" binding="tns:Binding222">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage223">
+    <wsdl:part name="Response" element="tns:ResponseElement223"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage223">
+    <wsdl:part name="Request" element="tns:RequestElement223"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType223">
+    <wsdl:operation name="Operation223">
+      <wsdl:input message="tns:RequestMessage223" name="Input223"/>
+      <wsdl:output message="tns:ResponseMessage223" name="Output223"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding223" type="tns:PortType223">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation223">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation223"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service223">
+    <wsdl:port name="Port223" binding="tns:Binding223">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage224">
+    <wsdl:part name="Response" element="tns:ResponseElement224"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage224">
+    <wsdl:part name="Request" element="tns:RequestElement224"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType224">
+    <wsdl:operation name="Operation224">
+      <wsdl:input message="tns:RequestMessage224" name="Input224"/>
+      <wsdl:output message="tns:ResponseMessage224" name="Output224"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding224" type="tns:PortType224">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation224">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation224"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service224">
+    <wsdl:port name="Port224" binding="tns:Binding224">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage225">
+    <wsdl:part name="Response" element="tns:ResponseElement225"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage225">
+    <wsdl:part name="Request" element="tns:RequestElement225"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType225">
+    <wsdl:operation name="Operation225">
+      <wsdl:input message="tns:RequestMessage225" name="Input225"/>
+      <wsdl:output message="tns:ResponseMessage225" name="Output225"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding225" type="tns:PortType225">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation225">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation225"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service225">
+    <wsdl:port name="Port225" binding="tns:Binding225">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage226">
+    <wsdl:part name="Response" element="tns:ResponseElement226"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage226">
+    <wsdl:part name="Request" element="tns:RequestElement226"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType226">
+    <wsdl:operation name="Operation226">
+      <wsdl:input message="tns:RequestMessage226" name="Input226"/>
+      <wsdl:output message="tns:ResponseMessage226" name="Output226"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding226" type="tns:PortType226">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation226">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation226"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service226">
+    <wsdl:port name="Port226" binding="tns:Binding226">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage227">
+    <wsdl:part name="Response" element="tns:ResponseElement227"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage227">
+    <wsdl:part name="Request" element="tns:RequestElement227"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType227">
+    <wsdl:operation name="Operation227">
+      <wsdl:input message="tns:RequestMessage227" name="Input227"/>
+      <wsdl:output message="tns:ResponseMessage227" name="Output227"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding227" type="tns:PortType227">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation227">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation227"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service227">
+    <wsdl:port name="Port227" binding="tns:Binding227">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage228">
+    <wsdl:part name="Response" element="tns:ResponseElement228"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage228">
+    <wsdl:part name="Request" element="tns:RequestElement228"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType228">
+    <wsdl:operation name="Operation228">
+      <wsdl:input message="tns:RequestMessage228" name="Input228"/>
+      <wsdl:output message="tns:ResponseMessage228" name="Output228"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding228" type="tns:PortType228">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation228">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation228"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service228">
+    <wsdl:port name="Port228" binding="tns:Binding228">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage229">
+    <wsdl:part name="Response" element="tns:ResponseElement229"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage229">
+    <wsdl:part name="Request" element="tns:RequestElement229"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType229">
+    <wsdl:operation name="Operation229">
+      <wsdl:input message="tns:RequestMessage229" name="Input229"/>
+      <wsdl:output message="tns:ResponseMessage229" name="Output229"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding229" type="tns:PortType229">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation229">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation229"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service229">
+    <wsdl:port name="Port229" binding="tns:Binding229">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage230">
+    <wsdl:part name="Response" element="tns:ResponseElement230"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage230">
+    <wsdl:part name="Request" element="tns:RequestElement230"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType230">
+    <wsdl:operation name="Operation230">
+      <wsdl:input message="tns:RequestMessage230" name="Input230"/>
+      <wsdl:output message="tns:ResponseMessage230" name="Output230"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding230" type="tns:PortType230">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation230">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation230"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service230">
+    <wsdl:port name="Port230" binding="tns:Binding230">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage231">
+    <wsdl:part name="Response" element="tns:ResponseElement231"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage231">
+    <wsdl:part name="Request" element="tns:RequestElement231"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType231">
+    <wsdl:operation name="Operation231">
+      <wsdl:input message="tns:RequestMessage231" name="Input231"/>
+      <wsdl:output message="tns:ResponseMessage231" name="Output231"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding231" type="tns:PortType231">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation231">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation231"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service231">
+    <wsdl:port name="Port231" binding="tns:Binding231">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage232">
+    <wsdl:part name="Response" element="tns:ResponseElement232"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage232">
+    <wsdl:part name="Request" element="tns:RequestElement232"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType232">
+    <wsdl:operation name="Operation232">
+      <wsdl:input message="tns:RequestMessage232" name="Input232"/>
+      <wsdl:output message="tns:ResponseMessage232" name="Output232"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding232" type="tns:PortType232">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation232">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation232"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service232">
+    <wsdl:port name="Port232" binding="tns:Binding232">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage233">
+    <wsdl:part name="Response" element="tns:ResponseElement233"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage233">
+    <wsdl:part name="Request" element="tns:RequestElement233"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType233">
+    <wsdl:operation name="Operation233">
+      <wsdl:input message="tns:RequestMessage233" name="Input233"/>
+      <wsdl:output message="tns:ResponseMessage233" name="Output233"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding233" type="tns:PortType233">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation233">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation233"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service233">
+    <wsdl:port name="Port233" binding="tns:Binding233">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage234">
+    <wsdl:part name="Response" element="tns:ResponseElement234"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage234">
+    <wsdl:part name="Request" element="tns:RequestElement234"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType234">
+    <wsdl:operation name="Operation234">
+      <wsdl:input message="tns:RequestMessage234" name="Input234"/>
+      <wsdl:output message="tns:ResponseMessage234" name="Output234"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding234" type="tns:PortType234">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation234">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation234"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service234">
+    <wsdl:port name="Port234" binding="tns:Binding234">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage235">
+    <wsdl:part name="Response" element="tns:ResponseElement235"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage235">
+    <wsdl:part name="Request" element="tns:RequestElement235"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType235">
+    <wsdl:operation name="Operation235">
+      <wsdl:input message="tns:RequestMessage235" name="Input235"/>
+      <wsdl:output message="tns:ResponseMessage235" name="Output235"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding235" type="tns:PortType235">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation235">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation235"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service235">
+    <wsdl:port name="Port235" binding="tns:Binding235">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage236">
+    <wsdl:part name="Response" element="tns:ResponseElement236"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage236">
+    <wsdl:part name="Request" element="tns:RequestElement236"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType236">
+    <wsdl:operation name="Operation236">
+      <wsdl:input message="tns:RequestMessage236" name="Input236"/>
+      <wsdl:output message="tns:ResponseMessage236" name="Output236"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding236" type="tns:PortType236">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation236">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation236"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service236">
+    <wsdl:port name="Port236" binding="tns:Binding236">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage237">
+    <wsdl:part name="Response" element="tns:ResponseElement237"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage237">
+    <wsdl:part name="Request" element="tns:RequestElement237"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType237">
+    <wsdl:operation name="Operation237">
+      <wsdl:input message="tns:RequestMessage237" name="Input237"/>
+      <wsdl:output message="tns:ResponseMessage237" name="Output237"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding237" type="tns:PortType237">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation237">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation237"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service237">
+    <wsdl:port name="Port237" binding="tns:Binding237">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage238">
+    <wsdl:part name="Response" element="tns:ResponseElement238"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage238">
+    <wsdl:part name="Request" element="tns:RequestElement238"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType238">
+    <wsdl:operation name="Operation238">
+      <wsdl:input message="tns:RequestMessage238" name="Input238"/>
+      <wsdl:output message="tns:ResponseMessage238" name="Output238"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding238" type="tns:PortType238">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation238">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation238"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service238">
+    <wsdl:port name="Port238" binding="tns:Binding238">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage239">
+    <wsdl:part name="Response" element="tns:ResponseElement239"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage239">
+    <wsdl:part name="Request" element="tns:RequestElement239"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType239">
+    <wsdl:operation name="Operation239">
+      <wsdl:input message="tns:RequestMessage239" name="Input239"/>
+      <wsdl:output message="tns:ResponseMessage239" name="Output239"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding239" type="tns:PortType239">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation239">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation239"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service239">
+    <wsdl:port name="Port239" binding="tns:Binding239">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage240">
+    <wsdl:part name="Response" element="tns:ResponseElement240"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage240">
+    <wsdl:part name="Request" element="tns:RequestElement240"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType240">
+    <wsdl:operation name="Operation240">
+      <wsdl:input message="tns:RequestMessage240" name="Input240"/>
+      <wsdl:output message="tns:ResponseMessage240" name="Output240"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding240" type="tns:PortType240">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation240">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation240"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service240">
+    <wsdl:port name="Port240" binding="tns:Binding240">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage241">
+    <wsdl:part name="Response" element="tns:ResponseElement241"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage241">
+    <wsdl:part name="Request" element="tns:RequestElement241"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType241">
+    <wsdl:operation name="Operation241">
+      <wsdl:input message="tns:RequestMessage241" name="Input241"/>
+      <wsdl:output message="tns:ResponseMessage241" name="Output241"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding241" type="tns:PortType241">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation241">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation241"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service241">
+    <wsdl:port name="Port241" binding="tns:Binding241">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage242">
+    <wsdl:part name="Response" element="tns:ResponseElement242"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage242">
+    <wsdl:part name="Request" element="tns:RequestElement242"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType242">
+    <wsdl:operation name="Operation242">
+      <wsdl:input message="tns:RequestMessage242" name="Input242"/>
+      <wsdl:output message="tns:ResponseMessage242" name="Output242"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding242" type="tns:PortType242">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation242">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation242"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service242">
+    <wsdl:port name="Port242" binding="tns:Binding242">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage243">
+    <wsdl:part name="Response" element="tns:ResponseElement243"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage243">
+    <wsdl:part name="Request" element="tns:RequestElement243"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType243">
+    <wsdl:operation name="Operation243">
+      <wsdl:input message="tns:RequestMessage243" name="Input243"/>
+      <wsdl:output message="tns:ResponseMessage243" name="Output243"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding243" type="tns:PortType243">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation243">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation243"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service243">
+    <wsdl:port name="Port243" binding="tns:Binding243">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage244">
+    <wsdl:part name="Response" element="tns:ResponseElement244"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage244">
+    <wsdl:part name="Request" element="tns:RequestElement244"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType244">
+    <wsdl:operation name="Operation244">
+      <wsdl:input message="tns:RequestMessage244" name="Input244"/>
+      <wsdl:output message="tns:ResponseMessage244" name="Output244"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding244" type="tns:PortType244">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation244">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation244"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service244">
+    <wsdl:port name="Port244" binding="tns:Binding244">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage245">
+    <wsdl:part name="Response" element="tns:ResponseElement245"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage245">
+    <wsdl:part name="Request" element="tns:RequestElement245"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType245">
+    <wsdl:operation name="Operation245">
+      <wsdl:input message="tns:RequestMessage245" name="Input245"/>
+      <wsdl:output message="tns:ResponseMessage245" name="Output245"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding245" type="tns:PortType245">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation245">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation245"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service245">
+    <wsdl:port name="Port245" binding="tns:Binding245">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage246">
+    <wsdl:part name="Response" element="tns:ResponseElement246"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage246">
+    <wsdl:part name="Request" element="tns:RequestElement246"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType246">
+    <wsdl:operation name="Operation246">
+      <wsdl:input message="tns:RequestMessage246" name="Input246"/>
+      <wsdl:output message="tns:ResponseMessage246" name="Output246"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding246" type="tns:PortType246">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation246">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation246"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service246">
+    <wsdl:port name="Port246" binding="tns:Binding246">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage247">
+    <wsdl:part name="Response" element="tns:ResponseElement247"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage247">
+    <wsdl:part name="Request" element="tns:RequestElement247"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType247">
+    <wsdl:operation name="Operation247">
+      <wsdl:input message="tns:RequestMessage247" name="Input247"/>
+      <wsdl:output message="tns:ResponseMessage247" name="Output247"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding247" type="tns:PortType247">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation247">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation247"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service247">
+    <wsdl:port name="Port247" binding="tns:Binding247">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage248">
+    <wsdl:part name="Response" element="tns:ResponseElement248"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage248">
+    <wsdl:part name="Request" element="tns:RequestElement248"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType248">
+    <wsdl:operation name="Operation248">
+      <wsdl:input message="tns:RequestMessage248" name="Input248"/>
+      <wsdl:output message="tns:ResponseMessage248" name="Output248"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding248" type="tns:PortType248">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation248">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation248"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service248">
+    <wsdl:port name="Port248" binding="tns:Binding248">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage249">
+    <wsdl:part name="Response" element="tns:ResponseElement249"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage249">
+    <wsdl:part name="Request" element="tns:RequestElement249"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType249">
+    <wsdl:operation name="Operation249">
+      <wsdl:input message="tns:RequestMessage249" name="Input249"/>
+      <wsdl:output message="tns:ResponseMessage249" name="Output249"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding249" type="tns:PortType249">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation249">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation249"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service249">
+    <wsdl:port name="Port249" binding="tns:Binding249">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage250">
+    <wsdl:part name="Response" element="tns:ResponseElement250"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage250">
+    <wsdl:part name="Request" element="tns:RequestElement250"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType250">
+    <wsdl:operation name="Operation250">
+      <wsdl:input message="tns:RequestMessage250" name="Input250"/>
+      <wsdl:output message="tns:ResponseMessage250" name="Output250"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding250" type="tns:PortType250">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation250">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation250"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service250">
+    <wsdl:port name="Port250" binding="tns:Binding250">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage251">
+    <wsdl:part name="Response" element="tns:ResponseElement251"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage251">
+    <wsdl:part name="Request" element="tns:RequestElement251"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType251">
+    <wsdl:operation name="Operation251">
+      <wsdl:input message="tns:RequestMessage251" name="Input251"/>
+      <wsdl:output message="tns:ResponseMessage251" name="Output251"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding251" type="tns:PortType251">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation251">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation251"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service251">
+    <wsdl:port name="Port251" binding="tns:Binding251">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage252">
+    <wsdl:part name="Response" element="tns:ResponseElement252"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage252">
+    <wsdl:part name="Request" element="tns:RequestElement252"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType252">
+    <wsdl:operation name="Operation252">
+      <wsdl:input message="tns:RequestMessage252" name="Input252"/>
+      <wsdl:output message="tns:ResponseMessage252" name="Output252"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding252" type="tns:PortType252">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation252">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation252"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service252">
+    <wsdl:port name="Port252" binding="tns:Binding252">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage253">
+    <wsdl:part name="Response" element="tns:ResponseElement253"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage253">
+    <wsdl:part name="Request" element="tns:RequestElement253"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType253">
+    <wsdl:operation name="Operation253">
+      <wsdl:input message="tns:RequestMessage253" name="Input253"/>
+      <wsdl:output message="tns:ResponseMessage253" name="Output253"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding253" type="tns:PortType253">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation253">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation253"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service253">
+    <wsdl:port name="Port253" binding="tns:Binding253">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage254">
+    <wsdl:part name="Response" element="tns:ResponseElement254"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage254">
+    <wsdl:part name="Request" element="tns:RequestElement254"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType254">
+    <wsdl:operation name="Operation254">
+      <wsdl:input message="tns:RequestMessage254" name="Input254"/>
+      <wsdl:output message="tns:ResponseMessage254" name="Output254"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding254" type="tns:PortType254">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation254">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation254"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service254">
+    <wsdl:port name="Port254" binding="tns:Binding254">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage255">
+    <wsdl:part name="Response" element="tns:ResponseElement255"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage255">
+    <wsdl:part name="Request" element="tns:RequestElement255"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType255">
+    <wsdl:operation name="Operation255">
+      <wsdl:input message="tns:RequestMessage255" name="Input255"/>
+      <wsdl:output message="tns:ResponseMessage255" name="Output255"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding255" type="tns:PortType255">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation255">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation255"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service255">
+    <wsdl:port name="Port255" binding="tns:Binding255">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage256">
+    <wsdl:part name="Response" element="tns:ResponseElement256"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage256">
+    <wsdl:part name="Request" element="tns:RequestElement256"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType256">
+    <wsdl:operation name="Operation256">
+      <wsdl:input message="tns:RequestMessage256" name="Input256"/>
+      <wsdl:output message="tns:ResponseMessage256" name="Output256"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding256" type="tns:PortType256">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation256">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation256"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service256">
+    <wsdl:port name="Port256" binding="tns:Binding256">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage257">
+    <wsdl:part name="Response" element="tns:ResponseElement257"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage257">
+    <wsdl:part name="Request" element="tns:RequestElement257"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType257">
+    <wsdl:operation name="Operation257">
+      <wsdl:input message="tns:RequestMessage257" name="Input257"/>
+      <wsdl:output message="tns:ResponseMessage257" name="Output257"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding257" type="tns:PortType257">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation257">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation257"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service257">
+    <wsdl:port name="Port257" binding="tns:Binding257">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage258">
+    <wsdl:part name="Response" element="tns:ResponseElement258"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage258">
+    <wsdl:part name="Request" element="tns:RequestElement258"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType258">
+    <wsdl:operation name="Operation258">
+      <wsdl:input message="tns:RequestMessage258" name="Input258"/>
+      <wsdl:output message="tns:ResponseMessage258" name="Output258"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding258" type="tns:PortType258">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation258">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation258"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service258">
+    <wsdl:port name="Port258" binding="tns:Binding258">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage259">
+    <wsdl:part name="Response" element="tns:ResponseElement259"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage259">
+    <wsdl:part name="Request" element="tns:RequestElement259"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType259">
+    <wsdl:operation name="Operation259">
+      <wsdl:input message="tns:RequestMessage259" name="Input259"/>
+      <wsdl:output message="tns:ResponseMessage259" name="Output259"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding259" type="tns:PortType259">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation259">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation259"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service259">
+    <wsdl:port name="Port259" binding="tns:Binding259">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage260">
+    <wsdl:part name="Response" element="tns:ResponseElement260"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage260">
+    <wsdl:part name="Request" element="tns:RequestElement260"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType260">
+    <wsdl:operation name="Operation260">
+      <wsdl:input message="tns:RequestMessage260" name="Input260"/>
+      <wsdl:output message="tns:ResponseMessage260" name="Output260"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding260" type="tns:PortType260">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation260">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation260"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service260">
+    <wsdl:port name="Port260" binding="tns:Binding260">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage261">
+    <wsdl:part name="Response" element="tns:ResponseElement261"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage261">
+    <wsdl:part name="Request" element="tns:RequestElement261"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType261">
+    <wsdl:operation name="Operation261">
+      <wsdl:input message="tns:RequestMessage261" name="Input261"/>
+      <wsdl:output message="tns:ResponseMessage261" name="Output261"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding261" type="tns:PortType261">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation261">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation261"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service261">
+    <wsdl:port name="Port261" binding="tns:Binding261">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage262">
+    <wsdl:part name="Response" element="tns:ResponseElement262"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage262">
+    <wsdl:part name="Request" element="tns:RequestElement262"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType262">
+    <wsdl:operation name="Operation262">
+      <wsdl:input message="tns:RequestMessage262" name="Input262"/>
+      <wsdl:output message="tns:ResponseMessage262" name="Output262"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding262" type="tns:PortType262">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation262">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation262"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service262">
+    <wsdl:port name="Port262" binding="tns:Binding262">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage263">
+    <wsdl:part name="Response" element="tns:ResponseElement263"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage263">
+    <wsdl:part name="Request" element="tns:RequestElement263"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType263">
+    <wsdl:operation name="Operation263">
+      <wsdl:input message="tns:RequestMessage263" name="Input263"/>
+      <wsdl:output message="tns:ResponseMessage263" name="Output263"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding263" type="tns:PortType263">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation263">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation263"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service263">
+    <wsdl:port name="Port263" binding="tns:Binding263">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage264">
+    <wsdl:part name="Response" element="tns:ResponseElement264"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage264">
+    <wsdl:part name="Request" element="tns:RequestElement264"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType264">
+    <wsdl:operation name="Operation264">
+      <wsdl:input message="tns:RequestMessage264" name="Input264"/>
+      <wsdl:output message="tns:ResponseMessage264" name="Output264"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding264" type="tns:PortType264">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation264">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation264"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service264">
+    <wsdl:port name="Port264" binding="tns:Binding264">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage265">
+    <wsdl:part name="Response" element="tns:ResponseElement265"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage265">
+    <wsdl:part name="Request" element="tns:RequestElement265"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType265">
+    <wsdl:operation name="Operation265">
+      <wsdl:input message="tns:RequestMessage265" name="Input265"/>
+      <wsdl:output message="tns:ResponseMessage265" name="Output265"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding265" type="tns:PortType265">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation265">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation265"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service265">
+    <wsdl:port name="Port265" binding="tns:Binding265">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage266">
+    <wsdl:part name="Response" element="tns:ResponseElement266"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage266">
+    <wsdl:part name="Request" element="tns:RequestElement266"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType266">
+    <wsdl:operation name="Operation266">
+      <wsdl:input message="tns:RequestMessage266" name="Input266"/>
+      <wsdl:output message="tns:ResponseMessage266" name="Output266"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding266" type="tns:PortType266">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation266">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation266"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service266">
+    <wsdl:port name="Port266" binding="tns:Binding266">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage267">
+    <wsdl:part name="Response" element="tns:ResponseElement267"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage267">
+    <wsdl:part name="Request" element="tns:RequestElement267"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType267">
+    <wsdl:operation name="Operation267">
+      <wsdl:input message="tns:RequestMessage267" name="Input267"/>
+      <wsdl:output message="tns:ResponseMessage267" name="Output267"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding267" type="tns:PortType267">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation267">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation267"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service267">
+    <wsdl:port name="Port267" binding="tns:Binding267">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage268">
+    <wsdl:part name="Response" element="tns:ResponseElement268"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage268">
+    <wsdl:part name="Request" element="tns:RequestElement268"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType268">
+    <wsdl:operation name="Operation268">
+      <wsdl:input message="tns:RequestMessage268" name="Input268"/>
+      <wsdl:output message="tns:ResponseMessage268" name="Output268"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding268" type="tns:PortType268">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation268">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation268"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service268">
+    <wsdl:port name="Port268" binding="tns:Binding268">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage269">
+    <wsdl:part name="Response" element="tns:ResponseElement269"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage269">
+    <wsdl:part name="Request" element="tns:RequestElement269"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType269">
+    <wsdl:operation name="Operation269">
+      <wsdl:input message="tns:RequestMessage269" name="Input269"/>
+      <wsdl:output message="tns:ResponseMessage269" name="Output269"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding269" type="tns:PortType269">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation269">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation269"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service269">
+    <wsdl:port name="Port269" binding="tns:Binding269">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage270">
+    <wsdl:part name="Response" element="tns:ResponseElement270"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage270">
+    <wsdl:part name="Request" element="tns:RequestElement270"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType270">
+    <wsdl:operation name="Operation270">
+      <wsdl:input message="tns:RequestMessage270" name="Input270"/>
+      <wsdl:output message="tns:ResponseMessage270" name="Output270"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding270" type="tns:PortType270">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation270">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation270"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service270">
+    <wsdl:port name="Port270" binding="tns:Binding270">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage271">
+    <wsdl:part name="Response" element="tns:ResponseElement271"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage271">
+    <wsdl:part name="Request" element="tns:RequestElement271"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType271">
+    <wsdl:operation name="Operation271">
+      <wsdl:input message="tns:RequestMessage271" name="Input271"/>
+      <wsdl:output message="tns:ResponseMessage271" name="Output271"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding271" type="tns:PortType271">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation271">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation271"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service271">
+    <wsdl:port name="Port271" binding="tns:Binding271">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage272">
+    <wsdl:part name="Response" element="tns:ResponseElement272"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage272">
+    <wsdl:part name="Request" element="tns:RequestElement272"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType272">
+    <wsdl:operation name="Operation272">
+      <wsdl:input message="tns:RequestMessage272" name="Input272"/>
+      <wsdl:output message="tns:ResponseMessage272" name="Output272"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding272" type="tns:PortType272">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation272">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation272"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service272">
+    <wsdl:port name="Port272" binding="tns:Binding272">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage273">
+    <wsdl:part name="Response" element="tns:ResponseElement273"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage273">
+    <wsdl:part name="Request" element="tns:RequestElement273"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType273">
+    <wsdl:operation name="Operation273">
+      <wsdl:input message="tns:RequestMessage273" name="Input273"/>
+      <wsdl:output message="tns:ResponseMessage273" name="Output273"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding273" type="tns:PortType273">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation273">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation273"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service273">
+    <wsdl:port name="Port273" binding="tns:Binding273">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage274">
+    <wsdl:part name="Response" element="tns:ResponseElement274"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage274">
+    <wsdl:part name="Request" element="tns:RequestElement274"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType274">
+    <wsdl:operation name="Operation274">
+      <wsdl:input message="tns:RequestMessage274" name="Input274"/>
+      <wsdl:output message="tns:ResponseMessage274" name="Output274"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding274" type="tns:PortType274">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation274">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation274"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service274">
+    <wsdl:port name="Port274" binding="tns:Binding274">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage275">
+    <wsdl:part name="Response" element="tns:ResponseElement275"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage275">
+    <wsdl:part name="Request" element="tns:RequestElement275"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType275">
+    <wsdl:operation name="Operation275">
+      <wsdl:input message="tns:RequestMessage275" name="Input275"/>
+      <wsdl:output message="tns:ResponseMessage275" name="Output275"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding275" type="tns:PortType275">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation275">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation275"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service275">
+    <wsdl:port name="Port275" binding="tns:Binding275">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage276">
+    <wsdl:part name="Response" element="tns:ResponseElement276"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage276">
+    <wsdl:part name="Request" element="tns:RequestElement276"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType276">
+    <wsdl:operation name="Operation276">
+      <wsdl:input message="tns:RequestMessage276" name="Input276"/>
+      <wsdl:output message="tns:ResponseMessage276" name="Output276"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding276" type="tns:PortType276">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation276">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation276"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service276">
+    <wsdl:port name="Port276" binding="tns:Binding276">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage277">
+    <wsdl:part name="Response" element="tns:ResponseElement277"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage277">
+    <wsdl:part name="Request" element="tns:RequestElement277"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType277">
+    <wsdl:operation name="Operation277">
+      <wsdl:input message="tns:RequestMessage277" name="Input277"/>
+      <wsdl:output message="tns:ResponseMessage277" name="Output277"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding277" type="tns:PortType277">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation277">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation277"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service277">
+    <wsdl:port name="Port277" binding="tns:Binding277">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage278">
+    <wsdl:part name="Response" element="tns:ResponseElement278"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage278">
+    <wsdl:part name="Request" element="tns:RequestElement278"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType278">
+    <wsdl:operation name="Operation278">
+      <wsdl:input message="tns:RequestMessage278" name="Input278"/>
+      <wsdl:output message="tns:ResponseMessage278" name="Output278"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding278" type="tns:PortType278">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation278">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation278"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service278">
+    <wsdl:port name="Port278" binding="tns:Binding278">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage279">
+    <wsdl:part name="Response" element="tns:ResponseElement279"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage279">
+    <wsdl:part name="Request" element="tns:RequestElement279"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType279">
+    <wsdl:operation name="Operation279">
+      <wsdl:input message="tns:RequestMessage279" name="Input279"/>
+      <wsdl:output message="tns:ResponseMessage279" name="Output279"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding279" type="tns:PortType279">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation279">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation279"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service279">
+    <wsdl:port name="Port279" binding="tns:Binding279">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage280">
+    <wsdl:part name="Response" element="tns:ResponseElement280"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage280">
+    <wsdl:part name="Request" element="tns:RequestElement280"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType280">
+    <wsdl:operation name="Operation280">
+      <wsdl:input message="tns:RequestMessage280" name="Input280"/>
+      <wsdl:output message="tns:ResponseMessage280" name="Output280"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding280" type="tns:PortType280">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation280">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation280"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service280">
+    <wsdl:port name="Port280" binding="tns:Binding280">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage281">
+    <wsdl:part name="Response" element="tns:ResponseElement281"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage281">
+    <wsdl:part name="Request" element="tns:RequestElement281"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType281">
+    <wsdl:operation name="Operation281">
+      <wsdl:input message="tns:RequestMessage281" name="Input281"/>
+      <wsdl:output message="tns:ResponseMessage281" name="Output281"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding281" type="tns:PortType281">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation281">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation281"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service281">
+    <wsdl:port name="Port281" binding="tns:Binding281">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage282">
+    <wsdl:part name="Response" element="tns:ResponseElement282"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage282">
+    <wsdl:part name="Request" element="tns:RequestElement282"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType282">
+    <wsdl:operation name="Operation282">
+      <wsdl:input message="tns:RequestMessage282" name="Input282"/>
+      <wsdl:output message="tns:ResponseMessage282" name="Output282"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding282" type="tns:PortType282">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation282">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation282"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service282">
+    <wsdl:port name="Port282" binding="tns:Binding282">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage283">
+    <wsdl:part name="Response" element="tns:ResponseElement283"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage283">
+    <wsdl:part name="Request" element="tns:RequestElement283"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType283">
+    <wsdl:operation name="Operation283">
+      <wsdl:input message="tns:RequestMessage283" name="Input283"/>
+      <wsdl:output message="tns:ResponseMessage283" name="Output283"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding283" type="tns:PortType283">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation283">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation283"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service283">
+    <wsdl:port name="Port283" binding="tns:Binding283">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage284">
+    <wsdl:part name="Response" element="tns:ResponseElement284"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage284">
+    <wsdl:part name="Request" element="tns:RequestElement284"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType284">
+    <wsdl:operation name="Operation284">
+      <wsdl:input message="tns:RequestMessage284" name="Input284"/>
+      <wsdl:output message="tns:ResponseMessage284" name="Output284"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding284" type="tns:PortType284">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation284">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation284"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service284">
+    <wsdl:port name="Port284" binding="tns:Binding284">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage285">
+    <wsdl:part name="Response" element="tns:ResponseElement285"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage285">
+    <wsdl:part name="Request" element="tns:RequestElement285"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType285">
+    <wsdl:operation name="Operation285">
+      <wsdl:input message="tns:RequestMessage285" name="Input285"/>
+      <wsdl:output message="tns:ResponseMessage285" name="Output285"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding285" type="tns:PortType285">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation285">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation285"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service285">
+    <wsdl:port name="Port285" binding="tns:Binding285">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage286">
+    <wsdl:part name="Response" element="tns:ResponseElement286"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage286">
+    <wsdl:part name="Request" element="tns:RequestElement286"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType286">
+    <wsdl:operation name="Operation286">
+      <wsdl:input message="tns:RequestMessage286" name="Input286"/>
+      <wsdl:output message="tns:ResponseMessage286" name="Output286"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding286" type="tns:PortType286">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation286">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation286"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service286">
+    <wsdl:port name="Port286" binding="tns:Binding286">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage287">
+    <wsdl:part name="Response" element="tns:ResponseElement287"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage287">
+    <wsdl:part name="Request" element="tns:RequestElement287"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType287">
+    <wsdl:operation name="Operation287">
+      <wsdl:input message="tns:RequestMessage287" name="Input287"/>
+      <wsdl:output message="tns:ResponseMessage287" name="Output287"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding287" type="tns:PortType287">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation287">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation287"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service287">
+    <wsdl:port name="Port287" binding="tns:Binding287">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage288">
+    <wsdl:part name="Response" element="tns:ResponseElement288"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage288">
+    <wsdl:part name="Request" element="tns:RequestElement288"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType288">
+    <wsdl:operation name="Operation288">
+      <wsdl:input message="tns:RequestMessage288" name="Input288"/>
+      <wsdl:output message="tns:ResponseMessage288" name="Output288"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding288" type="tns:PortType288">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation288">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation288"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service288">
+    <wsdl:port name="Port288" binding="tns:Binding288">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage289">
+    <wsdl:part name="Response" element="tns:ResponseElement289"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage289">
+    <wsdl:part name="Request" element="tns:RequestElement289"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType289">
+    <wsdl:operation name="Operation289">
+      <wsdl:input message="tns:RequestMessage289" name="Input289"/>
+      <wsdl:output message="tns:ResponseMessage289" name="Output289"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding289" type="tns:PortType289">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation289">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation289"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service289">
+    <wsdl:port name="Port289" binding="tns:Binding289">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage290">
+    <wsdl:part name="Response" element="tns:ResponseElement290"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage290">
+    <wsdl:part name="Request" element="tns:RequestElement290"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType290">
+    <wsdl:operation name="Operation290">
+      <wsdl:input message="tns:RequestMessage290" name="Input290"/>
+      <wsdl:output message="tns:ResponseMessage290" name="Output290"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding290" type="tns:PortType290">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation290">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation290"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service290">
+    <wsdl:port name="Port290" binding="tns:Binding290">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage291">
+    <wsdl:part name="Response" element="tns:ResponseElement291"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage291">
+    <wsdl:part name="Request" element="tns:RequestElement291"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType291">
+    <wsdl:operation name="Operation291">
+      <wsdl:input message="tns:RequestMessage291" name="Input291"/>
+      <wsdl:output message="tns:ResponseMessage291" name="Output291"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding291" type="tns:PortType291">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation291">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation291"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service291">
+    <wsdl:port name="Port291" binding="tns:Binding291">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage292">
+    <wsdl:part name="Response" element="tns:ResponseElement292"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage292">
+    <wsdl:part name="Request" element="tns:RequestElement292"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType292">
+    <wsdl:operation name="Operation292">
+      <wsdl:input message="tns:RequestMessage292" name="Input292"/>
+      <wsdl:output message="tns:ResponseMessage292" name="Output292"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding292" type="tns:PortType292">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation292">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation292"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service292">
+    <wsdl:port name="Port292" binding="tns:Binding292">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage293">
+    <wsdl:part name="Response" element="tns:ResponseElement293"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage293">
+    <wsdl:part name="Request" element="tns:RequestElement293"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType293">
+    <wsdl:operation name="Operation293">
+      <wsdl:input message="tns:RequestMessage293" name="Input293"/>
+      <wsdl:output message="tns:ResponseMessage293" name="Output293"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding293" type="tns:PortType293">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation293">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation293"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service293">
+    <wsdl:port name="Port293" binding="tns:Binding293">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage294">
+    <wsdl:part name="Response" element="tns:ResponseElement294"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage294">
+    <wsdl:part name="Request" element="tns:RequestElement294"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType294">
+    <wsdl:operation name="Operation294">
+      <wsdl:input message="tns:RequestMessage294" name="Input294"/>
+      <wsdl:output message="tns:ResponseMessage294" name="Output294"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding294" type="tns:PortType294">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation294">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation294"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service294">
+    <wsdl:port name="Port294" binding="tns:Binding294">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage295">
+    <wsdl:part name="Response" element="tns:ResponseElement295"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage295">
+    <wsdl:part name="Request" element="tns:RequestElement295"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType295">
+    <wsdl:operation name="Operation295">
+      <wsdl:input message="tns:RequestMessage295" name="Input295"/>
+      <wsdl:output message="tns:ResponseMessage295" name="Output295"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding295" type="tns:PortType295">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation295">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation295"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service295">
+    <wsdl:port name="Port295" binding="tns:Binding295">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage296">
+    <wsdl:part name="Response" element="tns:ResponseElement296"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage296">
+    <wsdl:part name="Request" element="tns:RequestElement296"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType296">
+    <wsdl:operation name="Operation296">
+      <wsdl:input message="tns:RequestMessage296" name="Input296"/>
+      <wsdl:output message="tns:ResponseMessage296" name="Output296"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding296" type="tns:PortType296">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation296">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation296"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service296">
+    <wsdl:port name="Port296" binding="tns:Binding296">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage297">
+    <wsdl:part name="Response" element="tns:ResponseElement297"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage297">
+    <wsdl:part name="Request" element="tns:RequestElement297"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType297">
+    <wsdl:operation name="Operation297">
+      <wsdl:input message="tns:RequestMessage297" name="Input297"/>
+      <wsdl:output message="tns:ResponseMessage297" name="Output297"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding297" type="tns:PortType297">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation297">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation297"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service297">
+    <wsdl:port name="Port297" binding="tns:Binding297">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage298">
+    <wsdl:part name="Response" element="tns:ResponseElement298"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage298">
+    <wsdl:part name="Request" element="tns:RequestElement298"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType298">
+    <wsdl:operation name="Operation298">
+      <wsdl:input message="tns:RequestMessage298" name="Input298"/>
+      <wsdl:output message="tns:ResponseMessage298" name="Output298"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding298" type="tns:PortType298">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation298">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation298"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service298">
+    <wsdl:port name="Port298" binding="tns:Binding298">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage299">
+    <wsdl:part name="Response" element="tns:ResponseElement299"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage299">
+    <wsdl:part name="Request" element="tns:RequestElement299"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType299">
+    <wsdl:operation name="Operation299">
+      <wsdl:input message="tns:RequestMessage299" name="Input299"/>
+      <wsdl:output message="tns:ResponseMessage299" name="Output299"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding299" type="tns:PortType299">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation299">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation299"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service299">
+    <wsdl:port name="Port299" binding="tns:Binding299">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage300">
+    <wsdl:part name="Response" element="tns:ResponseElement300"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage300">
+    <wsdl:part name="Request" element="tns:RequestElement300"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType300">
+    <wsdl:operation name="Operation300">
+      <wsdl:input message="tns:RequestMessage300" name="Input300"/>
+      <wsdl:output message="tns:ResponseMessage300" name="Output300"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding300" type="tns:PortType300">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation300">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation300"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service300">
+    <wsdl:port name="Port300" binding="tns:Binding300">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage301">
+    <wsdl:part name="Response" element="tns:ResponseElement301"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage301">
+    <wsdl:part name="Request" element="tns:RequestElement301"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType301">
+    <wsdl:operation name="Operation301">
+      <wsdl:input message="tns:RequestMessage301" name="Input301"/>
+      <wsdl:output message="tns:ResponseMessage301" name="Output301"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding301" type="tns:PortType301">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation301">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation301"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service301">
+    <wsdl:port name="Port301" binding="tns:Binding301">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage302">
+    <wsdl:part name="Response" element="tns:ResponseElement302"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage302">
+    <wsdl:part name="Request" element="tns:RequestElement302"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType302">
+    <wsdl:operation name="Operation302">
+      <wsdl:input message="tns:RequestMessage302" name="Input302"/>
+      <wsdl:output message="tns:ResponseMessage302" name="Output302"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding302" type="tns:PortType302">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation302">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation302"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service302">
+    <wsdl:port name="Port302" binding="tns:Binding302">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage303">
+    <wsdl:part name="Response" element="tns:ResponseElement303"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage303">
+    <wsdl:part name="Request" element="tns:RequestElement303"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType303">
+    <wsdl:operation name="Operation303">
+      <wsdl:input message="tns:RequestMessage303" name="Input303"/>
+      <wsdl:output message="tns:ResponseMessage303" name="Output303"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding303" type="tns:PortType303">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation303">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation303"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service303">
+    <wsdl:port name="Port303" binding="tns:Binding303">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage304">
+    <wsdl:part name="Response" element="tns:ResponseElement304"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage304">
+    <wsdl:part name="Request" element="tns:RequestElement304"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType304">
+    <wsdl:operation name="Operation304">
+      <wsdl:input message="tns:RequestMessage304" name="Input304"/>
+      <wsdl:output message="tns:ResponseMessage304" name="Output304"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding304" type="tns:PortType304">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation304">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation304"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service304">
+    <wsdl:port name="Port304" binding="tns:Binding304">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage305">
+    <wsdl:part name="Response" element="tns:ResponseElement305"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage305">
+    <wsdl:part name="Request" element="tns:RequestElement305"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType305">
+    <wsdl:operation name="Operation305">
+      <wsdl:input message="tns:RequestMessage305" name="Input305"/>
+      <wsdl:output message="tns:ResponseMessage305" name="Output305"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding305" type="tns:PortType305">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation305">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation305"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service305">
+    <wsdl:port name="Port305" binding="tns:Binding305">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage306">
+    <wsdl:part name="Response" element="tns:ResponseElement306"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage306">
+    <wsdl:part name="Request" element="tns:RequestElement306"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType306">
+    <wsdl:operation name="Operation306">
+      <wsdl:input message="tns:RequestMessage306" name="Input306"/>
+      <wsdl:output message="tns:ResponseMessage306" name="Output306"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding306" type="tns:PortType306">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation306">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation306"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service306">
+    <wsdl:port name="Port306" binding="tns:Binding306">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage307">
+    <wsdl:part name="Response" element="tns:ResponseElement307"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage307">
+    <wsdl:part name="Request" element="tns:RequestElement307"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType307">
+    <wsdl:operation name="Operation307">
+      <wsdl:input message="tns:RequestMessage307" name="Input307"/>
+      <wsdl:output message="tns:ResponseMessage307" name="Output307"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding307" type="tns:PortType307">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation307">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation307"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service307">
+    <wsdl:port name="Port307" binding="tns:Binding307">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage308">
+    <wsdl:part name="Response" element="tns:ResponseElement308"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage308">
+    <wsdl:part name="Request" element="tns:RequestElement308"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType308">
+    <wsdl:operation name="Operation308">
+      <wsdl:input message="tns:RequestMessage308" name="Input308"/>
+      <wsdl:output message="tns:ResponseMessage308" name="Output308"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding308" type="tns:PortType308">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation308">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation308"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service308">
+    <wsdl:port name="Port308" binding="tns:Binding308">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage309">
+    <wsdl:part name="Response" element="tns:ResponseElement309"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage309">
+    <wsdl:part name="Request" element="tns:RequestElement309"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType309">
+    <wsdl:operation name="Operation309">
+      <wsdl:input message="tns:RequestMessage309" name="Input309"/>
+      <wsdl:output message="tns:ResponseMessage309" name="Output309"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding309" type="tns:PortType309">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation309">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation309"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service309">
+    <wsdl:port name="Port309" binding="tns:Binding309">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage310">
+    <wsdl:part name="Response" element="tns:ResponseElement310"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage310">
+    <wsdl:part name="Request" element="tns:RequestElement310"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType310">
+    <wsdl:operation name="Operation310">
+      <wsdl:input message="tns:RequestMessage310" name="Input310"/>
+      <wsdl:output message="tns:ResponseMessage310" name="Output310"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding310" type="tns:PortType310">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation310">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation310"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service310">
+    <wsdl:port name="Port310" binding="tns:Binding310">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage311">
+    <wsdl:part name="Response" element="tns:ResponseElement311"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage311">
+    <wsdl:part name="Request" element="tns:RequestElement311"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType311">
+    <wsdl:operation name="Operation311">
+      <wsdl:input message="tns:RequestMessage311" name="Input311"/>
+      <wsdl:output message="tns:ResponseMessage311" name="Output311"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding311" type="tns:PortType311">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation311">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation311"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service311">
+    <wsdl:port name="Port311" binding="tns:Binding311">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage312">
+    <wsdl:part name="Response" element="tns:ResponseElement312"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage312">
+    <wsdl:part name="Request" element="tns:RequestElement312"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType312">
+    <wsdl:operation name="Operation312">
+      <wsdl:input message="tns:RequestMessage312" name="Input312"/>
+      <wsdl:output message="tns:ResponseMessage312" name="Output312"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding312" type="tns:PortType312">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation312">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation312"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service312">
+    <wsdl:port name="Port312" binding="tns:Binding312">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage313">
+    <wsdl:part name="Response" element="tns:ResponseElement313"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage313">
+    <wsdl:part name="Request" element="tns:RequestElement313"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType313">
+    <wsdl:operation name="Operation313">
+      <wsdl:input message="tns:RequestMessage313" name="Input313"/>
+      <wsdl:output message="tns:ResponseMessage313" name="Output313"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding313" type="tns:PortType313">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation313">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation313"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service313">
+    <wsdl:port name="Port313" binding="tns:Binding313">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage314">
+    <wsdl:part name="Response" element="tns:ResponseElement314"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage314">
+    <wsdl:part name="Request" element="tns:RequestElement314"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType314">
+    <wsdl:operation name="Operation314">
+      <wsdl:input message="tns:RequestMessage314" name="Input314"/>
+      <wsdl:output message="tns:ResponseMessage314" name="Output314"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding314" type="tns:PortType314">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation314">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation314"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service314">
+    <wsdl:port name="Port314" binding="tns:Binding314">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage315">
+    <wsdl:part name="Response" element="tns:ResponseElement315"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage315">
+    <wsdl:part name="Request" element="tns:RequestElement315"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType315">
+    <wsdl:operation name="Operation315">
+      <wsdl:input message="tns:RequestMessage315" name="Input315"/>
+      <wsdl:output message="tns:ResponseMessage315" name="Output315"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding315" type="tns:PortType315">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation315">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation315"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service315">
+    <wsdl:port name="Port315" binding="tns:Binding315">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage316">
+    <wsdl:part name="Response" element="tns:ResponseElement316"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage316">
+    <wsdl:part name="Request" element="tns:RequestElement316"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType316">
+    <wsdl:operation name="Operation316">
+      <wsdl:input message="tns:RequestMessage316" name="Input316"/>
+      <wsdl:output message="tns:ResponseMessage316" name="Output316"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding316" type="tns:PortType316">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation316">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation316"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service316">
+    <wsdl:port name="Port316" binding="tns:Binding316">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage317">
+    <wsdl:part name="Response" element="tns:ResponseElement317"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage317">
+    <wsdl:part name="Request" element="tns:RequestElement317"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType317">
+    <wsdl:operation name="Operation317">
+      <wsdl:input message="tns:RequestMessage317" name="Input317"/>
+      <wsdl:output message="tns:ResponseMessage317" name="Output317"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding317" type="tns:PortType317">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation317">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation317"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service317">
+    <wsdl:port name="Port317" binding="tns:Binding317">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage318">
+    <wsdl:part name="Response" element="tns:ResponseElement318"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage318">
+    <wsdl:part name="Request" element="tns:RequestElement318"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType318">
+    <wsdl:operation name="Operation318">
+      <wsdl:input message="tns:RequestMessage318" name="Input318"/>
+      <wsdl:output message="tns:ResponseMessage318" name="Output318"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding318" type="tns:PortType318">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation318">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation318"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service318">
+    <wsdl:port name="Port318" binding="tns:Binding318">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage319">
+    <wsdl:part name="Response" element="tns:ResponseElement319"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage319">
+    <wsdl:part name="Request" element="tns:RequestElement319"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType319">
+    <wsdl:operation name="Operation319">
+      <wsdl:input message="tns:RequestMessage319" name="Input319"/>
+      <wsdl:output message="tns:ResponseMessage319" name="Output319"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding319" type="tns:PortType319">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation319">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation319"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service319">
+    <wsdl:port name="Port319" binding="tns:Binding319">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage320">
+    <wsdl:part name="Response" element="tns:ResponseElement320"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage320">
+    <wsdl:part name="Request" element="tns:RequestElement320"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType320">
+    <wsdl:operation name="Operation320">
+      <wsdl:input message="tns:RequestMessage320" name="Input320"/>
+      <wsdl:output message="tns:ResponseMessage320" name="Output320"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding320" type="tns:PortType320">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation320">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation320"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service320">
+    <wsdl:port name="Port320" binding="tns:Binding320">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage321">
+    <wsdl:part name="Response" element="tns:ResponseElement321"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage321">
+    <wsdl:part name="Request" element="tns:RequestElement321"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType321">
+    <wsdl:operation name="Operation321">
+      <wsdl:input message="tns:RequestMessage321" name="Input321"/>
+      <wsdl:output message="tns:ResponseMessage321" name="Output321"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding321" type="tns:PortType321">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation321">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation321"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service321">
+    <wsdl:port name="Port321" binding="tns:Binding321">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage322">
+    <wsdl:part name="Response" element="tns:ResponseElement322"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage322">
+    <wsdl:part name="Request" element="tns:RequestElement322"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType322">
+    <wsdl:operation name="Operation322">
+      <wsdl:input message="tns:RequestMessage322" name="Input322"/>
+      <wsdl:output message="tns:ResponseMessage322" name="Output322"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding322" type="tns:PortType322">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation322">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation322"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service322">
+    <wsdl:port name="Port322" binding="tns:Binding322">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage323">
+    <wsdl:part name="Response" element="tns:ResponseElement323"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage323">
+    <wsdl:part name="Request" element="tns:RequestElement323"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType323">
+    <wsdl:operation name="Operation323">
+      <wsdl:input message="tns:RequestMessage323" name="Input323"/>
+      <wsdl:output message="tns:ResponseMessage323" name="Output323"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding323" type="tns:PortType323">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation323">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation323"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service323">
+    <wsdl:port name="Port323" binding="tns:Binding323">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage324">
+    <wsdl:part name="Response" element="tns:ResponseElement324"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage324">
+    <wsdl:part name="Request" element="tns:RequestElement324"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType324">
+    <wsdl:operation name="Operation324">
+      <wsdl:input message="tns:RequestMessage324" name="Input324"/>
+      <wsdl:output message="tns:ResponseMessage324" name="Output324"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding324" type="tns:PortType324">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation324">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation324"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service324">
+    <wsdl:port name="Port324" binding="tns:Binding324">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage325">
+    <wsdl:part name="Response" element="tns:ResponseElement325"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage325">
+    <wsdl:part name="Request" element="tns:RequestElement325"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType325">
+    <wsdl:operation name="Operation325">
+      <wsdl:input message="tns:RequestMessage325" name="Input325"/>
+      <wsdl:output message="tns:ResponseMessage325" name="Output325"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding325" type="tns:PortType325">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation325">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation325"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service325">
+    <wsdl:port name="Port325" binding="tns:Binding325">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage326">
+    <wsdl:part name="Response" element="tns:ResponseElement326"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage326">
+    <wsdl:part name="Request" element="tns:RequestElement326"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType326">
+    <wsdl:operation name="Operation326">
+      <wsdl:input message="tns:RequestMessage326" name="Input326"/>
+      <wsdl:output message="tns:ResponseMessage326" name="Output326"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding326" type="tns:PortType326">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation326">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation326"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service326">
+    <wsdl:port name="Port326" binding="tns:Binding326">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage327">
+    <wsdl:part name="Response" element="tns:ResponseElement327"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage327">
+    <wsdl:part name="Request" element="tns:RequestElement327"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType327">
+    <wsdl:operation name="Operation327">
+      <wsdl:input message="tns:RequestMessage327" name="Input327"/>
+      <wsdl:output message="tns:ResponseMessage327" name="Output327"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding327" type="tns:PortType327">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation327">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation327"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service327">
+    <wsdl:port name="Port327" binding="tns:Binding327">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage328">
+    <wsdl:part name="Response" element="tns:ResponseElement328"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage328">
+    <wsdl:part name="Request" element="tns:RequestElement328"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType328">
+    <wsdl:operation name="Operation328">
+      <wsdl:input message="tns:RequestMessage328" name="Input328"/>
+      <wsdl:output message="tns:ResponseMessage328" name="Output328"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding328" type="tns:PortType328">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation328">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation328"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service328">
+    <wsdl:port name="Port328" binding="tns:Binding328">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage329">
+    <wsdl:part name="Response" element="tns:ResponseElement329"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage329">
+    <wsdl:part name="Request" element="tns:RequestElement329"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType329">
+    <wsdl:operation name="Operation329">
+      <wsdl:input message="tns:RequestMessage329" name="Input329"/>
+      <wsdl:output message="tns:ResponseMessage329" name="Output329"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding329" type="tns:PortType329">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation329">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation329"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service329">
+    <wsdl:port name="Port329" binding="tns:Binding329">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage330">
+    <wsdl:part name="Response" element="tns:ResponseElement330"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage330">
+    <wsdl:part name="Request" element="tns:RequestElement330"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType330">
+    <wsdl:operation name="Operation330">
+      <wsdl:input message="tns:RequestMessage330" name="Input330"/>
+      <wsdl:output message="tns:ResponseMessage330" name="Output330"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding330" type="tns:PortType330">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation330">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation330"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service330">
+    <wsdl:port name="Port330" binding="tns:Binding330">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage331">
+    <wsdl:part name="Response" element="tns:ResponseElement331"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage331">
+    <wsdl:part name="Request" element="tns:RequestElement331"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType331">
+    <wsdl:operation name="Operation331">
+      <wsdl:input message="tns:RequestMessage331" name="Input331"/>
+      <wsdl:output message="tns:ResponseMessage331" name="Output331"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding331" type="tns:PortType331">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation331">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation331"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service331">
+    <wsdl:port name="Port331" binding="tns:Binding331">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage332">
+    <wsdl:part name="Response" element="tns:ResponseElement332"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage332">
+    <wsdl:part name="Request" element="tns:RequestElement332"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType332">
+    <wsdl:operation name="Operation332">
+      <wsdl:input message="tns:RequestMessage332" name="Input332"/>
+      <wsdl:output message="tns:ResponseMessage332" name="Output332"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding332" type="tns:PortType332">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation332">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation332"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service332">
+    <wsdl:port name="Port332" binding="tns:Binding332">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage333">
+    <wsdl:part name="Response" element="tns:ResponseElement333"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage333">
+    <wsdl:part name="Request" element="tns:RequestElement333"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType333">
+    <wsdl:operation name="Operation333">
+      <wsdl:input message="tns:RequestMessage333" name="Input333"/>
+      <wsdl:output message="tns:ResponseMessage333" name="Output333"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding333" type="tns:PortType333">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation333">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation333"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service333">
+    <wsdl:port name="Port333" binding="tns:Binding333">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage334">
+    <wsdl:part name="Response" element="tns:ResponseElement334"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage334">
+    <wsdl:part name="Request" element="tns:RequestElement334"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType334">
+    <wsdl:operation name="Operation334">
+      <wsdl:input message="tns:RequestMessage334" name="Input334"/>
+      <wsdl:output message="tns:ResponseMessage334" name="Output334"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding334" type="tns:PortType334">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation334">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation334"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service334">
+    <wsdl:port name="Port334" binding="tns:Binding334">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage335">
+    <wsdl:part name="Response" element="tns:ResponseElement335"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage335">
+    <wsdl:part name="Request" element="tns:RequestElement335"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType335">
+    <wsdl:operation name="Operation335">
+      <wsdl:input message="tns:RequestMessage335" name="Input335"/>
+      <wsdl:output message="tns:ResponseMessage335" name="Output335"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding335" type="tns:PortType335">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation335">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation335"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service335">
+    <wsdl:port name="Port335" binding="tns:Binding335">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage336">
+    <wsdl:part name="Response" element="tns:ResponseElement336"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage336">
+    <wsdl:part name="Request" element="tns:RequestElement336"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType336">
+    <wsdl:operation name="Operation336">
+      <wsdl:input message="tns:RequestMessage336" name="Input336"/>
+      <wsdl:output message="tns:ResponseMessage336" name="Output336"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding336" type="tns:PortType336">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation336">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation336"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service336">
+    <wsdl:port name="Port336" binding="tns:Binding336">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage337">
+    <wsdl:part name="Response" element="tns:ResponseElement337"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage337">
+    <wsdl:part name="Request" element="tns:RequestElement337"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType337">
+    <wsdl:operation name="Operation337">
+      <wsdl:input message="tns:RequestMessage337" name="Input337"/>
+      <wsdl:output message="tns:ResponseMessage337" name="Output337"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding337" type="tns:PortType337">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation337">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation337"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service337">
+    <wsdl:port name="Port337" binding="tns:Binding337">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage338">
+    <wsdl:part name="Response" element="tns:ResponseElement338"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage338">
+    <wsdl:part name="Request" element="tns:RequestElement338"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType338">
+    <wsdl:operation name="Operation338">
+      <wsdl:input message="tns:RequestMessage338" name="Input338"/>
+      <wsdl:output message="tns:ResponseMessage338" name="Output338"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding338" type="tns:PortType338">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation338">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation338"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service338">
+    <wsdl:port name="Port338" binding="tns:Binding338">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage339">
+    <wsdl:part name="Response" element="tns:ResponseElement339"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage339">
+    <wsdl:part name="Request" element="tns:RequestElement339"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType339">
+    <wsdl:operation name="Operation339">
+      <wsdl:input message="tns:RequestMessage339" name="Input339"/>
+      <wsdl:output message="tns:ResponseMessage339" name="Output339"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding339" type="tns:PortType339">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation339">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation339"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service339">
+    <wsdl:port name="Port339" binding="tns:Binding339">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage340">
+    <wsdl:part name="Response" element="tns:ResponseElement340"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage340">
+    <wsdl:part name="Request" element="tns:RequestElement340"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType340">
+    <wsdl:operation name="Operation340">
+      <wsdl:input message="tns:RequestMessage340" name="Input340"/>
+      <wsdl:output message="tns:ResponseMessage340" name="Output340"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding340" type="tns:PortType340">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation340">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation340"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service340">
+    <wsdl:port name="Port340" binding="tns:Binding340">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage341">
+    <wsdl:part name="Response" element="tns:ResponseElement341"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage341">
+    <wsdl:part name="Request" element="tns:RequestElement341"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType341">
+    <wsdl:operation name="Operation341">
+      <wsdl:input message="tns:RequestMessage341" name="Input341"/>
+      <wsdl:output message="tns:ResponseMessage341" name="Output341"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding341" type="tns:PortType341">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation341">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation341"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service341">
+    <wsdl:port name="Port341" binding="tns:Binding341">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage342">
+    <wsdl:part name="Response" element="tns:ResponseElement342"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage342">
+    <wsdl:part name="Request" element="tns:RequestElement342"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType342">
+    <wsdl:operation name="Operation342">
+      <wsdl:input message="tns:RequestMessage342" name="Input342"/>
+      <wsdl:output message="tns:ResponseMessage342" name="Output342"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding342" type="tns:PortType342">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation342">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation342"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service342">
+    <wsdl:port name="Port342" binding="tns:Binding342">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage343">
+    <wsdl:part name="Response" element="tns:ResponseElement343"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage343">
+    <wsdl:part name="Request" element="tns:RequestElement343"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType343">
+    <wsdl:operation name="Operation343">
+      <wsdl:input message="tns:RequestMessage343" name="Input343"/>
+      <wsdl:output message="tns:ResponseMessage343" name="Output343"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding343" type="tns:PortType343">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation343">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation343"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service343">
+    <wsdl:port name="Port343" binding="tns:Binding343">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage344">
+    <wsdl:part name="Response" element="tns:ResponseElement344"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage344">
+    <wsdl:part name="Request" element="tns:RequestElement344"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType344">
+    <wsdl:operation name="Operation344">
+      <wsdl:input message="tns:RequestMessage344" name="Input344"/>
+      <wsdl:output message="tns:ResponseMessage344" name="Output344"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding344" type="tns:PortType344">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation344">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation344"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service344">
+    <wsdl:port name="Port344" binding="tns:Binding344">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage345">
+    <wsdl:part name="Response" element="tns:ResponseElement345"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage345">
+    <wsdl:part name="Request" element="tns:RequestElement345"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType345">
+    <wsdl:operation name="Operation345">
+      <wsdl:input message="tns:RequestMessage345" name="Input345"/>
+      <wsdl:output message="tns:ResponseMessage345" name="Output345"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding345" type="tns:PortType345">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation345">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation345"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service345">
+    <wsdl:port name="Port345" binding="tns:Binding345">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage346">
+    <wsdl:part name="Response" element="tns:ResponseElement346"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage346">
+    <wsdl:part name="Request" element="tns:RequestElement346"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType346">
+    <wsdl:operation name="Operation346">
+      <wsdl:input message="tns:RequestMessage346" name="Input346"/>
+      <wsdl:output message="tns:ResponseMessage346" name="Output346"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding346" type="tns:PortType346">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation346">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation346"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service346">
+    <wsdl:port name="Port346" binding="tns:Binding346">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage347">
+    <wsdl:part name="Response" element="tns:ResponseElement347"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage347">
+    <wsdl:part name="Request" element="tns:RequestElement347"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType347">
+    <wsdl:operation name="Operation347">
+      <wsdl:input message="tns:RequestMessage347" name="Input347"/>
+      <wsdl:output message="tns:ResponseMessage347" name="Output347"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding347" type="tns:PortType347">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation347">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation347"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service347">
+    <wsdl:port name="Port347" binding="tns:Binding347">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage348">
+    <wsdl:part name="Response" element="tns:ResponseElement348"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage348">
+    <wsdl:part name="Request" element="tns:RequestElement348"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType348">
+    <wsdl:operation name="Operation348">
+      <wsdl:input message="tns:RequestMessage348" name="Input348"/>
+      <wsdl:output message="tns:ResponseMessage348" name="Output348"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding348" type="tns:PortType348">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation348">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation348"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service348">
+    <wsdl:port name="Port348" binding="tns:Binding348">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage349">
+    <wsdl:part name="Response" element="tns:ResponseElement349"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage349">
+    <wsdl:part name="Request" element="tns:RequestElement349"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType349">
+    <wsdl:operation name="Operation349">
+      <wsdl:input message="tns:RequestMessage349" name="Input349"/>
+      <wsdl:output message="tns:ResponseMessage349" name="Output349"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding349" type="tns:PortType349">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation349">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation349"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service349">
+    <wsdl:port name="Port349" binding="tns:Binding349">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage350">
+    <wsdl:part name="Response" element="tns:ResponseElement350"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage350">
+    <wsdl:part name="Request" element="tns:RequestElement350"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType350">
+    <wsdl:operation name="Operation350">
+      <wsdl:input message="tns:RequestMessage350" name="Input350"/>
+      <wsdl:output message="tns:ResponseMessage350" name="Output350"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding350" type="tns:PortType350">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation350">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation350"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service350">
+    <wsdl:port name="Port350" binding="tns:Binding350">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage351">
+    <wsdl:part name="Response" element="tns:ResponseElement351"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage351">
+    <wsdl:part name="Request" element="tns:RequestElement351"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType351">
+    <wsdl:operation name="Operation351">
+      <wsdl:input message="tns:RequestMessage351" name="Input351"/>
+      <wsdl:output message="tns:ResponseMessage351" name="Output351"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding351" type="tns:PortType351">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation351">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation351"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service351">
+    <wsdl:port name="Port351" binding="tns:Binding351">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage352">
+    <wsdl:part name="Response" element="tns:ResponseElement352"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage352">
+    <wsdl:part name="Request" element="tns:RequestElement352"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType352">
+    <wsdl:operation name="Operation352">
+      <wsdl:input message="tns:RequestMessage352" name="Input352"/>
+      <wsdl:output message="tns:ResponseMessage352" name="Output352"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding352" type="tns:PortType352">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation352">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation352"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service352">
+    <wsdl:port name="Port352" binding="tns:Binding352">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage353">
+    <wsdl:part name="Response" element="tns:ResponseElement353"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage353">
+    <wsdl:part name="Request" element="tns:RequestElement353"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType353">
+    <wsdl:operation name="Operation353">
+      <wsdl:input message="tns:RequestMessage353" name="Input353"/>
+      <wsdl:output message="tns:ResponseMessage353" name="Output353"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding353" type="tns:PortType353">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation353">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation353"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service353">
+    <wsdl:port name="Port353" binding="tns:Binding353">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage354">
+    <wsdl:part name="Response" element="tns:ResponseElement354"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage354">
+    <wsdl:part name="Request" element="tns:RequestElement354"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType354">
+    <wsdl:operation name="Operation354">
+      <wsdl:input message="tns:RequestMessage354" name="Input354"/>
+      <wsdl:output message="tns:ResponseMessage354" name="Output354"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding354" type="tns:PortType354">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation354">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation354"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service354">
+    <wsdl:port name="Port354" binding="tns:Binding354">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage355">
+    <wsdl:part name="Response" element="tns:ResponseElement355"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage355">
+    <wsdl:part name="Request" element="tns:RequestElement355"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType355">
+    <wsdl:operation name="Operation355">
+      <wsdl:input message="tns:RequestMessage355" name="Input355"/>
+      <wsdl:output message="tns:ResponseMessage355" name="Output355"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding355" type="tns:PortType355">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation355">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation355"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service355">
+    <wsdl:port name="Port355" binding="tns:Binding355">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage356">
+    <wsdl:part name="Response" element="tns:ResponseElement356"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage356">
+    <wsdl:part name="Request" element="tns:RequestElement356"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType356">
+    <wsdl:operation name="Operation356">
+      <wsdl:input message="tns:RequestMessage356" name="Input356"/>
+      <wsdl:output message="tns:ResponseMessage356" name="Output356"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding356" type="tns:PortType356">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation356">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation356"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service356">
+    <wsdl:port name="Port356" binding="tns:Binding356">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage357">
+    <wsdl:part name="Response" element="tns:ResponseElement357"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage357">
+    <wsdl:part name="Request" element="tns:RequestElement357"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType357">
+    <wsdl:operation name="Operation357">
+      <wsdl:input message="tns:RequestMessage357" name="Input357"/>
+      <wsdl:output message="tns:ResponseMessage357" name="Output357"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding357" type="tns:PortType357">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation357">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation357"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service357">
+    <wsdl:port name="Port357" binding="tns:Binding357">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage358">
+    <wsdl:part name="Response" element="tns:ResponseElement358"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage358">
+    <wsdl:part name="Request" element="tns:RequestElement358"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType358">
+    <wsdl:operation name="Operation358">
+      <wsdl:input message="tns:RequestMessage358" name="Input358"/>
+      <wsdl:output message="tns:ResponseMessage358" name="Output358"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding358" type="tns:PortType358">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation358">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation358"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service358">
+    <wsdl:port name="Port358" binding="tns:Binding358">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage359">
+    <wsdl:part name="Response" element="tns:ResponseElement359"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage359">
+    <wsdl:part name="Request" element="tns:RequestElement359"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType359">
+    <wsdl:operation name="Operation359">
+      <wsdl:input message="tns:RequestMessage359" name="Input359"/>
+      <wsdl:output message="tns:ResponseMessage359" name="Output359"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding359" type="tns:PortType359">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation359">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation359"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service359">
+    <wsdl:port name="Port359" binding="tns:Binding359">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage360">
+    <wsdl:part name="Response" element="tns:ResponseElement360"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage360">
+    <wsdl:part name="Request" element="tns:RequestElement360"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType360">
+    <wsdl:operation name="Operation360">
+      <wsdl:input message="tns:RequestMessage360" name="Input360"/>
+      <wsdl:output message="tns:ResponseMessage360" name="Output360"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding360" type="tns:PortType360">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation360">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation360"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service360">
+    <wsdl:port name="Port360" binding="tns:Binding360">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage361">
+    <wsdl:part name="Response" element="tns:ResponseElement361"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage361">
+    <wsdl:part name="Request" element="tns:RequestElement361"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType361">
+    <wsdl:operation name="Operation361">
+      <wsdl:input message="tns:RequestMessage361" name="Input361"/>
+      <wsdl:output message="tns:ResponseMessage361" name="Output361"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding361" type="tns:PortType361">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation361">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation361"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service361">
+    <wsdl:port name="Port361" binding="tns:Binding361">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage362">
+    <wsdl:part name="Response" element="tns:ResponseElement362"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage362">
+    <wsdl:part name="Request" element="tns:RequestElement362"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType362">
+    <wsdl:operation name="Operation362">
+      <wsdl:input message="tns:RequestMessage362" name="Input362"/>
+      <wsdl:output message="tns:ResponseMessage362" name="Output362"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding362" type="tns:PortType362">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation362">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation362"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service362">
+    <wsdl:port name="Port362" binding="tns:Binding362">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage363">
+    <wsdl:part name="Response" element="tns:ResponseElement363"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage363">
+    <wsdl:part name="Request" element="tns:RequestElement363"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType363">
+    <wsdl:operation name="Operation363">
+      <wsdl:input message="tns:RequestMessage363" name="Input363"/>
+      <wsdl:output message="tns:ResponseMessage363" name="Output363"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding363" type="tns:PortType363">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation363">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation363"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service363">
+    <wsdl:port name="Port363" binding="tns:Binding363">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage364">
+    <wsdl:part name="Response" element="tns:ResponseElement364"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage364">
+    <wsdl:part name="Request" element="tns:RequestElement364"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType364">
+    <wsdl:operation name="Operation364">
+      <wsdl:input message="tns:RequestMessage364" name="Input364"/>
+      <wsdl:output message="tns:ResponseMessage364" name="Output364"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding364" type="tns:PortType364">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation364">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation364"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service364">
+    <wsdl:port name="Port364" binding="tns:Binding364">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage365">
+    <wsdl:part name="Response" element="tns:ResponseElement365"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage365">
+    <wsdl:part name="Request" element="tns:RequestElement365"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType365">
+    <wsdl:operation name="Operation365">
+      <wsdl:input message="tns:RequestMessage365" name="Input365"/>
+      <wsdl:output message="tns:ResponseMessage365" name="Output365"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding365" type="tns:PortType365">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation365">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation365"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service365">
+    <wsdl:port name="Port365" binding="tns:Binding365">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage366">
+    <wsdl:part name="Response" element="tns:ResponseElement366"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage366">
+    <wsdl:part name="Request" element="tns:RequestElement366"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType366">
+    <wsdl:operation name="Operation366">
+      <wsdl:input message="tns:RequestMessage366" name="Input366"/>
+      <wsdl:output message="tns:ResponseMessage366" name="Output366"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding366" type="tns:PortType366">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation366">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation366"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service366">
+    <wsdl:port name="Port366" binding="tns:Binding366">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage367">
+    <wsdl:part name="Response" element="tns:ResponseElement367"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage367">
+    <wsdl:part name="Request" element="tns:RequestElement367"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType367">
+    <wsdl:operation name="Operation367">
+      <wsdl:input message="tns:RequestMessage367" name="Input367"/>
+      <wsdl:output message="tns:ResponseMessage367" name="Output367"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding367" type="tns:PortType367">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation367">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation367"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service367">
+    <wsdl:port name="Port367" binding="tns:Binding367">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage368">
+    <wsdl:part name="Response" element="tns:ResponseElement368"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage368">
+    <wsdl:part name="Request" element="tns:RequestElement368"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType368">
+    <wsdl:operation name="Operation368">
+      <wsdl:input message="tns:RequestMessage368" name="Input368"/>
+      <wsdl:output message="tns:ResponseMessage368" name="Output368"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding368" type="tns:PortType368">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation368">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation368"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service368">
+    <wsdl:port name="Port368" binding="tns:Binding368">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage369">
+    <wsdl:part name="Response" element="tns:ResponseElement369"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage369">
+    <wsdl:part name="Request" element="tns:RequestElement369"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType369">
+    <wsdl:operation name="Operation369">
+      <wsdl:input message="tns:RequestMessage369" name="Input369"/>
+      <wsdl:output message="tns:ResponseMessage369" name="Output369"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding369" type="tns:PortType369">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation369">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation369"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service369">
+    <wsdl:port name="Port369" binding="tns:Binding369">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage370">
+    <wsdl:part name="Response" element="tns:ResponseElement370"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage370">
+    <wsdl:part name="Request" element="tns:RequestElement370"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType370">
+    <wsdl:operation name="Operation370">
+      <wsdl:input message="tns:RequestMessage370" name="Input370"/>
+      <wsdl:output message="tns:ResponseMessage370" name="Output370"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding370" type="tns:PortType370">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation370">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation370"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service370">
+    <wsdl:port name="Port370" binding="tns:Binding370">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage371">
+    <wsdl:part name="Response" element="tns:ResponseElement371"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage371">
+    <wsdl:part name="Request" element="tns:RequestElement371"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType371">
+    <wsdl:operation name="Operation371">
+      <wsdl:input message="tns:RequestMessage371" name="Input371"/>
+      <wsdl:output message="tns:ResponseMessage371" name="Output371"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding371" type="tns:PortType371">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation371">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation371"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service371">
+    <wsdl:port name="Port371" binding="tns:Binding371">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage372">
+    <wsdl:part name="Response" element="tns:ResponseElement372"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage372">
+    <wsdl:part name="Request" element="tns:RequestElement372"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType372">
+    <wsdl:operation name="Operation372">
+      <wsdl:input message="tns:RequestMessage372" name="Input372"/>
+      <wsdl:output message="tns:ResponseMessage372" name="Output372"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding372" type="tns:PortType372">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation372">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation372"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service372">
+    <wsdl:port name="Port372" binding="tns:Binding372">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage373">
+    <wsdl:part name="Response" element="tns:ResponseElement373"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage373">
+    <wsdl:part name="Request" element="tns:RequestElement373"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType373">
+    <wsdl:operation name="Operation373">
+      <wsdl:input message="tns:RequestMessage373" name="Input373"/>
+      <wsdl:output message="tns:ResponseMessage373" name="Output373"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding373" type="tns:PortType373">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation373">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation373"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service373">
+    <wsdl:port name="Port373" binding="tns:Binding373">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage374">
+    <wsdl:part name="Response" element="tns:ResponseElement374"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage374">
+    <wsdl:part name="Request" element="tns:RequestElement374"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType374">
+    <wsdl:operation name="Operation374">
+      <wsdl:input message="tns:RequestMessage374" name="Input374"/>
+      <wsdl:output message="tns:ResponseMessage374" name="Output374"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding374" type="tns:PortType374">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation374">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation374"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service374">
+    <wsdl:port name="Port374" binding="tns:Binding374">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage375">
+    <wsdl:part name="Response" element="tns:ResponseElement375"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage375">
+    <wsdl:part name="Request" element="tns:RequestElement375"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType375">
+    <wsdl:operation name="Operation375">
+      <wsdl:input message="tns:RequestMessage375" name="Input375"/>
+      <wsdl:output message="tns:ResponseMessage375" name="Output375"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding375" type="tns:PortType375">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation375">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation375"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service375">
+    <wsdl:port name="Port375" binding="tns:Binding375">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage376">
+    <wsdl:part name="Response" element="tns:ResponseElement376"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage376">
+    <wsdl:part name="Request" element="tns:RequestElement376"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType376">
+    <wsdl:operation name="Operation376">
+      <wsdl:input message="tns:RequestMessage376" name="Input376"/>
+      <wsdl:output message="tns:ResponseMessage376" name="Output376"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding376" type="tns:PortType376">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation376">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation376"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service376">
+    <wsdl:port name="Port376" binding="tns:Binding376">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage377">
+    <wsdl:part name="Response" element="tns:ResponseElement377"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage377">
+    <wsdl:part name="Request" element="tns:RequestElement377"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType377">
+    <wsdl:operation name="Operation377">
+      <wsdl:input message="tns:RequestMessage377" name="Input377"/>
+      <wsdl:output message="tns:ResponseMessage377" name="Output377"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding377" type="tns:PortType377">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation377">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation377"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service377">
+    <wsdl:port name="Port377" binding="tns:Binding377">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage378">
+    <wsdl:part name="Response" element="tns:ResponseElement378"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage378">
+    <wsdl:part name="Request" element="tns:RequestElement378"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType378">
+    <wsdl:operation name="Operation378">
+      <wsdl:input message="tns:RequestMessage378" name="Input378"/>
+      <wsdl:output message="tns:ResponseMessage378" name="Output378"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding378" type="tns:PortType378">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation378">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation378"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service378">
+    <wsdl:port name="Port378" binding="tns:Binding378">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage379">
+    <wsdl:part name="Response" element="tns:ResponseElement379"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage379">
+    <wsdl:part name="Request" element="tns:RequestElement379"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType379">
+    <wsdl:operation name="Operation379">
+      <wsdl:input message="tns:RequestMessage379" name="Input379"/>
+      <wsdl:output message="tns:ResponseMessage379" name="Output379"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding379" type="tns:PortType379">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation379">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation379"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service379">
+    <wsdl:port name="Port379" binding="tns:Binding379">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage380">
+    <wsdl:part name="Response" element="tns:ResponseElement380"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage380">
+    <wsdl:part name="Request" element="tns:RequestElement380"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType380">
+    <wsdl:operation name="Operation380">
+      <wsdl:input message="tns:RequestMessage380" name="Input380"/>
+      <wsdl:output message="tns:ResponseMessage380" name="Output380"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding380" type="tns:PortType380">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation380">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation380"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service380">
+    <wsdl:port name="Port380" binding="tns:Binding380">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage381">
+    <wsdl:part name="Response" element="tns:ResponseElement381"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage381">
+    <wsdl:part name="Request" element="tns:RequestElement381"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType381">
+    <wsdl:operation name="Operation381">
+      <wsdl:input message="tns:RequestMessage381" name="Input381"/>
+      <wsdl:output message="tns:ResponseMessage381" name="Output381"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding381" type="tns:PortType381">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation381">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation381"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service381">
+    <wsdl:port name="Port381" binding="tns:Binding381">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage382">
+    <wsdl:part name="Response" element="tns:ResponseElement382"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage382">
+    <wsdl:part name="Request" element="tns:RequestElement382"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType382">
+    <wsdl:operation name="Operation382">
+      <wsdl:input message="tns:RequestMessage382" name="Input382"/>
+      <wsdl:output message="tns:ResponseMessage382" name="Output382"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding382" type="tns:PortType382">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation382">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation382"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service382">
+    <wsdl:port name="Port382" binding="tns:Binding382">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage383">
+    <wsdl:part name="Response" element="tns:ResponseElement383"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage383">
+    <wsdl:part name="Request" element="tns:RequestElement383"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType383">
+    <wsdl:operation name="Operation383">
+      <wsdl:input message="tns:RequestMessage383" name="Input383"/>
+      <wsdl:output message="tns:ResponseMessage383" name="Output383"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding383" type="tns:PortType383">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation383">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation383"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service383">
+    <wsdl:port name="Port383" binding="tns:Binding383">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage384">
+    <wsdl:part name="Response" element="tns:ResponseElement384"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage384">
+    <wsdl:part name="Request" element="tns:RequestElement384"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType384">
+    <wsdl:operation name="Operation384">
+      <wsdl:input message="tns:RequestMessage384" name="Input384"/>
+      <wsdl:output message="tns:ResponseMessage384" name="Output384"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding384" type="tns:PortType384">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation384">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation384"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service384">
+    <wsdl:port name="Port384" binding="tns:Binding384">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage385">
+    <wsdl:part name="Response" element="tns:ResponseElement385"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage385">
+    <wsdl:part name="Request" element="tns:RequestElement385"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType385">
+    <wsdl:operation name="Operation385">
+      <wsdl:input message="tns:RequestMessage385" name="Input385"/>
+      <wsdl:output message="tns:ResponseMessage385" name="Output385"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding385" type="tns:PortType385">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation385">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation385"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service385">
+    <wsdl:port name="Port385" binding="tns:Binding385">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage386">
+    <wsdl:part name="Response" element="tns:ResponseElement386"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage386">
+    <wsdl:part name="Request" element="tns:RequestElement386"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType386">
+    <wsdl:operation name="Operation386">
+      <wsdl:input message="tns:RequestMessage386" name="Input386"/>
+      <wsdl:output message="tns:ResponseMessage386" name="Output386"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding386" type="tns:PortType386">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation386">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation386"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service386">
+    <wsdl:port name="Port386" binding="tns:Binding386">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage387">
+    <wsdl:part name="Response" element="tns:ResponseElement387"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage387">
+    <wsdl:part name="Request" element="tns:RequestElement387"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType387">
+    <wsdl:operation name="Operation387">
+      <wsdl:input message="tns:RequestMessage387" name="Input387"/>
+      <wsdl:output message="tns:ResponseMessage387" name="Output387"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding387" type="tns:PortType387">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation387">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation387"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service387">
+    <wsdl:port name="Port387" binding="tns:Binding387">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage388">
+    <wsdl:part name="Response" element="tns:ResponseElement388"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage388">
+    <wsdl:part name="Request" element="tns:RequestElement388"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType388">
+    <wsdl:operation name="Operation388">
+      <wsdl:input message="tns:RequestMessage388" name="Input388"/>
+      <wsdl:output message="tns:ResponseMessage388" name="Output388"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding388" type="tns:PortType388">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation388">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation388"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service388">
+    <wsdl:port name="Port388" binding="tns:Binding388">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage389">
+    <wsdl:part name="Response" element="tns:ResponseElement389"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage389">
+    <wsdl:part name="Request" element="tns:RequestElement389"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType389">
+    <wsdl:operation name="Operation389">
+      <wsdl:input message="tns:RequestMessage389" name="Input389"/>
+      <wsdl:output message="tns:ResponseMessage389" name="Output389"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding389" type="tns:PortType389">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation389">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation389"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service389">
+    <wsdl:port name="Port389" binding="tns:Binding389">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage390">
+    <wsdl:part name="Response" element="tns:ResponseElement390"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage390">
+    <wsdl:part name="Request" element="tns:RequestElement390"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType390">
+    <wsdl:operation name="Operation390">
+      <wsdl:input message="tns:RequestMessage390" name="Input390"/>
+      <wsdl:output message="tns:ResponseMessage390" name="Output390"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding390" type="tns:PortType390">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation390">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation390"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service390">
+    <wsdl:port name="Port390" binding="tns:Binding390">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage391">
+    <wsdl:part name="Response" element="tns:ResponseElement391"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage391">
+    <wsdl:part name="Request" element="tns:RequestElement391"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType391">
+    <wsdl:operation name="Operation391">
+      <wsdl:input message="tns:RequestMessage391" name="Input391"/>
+      <wsdl:output message="tns:ResponseMessage391" name="Output391"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding391" type="tns:PortType391">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation391">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation391"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service391">
+    <wsdl:port name="Port391" binding="tns:Binding391">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage392">
+    <wsdl:part name="Response" element="tns:ResponseElement392"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage392">
+    <wsdl:part name="Request" element="tns:RequestElement392"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType392">
+    <wsdl:operation name="Operation392">
+      <wsdl:input message="tns:RequestMessage392" name="Input392"/>
+      <wsdl:output message="tns:ResponseMessage392" name="Output392"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding392" type="tns:PortType392">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation392">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation392"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service392">
+    <wsdl:port name="Port392" binding="tns:Binding392">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage393">
+    <wsdl:part name="Response" element="tns:ResponseElement393"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage393">
+    <wsdl:part name="Request" element="tns:RequestElement393"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType393">
+    <wsdl:operation name="Operation393">
+      <wsdl:input message="tns:RequestMessage393" name="Input393"/>
+      <wsdl:output message="tns:ResponseMessage393" name="Output393"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding393" type="tns:PortType393">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation393">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation393"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service393">
+    <wsdl:port name="Port393" binding="tns:Binding393">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage394">
+    <wsdl:part name="Response" element="tns:ResponseElement394"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage394">
+    <wsdl:part name="Request" element="tns:RequestElement394"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType394">
+    <wsdl:operation name="Operation394">
+      <wsdl:input message="tns:RequestMessage394" name="Input394"/>
+      <wsdl:output message="tns:ResponseMessage394" name="Output394"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding394" type="tns:PortType394">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation394">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation394"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service394">
+    <wsdl:port name="Port394" binding="tns:Binding394">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage395">
+    <wsdl:part name="Response" element="tns:ResponseElement395"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage395">
+    <wsdl:part name="Request" element="tns:RequestElement395"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType395">
+    <wsdl:operation name="Operation395">
+      <wsdl:input message="tns:RequestMessage395" name="Input395"/>
+      <wsdl:output message="tns:ResponseMessage395" name="Output395"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding395" type="tns:PortType395">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation395">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation395"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service395">
+    <wsdl:port name="Port395" binding="tns:Binding395">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage396">
+    <wsdl:part name="Response" element="tns:ResponseElement396"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage396">
+    <wsdl:part name="Request" element="tns:RequestElement396"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType396">
+    <wsdl:operation name="Operation396">
+      <wsdl:input message="tns:RequestMessage396" name="Input396"/>
+      <wsdl:output message="tns:ResponseMessage396" name="Output396"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding396" type="tns:PortType396">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation396">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation396"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service396">
+    <wsdl:port name="Port396" binding="tns:Binding396">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage397">
+    <wsdl:part name="Response" element="tns:ResponseElement397"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage397">
+    <wsdl:part name="Request" element="tns:RequestElement397"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType397">
+    <wsdl:operation name="Operation397">
+      <wsdl:input message="tns:RequestMessage397" name="Input397"/>
+      <wsdl:output message="tns:ResponseMessage397" name="Output397"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding397" type="tns:PortType397">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation397">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation397"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service397">
+    <wsdl:port name="Port397" binding="tns:Binding397">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage398">
+    <wsdl:part name="Response" element="tns:ResponseElement398"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage398">
+    <wsdl:part name="Request" element="tns:RequestElement398"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType398">
+    <wsdl:operation name="Operation398">
+      <wsdl:input message="tns:RequestMessage398" name="Input398"/>
+      <wsdl:output message="tns:ResponseMessage398" name="Output398"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding398" type="tns:PortType398">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation398">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation398"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service398">
+    <wsdl:port name="Port398" binding="tns:Binding398">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage399">
+    <wsdl:part name="Response" element="tns:ResponseElement399"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage399">
+    <wsdl:part name="Request" element="tns:RequestElement399"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType399">
+    <wsdl:operation name="Operation399">
+      <wsdl:input message="tns:RequestMessage399" name="Input399"/>
+      <wsdl:output message="tns:ResponseMessage399" name="Output399"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding399" type="tns:PortType399">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation399">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation399"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service399">
+    <wsdl:port name="Port399" binding="tns:Binding399">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage400">
+    <wsdl:part name="Response" element="tns:ResponseElement400"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage400">
+    <wsdl:part name="Request" element="tns:RequestElement400"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType400">
+    <wsdl:operation name="Operation400">
+      <wsdl:input message="tns:RequestMessage400" name="Input400"/>
+      <wsdl:output message="tns:ResponseMessage400" name="Output400"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding400" type="tns:PortType400">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation400">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation400"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service400">
+    <wsdl:port name="Port400" binding="tns:Binding400">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage401">
+    <wsdl:part name="Response" element="tns:ResponseElement401"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage401">
+    <wsdl:part name="Request" element="tns:RequestElement401"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType401">
+    <wsdl:operation name="Operation401">
+      <wsdl:input message="tns:RequestMessage401" name="Input401"/>
+      <wsdl:output message="tns:ResponseMessage401" name="Output401"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding401" type="tns:PortType401">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation401">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation401"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service401">
+    <wsdl:port name="Port401" binding="tns:Binding401">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage402">
+    <wsdl:part name="Response" element="tns:ResponseElement402"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage402">
+    <wsdl:part name="Request" element="tns:RequestElement402"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType402">
+    <wsdl:operation name="Operation402">
+      <wsdl:input message="tns:RequestMessage402" name="Input402"/>
+      <wsdl:output message="tns:ResponseMessage402" name="Output402"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding402" type="tns:PortType402">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation402">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation402"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service402">
+    <wsdl:port name="Port402" binding="tns:Binding402">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage403">
+    <wsdl:part name="Response" element="tns:ResponseElement403"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage403">
+    <wsdl:part name="Request" element="tns:RequestElement403"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType403">
+    <wsdl:operation name="Operation403">
+      <wsdl:input message="tns:RequestMessage403" name="Input403"/>
+      <wsdl:output message="tns:ResponseMessage403" name="Output403"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding403" type="tns:PortType403">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation403">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation403"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service403">
+    <wsdl:port name="Port403" binding="tns:Binding403">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage404">
+    <wsdl:part name="Response" element="tns:ResponseElement404"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage404">
+    <wsdl:part name="Request" element="tns:RequestElement404"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType404">
+    <wsdl:operation name="Operation404">
+      <wsdl:input message="tns:RequestMessage404" name="Input404"/>
+      <wsdl:output message="tns:ResponseMessage404" name="Output404"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding404" type="tns:PortType404">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation404">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation404"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service404">
+    <wsdl:port name="Port404" binding="tns:Binding404">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage405">
+    <wsdl:part name="Response" element="tns:ResponseElement405"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage405">
+    <wsdl:part name="Request" element="tns:RequestElement405"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType405">
+    <wsdl:operation name="Operation405">
+      <wsdl:input message="tns:RequestMessage405" name="Input405"/>
+      <wsdl:output message="tns:ResponseMessage405" name="Output405"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding405" type="tns:PortType405">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation405">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation405"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service405">
+    <wsdl:port name="Port405" binding="tns:Binding405">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage406">
+    <wsdl:part name="Response" element="tns:ResponseElement406"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage406">
+    <wsdl:part name="Request" element="tns:RequestElement406"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType406">
+    <wsdl:operation name="Operation406">
+      <wsdl:input message="tns:RequestMessage406" name="Input406"/>
+      <wsdl:output message="tns:ResponseMessage406" name="Output406"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding406" type="tns:PortType406">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation406">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation406"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service406">
+    <wsdl:port name="Port406" binding="tns:Binding406">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage407">
+    <wsdl:part name="Response" element="tns:ResponseElement407"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage407">
+    <wsdl:part name="Request" element="tns:RequestElement407"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType407">
+    <wsdl:operation name="Operation407">
+      <wsdl:input message="tns:RequestMessage407" name="Input407"/>
+      <wsdl:output message="tns:ResponseMessage407" name="Output407"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding407" type="tns:PortType407">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation407">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation407"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service407">
+    <wsdl:port name="Port407" binding="tns:Binding407">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage408">
+    <wsdl:part name="Response" element="tns:ResponseElement408"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage408">
+    <wsdl:part name="Request" element="tns:RequestElement408"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType408">
+    <wsdl:operation name="Operation408">
+      <wsdl:input message="tns:RequestMessage408" name="Input408"/>
+      <wsdl:output message="tns:ResponseMessage408" name="Output408"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding408" type="tns:PortType408">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation408">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation408"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service408">
+    <wsdl:port name="Port408" binding="tns:Binding408">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage409">
+    <wsdl:part name="Response" element="tns:ResponseElement409"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage409">
+    <wsdl:part name="Request" element="tns:RequestElement409"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType409">
+    <wsdl:operation name="Operation409">
+      <wsdl:input message="tns:RequestMessage409" name="Input409"/>
+      <wsdl:output message="tns:ResponseMessage409" name="Output409"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding409" type="tns:PortType409">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation409">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation409"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service409">
+    <wsdl:port name="Port409" binding="tns:Binding409">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage410">
+    <wsdl:part name="Response" element="tns:ResponseElement410"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage410">
+    <wsdl:part name="Request" element="tns:RequestElement410"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType410">
+    <wsdl:operation name="Operation410">
+      <wsdl:input message="tns:RequestMessage410" name="Input410"/>
+      <wsdl:output message="tns:ResponseMessage410" name="Output410"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding410" type="tns:PortType410">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation410">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation410"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service410">
+    <wsdl:port name="Port410" binding="tns:Binding410">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage411">
+    <wsdl:part name="Response" element="tns:ResponseElement411"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage411">
+    <wsdl:part name="Request" element="tns:RequestElement411"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType411">
+    <wsdl:operation name="Operation411">
+      <wsdl:input message="tns:RequestMessage411" name="Input411"/>
+      <wsdl:output message="tns:ResponseMessage411" name="Output411"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding411" type="tns:PortType411">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation411">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation411"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service411">
+    <wsdl:port name="Port411" binding="tns:Binding411">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage412">
+    <wsdl:part name="Response" element="tns:ResponseElement412"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage412">
+    <wsdl:part name="Request" element="tns:RequestElement412"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType412">
+    <wsdl:operation name="Operation412">
+      <wsdl:input message="tns:RequestMessage412" name="Input412"/>
+      <wsdl:output message="tns:ResponseMessage412" name="Output412"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding412" type="tns:PortType412">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation412">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation412"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service412">
+    <wsdl:port name="Port412" binding="tns:Binding412">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage413">
+    <wsdl:part name="Response" element="tns:ResponseElement413"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage413">
+    <wsdl:part name="Request" element="tns:RequestElement413"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType413">
+    <wsdl:operation name="Operation413">
+      <wsdl:input message="tns:RequestMessage413" name="Input413"/>
+      <wsdl:output message="tns:ResponseMessage413" name="Output413"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding413" type="tns:PortType413">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation413">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation413"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service413">
+    <wsdl:port name="Port413" binding="tns:Binding413">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage414">
+    <wsdl:part name="Response" element="tns:ResponseElement414"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage414">
+    <wsdl:part name="Request" element="tns:RequestElement414"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType414">
+    <wsdl:operation name="Operation414">
+      <wsdl:input message="tns:RequestMessage414" name="Input414"/>
+      <wsdl:output message="tns:ResponseMessage414" name="Output414"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding414" type="tns:PortType414">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation414">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation414"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service414">
+    <wsdl:port name="Port414" binding="tns:Binding414">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage415">
+    <wsdl:part name="Response" element="tns:ResponseElement415"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage415">
+    <wsdl:part name="Request" element="tns:RequestElement415"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType415">
+    <wsdl:operation name="Operation415">
+      <wsdl:input message="tns:RequestMessage415" name="Input415"/>
+      <wsdl:output message="tns:ResponseMessage415" name="Output415"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding415" type="tns:PortType415">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation415">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation415"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service415">
+    <wsdl:port name="Port415" binding="tns:Binding415">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage416">
+    <wsdl:part name="Response" element="tns:ResponseElement416"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage416">
+    <wsdl:part name="Request" element="tns:RequestElement416"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType416">
+    <wsdl:operation name="Operation416">
+      <wsdl:input message="tns:RequestMessage416" name="Input416"/>
+      <wsdl:output message="tns:ResponseMessage416" name="Output416"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding416" type="tns:PortType416">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation416">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation416"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service416">
+    <wsdl:port name="Port416" binding="tns:Binding416">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage417">
+    <wsdl:part name="Response" element="tns:ResponseElement417"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage417">
+    <wsdl:part name="Request" element="tns:RequestElement417"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType417">
+    <wsdl:operation name="Operation417">
+      <wsdl:input message="tns:RequestMessage417" name="Input417"/>
+      <wsdl:output message="tns:ResponseMessage417" name="Output417"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding417" type="tns:PortType417">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation417">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation417"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service417">
+    <wsdl:port name="Port417" binding="tns:Binding417">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage418">
+    <wsdl:part name="Response" element="tns:ResponseElement418"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage418">
+    <wsdl:part name="Request" element="tns:RequestElement418"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType418">
+    <wsdl:operation name="Operation418">
+      <wsdl:input message="tns:RequestMessage418" name="Input418"/>
+      <wsdl:output message="tns:ResponseMessage418" name="Output418"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding418" type="tns:PortType418">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation418">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation418"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service418">
+    <wsdl:port name="Port418" binding="tns:Binding418">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage419">
+    <wsdl:part name="Response" element="tns:ResponseElement419"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage419">
+    <wsdl:part name="Request" element="tns:RequestElement419"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType419">
+    <wsdl:operation name="Operation419">
+      <wsdl:input message="tns:RequestMessage419" name="Input419"/>
+      <wsdl:output message="tns:ResponseMessage419" name="Output419"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding419" type="tns:PortType419">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation419">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation419"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service419">
+    <wsdl:port name="Port419" binding="tns:Binding419">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage420">
+    <wsdl:part name="Response" element="tns:ResponseElement420"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage420">
+    <wsdl:part name="Request" element="tns:RequestElement420"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType420">
+    <wsdl:operation name="Operation420">
+      <wsdl:input message="tns:RequestMessage420" name="Input420"/>
+      <wsdl:output message="tns:ResponseMessage420" name="Output420"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding420" type="tns:PortType420">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation420">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation420"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service420">
+    <wsdl:port name="Port420" binding="tns:Binding420">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage421">
+    <wsdl:part name="Response" element="tns:ResponseElement421"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage421">
+    <wsdl:part name="Request" element="tns:RequestElement421"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType421">
+    <wsdl:operation name="Operation421">
+      <wsdl:input message="tns:RequestMessage421" name="Input421"/>
+      <wsdl:output message="tns:ResponseMessage421" name="Output421"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding421" type="tns:PortType421">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation421">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation421"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service421">
+    <wsdl:port name="Port421" binding="tns:Binding421">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage422">
+    <wsdl:part name="Response" element="tns:ResponseElement422"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage422">
+    <wsdl:part name="Request" element="tns:RequestElement422"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType422">
+    <wsdl:operation name="Operation422">
+      <wsdl:input message="tns:RequestMessage422" name="Input422"/>
+      <wsdl:output message="tns:ResponseMessage422" name="Output422"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding422" type="tns:PortType422">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation422">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation422"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service422">
+    <wsdl:port name="Port422" binding="tns:Binding422">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage423">
+    <wsdl:part name="Response" element="tns:ResponseElement423"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage423">
+    <wsdl:part name="Request" element="tns:RequestElement423"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType423">
+    <wsdl:operation name="Operation423">
+      <wsdl:input message="tns:RequestMessage423" name="Input423"/>
+      <wsdl:output message="tns:ResponseMessage423" name="Output423"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding423" type="tns:PortType423">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation423">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation423"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service423">
+    <wsdl:port name="Port423" binding="tns:Binding423">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage424">
+    <wsdl:part name="Response" element="tns:ResponseElement424"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage424">
+    <wsdl:part name="Request" element="tns:RequestElement424"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType424">
+    <wsdl:operation name="Operation424">
+      <wsdl:input message="tns:RequestMessage424" name="Input424"/>
+      <wsdl:output message="tns:ResponseMessage424" name="Output424"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding424" type="tns:PortType424">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation424">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation424"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service424">
+    <wsdl:port name="Port424" binding="tns:Binding424">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage425">
+    <wsdl:part name="Response" element="tns:ResponseElement425"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage425">
+    <wsdl:part name="Request" element="tns:RequestElement425"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType425">
+    <wsdl:operation name="Operation425">
+      <wsdl:input message="tns:RequestMessage425" name="Input425"/>
+      <wsdl:output message="tns:ResponseMessage425" name="Output425"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding425" type="tns:PortType425">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation425">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation425"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service425">
+    <wsdl:port name="Port425" binding="tns:Binding425">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage426">
+    <wsdl:part name="Response" element="tns:ResponseElement426"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage426">
+    <wsdl:part name="Request" element="tns:RequestElement426"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType426">
+    <wsdl:operation name="Operation426">
+      <wsdl:input message="tns:RequestMessage426" name="Input426"/>
+      <wsdl:output message="tns:ResponseMessage426" name="Output426"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding426" type="tns:PortType426">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation426">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation426"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service426">
+    <wsdl:port name="Port426" binding="tns:Binding426">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage427">
+    <wsdl:part name="Response" element="tns:ResponseElement427"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage427">
+    <wsdl:part name="Request" element="tns:RequestElement427"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType427">
+    <wsdl:operation name="Operation427">
+      <wsdl:input message="tns:RequestMessage427" name="Input427"/>
+      <wsdl:output message="tns:ResponseMessage427" name="Output427"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding427" type="tns:PortType427">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation427">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation427"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service427">
+    <wsdl:port name="Port427" binding="tns:Binding427">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage428">
+    <wsdl:part name="Response" element="tns:ResponseElement428"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage428">
+    <wsdl:part name="Request" element="tns:RequestElement428"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType428">
+    <wsdl:operation name="Operation428">
+      <wsdl:input message="tns:RequestMessage428" name="Input428"/>
+      <wsdl:output message="tns:ResponseMessage428" name="Output428"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding428" type="tns:PortType428">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation428">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation428"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service428">
+    <wsdl:port name="Port428" binding="tns:Binding428">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage429">
+    <wsdl:part name="Response" element="tns:ResponseElement429"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage429">
+    <wsdl:part name="Request" element="tns:RequestElement429"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType429">
+    <wsdl:operation name="Operation429">
+      <wsdl:input message="tns:RequestMessage429" name="Input429"/>
+      <wsdl:output message="tns:ResponseMessage429" name="Output429"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding429" type="tns:PortType429">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation429">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation429"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service429">
+    <wsdl:port name="Port429" binding="tns:Binding429">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage430">
+    <wsdl:part name="Response" element="tns:ResponseElement430"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage430">
+    <wsdl:part name="Request" element="tns:RequestElement430"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType430">
+    <wsdl:operation name="Operation430">
+      <wsdl:input message="tns:RequestMessage430" name="Input430"/>
+      <wsdl:output message="tns:ResponseMessage430" name="Output430"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding430" type="tns:PortType430">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation430">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation430"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service430">
+    <wsdl:port name="Port430" binding="tns:Binding430">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage431">
+    <wsdl:part name="Response" element="tns:ResponseElement431"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage431">
+    <wsdl:part name="Request" element="tns:RequestElement431"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType431">
+    <wsdl:operation name="Operation431">
+      <wsdl:input message="tns:RequestMessage431" name="Input431"/>
+      <wsdl:output message="tns:ResponseMessage431" name="Output431"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding431" type="tns:PortType431">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation431">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation431"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service431">
+    <wsdl:port name="Port431" binding="tns:Binding431">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage432">
+    <wsdl:part name="Response" element="tns:ResponseElement432"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage432">
+    <wsdl:part name="Request" element="tns:RequestElement432"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType432">
+    <wsdl:operation name="Operation432">
+      <wsdl:input message="tns:RequestMessage432" name="Input432"/>
+      <wsdl:output message="tns:ResponseMessage432" name="Output432"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding432" type="tns:PortType432">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation432">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation432"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service432">
+    <wsdl:port name="Port432" binding="tns:Binding432">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage433">
+    <wsdl:part name="Response" element="tns:ResponseElement433"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage433">
+    <wsdl:part name="Request" element="tns:RequestElement433"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType433">
+    <wsdl:operation name="Operation433">
+      <wsdl:input message="tns:RequestMessage433" name="Input433"/>
+      <wsdl:output message="tns:ResponseMessage433" name="Output433"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding433" type="tns:PortType433">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation433">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation433"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service433">
+    <wsdl:port name="Port433" binding="tns:Binding433">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage434">
+    <wsdl:part name="Response" element="tns:ResponseElement434"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage434">
+    <wsdl:part name="Request" element="tns:RequestElement434"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType434">
+    <wsdl:operation name="Operation434">
+      <wsdl:input message="tns:RequestMessage434" name="Input434"/>
+      <wsdl:output message="tns:ResponseMessage434" name="Output434"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding434" type="tns:PortType434">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation434">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation434"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service434">
+    <wsdl:port name="Port434" binding="tns:Binding434">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage435">
+    <wsdl:part name="Response" element="tns:ResponseElement435"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage435">
+    <wsdl:part name="Request" element="tns:RequestElement435"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType435">
+    <wsdl:operation name="Operation435">
+      <wsdl:input message="tns:RequestMessage435" name="Input435"/>
+      <wsdl:output message="tns:ResponseMessage435" name="Output435"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding435" type="tns:PortType435">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation435">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation435"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service435">
+    <wsdl:port name="Port435" binding="tns:Binding435">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage436">
+    <wsdl:part name="Response" element="tns:ResponseElement436"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage436">
+    <wsdl:part name="Request" element="tns:RequestElement436"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType436">
+    <wsdl:operation name="Operation436">
+      <wsdl:input message="tns:RequestMessage436" name="Input436"/>
+      <wsdl:output message="tns:ResponseMessage436" name="Output436"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding436" type="tns:PortType436">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation436">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation436"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service436">
+    <wsdl:port name="Port436" binding="tns:Binding436">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage437">
+    <wsdl:part name="Response" element="tns:ResponseElement437"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage437">
+    <wsdl:part name="Request" element="tns:RequestElement437"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType437">
+    <wsdl:operation name="Operation437">
+      <wsdl:input message="tns:RequestMessage437" name="Input437"/>
+      <wsdl:output message="tns:ResponseMessage437" name="Output437"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding437" type="tns:PortType437">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation437">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation437"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service437">
+    <wsdl:port name="Port437" binding="tns:Binding437">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage438">
+    <wsdl:part name="Response" element="tns:ResponseElement438"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage438">
+    <wsdl:part name="Request" element="tns:RequestElement438"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType438">
+    <wsdl:operation name="Operation438">
+      <wsdl:input message="tns:RequestMessage438" name="Input438"/>
+      <wsdl:output message="tns:ResponseMessage438" name="Output438"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding438" type="tns:PortType438">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation438">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation438"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service438">
+    <wsdl:port name="Port438" binding="tns:Binding438">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage439">
+    <wsdl:part name="Response" element="tns:ResponseElement439"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage439">
+    <wsdl:part name="Request" element="tns:RequestElement439"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType439">
+    <wsdl:operation name="Operation439">
+      <wsdl:input message="tns:RequestMessage439" name="Input439"/>
+      <wsdl:output message="tns:ResponseMessage439" name="Output439"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding439" type="tns:PortType439">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation439">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation439"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service439">
+    <wsdl:port name="Port439" binding="tns:Binding439">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage440">
+    <wsdl:part name="Response" element="tns:ResponseElement440"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage440">
+    <wsdl:part name="Request" element="tns:RequestElement440"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType440">
+    <wsdl:operation name="Operation440">
+      <wsdl:input message="tns:RequestMessage440" name="Input440"/>
+      <wsdl:output message="tns:ResponseMessage440" name="Output440"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding440" type="tns:PortType440">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation440">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation440"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service440">
+    <wsdl:port name="Port440" binding="tns:Binding440">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage441">
+    <wsdl:part name="Response" element="tns:ResponseElement441"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage441">
+    <wsdl:part name="Request" element="tns:RequestElement441"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType441">
+    <wsdl:operation name="Operation441">
+      <wsdl:input message="tns:RequestMessage441" name="Input441"/>
+      <wsdl:output message="tns:ResponseMessage441" name="Output441"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding441" type="tns:PortType441">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation441">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation441"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service441">
+    <wsdl:port name="Port441" binding="tns:Binding441">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage442">
+    <wsdl:part name="Response" element="tns:ResponseElement442"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage442">
+    <wsdl:part name="Request" element="tns:RequestElement442"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType442">
+    <wsdl:operation name="Operation442">
+      <wsdl:input message="tns:RequestMessage442" name="Input442"/>
+      <wsdl:output message="tns:ResponseMessage442" name="Output442"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding442" type="tns:PortType442">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation442">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation442"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service442">
+    <wsdl:port name="Port442" binding="tns:Binding442">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage443">
+    <wsdl:part name="Response" element="tns:ResponseElement443"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage443">
+    <wsdl:part name="Request" element="tns:RequestElement443"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType443">
+    <wsdl:operation name="Operation443">
+      <wsdl:input message="tns:RequestMessage443" name="Input443"/>
+      <wsdl:output message="tns:ResponseMessage443" name="Output443"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding443" type="tns:PortType443">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation443">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation443"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service443">
+    <wsdl:port name="Port443" binding="tns:Binding443">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage444">
+    <wsdl:part name="Response" element="tns:ResponseElement444"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage444">
+    <wsdl:part name="Request" element="tns:RequestElement444"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType444">
+    <wsdl:operation name="Operation444">
+      <wsdl:input message="tns:RequestMessage444" name="Input444"/>
+      <wsdl:output message="tns:ResponseMessage444" name="Output444"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding444" type="tns:PortType444">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation444">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation444"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service444">
+    <wsdl:port name="Port444" binding="tns:Binding444">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage445">
+    <wsdl:part name="Response" element="tns:ResponseElement445"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage445">
+    <wsdl:part name="Request" element="tns:RequestElement445"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType445">
+    <wsdl:operation name="Operation445">
+      <wsdl:input message="tns:RequestMessage445" name="Input445"/>
+      <wsdl:output message="tns:ResponseMessage445" name="Output445"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding445" type="tns:PortType445">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation445">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation445"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service445">
+    <wsdl:port name="Port445" binding="tns:Binding445">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage446">
+    <wsdl:part name="Response" element="tns:ResponseElement446"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage446">
+    <wsdl:part name="Request" element="tns:RequestElement446"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType446">
+    <wsdl:operation name="Operation446">
+      <wsdl:input message="tns:RequestMessage446" name="Input446"/>
+      <wsdl:output message="tns:ResponseMessage446" name="Output446"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding446" type="tns:PortType446">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation446">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation446"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service446">
+    <wsdl:port name="Port446" binding="tns:Binding446">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage447">
+    <wsdl:part name="Response" element="tns:ResponseElement447"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage447">
+    <wsdl:part name="Request" element="tns:RequestElement447"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType447">
+    <wsdl:operation name="Operation447">
+      <wsdl:input message="tns:RequestMessage447" name="Input447"/>
+      <wsdl:output message="tns:ResponseMessage447" name="Output447"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding447" type="tns:PortType447">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation447">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation447"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service447">
+    <wsdl:port name="Port447" binding="tns:Binding447">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage448">
+    <wsdl:part name="Response" element="tns:ResponseElement448"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage448">
+    <wsdl:part name="Request" element="tns:RequestElement448"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType448">
+    <wsdl:operation name="Operation448">
+      <wsdl:input message="tns:RequestMessage448" name="Input448"/>
+      <wsdl:output message="tns:ResponseMessage448" name="Output448"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding448" type="tns:PortType448">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation448">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation448"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service448">
+    <wsdl:port name="Port448" binding="tns:Binding448">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage449">
+    <wsdl:part name="Response" element="tns:ResponseElement449"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage449">
+    <wsdl:part name="Request" element="tns:RequestElement449"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType449">
+    <wsdl:operation name="Operation449">
+      <wsdl:input message="tns:RequestMessage449" name="Input449"/>
+      <wsdl:output message="tns:ResponseMessage449" name="Output449"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding449" type="tns:PortType449">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation449">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation449"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service449">
+    <wsdl:port name="Port449" binding="tns:Binding449">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage450">
+    <wsdl:part name="Response" element="tns:ResponseElement450"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage450">
+    <wsdl:part name="Request" element="tns:RequestElement450"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType450">
+    <wsdl:operation name="Operation450">
+      <wsdl:input message="tns:RequestMessage450" name="Input450"/>
+      <wsdl:output message="tns:ResponseMessage450" name="Output450"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding450" type="tns:PortType450">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation450">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation450"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service450">
+    <wsdl:port name="Port450" binding="tns:Binding450">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage451">
+    <wsdl:part name="Response" element="tns:ResponseElement451"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage451">
+    <wsdl:part name="Request" element="tns:RequestElement451"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType451">
+    <wsdl:operation name="Operation451">
+      <wsdl:input message="tns:RequestMessage451" name="Input451"/>
+      <wsdl:output message="tns:ResponseMessage451" name="Output451"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding451" type="tns:PortType451">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation451">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation451"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service451">
+    <wsdl:port name="Port451" binding="tns:Binding451">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage452">
+    <wsdl:part name="Response" element="tns:ResponseElement452"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage452">
+    <wsdl:part name="Request" element="tns:RequestElement452"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType452">
+    <wsdl:operation name="Operation452">
+      <wsdl:input message="tns:RequestMessage452" name="Input452"/>
+      <wsdl:output message="tns:ResponseMessage452" name="Output452"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding452" type="tns:PortType452">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation452">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation452"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service452">
+    <wsdl:port name="Port452" binding="tns:Binding452">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage453">
+    <wsdl:part name="Response" element="tns:ResponseElement453"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage453">
+    <wsdl:part name="Request" element="tns:RequestElement453"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType453">
+    <wsdl:operation name="Operation453">
+      <wsdl:input message="tns:RequestMessage453" name="Input453"/>
+      <wsdl:output message="tns:ResponseMessage453" name="Output453"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding453" type="tns:PortType453">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation453">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation453"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service453">
+    <wsdl:port name="Port453" binding="tns:Binding453">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage454">
+    <wsdl:part name="Response" element="tns:ResponseElement454"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage454">
+    <wsdl:part name="Request" element="tns:RequestElement454"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType454">
+    <wsdl:operation name="Operation454">
+      <wsdl:input message="tns:RequestMessage454" name="Input454"/>
+      <wsdl:output message="tns:ResponseMessage454" name="Output454"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding454" type="tns:PortType454">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation454">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation454"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service454">
+    <wsdl:port name="Port454" binding="tns:Binding454">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage455">
+    <wsdl:part name="Response" element="tns:ResponseElement455"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage455">
+    <wsdl:part name="Request" element="tns:RequestElement455"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType455">
+    <wsdl:operation name="Operation455">
+      <wsdl:input message="tns:RequestMessage455" name="Input455"/>
+      <wsdl:output message="tns:ResponseMessage455" name="Output455"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding455" type="tns:PortType455">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation455">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation455"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service455">
+    <wsdl:port name="Port455" binding="tns:Binding455">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage456">
+    <wsdl:part name="Response" element="tns:ResponseElement456"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage456">
+    <wsdl:part name="Request" element="tns:RequestElement456"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType456">
+    <wsdl:operation name="Operation456">
+      <wsdl:input message="tns:RequestMessage456" name="Input456"/>
+      <wsdl:output message="tns:ResponseMessage456" name="Output456"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding456" type="tns:PortType456">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation456">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation456"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service456">
+    <wsdl:port name="Port456" binding="tns:Binding456">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage457">
+    <wsdl:part name="Response" element="tns:ResponseElement457"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage457">
+    <wsdl:part name="Request" element="tns:RequestElement457"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType457">
+    <wsdl:operation name="Operation457">
+      <wsdl:input message="tns:RequestMessage457" name="Input457"/>
+      <wsdl:output message="tns:ResponseMessage457" name="Output457"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding457" type="tns:PortType457">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation457">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation457"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service457">
+    <wsdl:port name="Port457" binding="tns:Binding457">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage458">
+    <wsdl:part name="Response" element="tns:ResponseElement458"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage458">
+    <wsdl:part name="Request" element="tns:RequestElement458"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType458">
+    <wsdl:operation name="Operation458">
+      <wsdl:input message="tns:RequestMessage458" name="Input458"/>
+      <wsdl:output message="tns:ResponseMessage458" name="Output458"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding458" type="tns:PortType458">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation458">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation458"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service458">
+    <wsdl:port name="Port458" binding="tns:Binding458">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage459">
+    <wsdl:part name="Response" element="tns:ResponseElement459"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage459">
+    <wsdl:part name="Request" element="tns:RequestElement459"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType459">
+    <wsdl:operation name="Operation459">
+      <wsdl:input message="tns:RequestMessage459" name="Input459"/>
+      <wsdl:output message="tns:ResponseMessage459" name="Output459"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding459" type="tns:PortType459">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation459">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation459"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service459">
+    <wsdl:port name="Port459" binding="tns:Binding459">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage460">
+    <wsdl:part name="Response" element="tns:ResponseElement460"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage460">
+    <wsdl:part name="Request" element="tns:RequestElement460"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType460">
+    <wsdl:operation name="Operation460">
+      <wsdl:input message="tns:RequestMessage460" name="Input460"/>
+      <wsdl:output message="tns:ResponseMessage460" name="Output460"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding460" type="tns:PortType460">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation460">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation460"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service460">
+    <wsdl:port name="Port460" binding="tns:Binding460">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage461">
+    <wsdl:part name="Response" element="tns:ResponseElement461"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage461">
+    <wsdl:part name="Request" element="tns:RequestElement461"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType461">
+    <wsdl:operation name="Operation461">
+      <wsdl:input message="tns:RequestMessage461" name="Input461"/>
+      <wsdl:output message="tns:ResponseMessage461" name="Output461"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding461" type="tns:PortType461">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation461">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation461"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service461">
+    <wsdl:port name="Port461" binding="tns:Binding461">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage462">
+    <wsdl:part name="Response" element="tns:ResponseElement462"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage462">
+    <wsdl:part name="Request" element="tns:RequestElement462"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType462">
+    <wsdl:operation name="Operation462">
+      <wsdl:input message="tns:RequestMessage462" name="Input462"/>
+      <wsdl:output message="tns:ResponseMessage462" name="Output462"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding462" type="tns:PortType462">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation462">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation462"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service462">
+    <wsdl:port name="Port462" binding="tns:Binding462">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage463">
+    <wsdl:part name="Response" element="tns:ResponseElement463"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage463">
+    <wsdl:part name="Request" element="tns:RequestElement463"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType463">
+    <wsdl:operation name="Operation463">
+      <wsdl:input message="tns:RequestMessage463" name="Input463"/>
+      <wsdl:output message="tns:ResponseMessage463" name="Output463"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding463" type="tns:PortType463">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation463">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation463"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service463">
+    <wsdl:port name="Port463" binding="tns:Binding463">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage464">
+    <wsdl:part name="Response" element="tns:ResponseElement464"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage464">
+    <wsdl:part name="Request" element="tns:RequestElement464"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType464">
+    <wsdl:operation name="Operation464">
+      <wsdl:input message="tns:RequestMessage464" name="Input464"/>
+      <wsdl:output message="tns:ResponseMessage464" name="Output464"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding464" type="tns:PortType464">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation464">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation464"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service464">
+    <wsdl:port name="Port464" binding="tns:Binding464">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage465">
+    <wsdl:part name="Response" element="tns:ResponseElement465"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage465">
+    <wsdl:part name="Request" element="tns:RequestElement465"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType465">
+    <wsdl:operation name="Operation465">
+      <wsdl:input message="tns:RequestMessage465" name="Input465"/>
+      <wsdl:output message="tns:ResponseMessage465" name="Output465"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding465" type="tns:PortType465">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation465">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation465"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service465">
+    <wsdl:port name="Port465" binding="tns:Binding465">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage466">
+    <wsdl:part name="Response" element="tns:ResponseElement466"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage466">
+    <wsdl:part name="Request" element="tns:RequestElement466"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType466">
+    <wsdl:operation name="Operation466">
+      <wsdl:input message="tns:RequestMessage466" name="Input466"/>
+      <wsdl:output message="tns:ResponseMessage466" name="Output466"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding466" type="tns:PortType466">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation466">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation466"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service466">
+    <wsdl:port name="Port466" binding="tns:Binding466">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage467">
+    <wsdl:part name="Response" element="tns:ResponseElement467"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage467">
+    <wsdl:part name="Request" element="tns:RequestElement467"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType467">
+    <wsdl:operation name="Operation467">
+      <wsdl:input message="tns:RequestMessage467" name="Input467"/>
+      <wsdl:output message="tns:ResponseMessage467" name="Output467"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding467" type="tns:PortType467">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation467">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation467"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service467">
+    <wsdl:port name="Port467" binding="tns:Binding467">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage468">
+    <wsdl:part name="Response" element="tns:ResponseElement468"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage468">
+    <wsdl:part name="Request" element="tns:RequestElement468"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType468">
+    <wsdl:operation name="Operation468">
+      <wsdl:input message="tns:RequestMessage468" name="Input468"/>
+      <wsdl:output message="tns:ResponseMessage468" name="Output468"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding468" type="tns:PortType468">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation468">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation468"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service468">
+    <wsdl:port name="Port468" binding="tns:Binding468">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage469">
+    <wsdl:part name="Response" element="tns:ResponseElement469"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage469">
+    <wsdl:part name="Request" element="tns:RequestElement469"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType469">
+    <wsdl:operation name="Operation469">
+      <wsdl:input message="tns:RequestMessage469" name="Input469"/>
+      <wsdl:output message="tns:ResponseMessage469" name="Output469"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding469" type="tns:PortType469">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation469">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation469"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service469">
+    <wsdl:port name="Port469" binding="tns:Binding469">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage470">
+    <wsdl:part name="Response" element="tns:ResponseElement470"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage470">
+    <wsdl:part name="Request" element="tns:RequestElement470"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType470">
+    <wsdl:operation name="Operation470">
+      <wsdl:input message="tns:RequestMessage470" name="Input470"/>
+      <wsdl:output message="tns:ResponseMessage470" name="Output470"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding470" type="tns:PortType470">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation470">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation470"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service470">
+    <wsdl:port name="Port470" binding="tns:Binding470">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage471">
+    <wsdl:part name="Response" element="tns:ResponseElement471"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage471">
+    <wsdl:part name="Request" element="tns:RequestElement471"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType471">
+    <wsdl:operation name="Operation471">
+      <wsdl:input message="tns:RequestMessage471" name="Input471"/>
+      <wsdl:output message="tns:ResponseMessage471" name="Output471"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding471" type="tns:PortType471">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation471">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation471"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service471">
+    <wsdl:port name="Port471" binding="tns:Binding471">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage472">
+    <wsdl:part name="Response" element="tns:ResponseElement472"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage472">
+    <wsdl:part name="Request" element="tns:RequestElement472"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType472">
+    <wsdl:operation name="Operation472">
+      <wsdl:input message="tns:RequestMessage472" name="Input472"/>
+      <wsdl:output message="tns:ResponseMessage472" name="Output472"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding472" type="tns:PortType472">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation472">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation472"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service472">
+    <wsdl:port name="Port472" binding="tns:Binding472">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage473">
+    <wsdl:part name="Response" element="tns:ResponseElement473"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage473">
+    <wsdl:part name="Request" element="tns:RequestElement473"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType473">
+    <wsdl:operation name="Operation473">
+      <wsdl:input message="tns:RequestMessage473" name="Input473"/>
+      <wsdl:output message="tns:ResponseMessage473" name="Output473"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding473" type="tns:PortType473">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation473">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation473"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service473">
+    <wsdl:port name="Port473" binding="tns:Binding473">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage474">
+    <wsdl:part name="Response" element="tns:ResponseElement474"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage474">
+    <wsdl:part name="Request" element="tns:RequestElement474"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType474">
+    <wsdl:operation name="Operation474">
+      <wsdl:input message="tns:RequestMessage474" name="Input474"/>
+      <wsdl:output message="tns:ResponseMessage474" name="Output474"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding474" type="tns:PortType474">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation474">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation474"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service474">
+    <wsdl:port name="Port474" binding="tns:Binding474">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage475">
+    <wsdl:part name="Response" element="tns:ResponseElement475"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage475">
+    <wsdl:part name="Request" element="tns:RequestElement475"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType475">
+    <wsdl:operation name="Operation475">
+      <wsdl:input message="tns:RequestMessage475" name="Input475"/>
+      <wsdl:output message="tns:ResponseMessage475" name="Output475"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding475" type="tns:PortType475">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation475">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation475"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service475">
+    <wsdl:port name="Port475" binding="tns:Binding475">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage476">
+    <wsdl:part name="Response" element="tns:ResponseElement476"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage476">
+    <wsdl:part name="Request" element="tns:RequestElement476"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType476">
+    <wsdl:operation name="Operation476">
+      <wsdl:input message="tns:RequestMessage476" name="Input476"/>
+      <wsdl:output message="tns:ResponseMessage476" name="Output476"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding476" type="tns:PortType476">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation476">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation476"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service476">
+    <wsdl:port name="Port476" binding="tns:Binding476">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage477">
+    <wsdl:part name="Response" element="tns:ResponseElement477"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage477">
+    <wsdl:part name="Request" element="tns:RequestElement477"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType477">
+    <wsdl:operation name="Operation477">
+      <wsdl:input message="tns:RequestMessage477" name="Input477"/>
+      <wsdl:output message="tns:ResponseMessage477" name="Output477"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding477" type="tns:PortType477">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation477">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation477"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service477">
+    <wsdl:port name="Port477" binding="tns:Binding477">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage478">
+    <wsdl:part name="Response" element="tns:ResponseElement478"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage478">
+    <wsdl:part name="Request" element="tns:RequestElement478"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType478">
+    <wsdl:operation name="Operation478">
+      <wsdl:input message="tns:RequestMessage478" name="Input478"/>
+      <wsdl:output message="tns:ResponseMessage478" name="Output478"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding478" type="tns:PortType478">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation478">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation478"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service478">
+    <wsdl:port name="Port478" binding="tns:Binding478">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage479">
+    <wsdl:part name="Response" element="tns:ResponseElement479"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage479">
+    <wsdl:part name="Request" element="tns:RequestElement479"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType479">
+    <wsdl:operation name="Operation479">
+      <wsdl:input message="tns:RequestMessage479" name="Input479"/>
+      <wsdl:output message="tns:ResponseMessage479" name="Output479"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding479" type="tns:PortType479">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation479">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation479"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service479">
+    <wsdl:port name="Port479" binding="tns:Binding479">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage480">
+    <wsdl:part name="Response" element="tns:ResponseElement480"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage480">
+    <wsdl:part name="Request" element="tns:RequestElement480"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType480">
+    <wsdl:operation name="Operation480">
+      <wsdl:input message="tns:RequestMessage480" name="Input480"/>
+      <wsdl:output message="tns:ResponseMessage480" name="Output480"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding480" type="tns:PortType480">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation480">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation480"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service480">
+    <wsdl:port name="Port480" binding="tns:Binding480">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage481">
+    <wsdl:part name="Response" element="tns:ResponseElement481"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage481">
+    <wsdl:part name="Request" element="tns:RequestElement481"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType481">
+    <wsdl:operation name="Operation481">
+      <wsdl:input message="tns:RequestMessage481" name="Input481"/>
+      <wsdl:output message="tns:ResponseMessage481" name="Output481"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding481" type="tns:PortType481">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation481">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation481"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service481">
+    <wsdl:port name="Port481" binding="tns:Binding481">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage482">
+    <wsdl:part name="Response" element="tns:ResponseElement482"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage482">
+    <wsdl:part name="Request" element="tns:RequestElement482"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType482">
+    <wsdl:operation name="Operation482">
+      <wsdl:input message="tns:RequestMessage482" name="Input482"/>
+      <wsdl:output message="tns:ResponseMessage482" name="Output482"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding482" type="tns:PortType482">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation482">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation482"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service482">
+    <wsdl:port name="Port482" binding="tns:Binding482">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage483">
+    <wsdl:part name="Response" element="tns:ResponseElement483"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage483">
+    <wsdl:part name="Request" element="tns:RequestElement483"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType483">
+    <wsdl:operation name="Operation483">
+      <wsdl:input message="tns:RequestMessage483" name="Input483"/>
+      <wsdl:output message="tns:ResponseMessage483" name="Output483"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding483" type="tns:PortType483">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation483">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation483"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service483">
+    <wsdl:port name="Port483" binding="tns:Binding483">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage484">
+    <wsdl:part name="Response" element="tns:ResponseElement484"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage484">
+    <wsdl:part name="Request" element="tns:RequestElement484"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType484">
+    <wsdl:operation name="Operation484">
+      <wsdl:input message="tns:RequestMessage484" name="Input484"/>
+      <wsdl:output message="tns:ResponseMessage484" name="Output484"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding484" type="tns:PortType484">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation484">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation484"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service484">
+    <wsdl:port name="Port484" binding="tns:Binding484">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage485">
+    <wsdl:part name="Response" element="tns:ResponseElement485"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage485">
+    <wsdl:part name="Request" element="tns:RequestElement485"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType485">
+    <wsdl:operation name="Operation485">
+      <wsdl:input message="tns:RequestMessage485" name="Input485"/>
+      <wsdl:output message="tns:ResponseMessage485" name="Output485"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding485" type="tns:PortType485">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation485">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation485"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service485">
+    <wsdl:port name="Port485" binding="tns:Binding485">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage486">
+    <wsdl:part name="Response" element="tns:ResponseElement486"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage486">
+    <wsdl:part name="Request" element="tns:RequestElement486"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType486">
+    <wsdl:operation name="Operation486">
+      <wsdl:input message="tns:RequestMessage486" name="Input486"/>
+      <wsdl:output message="tns:ResponseMessage486" name="Output486"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding486" type="tns:PortType486">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation486">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation486"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service486">
+    <wsdl:port name="Port486" binding="tns:Binding486">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage487">
+    <wsdl:part name="Response" element="tns:ResponseElement487"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage487">
+    <wsdl:part name="Request" element="tns:RequestElement487"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType487">
+    <wsdl:operation name="Operation487">
+      <wsdl:input message="tns:RequestMessage487" name="Input487"/>
+      <wsdl:output message="tns:ResponseMessage487" name="Output487"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding487" type="tns:PortType487">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation487">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation487"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service487">
+    <wsdl:port name="Port487" binding="tns:Binding487">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage488">
+    <wsdl:part name="Response" element="tns:ResponseElement488"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage488">
+    <wsdl:part name="Request" element="tns:RequestElement488"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType488">
+    <wsdl:operation name="Operation488">
+      <wsdl:input message="tns:RequestMessage488" name="Input488"/>
+      <wsdl:output message="tns:ResponseMessage488" name="Output488"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding488" type="tns:PortType488">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation488">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation488"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service488">
+    <wsdl:port name="Port488" binding="tns:Binding488">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage489">
+    <wsdl:part name="Response" element="tns:ResponseElement489"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage489">
+    <wsdl:part name="Request" element="tns:RequestElement489"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType489">
+    <wsdl:operation name="Operation489">
+      <wsdl:input message="tns:RequestMessage489" name="Input489"/>
+      <wsdl:output message="tns:ResponseMessage489" name="Output489"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding489" type="tns:PortType489">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation489">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation489"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service489">
+    <wsdl:port name="Port489" binding="tns:Binding489">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage490">
+    <wsdl:part name="Response" element="tns:ResponseElement490"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage490">
+    <wsdl:part name="Request" element="tns:RequestElement490"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType490">
+    <wsdl:operation name="Operation490">
+      <wsdl:input message="tns:RequestMessage490" name="Input490"/>
+      <wsdl:output message="tns:ResponseMessage490" name="Output490"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding490" type="tns:PortType490">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation490">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation490"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service490">
+    <wsdl:port name="Port490" binding="tns:Binding490">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage491">
+    <wsdl:part name="Response" element="tns:ResponseElement491"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage491">
+    <wsdl:part name="Request" element="tns:RequestElement491"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType491">
+    <wsdl:operation name="Operation491">
+      <wsdl:input message="tns:RequestMessage491" name="Input491"/>
+      <wsdl:output message="tns:ResponseMessage491" name="Output491"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding491" type="tns:PortType491">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation491">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation491"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service491">
+    <wsdl:port name="Port491" binding="tns:Binding491">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage492">
+    <wsdl:part name="Response" element="tns:ResponseElement492"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage492">
+    <wsdl:part name="Request" element="tns:RequestElement492"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType492">
+    <wsdl:operation name="Operation492">
+      <wsdl:input message="tns:RequestMessage492" name="Input492"/>
+      <wsdl:output message="tns:ResponseMessage492" name="Output492"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding492" type="tns:PortType492">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation492">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation492"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service492">
+    <wsdl:port name="Port492" binding="tns:Binding492">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage493">
+    <wsdl:part name="Response" element="tns:ResponseElement493"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage493">
+    <wsdl:part name="Request" element="tns:RequestElement493"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType493">
+    <wsdl:operation name="Operation493">
+      <wsdl:input message="tns:RequestMessage493" name="Input493"/>
+      <wsdl:output message="tns:ResponseMessage493" name="Output493"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding493" type="tns:PortType493">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation493">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation493"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service493">
+    <wsdl:port name="Port493" binding="tns:Binding493">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage494">
+    <wsdl:part name="Response" element="tns:ResponseElement494"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage494">
+    <wsdl:part name="Request" element="tns:RequestElement494"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType494">
+    <wsdl:operation name="Operation494">
+      <wsdl:input message="tns:RequestMessage494" name="Input494"/>
+      <wsdl:output message="tns:ResponseMessage494" name="Output494"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding494" type="tns:PortType494">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation494">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation494"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service494">
+    <wsdl:port name="Port494" binding="tns:Binding494">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage495">
+    <wsdl:part name="Response" element="tns:ResponseElement495"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage495">
+    <wsdl:part name="Request" element="tns:RequestElement495"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType495">
+    <wsdl:operation name="Operation495">
+      <wsdl:input message="tns:RequestMessage495" name="Input495"/>
+      <wsdl:output message="tns:ResponseMessage495" name="Output495"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding495" type="tns:PortType495">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation495">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation495"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service495">
+    <wsdl:port name="Port495" binding="tns:Binding495">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage496">
+    <wsdl:part name="Response" element="tns:ResponseElement496"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage496">
+    <wsdl:part name="Request" element="tns:RequestElement496"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType496">
+    <wsdl:operation name="Operation496">
+      <wsdl:input message="tns:RequestMessage496" name="Input496"/>
+      <wsdl:output message="tns:ResponseMessage496" name="Output496"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding496" type="tns:PortType496">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation496">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation496"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service496">
+    <wsdl:port name="Port496" binding="tns:Binding496">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage497">
+    <wsdl:part name="Response" element="tns:ResponseElement497"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage497">
+    <wsdl:part name="Request" element="tns:RequestElement497"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType497">
+    <wsdl:operation name="Operation497">
+      <wsdl:input message="tns:RequestMessage497" name="Input497"/>
+      <wsdl:output message="tns:ResponseMessage497" name="Output497"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding497" type="tns:PortType497">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation497">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation497"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service497">
+    <wsdl:port name="Port497" binding="tns:Binding497">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage498">
+    <wsdl:part name="Response" element="tns:ResponseElement498"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage498">
+    <wsdl:part name="Request" element="tns:RequestElement498"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType498">
+    <wsdl:operation name="Operation498">
+      <wsdl:input message="tns:RequestMessage498" name="Input498"/>
+      <wsdl:output message="tns:ResponseMessage498" name="Output498"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding498" type="tns:PortType498">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation498">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation498"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service498">
+    <wsdl:port name="Port498" binding="tns:Binding498">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:message name="ResponseMessage499">
+    <wsdl:part name="Response" element="tns:ResponseElement499"/>
+  </wsdl:message>
+  <wsdl:message name="RequestMessage499">
+    <wsdl:part name="Request" element="tns:RequestElement499"/>
+  </wsdl:message>
+  <wsdl:portType name="PortType499">
+    <wsdl:operation name="Operation499">
+      <wsdl:input message="tns:RequestMessage499" name="Input499"/>
+      <wsdl:output message="tns:ResponseMessage499" name="Output499"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="Binding499" type="tns:PortType499">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="Operation499">
+      <soap:operation soapAction="http://www.eclipse.org/webtools/Operation499"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Service499">
+    <wsdl:port name="Port499" binding="tns:Binding499">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
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 f2f7153..a4adbb9 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
@@ -3,14 +3,18 @@
 import java.io.File;
 import java.io.FileFilter;
 import java.net.MalformedURLException;
+
 import javax.wsdl.WSDLException;
+
 import junit.framework.Assert;
+
 import org.eclipse.test.performance.Dimension;
 import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
+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.ui.eclipse.WSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
+
 
 public class ValidateOAGISWSDLTestcase extends PerformanceTestCase
 {
@@ -23,7 +27,7 @@
   {
     super.setUp();
     // Set the WS-I preference to ignore so only WSDL errors will be tested.
-    WSUIPlugin wsui = WSUIPlugin.getInstance();
+    WSPlugin wsui = WSPlugin.getInstance();
     PersistentWSIContext wsicontext = wsui.getWSISSBPContext();
     wsicontext.updateWSICompliances(PersistentWSIContext.IGNORE_NON_WSI);
     wsicontext = wsui.getWSIAPContext();
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 a5e2f71..c6a379d 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
@@ -3,14 +3,17 @@
 import java.io.File;
 import java.io.FileFilter;
 import java.net.MalformedURLException;
+
 import javax.wsdl.WSDLException;
+
 import junit.framework.Assert;
+
 import org.eclipse.test.performance.Dimension;
 import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
+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.ui.eclipse.WSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 public class ValidateOAGISWSITestcase extends PerformanceTestCase
 {
@@ -23,7 +26,7 @@
   {
     super.setUp();
     // Set the WS-I preference to ignore so only WSDL errors will be tested.
-    WSUIPlugin wsui = WSUIPlugin.getInstance();
+    WSPlugin wsui = WSPlugin.getInstance();
     PersistentWSIContext wsicontext = wsui.getWSISSBPContext();
     wsicontext.updateWSICompliances(PersistentWSIContext.STOP_NON_WSI);
     wsicontext = wsui.getWSIAPContext();
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 78eeb19..e14f845 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
@@ -17,10 +17,10 @@
 import junit.framework.TestSuite;
 
 import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
+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.ui.eclipse.WSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 public class ValidateStockQuoteWSDLTestCase extends PerformanceTestCase
 {
@@ -33,7 +33,7 @@
   {
     super.setUp();
     // Set the WS-I preference to ignore so only WSDL errors will be tested.
-    WSUIPlugin wsui = WSUIPlugin.getInstance();
+    WSPlugin wsui = WSPlugin.getInstance();
     PersistentWSIContext wsicontext = wsui.getWSISSBPContext();
     wsicontext.updateWSICompliances(PersistentWSIContext.IGNORE_NON_WSI);
     wsicontext = wsui.getWSIAPContext();
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 e00fbb9..01fed9c 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
@@ -17,10 +17,10 @@
 import junit.framework.TestSuite;
 
 import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
+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.ui.eclipse.WSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 public class ValidateStockQuoteWSITestCase extends PerformanceTestCase
 {
@@ -33,7 +33,7 @@
   {
     super.setUp();
     // Set the WS-I preference to ignore so only WSDL errors will be tested.
-    WSUIPlugin wsui = WSUIPlugin.getInstance();
+    WSPlugin wsui = WSPlugin.getInstance();
     PersistentWSIContext wsicontext = wsui.getWSISSBPContext();
     wsicontext.updateWSICompliances(PersistentWSIContext.STOP_NON_WSI);
     wsicontext = wsui.getWSIAPContext();
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateWSDLProjectTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateWSDLProjectTestCase.java
new file mode 100644
index 0000000..be5e660
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateWSDLProjectTestCase.java
@@ -0,0 +1,127 @@
+/**********************************************************************
+ * Copyright (c) 2004 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;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+
+import junit.framework.Assert;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.test.performance.Dimension;
+import org.eclipse.test.performance.PerformanceTestCase;
+import org.eclipse.wst.validation.internal.operations.OneValidatorOperation;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
+
+/**
+ * Test for validation of 50 WSDL files in the sample workspace.
+ * 
+ * @author Kihup Boo, IBM
+ */
+public class ValidateWSDLProjectTestCase extends PerformanceTestCase {
+	
+	public static Test suite() {
+		return new TestSuite(ValidateWSDLProjectTestCase.class, "Test");
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	protected void setUp() throws Exception {
+	    super.setUp();
+		// Set the WS-I preference to ignore so WS-I validation will not be run.
+		WSPlugin wsui = WSPlugin.getInstance();
+		PersistentWSIContext wsicontext = wsui.getWSISSBPContext();
+		wsicontext.updateWSICompliances(PersistentWSIContext.IGNORE_NON_WSI);
+	}
+
+	public void testWSDLProjectValidation() throws Exception {
+		String projectDir = System.getProperty("projectDir");
+		Assert.assertNotNull(projectDir);
+		if (!projectDir.endsWith("/") && !projectDir.endsWith("\\"))
+			projectDir = projectDir + "/";
+		File dir = new File(projectDir);
+		if (dir.exists() && dir.isDirectory()) {
+			IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject("WSDLProject");
+			project.create(null);
+			project.open(null);
+			copy(dir, project);
+			joinBackgroundJobs();
+
+			IWorkspaceRunnable myRunnable = new OneValidatorOperation(
+					project,
+					"org.eclipse.wst.wsdl.ui.internal.validation.Validator",
+					true, 
+					false);
+			IWorkspace workspace = ResourcesPlugin.getWorkspace();
+
+			tagAsSummary("Validate WSDL Project", new Dimension[] {Dimension.ELAPSED_PROCESS, Dimension.WORKING_SET });
+			startMeasuring();
+			workspace.run(myRunnable, null);
+			// project.build(IncrementalProjectBuilder.CLEAN_BUILD,null);
+			stopMeasuring();
+			commitMeasurements();
+			assertPerformance();
+		} else
+			fail(dir.toString());
+	}
+
+	private void copy(File src, IContainer dest) throws CoreException,
+			FileNotFoundException {
+		File[] children = src.listFiles();
+		for (int i = 0; i < children.length; i++) {
+			String name = children[i].getName();
+			if (children[i].isDirectory()) {
+				IFolder folder = dest.getFolder(new Path(name));
+				folder.create(true, true, null);
+				copy(children[i], folder);
+			} else {
+				IFile file = dest.getFile(new Path(name));
+				file.create(new FileInputStream(children[i]), true, null);
+			}
+		}
+	}
+
+	private void joinBackgroundJobs() {
+		Display.getDefault().syncExec(new Runnable() {
+			public void run() {
+				try {
+					Platform.getJobManager().join(
+							ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+				} catch (InterruptedException e) {
+				}
+				long start = System.currentTimeMillis();
+				Display display = Display.getDefault();
+				while (System.currentTimeMillis() - start < 5000) {
+					if (!display.readAndDispatch()) {
+						display.sleep();
+					}
+				}
+			}
+		});
+	}
+}
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
new file mode 100644
index 0000000..cfa35de
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open100KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.OpenEditorTestCase;
+
+public class Open100KBFileTestCase extends OpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testOpen100KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..623d8c0
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open10KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.OpenEditorTestCase;
+
+public class Open10KBFileTestCase extends OpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/10KB.wsdl";
+  }
+
+  public void testOpen10KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..1f5a00b
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.OpenEditorTestCase;
+
+public class Open1KBFileTestCase extends OpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/1KB.wsdl";
+  }
+
+  public void testOpen1KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..20ac5cc
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1MBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.OpenEditorTestCase;
+
+public class Open1MBFileTestCase extends OpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/1MB.wsdl";
+  }
+
+  public void testOpen1MBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..c55b244
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open200KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.OpenEditorTestCase;
+
+public class Open200KBFileTestCase extends OpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/200KB.wsdl";
+  }
+
+  public void testOpen200KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..288a2aa
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open500KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.OpenEditorTestCase;
+
+public class Open500KBFileTestCase extends OpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/500KB.wsdl";
+  }
+
+  public void testOpen500KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..193a9a9
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx100TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatOpenEditorTestCase;
+
+public class RepeatOpenEditorx100TestCase extends RepeatOpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  protected int getRepeatCount()
+  {
+    return 100;
+  }
+
+  public void testOpenx100()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..ec4f3d0
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx10TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatOpenEditorTestCase;
+
+public class RepeatOpenEditorx10TestCase extends RepeatOpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  protected int getRepeatCount()
+  {
+    return 10;
+  }
+
+  public void testOpenx10()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..d597270
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx1TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatOpenEditorTestCase;
+
+public class RepeatOpenEditorx1TestCase extends RepeatOpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  protected int getRepeatCount()
+  {
+    return 1;
+  }
+
+  public void testOpenx1()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..52db3be
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx25TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatOpenEditorTestCase;
+
+public class RepeatOpenEditorx25TestCase extends RepeatOpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  protected int getRepeatCount()
+  {
+    return 25;
+  }
+
+  public void testOpenx25()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..58a0aa3
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx50TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatOpenEditorTestCase;
+
+public class RepeatOpenEditorx50TestCase extends RepeatOpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  protected int getRepeatCount()
+  {
+    return 50;
+  }
+
+  public void testOpenx50()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..730ff4c
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx75TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatOpenEditorTestCase;
+
+public class RepeatOpenEditorx75TestCase extends RepeatOpenEditorTestCase
+{
+  protected String getEditorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.WSDLEditor";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  protected int getRepeatCount()
+  {
+    return 75;
+  }
+
+  public void testOpenx75()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..215de77
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex100TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatRunValidatorTestCase;
+
+public class RepeatValidatex100TestCase extends RepeatRunValidatorTestCase
+{
+  protected int getRepeatCount()
+  {
+    return 100;
+  }
+
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testValidatex100()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..33278ba
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex10TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatRunValidatorTestCase;
+
+public class RepeatValidatex10TestCase extends RepeatRunValidatorTestCase
+{
+  protected int getRepeatCount()
+  {
+    return 10;
+  }
+
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testValidatex10()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..9128369
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex1TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatRunValidatorTestCase;
+
+public class RepeatValidatex1TestCase extends RepeatRunValidatorTestCase
+{
+  protected int getRepeatCount()
+  {
+    return 1;
+  }
+
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testValidatex1()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..85e2eb9
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex25TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatRunValidatorTestCase;
+
+public class RepeatValidatex25TestCase extends RepeatRunValidatorTestCase
+{
+  protected int getRepeatCount()
+  {
+    return 25;
+  }
+
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testValidatex25()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..bb47cc1
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex50TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatRunValidatorTestCase;
+
+public class RepeatValidatex50TestCase extends RepeatRunValidatorTestCase
+{
+  protected int getRepeatCount()
+  {
+    return 50;
+  }
+
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testValidatex50()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..8170c5b
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex75TestCase.java
@@ -0,0 +1,38 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RepeatRunValidatorTestCase;
+
+public class RepeatValidatex75TestCase extends RepeatRunValidatorTestCase
+{
+  protected int getRepeatCount()
+  {
+    return 75;
+  }
+
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testValidatex75()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..7bfc579
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RunValidatorTestCase;
+
+public class Validate100KBFileTestCase extends RunValidatorTestCase
+{
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/100KB.wsdl";
+  }
+
+  public void testOpen100KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..9c9fa8c
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RunValidatorTestCase;
+
+public class Validate10KBFileTestCase extends RunValidatorTestCase
+{
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/10KB.wsdl";
+  }
+
+  public void testOpen10KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..510cc93
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RunValidatorTestCase;
+
+public class Validate1KBFileTestCase extends RunValidatorTestCase
+{
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/1KB.wsdl";
+  }
+
+  public void testOpen1KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..f9f0e0e
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1MBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RunValidatorTestCase;
+
+public class Validate1MBFileTestCase extends RunValidatorTestCase
+{
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/1MB.wsdl";
+  }
+
+  public void testOpen1MBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..3f9f840
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate200KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RunValidatorTestCase;
+
+public class Validate200KBFileTestCase extends RunValidatorTestCase
+{
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/200KB.wsdl";
+  }
+
+  public void testOpen200KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..fb28c9b
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate500KBFileTestCase.java
@@ -0,0 +1,33 @@
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import org.eclipse.wst.common.tests.performance.internal.scalability.RunValidatorTestCase;
+
+public class Validate500KBFileTestCase extends RunValidatorTestCase
+{
+  protected String getValidatorId()
+  {
+    return "org.eclipse.wst.wsdl.ui.internal.validation.Validator";
+  }
+
+  protected String getBundleId()
+  {
+    return "org.eclipse.wst.wsdl.tests.performance";
+  }
+
+  protected String getFilePath()
+  {
+    return "data/500KB.wsdl";
+  }
+
+  public void testOpen500KBFile()
+  {
+    try
+    {
+      super.execute();
+    }
+    catch (Throwable t)
+    {
+      fail(t.getMessage());
+    }
+  }
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/plugin.xml b/tests/org.eclipse.wst.wsdl.tests.performance/plugin.xml
index de18786..4671ec8 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/plugin.xml
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/plugin.xml
@@ -3,7 +3,7 @@
 <plugin
    id="org.eclipse.wst.wsdl.tests.performance"
    name="WSDL Performance Plug-in"
-   version="0.7.0"
+   version="1.0.0"
    provider-name=""
    class="org.eclipse.wst.wsdl.tests.performance.PerformancePlugin">
 
@@ -21,12 +21,16 @@
       <import plugin="org.eclipse.ui"/>
       <import plugin="org.eclipse.ui.ide"/>
       <import plugin="org.eclipse.test.performance"/>
+      <import plugin="org.eclipse.wst.validation"/>
+      <import plugin="org.eclipse.wst.common.frameworks"/>
       <import plugin="org.eclipse.wst.wsdl"/>
+      <import plugin="org.eclipse.wst.wsdl.ui"/>
       <import plugin="org.eclipse.wst.wsdl.validation"/>
       <import plugin="org.wsdl4j"/>
-      <import plugin="org.eclipse.wst.ws.ui"/>
+      <import plugin="org.eclipse.wst.ws"/>
       <import plugin="org.eclipse.wst.command.env"/>
       <import plugin="org.eclipse.wst.command.env.core"/>
+      <import plugin="org.eclipse.wst.common.tests.performance"/>
    </requires>
 
 </plugin>
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/test.xml b/tests/org.eclipse.wst.wsdl.tests.performance/test.xml
index 3940464..e153083 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/test.xml
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/test.xml
@@ -9,7 +9,7 @@
   <property name="plugin-name" value="org.eclipse.wst.wsdl.tests.performance"/>
   <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
   <property name="perf-tests-file" value="${testDir}/performance-tests.xml"/>
-  <property name="extraVMargs" value="-Doagis80Dir=${testDir} -Xmx256M"/>
+  <property name="extraVMargs" value="-Doagis80Dir=${testDir} -DprojectDir=${testDir}/OAGIS8.0 -Xmx256M"/>
 
   <property name="workspace" value="${eclipse-home}/workspace_wsdl_performance"/>
 
@@ -53,6 +53,15 @@
   	<antcall target="ValidateOAGISWSITestcase"/>
   	<antcall target="ValidateOAGISWSITestcase"/>
 
+  	<antcall target="ValidateWSDLProjectTestCase"/>
+  	<antcall target="ValidateWSDLProjectTestCase"/>
+	<antcall target="ValidateWSDLProjectTestCase"/>
+  	<antcall target="ValidateWSDLProjectTestCase"/>
+  	<antcall target="ValidateWSDLProjectTestCase"/>
+  	<antcall target="ValidateWSDLProjectTestCase"/>
+  	<antcall target="ValidateWSDLProjectTestCase"/>
+  	<antcall target="ValidateWSDLProjectTestCase"/>
+  	
     <antcall target="openEditorOAGISWSDLTestcase"/>
     <antcall target="openEditorOAGISWSDLTestcase"/>
     <antcall target="openEditorOAGISWSDLTestcase"/>
@@ -107,6 +116,103 @@
     <antcall target="OpenStockQuoteWSDLSetup"/>
   	<antcall target="OpenStockQuoteWSDLSetup"/>
 
+  	<antcall target="Open1KBFileTestCase"/>
+  	<antcall target="Open1KBFileTestCase"/>
+  	<antcall target="Open1KBFileTestCase"/>
+
+  	<antcall target="Open10KBFileTestCase"/>
+  	<antcall target="Open10KBFileTestCase"/>
+  	<antcall target="Open10KBFileTestCase"/>
+
+  	<antcall target="Open100KBFileTestCase"/>
+  	<antcall target="Open100KBFileTestCase"/>
+  	<antcall target="Open100KBFileTestCase"/>
+
+  	<antcall target="Open200KBFileTestCase"/>
+  	<antcall target="Open200KBFileTestCase"/>
+  	<antcall target="Open200KBFileTestCase"/>
+
+  	<antcall target="Open500KBFileTestCase"/>
+  	<antcall target="Open500KBFileTestCase"/>
+  	<antcall target="Open500KBFileTestCase"/>
+
+  	<antcall target="Open1MBFileTestCase"/>
+  	<antcall target="Open1MBFileTestCase"/>
+  	<antcall target="Open1MBFileTestCase"/>
+
+  	<antcall target="Validate1KBFileTestCase"/>
+  	<antcall target="Validate1KBFileTestCase"/>
+	<antcall target="Validate1KBFileTestCase"/>
+
+  	<antcall target="Validate10KBFileTestCase"/>
+  	<antcall target="Validate10KBFileTestCase"/>
+	<antcall target="Validate10KBFileTestCase"/>
+	
+  	<antcall target="Validate100KBFileTestCase"/>
+  	<antcall target="Validate100KBFileTestCase"/>
+	<antcall target="Validate100KBFileTestCase"/>
+  	
+  	<antcall target="Validate200KBFileTestCase"/>
+  	<antcall target="Validate200KBFileTestCase"/>
+	<antcall target="Validate200KBFileTestCase"/>
+  	
+  	<antcall target="Validate500KBFileTestCase"/>
+  	<antcall target="Validate500KBFileTestCase"/>
+	<antcall target="Validate500KBFileTestCase"/>
+	
+  	<antcall target="Validate1MBFileTestCase"/>
+  	<antcall target="Validate1MBFileTestCase"/>
+	<antcall target="Validate1MBFileTestCase"/>
+
+	<antcall target="RepeatOpenEditorx1TestCase"/>
+  	<antcall target="RepeatOpenEditorx1TestCase"/>
+  	<antcall target="RepeatOpenEditorx1TestCase"/>
+  
+  	<antcall target="RepeatOpenEditorx10TestCase"/>
+  	<antcall target="RepeatOpenEditorx10TestCase"/>
+  	<antcall target="RepeatOpenEditorx10TestCase"/>
+  	
+  	<antcall target="RepeatOpenEditorx25TestCase"/>
+  	<antcall target="RepeatOpenEditorx25TestCase"/>
+  	<antcall target="RepeatOpenEditorx25TestCase"/>
+
+  	<antcall target="RepeatOpenEditorx50TestCase"/>
+  	<antcall target="RepeatOpenEditorx50TestCase"/>
+  	<antcall target="RepeatOpenEditorx50TestCase"/>
+  	
+  	<antcall target="RepeatOpenEditorx75TestCase"/>
+  	<antcall target="RepeatOpenEditorx75TestCase"/>
+  	<antcall target="RepeatOpenEditorx75TestCase"/>
+ 
+  	<!--
+  	<antcall target="RepeatOpenEditorx100TestCase"/>
+  	<antcall target="RepeatOpenEditorx100TestCase"/>
+  	<antcall target="RepeatOpenEditorx100TestCase"/>
+  	-->
+
+  	<antcall target="RepeatValidatex1TestCase"/>
+  	<antcall target="RepeatValidatex1TestCase"/>
+  	<antcall target="RepeatValidatex1TestCase"/>
+
+  	<antcall target="RepeatValidatex10TestCase"/>
+  	<antcall target="RepeatValidatex10TestCase"/>
+  	<antcall target="RepeatValidatex10TestCase"/>
+  	
+  	<antcall target="RepeatValidatex25TestCase"/>
+  	<antcall target="RepeatValidatex25TestCase"/>
+  	<antcall target="RepeatValidatex25TestCase"/>
+  	
+  	<antcall target="RepeatValidatex50TestCase"/>
+  	<antcall target="RepeatValidatex50TestCase"/>
+  	<antcall target="RepeatValidatex50TestCase"/>
+  	
+  	<antcall target="RepeatValidatex75TestCase"/>
+  	<antcall target="RepeatValidatex75TestCase"/>
+  	<antcall target="RepeatValidatex75TestCase"/>
+
+  	<antcall target="RepeatValidatex100TestCase"/>
+  	<antcall target="RepeatValidatex100TestCase"/>
+  	<antcall target="RepeatValidatex100TestCase"/>
   </target>
 
   <target name="readOAGISWSDLTestcase">
@@ -139,6 +245,16 @@
     </ant>
   </target>
 
+  <target name="ValidateWSDLProjectTestCase">
+    <delete dir="${workspace}" quiet="true"/>
+    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+      <property name="data-dir" value="${workspace}"/>
+      <property name="plugin-name" value="${plugin-name}"/>
+      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.ValidateWSDLProjectTestCase"/>
+      <property name="extraVMargs" value="${extraVMargs}"/>
+    </ant>
+  </target>
+	
   <target name="openEditorOAGISWSDLTestcase">
     <delete dir="${workspace}" quiet="true"/>
     <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
@@ -199,6 +315,246 @@
     </ant>
   </target>
 
+	  <target name="Open1KBFileTestCase">
+	    <delete dir="${workspace}" quiet="true"/>
+	    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+	      <property name="data-dir" value="${workspace}"/>
+	      <property name="plugin-name" value="${plugin-name}"/>
+	      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Open1KBFileTestCase"/>
+	      <property name="extraVMargs" value="${extraVMargs}"/>
+	    </ant>
+	  </target>
+
+		  <target name="Open10KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Open10KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Open100KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Open100KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Open200KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Open200KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Open500KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Open500KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Open1MBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Open1MBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Validate1KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Validate1KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Validate10KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Validate10KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Validate100KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Validate100KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Validate200KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Validate200KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Validate500KBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Validate500KBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="Validate1MBFileTestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.Validate1MBFileTestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatOpenEditorx1TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatOpenEditorx1TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatOpenEditorx10TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatOpenEditorx10TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatOpenEditorx25TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatOpenEditorx25TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatOpenEditorx50TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatOpenEditorx50TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatOpenEditorx75TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatOpenEditorx75TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatOpenEditorx100TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatOpenEditorx100TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatValidatex1TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatValidatex1TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatValidatex10TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatValidatex10TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatValidatex25TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatValidatex25TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatValidatex50TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatValidatex50TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatValidatex75TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatValidatex75TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
+		  <target name="RepeatValidatex100TestCase">
+		    <delete dir="${workspace}" quiet="true"/>
+		    <ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
+		      <property name="data-dir" value="${workspace}"/>
+		      <property name="plugin-name" value="${plugin-name}"/>
+		      <property name="classname" value="org.eclipse.wst.wsdl.tests.performance.scalability.RepeatValidatex100TestCase"/>
+		      <property name="extraVMargs" value="${extraVMargs}"/>
+		    </ant>
+		  </target>
+
   <!-- This target holds code to cleanup the testing environment after -->
   <!-- after all of the tests have been run. You can use this target to -->
   <!-- delete temporary files that have been created. -->
diff --git a/tests/org.eclipse.wst.wsdl.tests.ui/.cvsignore b/tests/org.eclipse.wst.wsdl.tests.ui/.cvsignore
index 60463af..5eaddfe 100644
--- a/tests/org.eclipse.wst.wsdl.tests.ui/.cvsignore
+++ b/tests/org.eclipse.wst.wsdl.tests.ui/.cvsignore
@@ -1,2 +1,4 @@
 bin
 build.xml
+temp.folder
+wsdl.tests.ui.jar
diff --git a/tests/org.eclipse.wst.wsdl.tests.ui/plugin.xml b/tests/org.eclipse.wst.wsdl.tests.ui/plugin.xml
index 1fd1491..24ad0a8 100644
--- a/tests/org.eclipse.wst.wsdl.tests.ui/plugin.xml
+++ b/tests/org.eclipse.wst.wsdl.tests.ui/plugin.xml
@@ -2,7 +2,7 @@
 <plugin
    id="org.eclipse.wst.wsdl.tests.ui"
    name="WSDL Model UI Samples"
-   version="0.7.0">
+   version="1.0.0">
 
    <runtime>
       <library name="wsdl.tests.ui.jar"/>
diff --git a/tests/org.eclipse.wst.wsdl.tests/.cvsignore b/tests/org.eclipse.wst.wsdl.tests/.cvsignore
index 60463af..8b5249c 100644
--- a/tests/org.eclipse.wst.wsdl.tests/.cvsignore
+++ b/tests/org.eclipse.wst.wsdl.tests/.cvsignore
@@ -1,2 +1,4 @@
 bin
 build.xml
+temp.folder
+wsdl.tests.jar
diff --git a/tests/org.eclipse.wst.wsdl.tests/plugin.xml b/tests/org.eclipse.wst.wsdl.tests/plugin.xml
index 8cc4779..da2a26f 100644
--- a/tests/org.eclipse.wst.wsdl.tests/plugin.xml
+++ b/tests/org.eclipse.wst.wsdl.tests/plugin.xml
@@ -3,7 +3,7 @@
 <plugin
    id="org.eclipse.wst.wsdl.tests"
    name="WSDL JUnit Test"
-   version="0.7.0"
+   version="1.0.0"
    class="org.eclipse.wst.wsdl.tests.WSDLTestsPlugin">
 
    <runtime>
diff --git a/tests/org.eclipse.wst.wsdl.tests/samples/Imported.wsdl b/tests/org.eclipse.wst.wsdl.tests/samples/Imported.wsdl
new file mode 100644
index 0000000..4ca82fa
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests/samples/Imported.wsdl
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="Imported" targetNamespace="http://www.example.org/Imported/" xmlns:tns="http://www.example.org/Imported/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/Imported/">
+      <xsd:element name="NewOperationResponse" type="xsd:string"/>
+      <xsd:element name="NewOperationRequest" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="NewOperationResponse">
+    <wsdl:part name="NewOperationResponse" element="tns:NewOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="NewOperationRequest">
+    <wsdl:part name="NewOperationRequest" element="tns:NewOperationRequest"/>
+  </wsdl:message>
+  <wsdl:portType name="Imported">
+    <wsdl:operation name="NewOperation">
+      <wsdl:input message="tns:NewOperationRequest"/>
+      <wsdl:output message="tns:NewOperationResponse"/>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="ImportedSOAP" type="tns:Imported">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="NewOperation">
+      <soap:operation soapAction="http://www.example.org/Imported/NewOperation"/>
+      <wsdl:input>
+        <soap:body use="literal" parts=" NewOperationRequest"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts=" NewOperationResponse"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="Imported">
+    <wsdl:port name="ImportedSOAP" binding="tns:ImportedSOAP">
+      <soap:address location="http://www.example.org/"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
diff --git a/tests/org.eclipse.wst.wsdl.tests/samples/LoadAndPrintTest.wsdl b/tests/org.eclipse.wst.wsdl.tests/samples/LoadAndPrintTest.wsdl
index 0cb3a53..71bb273 100644
--- a/tests/org.eclipse.wst.wsdl.tests/samples/LoadAndPrintTest.wsdl
+++ b/tests/org.eclipse.wst.wsdl.tests/samples/LoadAndPrintTest.wsdl
@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempuri.org/LoadAndPrintTest/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="LoadAndPrintTest" targetNamespace="http://tempuri.org/LoadAndPrintTest/">
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempuri.org/LoadAndPrintTest/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="LoadAndPrintTest" targetNamespace="http://tempuri.org/LoadAndPrintTest/" xmlns:wsdl1="http://www.example.org/Imported/">
+  <wsdl:import namespace="http://www.example.org/Imported/" location="Imported.wsdl"></wsdl:import>
   <wsdl:types>
     <xsd:schema targetNamespace="http://tempuri.org/LoadAndPrintTest/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <xsd:element name="NewOperationResponse" type="xsd:string"/>
       <xsd:element name="NewOperationRequest" type="xsd:string"/>
-    </xsd:schema>
+            <xsd:element name="NewOperationNewFault" type="xsd:string"></xsd:element>
+        </xsd:schema>
   </wsdl:types>
   <wsdl:message name="NewOperationResponse">
     <wsdl:part element="tns:NewOperationResponse" name="NewOperationResponse"/>
@@ -12,10 +14,16 @@
   <wsdl:message name="NewOperationRequest">
     <wsdl:part element="tns:NewOperationRequest" name="NewOperationRequest"/>
   </wsdl:message>
+  <wsdl:message name="NewOperationNewFault">
+  	<wsdl:part name="NewOperationNewFault"
+  		element="tns:NewOperationNewFault">
+  	</wsdl:part>
+  </wsdl:message>
   <wsdl:portType name="LoadAndPrintTest">
     <wsdl:operation name="NewOperation">
       <wsdl:input message="tns:NewOperationRequest"/>
       <wsdl:output message="tns:NewOperationResponse"/>
+      <wsdl:fault name="NewFault" message="tns:NewOperationNewFault"></wsdl:fault>
     </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="LoadAndPrintTestSOAP" type="tns:LoadAndPrintTest">
@@ -28,6 +36,7 @@
       <wsdl:output>
         <soap:body use="literal"/>
       </wsdl:output>
+      <wsdl:fault name="NewFault"></wsdl:fault>
     </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="LoadAndPrintTest">
diff --git a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/LoadAndSerializationTest.java b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/LoadAndSerializationTest.java
index eccc6ae..c329743 100644
--- a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/LoadAndSerializationTest.java
+++ b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/LoadAndSerializationTest.java
@@ -12,6 +12,7 @@
 
 import java.io.File;
 import java.io.FileFilter;
+import java.util.Vector;
 
 import junit.framework.Assert;
 import junit.framework.Test;
@@ -23,11 +24,9 @@
 import org.eclipse.wst.wsdl.WSDLPackage;
 import org.eclipse.wst.wsdl.internal.impl.DefinitionImpl;
 import org.eclipse.wst.wsdl.internal.util.WSDLResourceFactoryImpl;
-import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
-
 import org.eclipse.wst.wsdl.tests.util.DefinitionLoader;
 import org.eclipse.wst.wsdl.tests.util.XMLDiff;
-
+import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
 import org.eclipse.xsd.XSDPackage;
 import org.eclipse.xsd.util.XSDResourceFactoryImpl;
 import org.w3c.dom.Element;
@@ -47,7 +46,10 @@
   }
   
   private String PLUGIN_ABSOLUTE_PATH = WSDLTestsPlugin.getInstallURL();
-  static private File[] wsdls;
+  private String TEST_DATA_DIR;
+  
+  //static private File[] wsdls;
+  private Vector wsdlFiles = new Vector();
   static private Definition definition = null;
 	
   /**
@@ -77,7 +79,7 @@
         }
       }
     );
-    /* suite.addTest // wtp bug 79326
+    suite.addTest // wtp bug 79326
     (new LoadAndSerializationTest("Compare") 
       {
         protected void runTest() 
@@ -85,7 +87,7 @@
           testCompare();
         }
       }
-    ); */
+    );
     return suite;
   } 
 
@@ -94,27 +96,28 @@
    */
   public void testLoadAndStore()
   {
-    File dir = new File(PLUGIN_ABSOLUTE_PATH + "samples");
+	String TEST_DATA_DIR = System.getProperty("testDataDir");
+	//Assert.assertNotNull(testDataDir);
+	File dir = null;
+	if (TEST_DATA_DIR != null)
+		dir = new File(TEST_DATA_DIR);
+	else	
+		// KB: if you are here, fix text.xml
+        dir = new File(PLUGIN_ABSOLUTE_PATH + "samples"); // fallback
+	
     if (dir.exists() && dir.isDirectory())
     {
-      wsdls = dir.listFiles
-      (
-        new FileFilter()
-        {
-          public boolean accept(File pathname)
-          {
-            return pathname.getName().endsWith(".wsdl");
-          }
-        }
-      );
+      listDataFiles(dir);
 
       try 
       {
-        for (int i = 0; i < wsdls.length; i++)
+        File myFile = null;
+        for (int i = 0; i < wsdlFiles.size(); i++)
         {
-          System.out.println(wsdls[i].toURL().toString());
-          load(wsdls[i].toString());
-          print(wsdls[i].toString() + ".out");
+          myFile = (File)wsdlFiles.elementAt(i);
+          System.out.println(myFile.toURL().toString());
+          load(myFile.toString());
+          print(myFile.toString() + ".out");
         }
       }
       catch (Exception e)
@@ -127,6 +130,47 @@
 
   }
   
+	private void listDataFiles(File src)  
+	{
+		if (!src.isDirectory())
+			return; // Assertion failed
+		
+		filterWSDLFiles(src); // Add WSDL files in the src directory
+		
+		File[] children = src.listFiles();
+		File myFile;
+		for (int i = 0; i < children.length; i++) 
+		{
+			myFile = children[i];			
+			if (myFile.isDirectory()) 
+			{
+				if ("CVS".equals(myFile.getName()))
+				  continue;
+				
+				listDataFiles(myFile); // Visit sub-directories recursively
+			} 
+		}
+	}
+	
+	private void filterWSDLFiles(File dir)
+	{
+		File[] wsdls = dir.listFiles
+	      (
+	        new FileFilter()
+	        {
+	          public boolean accept(File pathname)
+	          {
+	            return pathname.getName().endsWith(".wsdl");
+	          }
+	        }
+	      );
+		
+		for (int j=0; j<wsdls.length; j++)
+		{
+			wsdlFiles.add(wsdls[j]);
+		}
+	}
+  
   /*
    * Load from the WSDL definitions file.
    */
@@ -182,8 +226,12 @@
     XMLDiff xmldiff = new XMLDiff();
     try
     {
-      for (int i = 0; i < wsdls.length; i++)
-        Assert.assertTrue(xmldiff.diff(wsdls[i].toString(),wsdls[i].toString() + ".out")); 
+      File myFile = null;
+      for (int i = 0; i < wsdlFiles.size(); i++)
+      {
+    	myFile = (File)wsdlFiles.elementAt(i);
+        Assert.assertTrue(xmldiff.diff(myFile.toString(),myFile.toString() + ".out")); 
+      }
     }
     catch (Exception e)
     {
diff --git a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/WSDLEMFAPITest.java b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/WSDLEMFAPITest.java
index e5a4aa9..1ddb8c4 100644
--- a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/WSDLEMFAPITest.java
+++ b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/WSDLEMFAPITest.java
@@ -66,6 +66,7 @@
 import org.eclipse.wst.wsdl.tests.util.DefinitionVisitor;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
 import org.eclipse.xsd.XSDPackage;
+import org.eclipse.xsd.XSDSchema;
 import org.eclipse.xsd.util.XSDResourceFactoryImpl;
 import org.w3c.dom.Element;
 
@@ -215,9 +216,9 @@
     myImport.setNamespaceURI(wsdlImport.getNamespaceURI());
     myImport.setLocationURI(wsdlImport.getLocationURI());
     myImport.setDocumentationElement(wsdlImport.getDocumentationElement());
-    myImport.setEDefinition(newDefinition);
+    myImport.setEDefinition(wsdlImport.getEDefinition());
     myImport.setESchema(wsdlImport.getESchema());
-    myImport.setSchema(wsdlImport.getSchema()); // TBD - review
+    myImport.setSchema(wsdlImport.getSchema());
     myImport.setEnclosingDefinition(newDefinition);
   }
   
diff --git a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/util/WSDL4JDefinitionVisitor.java b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/util/WSDL4JDefinitionVisitor.java
index f11cd19..ba7fa2d 100644
--- a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/util/WSDL4JDefinitionVisitor.java
+++ b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/util/WSDL4JDefinitionVisitor.java
@@ -66,9 +66,14 @@
   
   protected void visitDefinition(Definition def)
   {
-    Iterator iterator = def.getImports().entrySet().iterator();
+    java.util.Map imports = def.getImports();
+    Iterator iterator = imports.keySet().iterator();
+    Import myImport = null;
     while (iterator.hasNext())
-      visitImport((Import)iterator.next());
+    {
+      myImport = (Import)((java.util.ArrayList)imports.get(iterator.next())).get(0);
+      visitImport(myImport);
+    }
     
     Types types = def.getTypes();
     if (types != null)
@@ -123,10 +128,15 @@
     
     Output output = operation.getOutput();
     visitOutput((Output)output); 
-    
-    Iterator iterator = operation.getFaults().entrySet().iterator();
+
+    java.util.Map faults = operation.getFaults();
+    Iterator iterator = faults.keySet().iterator();
+    Fault fault = null;
     while (iterator.hasNext())
-      visitFault((Fault)iterator.next());
+    {
+      fault = (Fault)faults.get(iterator.next());
+      visitFault(fault);
+    }
   }
   
   protected abstract void visitInput(Input input);
@@ -153,10 +163,15 @@
     
     BindingOutput output = operation.getBindingOutput();
     visitBindingOutput((BindingOutput)output); 
-    
-    Iterator iterator = operation.getBindingFaults().entrySet().iterator();
+ 
+    java.util.Map bindingFaults = operation.getBindingFaults();
+    Iterator iterator = bindingFaults.keySet().iterator();
+    BindingFault bindingFault = null;
     while (iterator.hasNext())
-      visitBindingFault((BindingFault)iterator.next());
+    {
+      bindingFault = (BindingFault)bindingFaults.get(iterator.next());
+      visitBindingFault(bindingFault);
+    }
     
     iterator = operation.getExtensibilityElements().iterator();
     while (iterator.hasNext())
diff --git a/tests/org.eclipse.wst.wsdl.tests/test.xml b/tests/org.eclipse.wst.wsdl.tests/test.xml
index fca583e..3ae7ed8 100644
--- a/tests/org.eclipse.wst.wsdl.tests/test.xml
+++ b/tests/org.eclipse.wst.wsdl.tests/test.xml
@@ -5,8 +5,8 @@
 	<!-- Set a meaningful default value for when it is not. -->
 	<!-- <property name="eclipse-home" value="${basedir}\..\.." /> -->
 		
-		<echo message="basedir ${basedir}" />
-		<echo message="eclipse place ${eclipse-home}" />
+	<echo message="basedir ${basedir}" />
+	<echo message="eclipse place ${eclipse-home}" />
 	
 	<!-- sets the properties plugin-name, and library-file -->
 	<property name="plugin-name" value="org.eclipse.wst.wsdl.tests" />
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/.cvsignore b/tests/org.eclipse.wst.wsdl.validation.tests/.cvsignore
index 60463af..1172c7f 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/.cvsignore
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/.cvsignore
@@ -1,2 +1,4 @@
 bin
 build.xml
+temp.folder
+wsdlvalidatetests.jar
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.wsdl.validation.tests/META-INF/MANIFEST.MF
index a24b92f..38bc84d 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: WSDL Validator Tests Plug-in
 Bundle-SymbolicName: org.eclipse.wst.wsdl.validation.tests
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-ClassPath: wsdlvalidatetests.jar
 Bundle-Activator: org.eclipse.wst.wsdl.validation.tests.internal.WSDLValidatorTestsPlugin
 Bundle-Vendor: Eclipse
@@ -12,8 +12,9 @@
  org.junit,
  org.eclipse.core.resources,
  org.eclipse.wst.wsdl.validation,
- org.eclipse.wst.ws.ui,
+ org.eclipse.wst.ws,
  org.eclipse.wst.command.env.core,
  org.eclipse.wst.command.env,
- org.apache.ant
+ org.apache.ant,
+ org.wsdl4j
 Eclipse-AutoStart: true
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/plugin.xml b/tests/org.eclipse.wst.wsdl.validation.tests/plugin.xml
deleted file mode 100644
index 7bf65fb..0000000
--- a/tests/org.eclipse.wst.wsdl.validation.tests/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-</plugin>
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGeneratorTest.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGeneratorTest.java
new file mode 100644
index 0000000..acacb16
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGeneratorTest.java
@@ -0,0 +1,222 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.xerces.dom.DocumentImpl;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import com.ibm.wsdl.Constants;
+
+/**
+ * Tests for org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator.
+ *
+ */
+public class InlineSchemaGeneratorTest extends TestCase 
+{
+  private InlineSchemaGeneratorWrapper generator;
+  
+  /**
+   * Create a tests suite from this test class.
+   * 
+   * @return A test suite containing this test class.
+   */
+  public static Test suite()
+  {
+	return new TestSuite(InlineSchemaGeneratorTest.class);
+  }
+  
+  /**
+   * JUnit setup method.
+   */
+  public void setUp()
+  {
+	generator = new InlineSchemaGeneratorWrapper();
+  }
+  
+  /**
+   * Test that checkSOAPEncodingRequired method.
+   */
+  public void testCheckSOAPEncodingRequired()
+  {
+	// Test empty list.
+	assertFalse("The method does not return false when given an empty list.", generator.checkSOAPEncodingRequired(new ArrayList()));
+	
+	// Test that checkSOAPEncodingRequired returns false
+	// when given a list without the SOAP encoding namespace.
+	List list = new ArrayList();
+	list.add("http://notsoapencodingnamespace");
+	assertFalse("The method does not return false when given a list without the SOAP envelope namespace.", generator.checkSOAPEncodingRequired(list));
+	
+	// Test that checkSOAPEncodingRequired returns true
+	// when given a list with the SOAP encoding namespace.
+	List list2 = new ArrayList();
+	list2.add(InlineSchemaGeneratorWrapper.SOAP_ENCODING_URI);
+	assertTrue("The method does not return true when given a list with the SOAP encoding namespace.", generator.checkSOAPEncodingRequired(list2));
+  }
+  
+  /**
+   * TODO: Implement tests for the CreateXSDStringRecursively method.
+   */
+  public void todoCreateXSDStringRecursively() 
+  {
+  }
+
+  /**
+   * TODO: Implement tests for the GetImportNamespace method.
+   */
+  public void todoGetImportNamespaces() 
+  {
+  }
+
+  /**
+   	* Test that this method returns the correct namespace
+   	* resolver.
+   	*/
+  public void testGetNSResolver() 
+  {
+    Document doc = new DocumentImpl();
+	Element rootElem = doc.createElementNS(Constants.NS_URI_XSD_2001, "schema");
+
+	// Check that the resolver is empty.
+	Hashtable resolver = generator.getNSResolver(rootElem);
+	assertTrue("The resolver is not empty.", resolver.isEmpty());
+	
+	// Check the resolver contains one value.
+	rootElem.setAttribute("xmlns", Constants.NS_URI_XSD_2001);
+	resolver = generator.getNSResolver(rootElem);
+	assertTrue("The resolver does not contain the empty namespace.", resolver.containsKey(""));
+	assertEquals("The resolver does not contain the correct value for the empty namespace.", Constants.NS_URI_XSD_2001, resolver.get(""));
+	
+	// Check the resolver contains two values.
+	rootElem.setAttribute("xmlns:other", "http://othernamespace");
+	resolver = generator.getNSResolver(rootElem);
+	assertTrue("The resolver does not contain the other namespace.", resolver.containsKey("other"));
+	assertEquals("The resolver does not contain the correct value for the other namespace.", "http://othernamespace", resolver.get("other"));
+	
+	// Check the resolver still contains the empty namespace.
+	assertTrue("The resolver does not contain the empty namespace after adding a second namespace.", resolver.containsKey(""));
+	assertEquals("The resolver does not contain the correct value for the empty namespace after adding a second namespace.", Constants.NS_URI_XSD_2001, resolver.get(""));
+	
+	// Check the resolver doesn't contain non-xmlns attribute value.
+	rootElem.setAttribute("type:other2", "other2:type");
+	resolver = generator.getNSResolver(rootElem);
+	assertFalse("The resolver contains the other2 namespace.", resolver.containsKey("other2"));
+  }
+
+  /**
+   * Test that this method returns the required prefixes.
+   */
+  public void testGetPrefixes() 
+  {
+	// Check document that contains no required namespaces and no prefix.
+	Document doc = new DocumentImpl();
+	Element rootElem = doc.createElementNS(Constants.NS_URI_XSD_2001, "schema");
+	rootElem.setAttribute("xmlns",Constants.NS_URI_XSD_2001);
+	//doc.appendChild(rootElem);
+	
+	List reqNSs = generator.getNamespacePrefixes(rootElem);
+	assertEquals("The required namespace list does not contain one empty string.", 1, reqNSs.size());
+	assertEquals("The required namespace list does not contain one empty string.", "", reqNSs.get(0));
+	
+	// Check document that contains no required namespaces and the xsd prefix.
+	Element rootElem2 = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:schema");
+	rootElem2.setAttribute("xmlns:xsd",Constants.NS_URI_XSD_2001);
+	List reqNSs2 = generator.getNamespacePrefixes(rootElem2);
+	assertEquals("The required namespace list does not contain the one string 'xsd'.", 1, reqNSs2.size());
+	assertEquals("The required namespace list does not contain the one string 'xsd'.", "xsd", reqNSs2.get(0));
+	
+	// Check document that contains an element with a required namespace.
+	Element rootElem4 = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:schema");
+	rootElem2.setAttribute("xmlns:xsd",Constants.NS_URI_XSD_2001);
+	Element diffNSElem = doc.createElementNS("http://othernamespace", "other:element");
+	rootElem4.appendChild(diffNSElem);
+	List reqNSs4 = generator.getNamespacePrefixes(rootElem4);
+	assertTrue("The required namespace list does not contain the prefix 'other' when the namespace is specified for an element.", reqNSs4.contains("other"));
+	
+	// Check document that contains a type with a required namespace.
+	Element rootElem5 = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:schema");
+	rootElem5.setAttribute("xmlns:xsd",Constants.NS_URI_XSD_2001);
+	Element otherElem = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:element");
+	otherElem.setAttribute("type", "other:type");
+	rootElem5.appendChild(otherElem);
+	List reqNSs5 = generator.getNamespacePrefixes(rootElem5);
+	assertTrue("The required namespace list does not contain 'other' when the namespace is specified for a type.", reqNSs5.contains("other"));
+	
+	// Check document that contains an import. Import elements should be ignored.
+	// This is a contrived example as it contains a type attribute for the import element.
+	Element rootElem6 = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:schema");
+	rootElem6.setAttribute("xmlns:xsd",Constants.NS_URI_XSD_2001);
+	Element importElem = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:import");
+	importElem.setAttribute("type", "other:type");
+	rootElem6.appendChild(importElem);
+	List reqNSs6 = generator.getNamespacePrefixes(rootElem6);
+	assertEquals("The required namespace list does not contain the one string 'xsd' when an import element is used.", 1, reqNSs6.size());
+	assertEquals("The required namespace list does not contain the one string 'xsd' when an import element is used.", "xsd", reqNSs6.get(0));
+	
+    // Check document that contains an include. Include elements should be ignored.
+    // This is a contrived example as it contains a type attribute for the include element.
+	Element rootElem7 = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:schema");
+	rootElem7.setAttribute("xmlns:xsd",Constants.NS_URI_XSD_2001);
+	Element includeElem = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:include");
+	includeElem.setAttribute("type", "other:type");
+	rootElem7.appendChild(includeElem);
+	List reqNSs7 = generator.getNamespacePrefixes(rootElem6);
+	assertEquals("The required namespace list does not contain the one string 'xsd' when an import element is used.", 1, reqNSs7.size());
+	assertEquals("The required namespace list does not contain the one string 'xsd' when an import element is used.", "xsd", reqNSs7.get(0));
+	
+	// Check document that contains attribute with a required namespace.
+	Element rootElem3 = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:schema");
+	rootElem3.setAttribute("xmlns:xsd",Constants.NS_URI_XSD_2001);
+	Element wsdlAttElem = doc.createElementNS(Constants.NS_URI_XSD_2001, "xsd:element");
+	wsdlAttElem.setAttributeNS(Constants.NS_URI_WSDL, "wsdl:arrayType", "sometype[]");
+	rootElem3.appendChild(wsdlAttElem);
+	List reqNSs3 = generator.getNamespacePrefixes(rootElem3);
+	assertTrue("The required namespace list does not contain 'wsdl' when the namespace is specified for an attribute.", reqNSs3.contains("wsdl"));
+	
+  }
+
+  /**
+   * TODO: Implement tests for the RemoveImports method.
+   */
+  public void todoRemoveImports() 
+  {
+  }
+
+  /**
+   * TODO: Implement tests for the RemoveLocalNamespace method.
+   */
+  public void todoRemoveLocalNamespaces() 
+  {
+  }
+
+  /**
+   * TODO: Implement tests for the ResolveNamespace method.
+   */
+  public void todoResolveNamespaces() 
+  {
+  }
+
+  /**
+   * 
+   */
+  public void testRestrictImports() 
+  {
+  }
+}
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGeneratorWrapper.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGeneratorWrapper.java
new file mode 100644
index 0000000..53799b8
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/xsd/InlineSchemaGeneratorWrapper.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 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
+ *******************************************************************************/
+package org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;
+
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Set;
+
+import org.w3c.dom.Element;
+
+/**
+ * Wrapper for InlineSchemaGenerator to allow testing protected methods.
+ */
+public class InlineSchemaGeneratorWrapper extends InlineSchemaGenerator 
+{
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#checkSOAPEncodingRequired(java.util.List)
+	 */
+	protected boolean checkSOAPEncodingRequired(List reqns) 
+	{
+		return super.checkSOAPEncodingRequired(reqns);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#createXSDStringRecursively(org.w3c.dom.Element, java.util.List, java.util.List, java.util.Hashtable, java.lang.String)
+	 */
+	protected String createXSDStringRecursively(Element elem, List elements, List requiredNamespaces, Hashtable reqNSDecl, String filelocation) 
+	{
+		return super.createXSDStringRecursively(elem, elements, requiredNamespaces,
+				reqNSDecl, filelocation);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#getImportNamespaces(org.w3c.dom.Element)
+	 */
+	protected List getImportNamespaces(Element elem) 
+	{
+		return super.getImportNamespaces(elem);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#getNSResolver(org.w3c.dom.Element)
+	 */
+	protected Hashtable getNSResolver(Element elem) 
+	{
+		return super.getNSResolver(elem);
+	}
+
+    /* (non-Javadoc)
+     * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#getNamespacePrefixes(org.w3c.dom.Element)
+     */
+    protected List getNamespacePrefixes(Element elem) 
+    {
+	    return super.getNamespacePrefixes(elem);
+    }
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#removeImports(java.util.List, java.util.List)
+	 */
+	protected List removeImports(List namespaces, List importedNamespaces) 
+	{
+		return super.removeImports(namespaces, importedNamespaces);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#removeLocalNamespaces(java.util.List, org.w3c.dom.Element)
+	 */
+	protected List removeLocalNamespaces(List namespaces, Element elem) 
+	{
+		return super.removeLocalNamespaces(namespaces, elem);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#resolveNamespaces(java.util.List, java.util.Hashtable, java.util.Hashtable)
+	 */
+	protected Hashtable resolveNamespaces(List namespaces, Hashtable nsResolver, Hashtable parentNSResolver) 
+	{
+		return super.resolveNamespaces(namespaces, nsResolver, parentNSResolver);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGenerator#restrictImports(java.util.List, java.util.Set)
+	 */
+	protected List restrictImports(List namespaces, Set validImportNSs) 
+	{
+		return super.restrictImports(namespaces, validImportNSs);
+	}
+   
+}
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/AllWSDLTests.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/AllWSDLTests.java
index 91daefa..36739c4 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/AllWSDLTests.java
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/AllWSDLTests.java
@@ -13,6 +13,7 @@
 
 import org.eclipse.wst.wsdl.validation.internal.resolver.URIResolverTest;
 import org.eclipse.wst.wsdl.validation.internal.ui.ant.WSDLValidateTest;
+import org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd.InlineSchemaGeneratorTest;
 import org.eclipse.wst.wsdl.validation.internal.xml.XMLCatalogTest;
 /**
  * The root test suite that contains all other WSDL validator test suites.
@@ -41,5 +42,6 @@
     addTest(URIResolverTest.suite());
     addTest(WSDLValidateTest.suite());
     addTest(XMLCatalogTest.suite());
+    addTest(InlineSchemaGeneratorTest.suite());
   }
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java
index f0c27d4..c13f446 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java
@@ -23,11 +23,11 @@
 
 import junit.framework.TestCase;
 
-import org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin;
-import org.eclipse.wst.ws.internal.ui.wsi.preferences.PersistentWSIContext;
+import org.eclipse.wst.ws.internal.plugin.WSPlugin;
+import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
 import org.eclipse.wst.wsdl.validation.internal.IValidationMessage;
 import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
-import org.eclipse.wst.wsdl.validation.internal.ui.eclipse.WSDLValidator;
+import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 /**
  * Base test case class which provides methods to 
@@ -55,7 +55,7 @@
     PLUGIN_ABSOLUTE_PATH = WSDLValidatorTestsPlugin.getInstallURL();//getPluginLocation();
     
     // Set the WS-I preference to ignore so only WSDL errors will be tested.
-    WSUIPlugin wsui = WSUIPlugin.getInstance();
+    WSPlugin wsui = WSPlugin.getInstance();
     PersistentWSIContext wsicontext = wsui.getWSISSBPContext();
     wsicontext.updateWSICompliances(PersistentWSIContext.IGNORE_NON_WSI);
     wsicontext = wsui.getWSIAPContext();
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/WSDLTest.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/WSDLTest.java
index f21a232..020d31e 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/WSDLTest.java
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/WSDLTest.java
@@ -299,6 +299,19 @@
   }
   
   /**
+   * Test /WSDL/Import/ImportWithIncorrectSlash/ImportWithIncorrectSlash.wsdl
+   */
+  public void testImportWithIncorrectSlash()
+  {
+    String testname = "ImportWithIncorrectSlash";
+    String testfile = FILE_PROTOCOL + PLUGIN_ABSOLUTE_PATH + SAMPLES_DIR + WSDL_DIR + "Import/ImportWithIncorrectSlash/" + testname + ".wsdl";
+    String loglocation = PLUGIN_ABSOLUTE_PATH + GENERATED_RESULTS_DIR + WSDL_DIR + "Import/ImportWithIncorrectSlash/" + testname + ".wsdl-log";
+    String idealloglocation = PLUGIN_ABSOLUTE_PATH + IDEAL_RESULTS_DIR + WSDL_DIR + "Import/ImportWithIncorrectSlash/" + testname + ".wsdl-log";
+    
+    runTest(testfile, loglocation, idealloglocation);
+  }
+  
+  /**
    * CYCLIC TESTS
    */
   
@@ -496,4 +509,17 @@
     
     runTest(testfile, loglocation, idealloglocation);
   }
+  
+  /**
+   * Test /WSDL/CaseInsensitiveOperationNames/CaseInsensitiveOperationNames.wsdl
+   */
+  public void testCaseInsensitiveOperationNames()
+  {
+    String testname = "CaseInsensitiveOperationNames";
+    String testfile = FILE_PROTOCOL + PLUGIN_ABSOLUTE_PATH + SAMPLES_DIR + WSDL_DIR + "CaseInsensitiveOperationNames/" + testname + ".wsdl";
+    String loglocation = PLUGIN_ABSOLUTE_PATH + GENERATED_RESULTS_DIR + WSDL_DIR + "CaseInsensitiveOperationNames/" + testname + ".wsdl-log";
+    String idealloglocation = PLUGIN_ABSOLUTE_PATH + IDEAL_RESULTS_DIR + WSDL_DIR + "CaseInsensitiveOperationNames/" + testname + ".wsdl-log";
+    
+    runTest(testfile, loglocation, idealloglocation);
+  }
 }
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/XSDTest.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/XSDTest.java
index dbb2535..a3fbd97 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/XSDTest.java
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/XSDTest.java
@@ -78,6 +78,19 @@
   }
   
   /**
+   * Test /XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl
+   */
+  public void testReferToAnotherInlineTypeNoImport()
+  {
+    String testname = "ReferToAnotherInlineTypeNoImport";
+    String testfile = FILE_PROTOCOL + PLUGIN_ABSOLUTE_PATH + SAMPLES_DIR + XSD_DIR + "ReferToAnotherInlineType/" + testname + ".wsdl";
+    String loglocation = PLUGIN_ABSOLUTE_PATH + GENERATED_RESULTS_DIR + XSD_DIR + "ReferToAnotherInlineType/" + testname + ".wsdl-log";
+    String idealloglocation = PLUGIN_ABSOLUTE_PATH + IDEAL_RESULTS_DIR + XSD_DIR + "ReferToAnotherInlineType/" + testname + ".wsdl-log";
+    
+    runTest(testfile, loglocation, idealloglocation);
+  }
+  
+  /**
    * Test /XSD/InlineSchemaGeneratedImports/NoImportForUnprefixedAttribute.wsdl
    */
   public void testNoImportForUnprefixedAttribute()
@@ -154,4 +167,30 @@
     
     runTest(testfile, loglocation, idealloglocation);
   }
+  
+  /**
+   * Test /XSD/ImportNoNSSchema/ImportNoNSSchema.wsdl
+   */
+  public void testImportNoNSSchema()
+  {
+    String testname = "ImportNoNSSchema";
+    String testfile = FILE_PROTOCOL + PLUGIN_ABSOLUTE_PATH + SAMPLES_DIR + XSD_DIR + "ImportNoNSSchema/" + testname + ".wsdl";
+    String loglocation = PLUGIN_ABSOLUTE_PATH + GENERATED_RESULTS_DIR + XSD_DIR + "ImportNoNSSchema/" + testname + ".wsdl-log";
+    String idealloglocation = PLUGIN_ABSOLUTE_PATH + IDEAL_RESULTS_DIR + XSD_DIR + "ImportNoNSSchema/" + testname + ".wsdl-log";
+    
+    runTest(testfile, loglocation, idealloglocation);
+  }
+  
+  /**
+   * Test /XSD/NoNSElementReference/NoNSElementReference.wsdl
+   */
+  public void testNoNSElementReference()
+  {
+    String testname = "NoNSElementReference";
+    String testfile = FILE_PROTOCOL + PLUGIN_ABSOLUTE_PATH + SAMPLES_DIR + XSD_DIR + "NoNSElementReference/" + testname + ".wsdl";
+    String loglocation = PLUGIN_ABSOLUTE_PATH + GENERATED_RESULTS_DIR + XSD_DIR + "NoNSElementReference/" + testname + ".wsdl-log";
+    String idealloglocation = PLUGIN_ABSOLUTE_PATH + IDEAL_RESULTS_DIR + XSD_DIR + "NoNSElementReference/" + testname + ".wsdl-log";
+    
+    runTest(testfile, loglocation, idealloglocation);
+  }
 }
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/WSDL/CaseInsensitiveOperationNames/CaseInsensitiveOperationNames.wsdl-log b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/WSDL/CaseInsensitiveOperationNames/CaseInsensitiveOperationNames.wsdl-log
new file mode 100644
index 0000000..aa2b361
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/WSDL/CaseInsensitiveOperationNames/CaseInsensitiveOperationNames.wsdl-log
@@ -0,0 +1,8 @@
+number of errors      : 0
+number of warnings    : 0
+
+------------error list-------------------------------------------
+(none)
+------------warning list-----------------------------------------
+(none)
+-----------------------------------------------------------------
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/WSDL/Import/ImportWithIncorrectSlash/ImportWithIncorrectSlash.wsdl-log b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/WSDL/Import/ImportWithIncorrectSlash/ImportWithIncorrectSlash.wsdl-log
new file mode 100644
index 0000000..aa2b361
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/WSDL/Import/ImportWithIncorrectSlash/ImportWithIncorrectSlash.wsdl-log
@@ -0,0 +1,8 @@
+number of errors      : 0
+number of warnings    : 0
+
+------------error list-------------------------------------------
+(none)
+------------warning list-----------------------------------------
+(none)
+-----------------------------------------------------------------
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/ImportNoNSSchema/ImportNoNSSchema.wsdl-log b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/ImportNoNSSchema/ImportNoNSSchema.wsdl-log
new file mode 100644
index 0000000..aa2b361
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/ImportNoNSSchema/ImportNoNSSchema.wsdl-log
@@ -0,0 +1,8 @@
+number of errors      : 0
+number of warnings    : 0
+
+------------error list-------------------------------------------
+(none)
+------------warning list-----------------------------------------
+(none)
+-----------------------------------------------------------------
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/NoNSElementReference/NoNSElementReference.wsdl-log b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/NoNSElementReference/NoNSElementReference.wsdl-log
new file mode 100644
index 0000000..aa2b361
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/NoNSElementReference/NoNSElementReference.wsdl-log
@@ -0,0 +1,8 @@
+number of errors      : 0
+number of warnings    : 0
+
+------------error list-------------------------------------------
+(none)
+------------warning list-----------------------------------------
+(none)
+-----------------------------------------------------------------
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl-log b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl-log
new file mode 100644
index 0000000..ea88188
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/idealResults/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl-log
@@ -0,0 +1,9 @@
+number of errors      : 2
+number of warnings    : 0
+
+------------error list-------------------------------------------
+src-resolve.4.2: Error resolving component 'two:NewSimpleType'. It was detected that 'two:NewSimpleType' is in namespace 'http://tempuri.org/ReferToAnotherInlineType2/', but components from this namespace are not referenceable from schema document 'testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl'. If this is the incorrect namespace, perhaps the prefix of 'two:NewSimpleType' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl'. [13, 67]
+src-resolve.4.2: Error resolving component 'one:NewSimpleType'. It was detected that 'one:NewSimpleType' is in namespace 'http://tempuri.org/ReferToAnotherInlineType1/', but components from this namespace are not referenceable from schema document 'testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl'. If this is the incorrect namespace, perhaps the prefix of 'one:NewSimpleType' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl'. [24, 67]
+------------warning list-----------------------------------------
+(none)
+-----------------------------------------------------------------
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/CaseInsensitiveOperationNames/CaseInsensitiveOperationNames.wsdl b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/CaseInsensitiveOperationNames/CaseInsensitiveOperationNames.wsdl
new file mode 100644
index 0000000..58e1c8d
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/CaseInsensitiveOperationNames/CaseInsensitiveOperationNames.wsdl
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="CaseInsensitiveOperations" targetNamespace="http://www.example.org/CaseInsensitiveOperations/" xmlns:tns="http://www.example.org/CaseInsensitiveOperations/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/CaseInsensitiveOperations/">
+      <xsd:element name="NewOperationResponse" type="xsd:string"/>
+      <xsd:element name="NewOperationRequest" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="NewOperationResponse">
+    <wsdl:part name="NewOperationResponse" element="tns:NewOperationResponse"/>
+  </wsdl:message>
+  <wsdl:message name="NewOperationRequest">
+    <wsdl:part name="NewOperationRequest" element="tns:NewOperationRequest"/>
+  </wsdl:message>
+  <wsdl:portType name="CaseInsensitiveOperations">
+    <wsdl:operation name="Operation">
+      <wsdl:input message="tns:NewOperationRequest"/>
+      <wsdl:output message="tns:NewOperationResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="operation">
+      <wsdl:input message="tns:NewOperationRequest"/>
+      <wsdl:output message="tns:NewOperationResponse"/>
+    </wsdl:operation>
+  </wsdl:portType>
+</wsdl:definitions>
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/B.xsd b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/B.xsd
new file mode 100644
index 0000000..b45007e
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/B.xsd
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://B">
+  <xsd:import namespace="http://AC" schemaLocation=".\C.xsd"/>
+</xsd:schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/C.xsd b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/C.xsd
new file mode 100644
index 0000000..f6df675
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/C.xsd
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://AC">
+   <xsd:complexType name="SampleType">
+    <xsd:sequence>
+     <xsd:element name="SampleElement" nillable="true" type="xsd:string"/>
+    </xsd:sequence>
+   </xsd:complexType>
+</xsd:schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/ImportWithIncorrectSlash.wsdl b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/ImportWithIncorrectSlash.wsdl
new file mode 100644
index 0000000..b17c107
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/WSDL/Import/ImportWithIncorrectSlash/ImportWithIncorrectSlash.wsdl
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempuri.org/NewWSDLFile/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="NewWSDLFile" targetNamespace="http://tempuri.org/NewWSDLFile/">
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://AC">
+  		<xsd:include schemaLocation="C.xsd"/>
+  		<xsd:import namespace="http://B" schemaLocation="B.xsd"/>
+		</xsd:schema>
+  </wsdl:types>
+</wsdl:definitions>
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ImportNoNSSchema/ImportNoNSSchema.wsdl b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ImportNoNSSchema/ImportNoNSSchema.wsdl
new file mode 100644
index 0000000..67febb7
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ImportNoNSSchema/ImportNoNSSchema.wsdl
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:tns="http://Simple/Test"
+xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Test"
+targetNamespace="http://Simple/Test">
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://Simple/Test"
+xmlns:tns="http://Simple/Test" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+      <xsd:import schemaLocation="NoTns.xsd"/>
+      <xsd:element name="operation1">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="input1" nillable="true" type="NoTns"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:schema>
+  </wsdl:types>
+    <wsdl:message name="operation1RequestMsg">
+    <wsdl:part element="tns:operation1" name="operation1Parameters"/>
+  </wsdl:message>
+    <wsdl:portType name="Test">
+    <wsdl:operation name="operation1">
+      <wsdl:input message="tns:operation1RequestMsg" name="operation1Request"/>
+    </wsdl:operation>
+  </wsdl:portType>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ImportNoNSSchema/NoTns.xsd b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ImportNoNSSchema/NoTns.xsd
new file mode 100644
index 0000000..1f9c2ba
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ImportNoNSSchema/NoTns.xsd
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:complexType name="NoTns">
+    <xsd:sequence>
+      <xsd:element minOccurs="0" name="attribute1" type="xsd:string"/>
+    </xsd:sequence>
+  </xsd:complexType>
+</xsd:schema>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/NoNSElementReference/NoNSElementReference.wsdl b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/NoNSElementReference/NoNSElementReference.wsdl
new file mode 100644
index 0000000..eb302d4
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/NoNSElementReference/NoNSElementReference.wsdl
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="NoNSElementReference" targetNamespace="http://www.example.org/NoNSElementReference/" xmlns:tns="http://www.example.org/NoNSElementReference/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:documentation>
+	This WSDL file demonstrates a message referring to an element that is defined
+	by an inline schema with no target namespace.
+  </wsdl:documentation>
+  <wsdl:types>
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+      <xsd:element name="NewOperationRequest" type="xsd:string"/>
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="NewOperationRequest">
+    <wsdl:part name="NewOperationRequest" element="NewOperationRequest"/>
+  </wsdl:message>
+</wsdl:definitions>
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/OneErrorForInlineXSDRefInvalidInlineXSD/OneErrorForInlineXSDRefInvalidInlineXSD.wsdl b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/OneErrorForInlineXSDRefInvalidInlineXSD/OneErrorForInlineXSDRefInvalidInlineXSD.wsdl
index 54a54de..5833d75 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/OneErrorForInlineXSDRefInvalidInlineXSD/OneErrorForInlineXSDRefInvalidInlineXSD.wsdl
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/OneErrorForInlineXSDRefInvalidInlineXSD/OneErrorForInlineXSDRefInvalidInlineXSD.wsdl
@@ -9,6 +9,7 @@
 		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 			elementFormDefault="qualified"
 			targetNamespace="http://tempuri.org/OneErrorForInlineXSDRefInvalidInlineXSD/2">
+		  <xsd:import namespace="http://tempuri.org/OneErrorForInlineXSDRefInvalidInlineXSD/1"/>
 		  <xsd:complexType name="NewComplexType">
             <xsd:sequence>
               <xsd:element ref="xsd1:NewGlobalElement"></xsd:element>
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineType.wsdl b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineType.wsdl
index 9598fda..1f2d915 100644
--- a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineType.wsdl
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineType.wsdl
@@ -5,6 +5,7 @@
 			elementFormDefault="qualified"
 			targetNamespace="http://tempuri.org/ReferToAnotherInlineType1/"
             xmlns:two="http://tempuri.org/ReferToAnotherInlineType2/">
+          <xsd:import namespace="http://tempuri.org/ReferToAnotherInlineType2/"/>
           <xsd:simpleType name="NewSimpleType">
             <xsd:restriction base="xsd:string">
               <xsd:minLength value="1"/>
@@ -16,6 +17,7 @@
 			elementFormDefault="qualified"
 			targetNamespace="http://tempuri.org/ReferToAnotherInlineType2/"
             xmlns:one="http://tempuri.org/ReferToAnotherInlineType1/">
+		  <xsd:import namespace="http://tempuri.org/ReferToAnotherInlineType1/"/>
 		  <xsd:simpleType name="NewSimpleType">
             <xsd:restriction base="xsd:string">
               <xsd:minLength value="1"/>
@@ -24,4 +26,4 @@
 		  <xsd:element name="NewGlobalElement" type="one:NewSimpleType"></xsd:element>
 		</xsd:schema>
 	</wsdl:types>
-</wsdl:definitions>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl
new file mode 100644
index 0000000..9598fda
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.validation.tests/testresources/samples/XSD/ReferToAnotherInlineType/ReferToAnotherInlineTypeNoImport.wsdl
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:tns="http://tempuri.org/ReferToAnotherInlineType/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ReferToAnotherInlineType" targetNamespace="http://tempuri.org/ReferToAnotherInlineType/">
+	<wsdl:types>
+		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+			elementFormDefault="qualified"
+			targetNamespace="http://tempuri.org/ReferToAnotherInlineType1/"
+            xmlns:two="http://tempuri.org/ReferToAnotherInlineType2/">
+          <xsd:simpleType name="NewSimpleType">
+            <xsd:restriction base="xsd:string">
+              <xsd:minLength value="1"/>
+            </xsd:restriction>
+          </xsd:simpleType>
+		  <xsd:element name="NewGlobalElement" type="two:NewSimpleType"></xsd:element>
+		</xsd:schema>
+		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+			elementFormDefault="qualified"
+			targetNamespace="http://tempuri.org/ReferToAnotherInlineType2/"
+            xmlns:one="http://tempuri.org/ReferToAnotherInlineType1/">
+		  <xsd:simpleType name="NewSimpleType">
+            <xsd:restriction base="xsd:string">
+              <xsd:minLength value="1"/>
+            </xsd:restriction>
+          </xsd:simpleType>
+		  <xsd:element name="NewGlobalElement" type="one:NewSimpleType"></xsd:element>
+		</xsd:schema>
+	</wsdl:types>
+</wsdl:definitions>
diff --git a/tests/org.eclipse.wst.wsi.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.wsi.tests/META-INF/MANIFEST.MF
index 3d0e4cb..99997d5 100644
--- a/tests/org.eclipse.wst.wsi.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.wsi.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: WSI JUnit Test
 Bundle-SymbolicName: org.eclipse.wst.wsi.tests
-Bundle-Version: 0.7.0
+Bundle-Version: 1.0.0
 Bundle-ClassPath: wsi.tests.jar
 Bundle-Activator: org.eclipse.wst.wsi.tests.internal.WSITestsPlugin
 Bundle-Vendor: Eclipse